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

Side by Side Diff: tests/compiler/dart2js_native/native_class_inheritance4_frog_test.dart

Issue 2379173002: Add native_testing library to mock @Native classes (Closed)
Patch Set: xxx Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import "dart:_js_helper"; 5 import "native_testing.dart";
6 import "package:expect/expect.dart";
7 6
8 // Additional Dart code may be 'placed on' hidden native classes. With 7 // Additional Dart code may be 'placed on' hidden native classes. With
9 // inheritance, the superclass method must not be reached by a call on the 8 // inheritance, the superclass method must not be reached by a call on the
10 // subclass. 9 // subclass.
11 10
12 @Native("A") 11 @Native("A")
13 class A { 12 class A {
14 var _field; 13 var _field;
15 14
16 int get X => _field; 15 int get X => _field;
(...skipping 29 matching lines...) Expand all
46 child.prototype = new tmp(); 45 child.prototype = new tmp();
47 child.prototype.constructor = child; 46 child.prototype.constructor = child;
48 } 47 }
49 } 48 }
50 49
51 function A(){} 50 function A(){}
52 function B(){} 51 function B(){}
53 inherits(B, A); 52 inherits(B, A);
54 makeA = function(){return new A;}; 53 makeA = function(){return new A;};
55 makeB = function(){return new B;}; 54 makeB = function(){return new B;};
55
56 self.nativeConstructor(A);
57 self.nativeConstructor(B);
56 """; 58 """;
57 59
58 testBasicA_dynamic() { 60 testBasicA_dynamic() {
59 setup(); // Fresh constructors. 61 setup(); // Fresh constructors.
60 62
61 var a = [makeA()][0]; 63 var a = [makeA()][0];
62 64
63 a.X = 100; 65 a.X = 100;
64 Expect.equals(100, a._field); 66 Expect.equals(100, a._field);
65 Expect.equals(100, a.X); 67 Expect.equals(100, a.X);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 b._field = 1; 140 b._field = 1;
139 b._field2 = 2; 141 b._field2 = 2;
140 b.X = 123; 142 b.X = 123;
141 Expect.equals(1, b._field); 143 Expect.equals(1, b._field);
142 Expect.equals(123, b._field2); 144 Expect.equals(123, b._field2);
143 Expect.equals(123, b.X); 145 Expect.equals(123, b.X);
144 Expect.equals(200, b.method(77)); 146 Expect.equals(200, b.method(77));
145 } 147 }
146 148
147 main() { 149 main() {
150 nativeTesting();
148 testBasicA_dynamic(); 151 testBasicA_dynamic();
149 testBasicA_typed(); 152 testBasicA_typed();
150 testBasicB_dynamic(); 153 testBasicB_dynamic();
151 testBasicB_typed(); 154 testBasicB_typed();
152 testAB_dynamic(); 155 testAB_dynamic();
153 testAB_typed(); 156 testAB_typed();
154 } 157 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698