Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1266)

Unified Diff: tests/compiler/dart2js_native/super_call_test.dart

Issue 14459002: Test for super call on intercepted class (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/compiler/dart2js_native/dart2js_native.status ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js_native/super_call_test.dart
diff --git a/tests/compiler/dart2js_native/native_class_inheritance2_frog_test.dart b/tests/compiler/dart2js_native/super_call_test.dart
similarity index 70%
copy from tests/compiler/dart2js_native/native_class_inheritance2_frog_test.dart
copy to tests/compiler/dart2js_native/super_call_test.dart
index 7177573baa247af0dd8028bda6c33c48d6dd2146..68cccb7b5e74c41afe6d11842d7fc9a4001ced38 100644
--- a/tests/compiler/dart2js_native/native_class_inheritance2_frog_test.dart
+++ b/tests/compiler/dart2js_native/super_call_test.dart
@@ -10,17 +10,21 @@ import "package:expect/expect.dart";
// stored on Object.prototype.
class A native "A" {
- foo([a=100]) native;
+ foo() => 'A.foo ${bar()}';
+ bar() => 'A.bar';
}
class B extends A native "B" {
+ bar() => 'B.bar';
}
class C extends B native "C" {
- foo([z=300]) native;
+ foo() => 'C.foo; super.foo = ${super.foo()}';
+ bar() => 'C.bar';
}
class D extends C native "D" {
+ bar() => 'D.bar';
}
makeA() native;
@@ -49,9 +53,6 @@ inherits(C, B);
function D(){}
inherits(D, C);
-A.prototype.foo = function(a){return 'A.foo(' + a + ')';}
-C.prototype.foo = function(z){return 'C.foo(' + z + ')';}
-
makeA = function(){return new A};
makeB = function(){return new B};
makeC = function(){return new C};
@@ -67,14 +68,8 @@ main() {
var c = makeC();
var d = makeD();
- Expect.equals('A.foo(100)', b.foo());
- Expect.equals('C.foo(300)', d.foo());
- // If the above line fails with C.foo(100) then the dispatch to fill in the
- // default got the wrong one, followed by a second dispatch that resolved to
- // the correct native method.
-
- Expect.equals('A.foo(1)', a.foo(1));
- Expect.equals('A.foo(2)', b.foo(2));
- Expect.equals('C.foo(3)', c.foo(3));
- Expect.equals('C.foo(4)', d.foo(4));
+ Expect.equals('A.foo A.bar', a.foo());
+ Expect.equals('A.foo B.bar', b.foo());
+ Expect.equals('C.foo; super.foo = A.foo C.bar', c.foo());
+ Expect.equals('C.foo; super.foo = A.foo D.bar', d.foo());
}
« no previous file with comments | « tests/compiler/dart2js_native/dart2js_native.status ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698