Index: tests/language/call_through_null_getter_test.dart |
diff --git a/tests/language/call_through_null_getter_test.dart b/tests/language/call_through_null_getter_test.dart |
index 24edb033c28689378035b91e40b2182f80e83c84..05024964b817595059a0ad24df89482e4a4cbea8 100644 |
--- a/tests/language/call_through_null_getter_test.dart |
+++ b/tests/language/call_through_null_getter_test.dart |
@@ -19,39 +19,57 @@ class CallThroughNullGetterTest { |
static void testTopLevel() { |
topLevel = null; |
- expectThrowsNoSuchMethodError(() { topLevel(); }); |
- expectThrowsNoSuchMethodError(() { (topLevel)(); }); |
- expectThrowsNoSuchMethodError(() { TOP_LEVEL_NULL(); }); |
- expectThrowsNoSuchMethodError(() { (TOP_LEVEL_NULL)(); }); |
+ expectThrowsNullPointerException(() { topLevel(); }); |
+ expectThrowsNullPointerException(() { (topLevel)(); }); |
+ expectThrowsNullPointerException(() { TOP_LEVEL_NULL(); }); |
+ expectThrowsNullPointerException(() { (TOP_LEVEL_NULL)(); }); |
} |
static void testField() { |
A a = new A(); |
a.field = null; |
- expectThrowsNoSuchMethodError(() { a.field(); }); |
- expectThrowsNoSuchMethodError(() { (a.field)(); }); |
+ expectThrowsNullPointerException(() { a.field(); }); |
+ expectThrowsNullPointerException(() { (a.field)(); }); |
} |
static void testGetter() { |
A a = new A(); |
a.field = null; |
- expectThrowsNoSuchMethodError(() { a.getter(); }); |
- expectThrowsNoSuchMethodError(() { (a.getter)(); }); |
+ expectThrowsNullPointerException(() { a.getter(); }); |
+ expectThrowsNullPointerException(() { (a.getter)(); }); |
} |
static void testMethod() { |
A a = new A(); |
a.field = null; |
- expectThrowsNoSuchMethodError(() { a.method()(); }); |
+ expectThrowsNullPointerException(() { a.method()(); }); |
} |
- static void expectThrowsNoSuchMethodError(fn) { |
- Expect.throws(fn, (e) => e is NoSuchMethodError, |
- "Should throw NoSuchMethodError"); |
+ static void expectThrowsNullPointerException(fn) { |
+ var exception = catchException(fn); |
+ if (exception is! NullPointerException) { |
+ Expect.fail("Wrong exception. Expected: NullPointerException" |
+ " got: ${exception}"); |
+ } |
} |
+ |
+ static catchException(fn) { |
+ bool caught = false; |
+ var result = null; |
+ try { |
+ fn(); |
+ Expect.equals(true, false); // Shouldn't reach this. |
+ } catch (e) { |
+ caught = true; |
+ result = e; |
+ } |
+ Expect.equals(true, caught); |
+ return result; |
+ } |
+ |
} |