| Index: tests/lib/mirrors/equality_test.dart
|
| diff --git a/tests/lib/mirrors/equality_test.dart b/tests/lib/mirrors/equality_test.dart
|
| index 2399032fc4aabedd38a66c6e2342633b8a1b7afe..1a08b599fa2d06f1470fee9fb327ce7d0afea961 100644
|
| --- a/tests/lib/mirrors/equality_test.dart
|
| +++ b/tests/lib/mirrors/equality_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,9 +64,30 @@ 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)},
|
|
|
| + {'reflect("foo")' : reflect("foo"),
|
| + 'reflect("foo"), again' : reflect("foo")},
|
| +
|
| {'currentMirrorSystem().voidType' : currentMirrorSystem().voidType,
|
| 'thisLibrary.functions[#subroutine].returnType' :
|
| thisLibrary.functions[const Symbol('subroutine')].returnType},
|
|
|