// 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()`. void testValue(var o) { assert(o == null || o is List); test(true, () => o is Unresolved, "$o is Unresolved"); test(false, () => o is List, "$o is List"); test(true, () => o is! Unresolved, "$o is! Unresolved"); test(false, () => o is! List, "$o is List"); test(true, () => o as Unresolved, "$o as Unresolved"); test(false, () => o as List, "$o as List"); 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/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/NullThrowError catch ($o)"); test(o != null && inCheckedMode(), () { Unresolved u = o; }, "Unresolved u = $o;"); test(false, () { List u = o; }, "List u = $o;"); }