Index: tests/compiler/dart2js_native/native_equals_frog_test.dart |
diff --git a/tests/compiler/dart2js_native/native_equals_frog_test.dart b/tests/compiler/dart2js_native/native_equals_frog_test.dart |
index b8868a52fedeab9cced299152905c1ffa66fb24d..c6913ec923aeeb9067e744e0001a51e413ab8757 100644 |
--- a/tests/compiler/dart2js_native/native_equals_frog_test.dart |
+++ b/tests/compiler/dart2js_native/native_equals_frog_test.dart |
@@ -2,20 +2,35 @@ |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-import "dart:_js_helper"; |
-import "package:expect/expect.dart"; |
+import 'native_testing.dart'; |
@Native("A") |
class A {} |
+int calls = 0; |
+@Native("B") |
+class B { |
+ bool operator==(other) { |
+ ++calls; |
+ return other is B; |
+ } |
+ int get hashCode => 1; |
+} |
+ |
makeA() native ; |
+makeB() native ; |
void setup() native """ |
function A() {} |
+function B() {} |
makeA = function(){return new A;}; |
+makeB = function(){return new B;}; |
+ |
+self.nativeConstructor(B); |
"""; |
main() { |
+ nativeTesting(); |
setup(); |
var a = makeA(); |
Expect.isTrue(a == a); |
@@ -23,4 +38,13 @@ main() { |
Expect.isFalse(a == makeA()); |
Expect.isFalse(identical(a, makeA())); |
+ |
+ var b = makeB(); |
+ Expect.isTrue(b == b); |
+ Expect.isTrue(identical(b, b)); |
+ |
+ Expect.isTrue(b == makeB()); |
+ Expect.isFalse(identical(b, makeB())); |
+ |
+ Expect.equals(2, calls); |
} |