| Index: test/codegen/corelib/iterable_to_list_test.dart
|
| diff --git a/test/codegen/corelib/iterable_to_list_test.dart b/test/codegen/corelib/iterable_to_list_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3ee443a0a7895a57d03ca1e4b8c23490cadbfd7b
|
| --- /dev/null
|
| +++ b/test/codegen/corelib/iterable_to_list_test.dart
|
| @@ -0,0 +1,71 @@
|
| +// Copyright (c) 2012, 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.
|
| +
|
| +import "package:expect/expect.dart";
|
| +
|
| +dynamicCheck(input, {isInt, isString}) {
|
| + var copy = input.toList();
|
| + Expect.isTrue(isInt == copy is List<int>);
|
| + Expect.isTrue(isString == copy is List<String>);
|
| +}
|
| +
|
| +main() {
|
| + List<int> list1 = <int>[1, 2, 3];
|
| + List<int> list2 = const <int>[4, 5];
|
| + List<String> list3 = <String>[];
|
| + Set<int> set1 = new Set<int>();
|
| + set1..add(11)
|
| + ..add(12)
|
| + ..add(13);
|
| + Set<String> set2 = new Set<String>();
|
| + set2..add("foo")
|
| + ..add("bar")
|
| + ..add("toto");
|
| + Set set3 = new Set();
|
| +
|
| + var listCopy = list1.toList();
|
| + Expect.listEquals(list1, listCopy);
|
| + Expect.isTrue(listCopy is List<int>);
|
| + Expect.isFalse(listCopy is List<String>);
|
| + Expect.isFalse(identical(list1, listCopy));
|
| + dynamicCheck(list1, isInt: true, isString: false);
|
| +
|
| + listCopy = list2.toList();
|
| + Expect.listEquals(list2, listCopy);
|
| + Expect.isTrue(listCopy is List<int>);
|
| + Expect.isFalse(listCopy is List<String>);
|
| + Expect.isFalse(identical(list2, listCopy));
|
| + dynamicCheck(list2, isInt: true, isString: false);
|
| +
|
| + listCopy = list3.toList();
|
| + Expect.listEquals(list3, listCopy);
|
| + Expect.isTrue(listCopy is List<String>);
|
| + Expect.isFalse(listCopy is List<int>);
|
| + Expect.isFalse(identical(list3, listCopy));
|
| + dynamicCheck(list3, isInt: false, isString: true);
|
| +
|
| + listCopy = set1.toList();
|
| + Expect.equals(3, listCopy.length);
|
| + Expect.isTrue(listCopy.contains(11));
|
| + Expect.isTrue(listCopy.contains(12));
|
| + Expect.isTrue(listCopy.contains(13));
|
| + Expect.isTrue(listCopy is List<int>);
|
| + Expect.isFalse(listCopy is List<String>);
|
| + dynamicCheck(set1, isInt: true, isString: false);
|
| +
|
| + listCopy = set2.toList();
|
| + Expect.equals(3, listCopy.length);
|
| + Expect.isTrue(listCopy.contains("foo"));
|
| + Expect.isTrue(listCopy.contains("bar"));
|
| + Expect.isTrue(listCopy.contains("toto"));
|
| + Expect.isTrue(listCopy is List<String>);
|
| + Expect.isFalse(listCopy is List<int>);
|
| + dynamicCheck(set2, isInt: false, isString: true);
|
| +
|
| + listCopy = set3.toList();
|
| + Expect.isTrue(listCopy.isEmpty);
|
| + Expect.isTrue(listCopy is List<int>);
|
| + Expect.isTrue(listCopy is List<String>);
|
| + dynamicCheck(set3, isInt: true, isString: true);
|
| +}
|
|
|