Index: test/codegen/corelib/collection_from_test.dart |
diff --git a/test/codegen/corelib/collection_from_test.dart b/test/codegen/corelib/collection_from_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2766887cc84cd1d81734f83d34d7680095782f81 |
--- /dev/null |
+++ b/test/codegen/corelib/collection_from_test.dart |
@@ -0,0 +1,40 @@ |
+// Copyright (c) 2011, 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. |
+ |
+library collection.from.test; |
+import "package:expect/expect.dart"; |
+import 'dart:collection' show Queue; |
+ |
+class CollectionFromTest { |
+ static testMain() { |
+ var set = new Set<int>(); |
+ set.add(1); |
+ set.add(2); |
+ set.add(4); |
+ check(set, new List<int>.from(set)); |
+ check(set, new List.from(set)); |
+ check(set, new Queue<int>.from(set)); |
+ check(set, new Queue.from(set)); |
+ check(set, new Set<int>.from(set)); |
+ check(set, new Set.from(set)); |
+ } |
+ |
+ |
+ static check(Iterable initial, Iterable other) { |
+ Expect.equals(3, initial.length); |
+ Expect.equals(initial.length, other.length); |
+ |
+ int initialSum = 0; |
+ int otherSum = 0; |
+ |
+ initial.forEach((e) { initialSum += e; }); |
+ other.forEach((e) { otherSum += e; }); |
+ Expect.equals(4 + 2 + 1, otherSum); |
+ Expect.equals(otherSum, initialSum); |
+ } |
+} |
+ |
+main() { |
+ CollectionFromTest.testMain(); |
+} |