UNPKG

@tdb/util

Version:
70 lines 3.15 kB
"use strict"; 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