blob: 50155a34908919216e509b65dc2495ce1d1e4919 [file] [log] [blame]
// 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;");
}