Chromium Code Reviews| 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..b3c02904746bf43d329835e8617af18f876bf042 |
| --- /dev/null |
| +++ b/tests/language/malformed2_lib.dart |
| @@ -0,0 +1,55 @@ |
| +// 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>()`. |
|
karlklose
2013/11/05 11:33:35
We could even assert it so it explodes if someone
Johnni Winther
2013/11/05 12:18:06
Done.
|
| +void testValue(var o) { |
| + 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;"); |
| +} |