UNPKG

prray

Version:

'Promisified' Array, comes with async method supports(such as mapAsync). And it is compatible with normal array.

109 lines (92 loc) 4.29 kB
import test from 'ava' import 'source-map-support/register' import { prray } from '../src/prray' import { toPrrayPromise } from './test-utils' test('prray splice 1', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) t.deepEqual(prr.splice(2, 0, 'drum'), prray([])) t.deepEqual(prr, prray(['angel', 'clown', 'drum', 'mandarin', 'sturgeon'])) }) test('prray splice 2', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) t.deepEqual(prr.splice(2, 0, 'drum', 'guitar'), prray([])) t.deepEqual(prr, prray(['angel', 'clown', 'drum', 'guitar', 'mandarin', 'sturgeon'])) }) test('prray splice 3', async t => { const prr = prray(['angel', 'clown', 'drum', 'mandarin', 'sturgeon']) t.deepEqual(prr.splice(3, 1), prray(['mandarin'])) t.deepEqual(prr, prray(['angel', 'clown', 'drum', 'sturgeon'])) }) test('prray splice 4', async t => { const prr = prray(['angel', 'clown', 'drum', 'sturgeon']) t.deepEqual(prr.splice(2, 1, 'trumpet'), prray(['drum'])) t.deepEqual(prr, prray(['angel', 'clown', 'trumpet', 'sturgeon'])) }) test('prray splice 5', async t => { const prr = prray(['angel', 'clown', 'trumpet', 'sturgeon']) t.deepEqual(prr.splice(0, 2, 'parrot', 'anemone', 'blue'), prray(['angel', 'clown'])) t.deepEqual(prr, prray(['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'])) }) test('prray splice 6', async t => { const prr = prray(['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon']) t.deepEqual(prr.splice(prr.length - 3, 2), prray(['blue', 'trumpet'])) t.deepEqual(prr, prray(['parrot', 'anemone', 'sturgeon'])) }) test('prray splice 7', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) t.deepEqual(prr.splice(-2, 1), prray(['mandarin'])) t.deepEqual(prr, prray(['angel', 'clown', 'sturgeon'])) }) test('prray splice 8', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) t.deepEqual(prr.splice(2), prray(['mandarin', 'sturgeon'])) t.deepEqual(prr, prray(['angel', 'clown'])) }) test('prraypromise splice 1', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(2, 0, 'drum'), prray([])) t.deepEqual(prr, prray(['angel', 'clown', 'drum', 'mandarin', 'sturgeon'])) }) test('prraypromise splice 2', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(2, 0, 'drum', 'guitar'), prray([])) t.deepEqual(prr, prray(['angel', 'clown', 'drum', 'guitar', 'mandarin', 'sturgeon'])) }) test('prraypromise splice 3', async t => { const prr = prray(['angel', 'clown', 'drum', 'mandarin', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(3, 1), prray(['mandarin'])) t.deepEqual(prr, prray(['angel', 'clown', 'drum', 'sturgeon'])) }) test('prraypromise splice 4', async t => { const prr = prray(['angel', 'clown', 'drum', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(2, 1, 'trumpet'), prray(['drum'])) t.deepEqual(prr, prray(['angel', 'clown', 'trumpet', 'sturgeon'])) }) test('prraypromise splice 5', async t => { const prr = prray(['angel', 'clown', 'trumpet', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(0, 2, 'parrot', 'anemone', 'blue'), prray(['angel', 'clown'])) t.deepEqual(prr, prray(['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'])) }) test('prraypromise splice 6', async t => { const prr = prray(['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(prr.length - 3, 2), prray(['blue', 'trumpet'])) t.deepEqual(prr, prray(['parrot', 'anemone', 'sturgeon'])) }) test('prraypromise splice 7', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(-2, 1), prray(['mandarin'])) t.deepEqual(prr, prray(['angel', 'clown', 'sturgeon'])) }) test('prraypromise splice 8', async t => { const prr = prray(['angel', 'clown', 'mandarin', 'sturgeon']) const pp = toPrrayPromise(prr) t.deepEqual(await pp.splice(2), prray(['mandarin', 'sturgeon'])) t.deepEqual(prr, prray(['angel', 'clown'])) })