Index: test/codegen/expect/corelib/iterable_take_test.js |
diff --git a/test/codegen/expect/corelib/iterable_take_test.js b/test/codegen/expect/corelib/iterable_take_test.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7e33b8b4ecd8959f5e6ffc752accebeedcc951af |
--- /dev/null |
+++ b/test/codegen/expect/corelib/iterable_take_test.js |
@@ -0,0 +1,233 @@ |
+dart_library.library('corelib/iterable_take_test', null, /* Imports */[ |
+ 'dart_sdk', |
+ 'expect' |
+], function load__iterable_take_test(exports, dart_sdk, expect) { |
+ 'use strict'; |
+ const core = dart_sdk.core; |
+ const _interceptors = dart_sdk._interceptors; |
+ const dart = dart_sdk.dart; |
+ const dartx = dart_sdk.dartx; |
+ const expect$ = expect.expect; |
+ const iterable_take_test = Object.create(null); |
+ let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))(); |
+ let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))(); |
+ let SetOfint = () => (SetOfint = dart.constFn(core.Set$(core.int)))(); |
+ let IterableOfint = () => (IterableOfint = dart.constFn(core.Iterable$(core.int)))(); |
+ let IterableOfString = () => (IterableOfString = dart.constFn(core.Iterable$(core.String)))(); |
+ let VoidToIterableOfint = () => (VoidToIterableOfint = dart.constFn(dart.definiteFunctionType(IterableOfint(), [])))(); |
+ let dynamicTobool = () => (dynamicTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))(); |
+ let VoidToIterableOfString = () => (VoidToIterableOfString = dart.constFn(dart.definiteFunctionType(IterableOfString(), [])))(); |
+ let VoidToIterable = () => (VoidToIterable = dart.constFn(dart.definiteFunctionType(core.Iterable, [])))(); |
+ let intToint = () => (intToint = dart.constFn(dart.definiteFunctionType(core.int, [core.int])))(); |
+ let StringToString = () => (StringToString = dart.constFn(dart.definiteFunctionType(core.String, [core.String])))(); |
+ let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))(); |
+ let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))(); |
+ let const$; |
+ iterable_take_test.main = function() { |
+ let list1 = JSArrayOfint().of([1, 2, 3]); |
+ let list2 = const$ || (const$ = dart.constList([4, 5], core.int)); |
+ let list3 = JSArrayOfString().of([]); |
+ let set1 = SetOfint().new(); |
+ set1.add(11); |
+ set1.add(12); |
+ set1.add(13); |
+ let set2 = core.Set.new(); |
+ let take0 = list1[dartx.take](0); |
+ let it = take0[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ let take1 = list1[dartx.take](1); |
+ it = take1[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ let take2 = list1[dartx.take](2); |
+ it = take2[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(2, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ let take3 = list1[dartx.take](3); |
+ it = take3[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(2, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(3, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ let take4 = list1[dartx.take](4); |
+ it = take4[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(2, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(3, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take4 = list1[dartx.take](4); |
+ take3 = take4[dartx.take](3); |
+ take2 = take3[dartx.take](2); |
+ take1 = take2[dartx.take](1); |
+ take0 = take1[dartx.take](0); |
+ it = take0[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ it = take1[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ it = take2[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(2, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ it = take3[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(2, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(3, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ it = take4[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(1, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(2, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(3, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take0 = list2[dartx.take](0); |
+ it = take0[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take1 = list2[dartx.take](1); |
+ it = take1[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(4, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take2 = list2[dartx.take](2); |
+ it = take2[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(4, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(5, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take3 = list2[dartx.take](3); |
+ it = take3[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(4, it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.equals(5, it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ let take02 = list3[dartx.take](0); |
+ let it2 = take02[dartx.iterator]; |
+ expect$.Expect.isNull(it2.current); |
+ expect$.Expect.isFalse(it2.moveNext()); |
+ expect$.Expect.isNull(it2.current); |
+ let take12 = list3[dartx.take](1); |
+ it2 = take12[dartx.iterator]; |
+ expect$.Expect.isNull(it2.current); |
+ expect$.Expect.isFalse(it2.moveNext()); |
+ expect$.Expect.isNull(it2.current); |
+ take0 = set1.take(0); |
+ it = take0[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take1 = set1.take(1); |
+ let copied = take1[dartx.toList](); |
+ expect$.Expect.equals(1, copied[dartx.length]); |
+ expect$.Expect.isTrue(set1.contains(copied[dartx.get](0))); |
+ it = take1[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.isNotNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take2 = set1.take(2); |
+ copied = take2[dartx.toList](); |
+ expect$.Expect.equals(2, copied[dartx.length]); |
+ expect$.Expect.isTrue(set1.contains(copied[dartx.get](0))); |
+ expect$.Expect.isTrue(set1.contains(copied[dartx.get](1))); |
+ expect$.Expect.isTrue(copied[dartx.get](0) != copied[dartx.get](1)); |
+ it = take2[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.isNotNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.isNotNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take3 = set1.take(3); |
+ copied = take3[dartx.toList](); |
+ expect$.Expect.equals(3, copied[dartx.length]); |
+ expect$.Expect.isTrue(set1.contains(copied[dartx.get](0))); |
+ expect$.Expect.isTrue(set1.contains(copied[dartx.get](1))); |
+ expect$.Expect.isTrue(set1.contains(copied[dartx.get](2))); |
+ expect$.Expect.isTrue(copied[dartx.get](0) != copied[dartx.get](1)); |
+ expect$.Expect.isTrue(copied[dartx.get](0) != copied[dartx.get](2)); |
+ expect$.Expect.isTrue(copied[dartx.get](1) != copied[dartx.get](2)); |
+ it = take3[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.isNotNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.isNotNull(it.current); |
+ expect$.Expect.isTrue(it.moveNext()); |
+ expect$.Expect.isNotNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take0 = IterableOfint()._check(set2.take(0)); |
+ it = take0[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ take1 = IterableOfint()._check(set2.take(1)); |
+ it = take1[dartx.iterator]; |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.isFalse(it.moveNext()); |
+ expect$.Expect.isNull(it.current); |
+ expect$.Expect.throws(dart.fn(() => list1[dartx.skip](-1), VoidToIterableOfint()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => list2[dartx.skip](-1), VoidToIterableOfint()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => list3[dartx.skip](-1), VoidToIterableOfString()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => set1.skip(-1), VoidToIterableOfint()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => set2.skip(-1), VoidToIterable()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => list1[dartx.map](core.int)(dart.fn(x => x, intToint()))[dartx.skip](-1), VoidToIterableOfint()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => list2[dartx.map](core.int)(dart.fn(x => x, intToint()))[dartx.skip](-1), VoidToIterableOfint()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => list3[dartx.map](core.String)(dart.fn(x => x, StringToString()))[dartx.skip](-1), VoidToIterableOfString()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => set1.map(core.int)(dart.fn(x => x, intToint()))[dartx.skip](-1), VoidToIterableOfint()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ expect$.Expect.throws(dart.fn(() => set2.map(dart.dynamic)(dart.fn(x => x, dynamicTodynamic()))[dartx.skip](-1), VoidToIterable()), dart.fn(e => core.RangeError.is(e), dynamicTobool())); |
+ }; |
+ dart.fn(iterable_take_test.main, VoidTodynamic()); |
+ // Exports: |
+ exports.iterable_take_test = iterable_take_test; |
+}); |