| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- 'use strict';
- import test from 'tape-six';
- import {streamToArray, delay} from './helpers.mjs';
- import chain, {stop} from '../src/index.js';
- import fromIterable from '../src/utils/fromIterable.js';
- import take from '../src/utils/take.js';
- import takeWhile from '../src/utils/takeWhile.js';
- import takeWithSkip from '../src/utils/takeWithSkip.js';
- test.asPromise('take: smoke test', (t, resolve) => {
- const output = [],
- c = chain([fromIterable([1, 2, 3, 4, 5]), take(2), streamToArray(output)]);
- c.on('end', () => {
- t.deepEqual(output, [1, 2]);
- resolve();
- });
- });
- test.asPromise('simple: with skip', (t, resolve) => {
- const output = [],
- c = chain([fromIterable([1, 2, 3, 4, 5]), takeWithSkip(2, 2), streamToArray(output)]);
- c.on('end', () => {
- t.deepEqual(output, [3, 4]);
- resolve();
- });
- });
- test.asPromise('simple: while', (t, resolve) => {
- const output = [],
- c = chain([fromIterable([1, 2, 3, 4, 5]), takeWhile(x => x != 3), streamToArray(output)]);
- c.on('end', () => {
- t.deepEqual(output, [1, 2]);
- resolve();
- });
- });
- test.asPromise('simple: while async', (t, resolve) => {
- const output = [],
- c = chain([
- fromIterable([1, 2, 3, 4, 5]),
- takeWhile(delay(x => x != 3)),
- streamToArray(output)
- ]);
- c.on('end', () => {
- t.deepEqual(output, [1, 2]);
- resolve();
- });
- });
- test.asPromise('simple: stop', (t, resolve) => {
- const output = [],
- c = chain([fromIterable([1, 2, 3, 4, 5]), take(2, stop), streamToArray(output)]);
- c.on('end', () => {
- t.deepEqual(output, [1, 2]);
- resolve();
- });
- });
- test.asPromise('simple: stop with skip', (t, resolve) => {
- const output = [],
- c = chain([fromIterable([1, 2, 3, 4, 5]), takeWithSkip(2, 2, stop), streamToArray(output)]);
- c.on('end', () => {
- t.deepEqual(output, [3, 4]);
- resolve();
- });
- });
|