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

Side by Side Diff: tests/compiler/dart2js_native/native_missing_method2_frog_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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 'native_testing.dart'; 5 import 'native_testing.dart';
6 6
7 @Native("A") 7 @Native("A")
8 class A {} 8 class A {}
9 9
10 A makeA() native; 10 A makeA() native;
11 11
12 void setup() native """ 12 void setup() {
13 function A() {}; 13 JS('', r"""
14 A.prototype.foo = function() { return 42; } 14 (function(){
15 makeA = function() { return new A; } 15 function A() {};
16 self.nativeConstructor(A); 16 A.prototype.foo = function() { return 42; };
17 """; 17 makeA = function() { return new A() };
18 self.nativeConstructor(A);
19 })()""");
20 }
18 21
19 class B { 22 class B {
20 foo() { 23 foo() {
21 return 42; 24 return 42;
22 } 25 }
23 } 26 }
24 27
25 class C { 28 class C {
26 // By having two 'foo' defined in the application, Frog will mangle 29 // By having two 'foo' defined in the application, Frog will mangle
27 // all calls to 'foo', which makes this test pass. 30 // all calls to 'foo', which makes this test pass.
(...skipping 17 matching lines...) Expand all
45 } 48 }
46 49
47 main() { 50 main() {
48 nativeTesting(); 51 nativeTesting();
49 setup(); 52 setup();
50 confuse(new B()).foo(); 53 confuse(new B()).foo();
51 confuse(new C()).foo(1); 54 confuse(new C()).foo(1);
52 typedContext(); 55 typedContext();
53 untypedContext(); 56 untypedContext();
54 } 57 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698