Bläddra i källkod

Added tests for arrays.

Eugene Lazutkin 3 år sedan
förälder
incheckning
92c8c71dc6
3 ändrade filer med 63 tillägg och 3 borttagningar
  1. 20 0
      tests/test-fun.mjs
  2. 20 0
      tests/test-gen.mjs
  3. 23 3
      tests/test-transducers.mjs

+ 20 - 0
tests/test-fun.mjs

@@ -193,3 +193,23 @@ test.asPromise('fun: as fun', (t, resolve) => {
     resolve();
   });
 });
+
+test.asPromise('fun: array', (t, resolve) => {
+  const output = [],
+    c = chain([fromIterable([1, 2, 3]), [x => x * x, x => 2 * x + 1], streamToArray(output)]);
+
+  c.on('end', () => {
+    t.deepEqual(output, [3, 9, 19]);
+    resolve();
+  });
+});
+
+test.asPromise('fun: embedded arrays', (t, resolve) => {
+  const output = [],
+    c = chain([fromIterable([1, 2, 3]), [x => x * x, [x => 2 * x + 1, []]], streamToArray(output)]);
+
+  c.on('end', () => {
+    t.deepEqual(output, [3, 9, 19]);
+    resolve();
+  });
+});

+ 20 - 0
tests/test-gen.mjs

@@ -213,3 +213,23 @@ test.asPromise('gen: async iterator', (t, resolve) => {
     resolve();
   });
 });
+
+test.asPromise('gen: array', (t, resolve) => {
+  const output = [],
+    c = chain([fromIterable([1, 2, 3]), [x => x * x, x => 2 * x + 1], streamToArray(output)]);
+
+  c.on('end', () => {
+    t.deepEqual(output, [3, 9, 19]);
+    resolve();
+  });
+});
+
+test.asPromise('gen: embedded arrays', (t, resolve) => {
+  const output = [],
+    c = chain([fromIterable([1, 2, 3]), [x => x * x, [x => 2 * x + 1, []]], streamToArray(output)]);
+
+  c.on('end', () => {
+    t.deepEqual(output, [3, 9, 19]);
+    resolve();
+  });
+});

+ 23 - 3
tests/test-transducers.mjs

@@ -3,7 +3,7 @@
 import test from 'tape-six';
 
 import {streamToArray} from './helpers.mjs';
-import chain, {gen} from '../src/index.js';
+import chain, {gen, none, finalValue} from '../src/index.js';
 import fromIterable from '../src/utils/readableFrom.js';
 
 test.asPromise('transducers: smoke test', (t, resolve) => {
@@ -29,7 +29,7 @@ test.asPromise('transducers: final', (t, resolve) => {
       fromIterable([1, 2, 3]),
       gen(
         x => x * x,
-        x => chain.finalValue(x),
+        x => finalValue(x),
         x => 2 * x + 1
       ),
       streamToArray(output)
@@ -47,7 +47,7 @@ test.asPromise('transducers: nothing', (t, resolve) => {
       fromIterable([1, 2, 3]),
       gen(
         x => x * x,
-        () => chain.none,
+        () => none,
         x => 2 * x + 1
       ),
       streamToArray(output)
@@ -78,3 +78,23 @@ test.asPromise('transducers: one', (t, resolve) => {
     resolve();
   });
 });
+
+test.asPromise('transducers: array', (t, resolve) => {
+  const output = [],
+    c = chain([fromIterable([1, 2, 3]), [x => x * x, x => 2 * x + 1], streamToArray(output)]);
+
+  c.on('end', () => {
+    t.deepEqual(output, [3, 9, 19]);
+    resolve();
+  });
+});
+
+test.asPromise('transducers: embedded arrays', (t, resolve) => {
+  const output = [],
+    c = chain([fromIterable([1, 2, 3]), [x => x * x, [x => 2 * x + 1, []]], streamToArray(output)]);
+
+  c.on('end', () => {
+    t.deepEqual(output, [3, 9, 19]);
+    resolve();
+  });
+});