| Index: test/codegen/expect/corelib/iterable_length_test.js
|
| diff --git a/test/codegen/expect/corelib/iterable_length_test.js b/test/codegen/expect/corelib/iterable_length_test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2b85496cefd5cd5e2acd9d134333a873f67d54d9
|
| --- /dev/null
|
| +++ b/test/codegen/expect/corelib/iterable_length_test.js
|
| @@ -0,0 +1,66 @@
|
| +dart_library.library('corelib/iterable_length_test', null, /* Imports */[
|
| + 'dart_sdk',
|
| + 'expect'
|
| +], function load__iterable_length_test(exports, dart_sdk, expect) {
|
| + 'use strict';
|
| + const core = dart_sdk.core;
|
| + const collection = dart_sdk.collection;
|
| + const dart = dart_sdk.dart;
|
| + const dartx = dart_sdk.dartx;
|
| + const expect$ = expect.expect;
|
| + const iterable_length_test = Object.create(null);
|
| + let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
|
| + let dynamicTobool = () => (dynamicTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))();
|
| + let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
|
| + iterable_length_test.A = class A extends collection.IterableBase {
|
| + new(count) {
|
| + this.count = count;
|
| + super.new();
|
| + }
|
| + get iterator() {
|
| + return new iterable_length_test.AIterator(this.count);
|
| + }
|
| + };
|
| + dart.addSimpleTypeTests(iterable_length_test.A);
|
| + dart.setSignature(iterable_length_test.A, {
|
| + constructors: () => ({new: dart.definiteFunctionType(iterable_length_test.A, [core.int])})
|
| + });
|
| + dart.defineExtensionMembers(iterable_length_test.A, ['iterator']);
|
| + const _count = Symbol('_count');
|
| + const _current = Symbol('_current');
|
| + iterable_length_test.AIterator = class AIterator extends core.Object {
|
| + new(count) {
|
| + this[_count] = count;
|
| + this[_current] = null;
|
| + }
|
| + moveNext() {
|
| + if (dart.notNull(this[_count]) > 0) {
|
| + this[_current] = this[_count];
|
| + this[_count] = dart.notNull(this[_count]) - 1;
|
| + return true;
|
| + }
|
| + this[_current] = null;
|
| + return false;
|
| + }
|
| + get current() {
|
| + return this[_current];
|
| + }
|
| + };
|
| + iterable_length_test.AIterator[dart.implements] = () => [core.Iterator];
|
| + dart.setSignature(iterable_length_test.AIterator, {
|
| + constructors: () => ({new: dart.definiteFunctionType(iterable_length_test.AIterator, [core.int])}),
|
| + methods: () => ({moveNext: dart.definiteFunctionType(core.bool, [])})
|
| + });
|
| + iterable_length_test.main = function() {
|
| + let a = new iterable_length_test.A(10);
|
| + expect$.Expect.equals(10, a.length);
|
| + a = new iterable_length_test.A(0);
|
| + expect$.Expect.equals(0, a.length);
|
| + a = new iterable_length_test.A(5);
|
| + expect$.Expect.equals(5, a.map(dart.dynamic)(dart.fn(e => dart.dsend(e, '+', 1), dynamicTodynamic()))[dartx.length]);
|
| + expect$.Expect.equals(3, a.where(dart.fn(e => core.bool._check(dart.dsend(e, '>=', 3)), dynamicTobool()))[dartx.length]);
|
| + };
|
| + dart.fn(iterable_length_test.main, VoidTodynamic());
|
| + // Exports:
|
| + exports.iterable_length_test = iterable_length_test;
|
| +});
|
|
|