test_skip.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. 'use strict';
  2. const unit = require('heya-unit');
  3. const {streamToArray, delay} = require('./helpers');
  4. const chain = require('../src/index');
  5. const fromIterable = require('../src/utils/fromIterable');
  6. const skip = require('../src/utils/skip');
  7. const skipWhile = require('../src/utils/skipWhile');
  8. unit.add(module, [
  9. function test_skip(t) {
  10. const async = t.startAsync('test_skip');
  11. const output = [],
  12. c = chain([fromIterable([1, 2, 3, 4, 5]), skip(2), streamToArray(output)]);
  13. c.on('end', () => {
  14. eval(t.TEST('t.unify(output, [3, 4, 5])'));
  15. async.done();
  16. });
  17. },
  18. function test_skipWhile(t) {
  19. const async = t.startAsync('test_skipWhile');
  20. const output = [],
  21. c = chain([fromIterable([1, 2, 3, 4, 5]), skipWhile(x => x != 3), streamToArray(output)]);
  22. c.on('end', () => {
  23. eval(t.TEST('t.unify(output, [3, 4, 5])'));
  24. async.done();
  25. });
  26. },
  27. function test_skipWhileAsync(t) {
  28. const async = t.startAsync('test_skipWhileAsync');
  29. const output = [],
  30. c = chain([fromIterable([1, 2, 3, 4, 5]), skipWhile(delay(x => x != 3)), streamToArray(output)]);
  31. c.on('end', () => {
  32. eval(t.TEST('t.unify(output, [3, 4, 5])'));
  33. async.done();
  34. });
  35. }
  36. ]);