OLD | NEW |
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 "dart:_js_helper"; | 5 import 'native_testing.dart'; |
6 import "package:expect/expect.dart"; | |
7 | 6 |
8 @Native("A") | 7 @Native("A") |
9 class A {} | 8 class A {} |
10 | 9 |
| 10 @Native("B") |
| 11 class B { |
| 12 int get hashCode => 1234567; |
| 13 } |
| 14 |
11 makeA() native ; | 15 makeA() native ; |
| 16 makeB() native ; |
12 | 17 |
13 void setup() native """ | 18 void setup() native """ |
14 function A() {} | 19 function A() {} |
| 20 function B() {} |
15 makeA = function(){return new A;}; | 21 makeA = function(){return new A;}; |
| 22 makeB = function(){return new B;}; |
| 23 |
| 24 self.nativeConstructor(A); |
| 25 self.nativeConstructor(B); |
16 """; | 26 """; |
17 | 27 |
18 main() { | 28 main() { |
| 29 nativeTesting(); |
19 setup(); | 30 setup(); |
20 Expect.isTrue(makeA().hashCode is int); | 31 Expect.isTrue(makeA().hashCode is int); |
| 32 Expect.equals(1234567, makeB().hashCode); |
21 } | 33 } |
OLD | NEW |