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

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

Issue 11293272: Update dart2js_foreign suite as we now validate annotations. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 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 | 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 the feature where the native string declares the native method's name. 5 // Test the feature where the native string declares the native method's name.
6 // #3. The name does not get 6 // #3. The name does not get
7 7
8 @native("*A") 8 import 'native_metadata.dart';
9
10 @Native("*A")
9 class A { 11 class A {
10 @native('fooA') 12 @Native('fooA')
11 int foo(); 13 int foo();
12 } 14 }
13 15
14 @native("*B") 16 @Native("*B")
15 class B extends A { 17 class B extends A {
16 @native('fooB') 18 @Native('fooB')
17 int foo(); 19 int foo();
18 int fooA() => 333; 20 int fooA() => 333;
19 } 21 }
20 22
21 class Decoy { 23 class Decoy {
22 int fooA() => 666; 24 int fooA() => 666;
23 int fooB() => 999; 25 int fooB() => 999;
24 } 26 }
25 27
26 @native makeA(); 28 @native makeA();
27 @native makeB(); 29 @native makeB();
28 30
29 31
30 @native(""" 32 @Native("""
31 // This code is all inside 'setup' and so not accesible from the global scope. 33 // This code is all inside 'setup' and so not accesible from the global scope.
32 function inherits(child, parent) { 34 function inherits(child, parent) {
33 if (child.prototype.__proto__) { 35 if (child.prototype.__proto__) {
34 child.prototype.__proto__ = parent.prototype; 36 child.prototype.__proto__ = parent.prototype;
35 } else { 37 } else {
36 function tmp() {}; 38 function tmp() {};
37 tmp.prototype = parent.prototype; 39 tmp.prototype = parent.prototype;
38 child.prototype = new tmp(); 40 child.prototype = new tmp();
39 child.prototype.constructor = child; 41 child.prototype.constructor = child;
40 } 42 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 expectNoSuchMethod(action, note) { 91 expectNoSuchMethod(action, note) {
90 bool caught = false; 92 bool caught = false;
91 try { 93 try {
92 action(); 94 action();
93 } on NoSuchMethodError catch (ex) { 95 } on NoSuchMethodError catch (ex) {
94 caught = true; 96 caught = true;
95 Expect.isTrue(ex is NoSuchMethodError, note); 97 Expect.isTrue(ex is NoSuchMethodError, note);
96 } 98 }
97 Expect.isTrue(caught, note); 99 Expect.isTrue(caught, note);
98 } 100 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698