| Index: tests/lib/mirrors/equality_dart2js_test.dart | 
| diff --git a/tests/lib/mirrors/equality_test.dart b/tests/lib/mirrors/equality_dart2js_test.dart | 
| similarity index 73% | 
| copy from tests/lib/mirrors/equality_test.dart | 
| copy to tests/lib/mirrors/equality_dart2js_test.dart | 
| index 2399032fc4aabedd38a66c6e2342633b8a1b7afe..15c036d4143105d515659b7352581902794ea427 100644 | 
| --- a/tests/lib/mirrors/equality_test.dart | 
| +++ b/tests/lib/mirrors/equality_dart2js_test.dart | 
| @@ -11,6 +11,12 @@ import 'package:expect/expect.dart'; | 
| class A<T> {} | 
| class B extends A<int> {} | 
|  | 
| +class BadEqualityHash { | 
| +  int count = 0; | 
| +  bool operator ==(other) => true; | 
| +  int get hashCode => count++; | 
| +} | 
| + | 
| checkEquality(List<Map> equivalenceClasses) { | 
| for (var equivalenceClass in equivalenceClasses) { | 
| equivalenceClass.forEach((name, member) { | 
| @@ -45,8 +51,11 @@ main() { | 
| .findLibrary(const Symbol('test.class_equality_test')) | 
| .single; | 
|  | 
| -  Object o1 = new Object(); | 
| -  Object o2 = new Object(); | 
| +  var o1 = new Object(); | 
| +  var o2 = new Object(); | 
| + | 
| +  var badEqualityHash1 = new BadEqualityHash(); | 
| +  var badEqualityHash2 = new BadEqualityHash(); | 
|  | 
| checkEquality([ | 
| {'reflect(o1)' : reflect(o1), | 
| @@ -55,12 +64,31 @@ main() { | 
| {'reflect(o2)' : reflect(o2), | 
| 'reflect(o2), again' : reflect(o2)}, | 
|  | 
| +    {'reflect(badEqualityHash1)' : reflect(badEqualityHash1), | 
| +     'reflect(badEqualityHash1), again' : reflect(badEqualityHash1)}, | 
| + | 
| +    {'reflect(badEqualityHash2)' : reflect(badEqualityHash2), | 
| +     'reflect(badEqualityHash2), again' : reflect(badEqualityHash2)}, | 
| + | 
| +    {'reflect(true)' : reflect(true), | 
| +     'reflect(true), again' : reflect(true)}, | 
| + | 
| +    {'reflect(false)' : reflect(false), | 
| +     'reflect(false), again' : reflect(false)}, | 
| + | 
| +    {'reflect(null)' : reflect(null), | 
| +     'reflect(null), again' : reflect(null)}, | 
| + | 
| +    {'reflect(3.5+4.5)' : reflect(3.5+4.5), | 
| +     'reflect(6.5+1.5)' : reflect(6.5+1.5)}, | 
| + | 
| {'reflect(3+4)' : reflect(3+4), | 
| 'reflect(6+1)' : reflect(6+1)}, | 
|  | 
| -    {'currentMirrorSystem().voidType' : currentMirrorSystem().voidType, | 
| -     'thisLibrary.functions[#subroutine].returnType' : | 
| -          thisLibrary.functions[const Symbol('subroutine')].returnType}, | 
| +    {'reflect("foo")' : reflect("foo"), | 
| +     'reflect("foo"), again' : reflect("foo")}, | 
| + | 
| +    {'currentMirrorSystem().voidType' : currentMirrorSystem().voidType}, | 
|  | 
| {'currentMirrorSystem().dynamicType' : currentMirrorSystem().dynamicType, | 
| 'thisLibrary.functions[#main].returnType' : | 
| @@ -71,9 +99,6 @@ main() { | 
| 'reflect(new A<int>()).type.originalDeclaration' : | 
| reflect(new A<int>()).type.originalDeclaration}, | 
|  | 
| -    {'reflectClass(B).superclass' : reflectClass(B).superclass, | 
| -     'reflect(new A<int>()).type' : reflect(new A<int>()).type}, | 
| - | 
| {'reflectClass(B)' : reflectClass(B), | 
| 'thisLibrary.classes[#B]' : thisLibrary.classes[const Symbol('B')], | 
| 'reflect(new B()).type' : reflect(new B()).type}, | 
|  |