Index: tests/corelib/null_nosuchmethod_test.dart |
diff --git a/tests/corelib/null_nosuchmethod_test.dart b/tests/corelib/null_nosuchmethod_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2d6514c319cdc9b7e2e5e95fe56c2c5cad1119f5 |
--- /dev/null |
+++ b/tests/corelib/null_nosuchmethod_test.dart |
@@ -0,0 +1,22 @@ |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// 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. |
+ |
+// Test that Null's noSuchMethod can be closurized and called directly. |
+ |
+main() { |
+ var x; |
+ // Non-existing method calls noSuchMethod. |
+ Expect.throws(() => x.foo(), |
+ (e) => e is NullPointerException); |
+ |
+ // Calling noSuchMethod directly. |
+ Expect.throws(() => x.noSuchMethod("foo", []), |
+ (e) => e is NullPointerException); |
+ |
+ // Closurizing noSuchMethod and calling it. |
+ var nsm = x.noSuchMethod; |
+ Expect.notEquals(null, nsm); |
+ Expect.throws(() => nsm("foo", []), |
+ (e) => e is NullPointerException); |
+} |