@tdb/util
Version:
Shared helpers and utilities.
70 lines • 3.15 kB
JavaScript
;
var _this = this;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var chai_1 = require("chai");
var rxjs_1 = require("rxjs");
var _1 = require(".");
var time_1 = require("../time");
describe('rx', function () {
describe('debounceBuffer', function () {
it('buffers several values', function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var source$, buffered$, results;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
source$ = new rxjs_1.Subject();
buffered$ = _1.rx.debounceBuffer(source$);
results = [];
buffered$.subscribe(function (e) { return (results = results.concat([e])); });
source$.next({ value: 1 });
source$.next({ value: 2 });
source$.next({ value: 3 });
chai_1.expect(results.length).to.eql(0);
return [4, time_1.time.wait(0)];
case 1:
_a.sent();
chai_1.expect(results.length).to.eql(1);
chai_1.expect(results[0]).to.eql([{ value: 1 }, { value: 2 }, { value: 3 }]);
return [2];
}
});
}); });
it('buffers into two groups after delay', function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var source$, buffered$, results;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
source$ = new rxjs_1.Subject();
buffered$ = _1.rx.debounceBuffer(source$, 10);
results = [];
buffered$.subscribe(function (e) { return (results = results.concat([e])); });
source$.next(1);
source$.next(2);
return [4, time_1.time.wait(5)];
case 1:
_a.sent();
source$.next(3);
return [4, time_1.time.wait(10)];
case 2:
_a.sent();
source$.next(4);
return [4, time_1.time.wait(10)];
case 3:
_a.sent();
source$.next(5);
source$.next(6);
return [4, time_1.time.wait(10)];
case 4:
_a.sent();
chai_1.expect(results.length).to.eql(3);
chai_1.expect(results[0]).to.eql([1, 2, 3]);
chai_1.expect(results[1]).to.eql([4]);
chai_1.expect(results[2]).to.eql([5, 6]);
return [2];
}
});
}); });
});
});
//# sourceMappingURL=rx.test.js.map