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

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

Issue 2984403002: dart2js_native tests: Migrate 'native STRING' to JS-calls (Closed)
Patch Set: the rest of the files Created 3 years, 4 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 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 // Test for downcasts on native classes. 5 // Test for downcasts on native classes.
6 6
7 import "native_testing.dart"; 7 import "native_testing.dart";
8 8
9 abstract class J {} 9 abstract class J {}
10 10
(...skipping 10 matching lines...) Expand all
21 A read() native; 21 A read() native;
22 write(A x) native; 22 write(A x) native;
23 } 23 }
24 24
25 @Native("B") 25 @Native("B")
26 class B extends A {} 26 class B extends A {}
27 27
28 makeA() native; 28 makeA() native;
29 makeB() native; 29 makeB() native;
30 30
31 void setup() native """ 31 void setup() {
32 // This code is all inside 'setup' and so not accessible from the global scope. 32 JS('', r"""
33 (function(){
33 function inherits(child, parent) { 34 function inherits(child, parent) {
34 if (child.prototype.__proto__) { 35 if (child.prototype.__proto__) {
35 child.prototype.__proto__ = parent.prototype; 36 child.prototype.__proto__ = parent.prototype;
36 } else { 37 } else {
37 function tmp() {}; 38 function tmp() {};
38 tmp.prototype = parent.prototype; 39 tmp.prototype = parent.prototype;
39 child.prototype = new tmp(); 40 child.prototype = new tmp();
40 child.prototype.constructor = child; 41 child.prototype.constructor = child;
41 } 42 }
42 } 43 }
43 function A(){} 44 function A(){}
44 function B(){} 45 function B(){}
45 inherits(B, A); 46 inherits(B, A);
46 A.prototype.read = function() { return this._x; }; 47 A.prototype.read = function() { return this._x; };
47 A.prototype.write = function(x) { this._x = x; }; 48 A.prototype.write = function(x) { this._x = x; };
48 makeA = function(){return new A}; 49 makeA = function(){return new A()};
49 makeB = function(){return new B}; 50 makeB = function(){return new B()};
50 51
51 self.nativeConstructor(A); 52 self.nativeConstructor(A);
52 self.nativeConstructor(B); 53 self.nativeConstructor(B);
53 """; 54 })()""");
55 }
54 56
55 class C {} 57 class C {}
56 58
57 bool _check(a, b) => identical(a, b); 59 bool _check(a, b) => identical(a, b);
58 60
59 main() { 61 main() {
60 nativeTesting(); 62 nativeTesting();
61 setup(); 63 setup();
62 64
63 var a1 = makeA(); 65 var a1 = makeA();
(...skipping 11 matching lines...) Expand all
75 Expect.equals(b1, b1 as I); 77 Expect.equals(b1, b1 as I);
76 Expect.equals(b1, b1 as A); 78 Expect.equals(b1, b1 as A);
77 Expect.equals(b1, b1 as B); 79 Expect.equals(b1, b1 as B);
78 80
79 Expect.equals(a1, a1 as J); 81 Expect.equals(a1, a1 as J);
80 Expect.equals(a1, a1 as I); 82 Expect.equals(a1, a1 as I);
81 Expect.equals(a1, a1 as A); 83 Expect.equals(a1, a1 as A);
82 Expect.throws(() => a1 as B); 84 Expect.throws(() => a1 as B);
83 Expect.throws(() => a1 as C); 85 Expect.throws(() => a1 as C);
84 } 86 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js_native/core_type_check_native_test.dart ('k') | tests/compiler/dart2js_native/field_type2_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698