pool.test.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
  3. var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
  4. var _pool = require("../pool");
  5. var m = jest.fn();
  6. var task = function task() {
  7. return new _promise["default"](function (resolve, _) {
  8. m();
  9. resolve();
  10. });
  11. };
  12. describe("test Pool for control concurrency", function () {
  13. var pool = new _pool.Pool(task, 2);
  14. test("pool.js", function () {
  15. var chunk = new Blob();
  16. var data = [{
  17. chunk: chunk,
  18. index: 0
  19. }, {
  20. chunk: chunk,
  21. index: 1
  22. }, {
  23. chunk: chunk,
  24. index: 2
  25. }, {
  26. chunk: chunk,
  27. index: 3
  28. }, {
  29. chunk: chunk,
  30. index: 4
  31. }, {
  32. chunk: chunk,
  33. index: 5
  34. }];
  35. return _promise["default"].all(data.map(function (value) {
  36. pool.enqueue(value);
  37. expect(pool.processing.length).toBeLessThanOrEqual(2);
  38. })).then(function () {
  39. expect(m.mock.calls.length).toBe(6);
  40. });
  41. });
  42. });