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

Side by Side Diff: dart/tests/compiler/dart2js_foreign/native_call_arity2_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 // This is a similar test to NativeCallArity1FrogTest, but makes sure 5 // This is a similar test to NativeCallArity1FrogTest, but makes sure
6 // that subclasses also get the right number of arguments. 6 // that subclasses also get the right number of arguments.
7 7
8 @native("*A") 8 import 'native_metadata.dart';
9
10 @Native("*A")
9 class A { 11 class A {
10 @native int foo([x, y]); 12 @native int foo([x, y]);
11 } 13 }
12 14
13 @native("*B") 15 @Native("*B")
14 class B extends A { 16 class B extends A {
15 @native int foo([x, y]); 17 @native int foo([x, y]);
16 } 18 }
17 19
18 @native A makeA() { return new A(); } 20 @native A makeA() { return new A(); }
19 @native B makeB() { return new B(); } 21 @native B makeB() { return new B(); }
20 22
21 @native(""" 23 @Native("""
22 function inherits(child, parent) { 24 function inherits(child, parent) {
23 if (child.prototype.__proto__) { 25 if (child.prototype.__proto__) {
24 child.prototype.__proto__ = parent.prototype; 26 child.prototype.__proto__ = parent.prototype;
25 } else { 27 } else {
26 function tmp() {}; 28 function tmp() {};
27 tmp.prototype = parent.prototype; 29 tmp.prototype = parent.prototype;
28 child.prototype = new tmp(); 30 child.prototype = new tmp();
29 child.prototype.constructor = child; 31 child.prototype.constructor = child;
30 } 32 }
31 } 33 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 Expect.equals(1, b.foo(x: 10)); // 1 = x 89 Expect.equals(1, b.foo(x: 10)); // 1 = x
88 Expect.equals(2, b.foo(y: 20)); // 2 = x, y 90 Expect.equals(2, b.foo(y: 20)); // 2 = x, y
89 Expect.throws(() => b.foo(10, 20, 30)); 91 Expect.throws(() => b.foo(10, 20, 30));
90 } 92 }
91 93
92 main() { 94 main() {
93 setup(); 95 setup();
94 testDynamicContext(); 96 testDynamicContext();
95 testStaticContext(); 97 testStaticContext();
96 } 98 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698