| Index: test/codegen/expect/lib/typed_data/typed_list_iterable_test.js
|
| diff --git a/test/codegen/expect/lib/typed_data/typed_list_iterable_test.js b/test/codegen/expect/lib/typed_data/typed_list_iterable_test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a9b45138d30130baad939056bc85b309a22e4e3d
|
| --- /dev/null
|
| +++ b/test/codegen/expect/lib/typed_data/typed_list_iterable_test.js
|
| @@ -0,0 +1,197 @@
|
| +dart_library.library('lib/typed_data/typed_list_iterable_test', null, /* Imports */[
|
| + 'dart_sdk',
|
| + 'expect'
|
| +], function load__typed_list_iterable_test(exports, dart_sdk, expect) {
|
| + 'use strict';
|
| + const core = dart_sdk.core;
|
| + const typed_data = dart_sdk.typed_data;
|
| + const _interceptors = dart_sdk._interceptors;
|
| + const dart = dart_sdk.dart;
|
| + const dartx = dart_sdk.dartx;
|
| + const expect$ = expect.expect;
|
| + const typed_list_iterable_test = Object.create(null);
|
| + let JSArrayOfdouble = () => (JSArrayOfdouble = dart.constFn(_interceptors.JSArray$(core.double)))();
|
| + let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(core.int)))();
|
| + let dynamicTobool = () => (dynamicTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))();
|
| + let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [])))();
|
| + let dynamicToList = () => (dynamicToList = dart.constFn(dart.definiteFunctionType(core.List, [dart.dynamic])))();
|
| + let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
|
| + let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
|
| + let dynamicAnddynamicToint = () => (dynamicAnddynamicToint = dart.constFn(dart.definiteFunctionType(core.int, [dart.dynamic, dart.dynamic])))();
|
| + let dynamicAnddynamicAnddynamicTovoid = () => (dynamicAnddynamicAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic])))();
|
| + let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic])))();
|
| + let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
|
| + typed_list_iterable_test.testIterableFunctions = function(list, first, last) {
|
| + dart.assert(dart.dsend(dart.dload(list, 'length'), '>', 0));
|
| + expect$.Expect.equals(first, dart.dload(list, 'first'));
|
| + expect$.Expect.equals(last, dart.dload(list, 'last'));
|
| + expect$.Expect.equals(first, dart.dsend(list, 'firstWhere', dart.fn(x => dart.equals(x, first), dynamicTobool())));
|
| + expect$.Expect.equals(last, dart.dsend(list, 'lastWhere', dart.fn(x => dart.equals(x, last), dynamicTobool())));
|
| + if (dart.equals(dart.dload(list, 'length'), 1)) {
|
| + expect$.Expect.equals(first, dart.dload(list, 'single'));
|
| + expect$.Expect.equals(first, dart.dsend(list, 'singleWhere', dart.fn(x => dart.equals(x, last), dynamicTobool())));
|
| + } else {
|
| + expect$.Expect.throws(dart.fn(() => dart.dload(list, 'single'), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + let isFirst = true;
|
| + expect$.Expect.equals(first, dart.dsend(list, 'singleWhere', dart.fn(x => {
|
| + if (isFirst) {
|
| + isFirst = false;
|
| + return true;
|
| + }
|
| + return false;
|
| + }, dynamicTobool())));
|
| + }
|
| + expect$.Expect.isFalse(dart.dload(list, 'isEmpty'));
|
| + let i = 0;
|
| + for (let x of core.Iterable._check(list)) {
|
| + expect$.Expect.equals(dart.dindex(list, i++), x);
|
| + }
|
| + expect$.Expect.isTrue(dart.dsend(list, 'any', dart.fn(x => dart.equals(x, last), dynamicTobool())));
|
| + expect$.Expect.isFalse(dart.dsend(list, 'any', dart.fn(x => false, dynamicTobool())));
|
| + expect$.Expect.isTrue(dart.dsend(list, 'contains', last));
|
| + expect$.Expect.equals(first, dart.dsend(list, 'elementAt', 0));
|
| + expect$.Expect.isTrue(dart.dsend(list, 'every', dart.fn(x => true, dynamicTobool())));
|
| + expect$.Expect.isFalse(dart.dsend(list, 'every', dart.fn(x => !dart.equals(x, last), dynamicTobool())));
|
| + expect$.Expect.listEquals([], core.List._check(dart.dsend(dart.dsend(list, 'expand', dart.fn(x => [], dynamicToList())), 'toList')));
|
| + let expand2 = dart.dsend(list, 'expand', dart.fn(x => [x, x], dynamicToList()));
|
| + i = 0;
|
| + for (let x of core.Iterable._check(expand2)) {
|
| + expect$.Expect.equals(dart.dindex(list, (i / 2)[dartx.truncate]()), x);
|
| + i++;
|
| + }
|
| + expect$.Expect.equals(2 * dart.notNull(core.num._check(dart.dload(list, 'length'))), i);
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(list, 'fold', [], dart.fn((result, x) => ((() => {
|
| + dart.dsend(result, 'add', x);
|
| + return result;
|
| + })()), dynamicAnddynamicTodynamic()))));
|
| + i = 0;
|
| + dart.dsend(list, 'forEach', dart.fn(x => {
|
| + expect$.Expect.equals(dart.dindex(list, i++), x);
|
| + }, dynamicTodynamic()));
|
| + expect$.Expect.equals(dart.dsend(dart.dsend(list, 'toList'), 'join', "*"), dart.dsend(list, 'join', "*"));
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'map', dart.fn(x => x, dynamicTodynamic())), 'toList')));
|
| + let mapCount = 0;
|
| + let mappedList = dart.dsend(list, 'map', dart.fn(x => {
|
| + mapCount++;
|
| + return x;
|
| + }, dynamicTodynamic()));
|
| + expect$.Expect.equals(0, mapCount);
|
| + expect$.Expect.equals(dart.dload(list, 'length'), dart.dload(mappedList, 'length'));
|
| + expect$.Expect.equals(0, mapCount);
|
| + dart.dsend(mappedList, 'join');
|
| + expect$.Expect.equals(dart.dload(list, 'length'), mapCount);
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'where', dart.fn(x => true, dynamicTobool())), 'toList')));
|
| + let whereCount = 0;
|
| + let whereList = dart.dsend(list, 'where', dart.fn(x => {
|
| + whereCount++;
|
| + return true;
|
| + }, dynamicTobool()));
|
| + expect$.Expect.equals(0, whereCount);
|
| + expect$.Expect.equals(dart.dload(list, 'length'), dart.dload(whereList, 'length'));
|
| + expect$.Expect.equals(dart.dload(list, 'length'), whereCount);
|
| + if (dart.test(dart.dsend(dart.dload(list, 'length'), '>', 1))) {
|
| + let reduceResult = 1;
|
| + expect$.Expect.equals(dart.dload(list, 'length'), dart.dsend(list, 'reduce', dart.fn((x, y) => ++reduceResult, dynamicAnddynamicToint())));
|
| + } else {
|
| + expect$.Expect.equals(first, dart.dsend(list, 'reduce', dart.fn((x, y) => {
|
| + dart.throw("should not be called");
|
| + }, dynamicAnddynamicTodynamic())));
|
| + }
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'skip', dart.dload(list, 'length')), 'isEmpty'));
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'skip', 0), 'toList')));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'skipWhile', dart.fn(x => true, dynamicTobool())), 'isEmpty'));
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'skipWhile', dart.fn(x => false, dynamicTobool())), 'toList')));
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'take', dart.dload(list, 'length')), 'toList')));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'take', 0), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'takeWhile', dart.fn(x => false, dynamicTobool())), 'isEmpty'));
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'takeWhile', dart.fn(x => true, dynamicTobool())), 'toList')));
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'toList'), 'toList')));
|
| + let l2 = dart.dsend(list, 'toList');
|
| + dart.dsend(l2, 'add', first);
|
| + expect$.Expect.equals(first, dart.dload(l2, 'last'));
|
| + let l3 = dart.dsend(list, 'toList', {growable: false});
|
| + expect$.Expect.throws(dart.fn(() => dart.dsend(l3, 'add', last), VoidTovoid()), dart.fn(e => core.UnsupportedError.is(e), dynamicTobool()));
|
| + };
|
| + dart.fn(typed_list_iterable_test.testIterableFunctions, dynamicAnddynamicAnddynamicTovoid());
|
| + typed_list_iterable_test.emptyChecks = function(list) {
|
| + dart.assert(dart.equals(dart.dload(list, 'length'), 0));
|
| + expect$.Expect.isTrue(dart.dload(list, 'isEmpty'));
|
| + expect$.Expect.throws(dart.fn(() => dart.dload(list, 'first'), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + expect$.Expect.throws(dart.fn(() => dart.dload(list, 'last'), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + expect$.Expect.throws(dart.fn(() => dart.dload(list, 'single'), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + expect$.Expect.throws(dart.fn(() => dart.dsend(list, 'firstWhere', dart.fn(x => true, dynamicTobool())), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + expect$.Expect.throws(dart.fn(() => dart.dsend(list, 'lastWhere', dart.fn(x => true, dynamicTobool())), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + expect$.Expect.throws(dart.fn(() => dart.dsend(list, 'singleWhere', dart.fn(x => true, dynamicTobool())), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + expect$.Expect.isFalse(dart.dsend(list, 'any', dart.fn(x => true, dynamicTobool())));
|
| + expect$.Expect.isFalse(dart.dsend(list, 'contains', null));
|
| + expect$.Expect.throws(dart.fn(() => dart.dsend(list, 'elementAt', 0), VoidTovoid()), dart.fn(e => core.RangeError.is(e), dynamicTobool()));
|
| + expect$.Expect.isTrue(dart.dsend(list, 'every', dart.fn(x => false, dynamicTobool())));
|
| + expect$.Expect.listEquals([], core.List._check(dart.dsend(dart.dsend(list, 'expand', dart.fn(x => [], dynamicToList())), 'toList')));
|
| + expect$.Expect.listEquals([], core.List._check(dart.dsend(dart.dsend(list, 'expand', dart.fn(x => [x, x], dynamicToList())), 'toList')));
|
| + expect$.Expect.listEquals([], core.List._check(dart.dsend(dart.dsend(list, 'expand', dart.fn(x => {
|
| + dart.throw("should not be reached");
|
| + }, dynamicTodynamic())), 'toList')));
|
| + expect$.Expect.listEquals([], core.List._check(dart.dsend(list, 'fold', [], dart.fn((result, x) => ((() => {
|
| + dart.dsend(result, 'add', x);
|
| + return result;
|
| + })()), dynamicAnddynamicTodynamic()))));
|
| + expect$.Expect.equals(dart.dsend(dart.dsend(list, 'toList'), 'join', "*"), dart.dsend(list, 'join', "*"));
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'map', dart.fn(x => x, dynamicTodynamic())), 'toList')));
|
| + let mapCount = 0;
|
| + let mappedList = dart.dsend(list, 'map', dart.fn(x => {
|
| + mapCount++;
|
| + return x;
|
| + }, dynamicTodynamic()));
|
| + expect$.Expect.equals(0, mapCount);
|
| + expect$.Expect.equals(dart.dload(list, 'length'), dart.dload(mappedList, 'length'));
|
| + expect$.Expect.equals(0, mapCount);
|
| + dart.dsend(mappedList, 'join');
|
| + expect$.Expect.equals(dart.dload(list, 'length'), mapCount);
|
| + expect$.Expect.listEquals(core.List._check(list), core.List._check(dart.dsend(dart.dsend(list, 'where', dart.fn(x => true, dynamicTobool())), 'toList')));
|
| + let whereCount = 0;
|
| + let whereList = dart.dsend(list, 'where', dart.fn(x => {
|
| + whereCount++;
|
| + return true;
|
| + }, dynamicTobool()));
|
| + expect$.Expect.equals(0, whereCount);
|
| + expect$.Expect.equals(dart.dload(list, 'length'), dart.dload(whereList, 'length'));
|
| + expect$.Expect.equals(dart.dload(list, 'length'), whereCount);
|
| + expect$.Expect.throws(dart.fn(() => dart.dsend(list, 'reduce', dart.fn((x, y) => x, dynamicAnddynamicTodynamic())), VoidTovoid()), dart.fn(e => core.StateError.is(e), dynamicTobool()));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'skip', dart.dload(list, 'length')), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'skip', 0), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'skipWhile', dart.fn(x => true, dynamicTobool())), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'skipWhile', dart.fn(x => false, dynamicTobool())), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'take', dart.dload(list, 'length')), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'take', 0), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'takeWhile', dart.fn(x => false, dynamicTobool())), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'takeWhile', dart.fn(x => true, dynamicTobool())), 'isEmpty'));
|
| + expect$.Expect.isTrue(dart.dload(dart.dsend(list, 'toList'), 'isEmpty'));
|
| + let l2 = dart.dsend(list, 'toList');
|
| + dart.dsend(l2, 'add', 0);
|
| + expect$.Expect.equals(0, dart.dload(l2, 'last'));
|
| + let l3 = dart.dsend(list, 'toList', {growable: false});
|
| + expect$.Expect.throws(dart.fn(() => dart.dsend(l3, 'add', 0), VoidTovoid()), dart.fn(e => core.UnsupportedError.is(e), dynamicTobool()));
|
| + };
|
| + dart.fn(typed_list_iterable_test.emptyChecks, dynamicTovoid());
|
| + typed_list_iterable_test.main = function() {
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Float32List.fromList(JSArrayOfdouble().of([1.5, 9.5])), 1.5, 9.5);
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Float64List.fromList(JSArrayOfdouble().of([1.5, 9.5])), 1.5, 9.5);
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Int8List.fromList(JSArrayOfint().of([3, 9])), 3, 9);
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Int16List.fromList(JSArrayOfint().of([3, 9])), 3, 9);
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Int32List.fromList(JSArrayOfint().of([3, 9])), 3, 9);
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Uint8List.fromList(JSArrayOfint().of([3, 9])), 3, 9);
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Uint16List.fromList(JSArrayOfint().of([3, 9])), 3, 9);
|
| + typed_list_iterable_test.testIterableFunctions(typed_data.Uint32List.fromList(JSArrayOfint().of([3, 9])), 3, 9);
|
| + typed_list_iterable_test.emptyChecks(typed_data.Float32List.new(0));
|
| + typed_list_iterable_test.emptyChecks(typed_data.Float64List.new(0));
|
| + typed_list_iterable_test.emptyChecks(typed_data.Int8List.new(0));
|
| + typed_list_iterable_test.emptyChecks(typed_data.Int16List.new(0));
|
| + typed_list_iterable_test.emptyChecks(typed_data.Int32List.new(0));
|
| + typed_list_iterable_test.emptyChecks(typed_data.Uint8List.new(0));
|
| + typed_list_iterable_test.emptyChecks(typed_data.Uint16List.new(0));
|
| + typed_list_iterable_test.emptyChecks(typed_data.Uint32List.new(0));
|
| + };
|
| + dart.fn(typed_list_iterable_test.main, VoidTodynamic());
|
| + // Exports:
|
| + exports.typed_list_iterable_test = typed_list_iterable_test;
|
| +});
|
|
|