test_FromIterable.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. 'use strict';
  2. const unit = require('heya-unit');
  3. const Chain = require('../index');
  4. const {streamToArray, delay} = require('./helpers');
  5. const {fromIterable} = require('../utils/FromIterable');
  6. unit.add(module, [
  7. function test_FromIterable(t) {
  8. const async = t.startAsync('test_FromIterable');
  9. const output = [],
  10. chain = new Chain([fromIterable([1, 2, 3]), streamToArray(output)]);
  11. chain.on('end', () => {
  12. eval(t.TEST('t.unify(output, [1, 2, 3])'));
  13. async.done();
  14. });
  15. },
  16. function test_FromIterableFun(t) {
  17. const async = t.startAsync('test_FromIterableFun');
  18. const output = [],
  19. chain = new Chain([fromIterable(() => 0), streamToArray(output)]);
  20. chain.on('end', () => {
  21. eval(t.TEST('t.unify(output, [0])'));
  22. async.done();
  23. });
  24. },
  25. function test_FromIterableAsyncFun(t) {
  26. const async = t.startAsync('test_FromIterableAsyncFun');
  27. const output = [],
  28. chain = new Chain([fromIterable(delay(() => 0)), streamToArray(output)]);
  29. chain.on('end', () => {
  30. eval(t.TEST('t.unify(output, [0])'));
  31. async.done();
  32. });
  33. },
  34. function test_FromIterableGen(t) {
  35. const async = t.startAsync('test_FromIterableGen');
  36. const output = [],
  37. chain = new Chain([
  38. fromIterable(function*() {
  39. yield 0;
  40. yield 1;
  41. }),
  42. streamToArray(output)
  43. ]);
  44. chain.on('end', () => {
  45. eval(t.TEST('t.unify(output, [0, 1])'));
  46. async.done();
  47. });
  48. },
  49. // function test_FromIterableAsyncGen(t) {
  50. // const async = t.startAsync('test_FromIterableAsyncGen');
  51. // const output = [],
  52. // chain = new Chain([
  53. // fromIterable(async function*() {
  54. // yield delay(() => 0)();
  55. // yield delay(() => 1)();
  56. // }),
  57. // streamToArray(output)
  58. // ]);
  59. // chain.on('end', () => {
  60. // eval(t.TEST('t.unify(output, [0, 1])'));
  61. // async.done();
  62. // });
  63. // },
  64. function test_FromIterableNextable(t) {
  65. const async = t.startAsync('test_FromIterableNextable');
  66. const output = [],
  67. chain = new Chain([
  68. fromIterable((function*() {
  69. yield 0;
  70. yield 1;
  71. })()),
  72. streamToArray(output)
  73. ]);
  74. chain.on('end', () => {
  75. eval(t.TEST('t.unify(output, [0, 1])'));
  76. async.done();
  77. });
  78. }
  79. ]);