Index: tests/language/malformed2_test.dart |
diff --git a/tests/language/malformed2_test.dart b/tests/language/malformed2_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..cab3aba58f7ef1267f426bbc7788b73c4869fdec |
--- /dev/null |
+++ b/tests/language/malformed2_test.dart |
@@ -0,0 +1,59 @@ |
+// Copyright (c) 2013, 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. |
+ |
+library malformed_test; |
+ |
+// This part includes the actual tests. |
+part 'malformed2_lib.dart'; /// 00: static type warning |
+ |
+bool inCheckedMode() { |
+ try { |
+ var i = 42; |
+ String s = i; |
+ } on TypeError catch (e) { |
+ return true; |
+ } |
+ return false; |
+} |
+ |
+bool hasFailed = false; |
+ |
+void fail(String message) { |
+ try { |
+ throw message; |
+ } catch (e, s) { |
+ print(e); |
+ print(s); |
+ } |
+ hasFailed = true; |
+} |
+ |
+void checkFailures() { |
+ if (hasFailed) throw 'Test failed.'; |
+} |
+ |
+test(bool expectTypeError, f(), [String message]) { |
+ message = message != null ? ' for $message' : ''; |
+ try { |
+ f(); |
+ if (expectTypeError) { |
+ fail('Missing type error$message.'); |
+ } |
+ } on TypeError catch (e) { |
+ if (expectTypeError) { |
+ print('Type error$message: $e'); |
+ } else { |
+ fail('Unexpected type error$message: $e'); |
+ } |
+ } |
+} |
+ |
+const Unresolved c1 = 0; /// 01: static type warning, compile-time error |
+ |
+void main() { |
+ print(c1); /// 01: continued |
+ testValue(new List<String>()); /// 00: continued |
+ testValue(null); /// 00: continued |
+ checkFailures(); |
+} |