dart-sdk/tests/language_2/type_variable_nested_test.dart
Janice Collins fe7c2acd4e Migrate block 163 to Dart 2.0.
Interesting tests requiring status file or other changes:

type_variable_promotion_test
type_variable_scope_test
type_variable_static_context_negative_test - changed from negative to compile-time error
unresolved_top_level_method_negative_test - changed from negative to compile-time error
unary_plus_negative_test
unhandled_exception_negative_test
unbound_getter_test
unresolved_in_factory_negative_test -
unresolved_top_level_var_negative_test - changed from negative to compile-time error
unresolved_top_level_method_negative_test - changed from negative to compile-time error
vm/async_await_catch_stacktrace_test

BUG=
R=lrn@google.com

Review-Url: https://codereview.chromium.org/3008723002 .
2017-08-30 08:05:12 -07:00

33 lines
885 B
Dart

// 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.
// Regression test for
// http://code.google.com/p/dart/issues/detail?id=9050.
import 'package:expect/expect.dart';
class A<T> {}
class B<T> {
var _copy;
B() {
// We used to not register the dependency between List and B.
_copy = new List<A<T>>();
}
}
main() {
var a = new B();
Expect.isFalse(a._copy is List<int>);
Expect.isTrue(a._copy is List<A>);
Expect.isFalse(a._copy is List<A<int>>); //# 01: ok
a = new B<String>();
Expect.isFalse(a._copy is List<String>);
Expect.isTrue(a._copy is List<A>);
Expect.isTrue(a._copy is List<A<String>>);
Expect.isTrue(a._copy is List<A<Object>>);
Expect.isFalse(a._copy is List<A<int>>);
}