Index: tests/language/malformed2_lib.dart |
diff --git a/tests/language/malformed2_lib.dart b/tests/language/malformed2_lib.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..50155a34908919216e509b65dc2495ce1d1e4919 |
--- /dev/null |
+++ b/tests/language/malformed2_lib.dart |
@@ -0,0 +1,57 @@ |
+// 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. |
+ |
+part of malformed_test; |
+ |
+/// [o] is either `null` or `new List<String>()`. |
+void testValue(var o) { |
+ assert(o == null || o is List<String>); |
+ |
+ test(true, () => o is Unresolved, "$o is Unresolved"); |
+ test(false, () => o is List<Unresolved>, "$o is List<Unresolved>"); |
+ test(true, () => o is! Unresolved, "$o is! Unresolved"); |
+ test(false, () => o is! List<Unresolved>, "$o is List<Unresolved>"); |
+ |
+ test(true, () => o as Unresolved, "$o as Unresolved"); |
+ test(false, () => o as List<Unresolved>, "$o as List<Unresolved>"); |
+ |
+ test(false, () { |
+ try { |
+ } on Unresolved catch (e) { |
+ } catch (e) { |
+ } |
+ }, "on Unresolved catch: Nothing thrown."); |
+ test(true, () { |
+ try { |
+ throw o; |
+ } on Unresolved catch (e) { |
+ } catch (e) { |
+ } |
+ }, "on Unresolved catch ($o)"); |
+ test(false, () { |
+ try { |
+ throw o; |
+ } on List<String> catch (e) { |
+ } on NullThrownError catch (e) { |
+ } on Unresolved catch (e) { |
+ } catch (e) { |
+ } |
+ }, "on List<String>/NullThrowError catch ($o)"); |
+ test(false, () { |
+ try { |
+ throw o; |
+ } on List<Unresolved> catch (e) { |
+ } on NullThrownError catch (e) { |
+ } on Unresolved catch (e) { |
+ } catch (e) { |
+ } |
+ }, "on List<Unresolved>/NullThrowError catch ($o)"); |
+ |
+ test(o != null && inCheckedMode(), |
+ () { Unresolved u = o; }, |
+ "Unresolved u = $o;"); |
+ test(false, |
+ () { List<Unresolved> u = o; }, |
+ "List<Unresolved> u = $o;"); |
+} |