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

Side by Side Diff: dart/tests/compiler/dart2js_foreign/native_class_is_check1_test.dart

Issue 10823423: Change dart2js_foreign suite to use metadata. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 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 | Annotate | Revision Log
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 correct simple is-checks on hidden native classes. 5 // Test for correct simple is-checks on hidden native classes.
6 6
7 interface I { 7 interface I {
8 I read(); 8 I read();
9 write(I x); 9 write(I x);
10 } 10 }
11 11
12 // Native implementation. 12 // Native implementation.
13 13
14 class A implements I native "*A" { 14 @native("*A")
15 class A implements I {
15 // The native class accepts only other native instances. 16 // The native class accepts only other native instances.
16 A read() native; 17 @native A read();
17 write(A x) native; 18 @native write(A x);
18 } 19 }
19 20
20 makeA() native; 21 @native makeA();
21 22
22 void setup() native """ 23 @native("""
23 // This code is all inside 'setup' and so not accesible from the global scope. 24 // This code is all inside 'setup' and so not accesible from the global scope.
24 function A(){} 25 function A(){}
25 A.prototype.read = function() { return this._x; }; 26 A.prototype.read = function() { return this._x; };
26 A.prototype.write = function(x) { this._x = x; }; 27 A.prototype.write = function(x) { this._x = x; };
27 makeA = function(){return new A}; 28 makeA = function(){return new A};
28 """; 29 """)
30 void setup();
29 31
30 class B {} 32 class B {}
31 33
32 main() { 34 main() {
33 setup(); 35 setup();
34 36
35 var a1 = makeA(); 37 var a1 = makeA();
36 var ob = new Object(); 38 var ob = new Object();
37 39
38 Expect.isFalse(ob is I); 40 Expect.isFalse(ob is I);
39 Expect.isFalse(ob is A); 41 Expect.isFalse(ob is A);
40 Expect.isFalse(ob is B); 42 Expect.isFalse(ob is B);
41 43
42 Expect.isTrue(a1 is I); 44 Expect.isTrue(a1 is I);
43 Expect.isTrue(a1 is A); 45 Expect.isTrue(a1 is A);
44 Expect.isTrue(a1 is !B); 46 Expect.isTrue(a1 is !B);
45 } 47 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698