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

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

Issue 383413003: Add @Native(...) annotation for native class names. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 6 years, 5 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 import "dart:_js_helper";
5 import "package:expect/expect.dart"; 6 import "package:expect/expect.dart";
6 7
7 // Test that native methods with unnamed* optional arguments are called with the 8 // Test that native methods with unnamed* optional arguments are called with the
8 // number of arguments in the call site. This is necessary because native 9 // number of arguments in the call site. This is necessary because native
9 // methods can dispatch on the number of arguments. Passing null or undefined 10 // methods can dispatch on the number of arguments. Passing null or undefined
10 // as the last argument is not the same as passing one fewer argument. 11 // as the last argument is not the same as passing one fewer argument.
11 // 12 //
12 // * Optional positional arguments are passed in the correct position, so 13 // * Optional positional arguments are passed in the correct position, so
13 // require preceding arguments to be passed. 14 // require preceding arguments to be passed.
14 15
15 class A native "A" { 16 @Native("A")
17 class A {
16 int foo(int x) native; 18 int foo(int x) native;
17 } 19 }
18 20
19 class B native "B" { 21 @Native("B")
22 class B {
20 int foo([x, y, z]) native; 23 int foo([x, y, z]) native;
21 } 24 }
22 25
23 // TODO(sra): Add a case where the parameters have default values. Wait until 26 // TODO(sra): Add a case where the parameters have default values. Wait until
24 // dart:html need non-null default values. 27 // dart:html need non-null default values.
25 28
26 A makeA() native { return new A(); } 29 A makeA() native { return new A(); }
27 B makeB() native { return new B(); } 30 B makeB() native { return new B(); }
28 31
29 void setup() native """ 32 void setup() native """
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 Expect.equals(3, b.foo(10, 20, 30)); 74 Expect.equals(3, b.foo(10, 20, 30));
72 75
73 Expect.throws(() => b.foo(10, 20, 30, 40)); 76 Expect.throws(() => b.foo(10, 20, 30, 40));
74 } 77 }
75 78
76 main() { 79 main() {
77 setup(); 80 setup();
78 testDynamicContext(); 81 testDynamicContext();
79 testStaticContext(); 82 testStaticContext();
80 } 83 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698