JezK
Edit File: isEmpty-spec.js
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var operators_1 = require("rxjs/operators"); var testing_1 = require("rxjs/testing"); var rxjs_1 = require("rxjs"); var observableMatcher_1 = require("../helpers/observableMatcher"); describe('isEmpty', function () { var testScheduler; beforeEach(function () { testScheduler = new testing_1.TestScheduler(observableMatcher_1.observableMatcher); }); it('should return true if source is empty', function () { testScheduler.run(function (_a) { var hot = _a.hot, expectObservable = _a.expectObservable, expectSubscriptions = _a.expectSubscriptions; var e1 = hot(' -----| '); var e1subs = ' ^----! '; var expected = '-----(T|)'; expectObservable(e1.pipe((0, operators_1.isEmpty)())).toBe(expected, { T: true }); expectSubscriptions(e1.subscriptions).toBe(e1subs); }); }); it('should return false if source emits element', function () { testScheduler.run(function (_a) { var hot = _a.hot, expectObservable = _a.expectObservable, expectSubscriptions = _a.expectSubscriptions; var e1 = hot('--a--^--b--|'); var e1subs = ' ^--! '; var expected = ' ---(F|)'; expectObservable(e1.pipe((0, operators_1.isEmpty)())).toBe(expected, { F: false }); expectSubscriptions(e1.subscriptions).toBe(e1subs); }); }); it('should raise error if source raises error', function () { testScheduler.run(function (_a) { var hot = _a.hot, expectObservable = _a.expectObservable, expectSubscriptions = _a.expectSubscriptions; var e1 = hot(' --#'); var e1subs = ' ^-!'; var expected = '--#'; expectObservable(e1.pipe((0, operators_1.isEmpty)())).toBe(expected); expectSubscriptions(e1.subscriptions).toBe(e1subs); }); }); it('should not complete if source never emits', function () { testScheduler.run(function (_a) { var cold = _a.cold, expectObservable = _a.expectObservable, expectSubscriptions = _a.expectSubscriptions; var e1 = cold(' -'); var e1subs = ' ^'; var expected = '-'; expectObservable(e1.pipe((0, operators_1.isEmpty)())).toBe(expected); expectSubscriptions(e1.subscriptions).toBe(e1subs); }); }); it('should return true if source is empty', function () { testScheduler.run(function (_a) { var cold = _a.cold, expectObservable = _a.expectObservable, expectSubscriptions = _a.expectSubscriptions; var e1 = cold(' | '); var e1subs = ' (^!)'; var expected = '(T|)'; expectObservable(e1.pipe((0, operators_1.isEmpty)())).toBe(expected, { T: true }); expectSubscriptions(e1.subscriptions).toBe(e1subs); }); }); it('should allow unsubscribing explicitly and early', function () { testScheduler.run(function (_a) { var cold = _a.cold, expectObservable = _a.expectObservable, expectSubscriptions = _a.expectSubscriptions; var e1 = cold(' -----------a--b--|'); var e1subs = ' ^-----! '; var expected = '------- '; var unsub = ' ------! '; expectObservable(e1.pipe((0, operators_1.isEmpty)()), unsub).toBe(expected); expectSubscriptions(e1.subscriptions).toBe(e1subs); }); }); it('should not break unsubscription chains when result is unsubscribed explicitly', function () { testScheduler.run(function (_a) { var cold = _a.cold, expectObservable = _a.expectObservable, expectSubscriptions = _a.expectSubscriptions; var e1 = cold(' -----------a--b--|'); var e1subs = ' ^-----! '; var expected = '------- '; var unsub = ' ------! '; var result = e1.pipe((0, operators_1.mergeMap)(function (x) { return (0, rxjs_1.of)(x); }), (0, operators_1.isEmpty)(), (0, operators_1.mergeMap)(function (x) { return (0, rxjs_1.of)(x); })); expectObservable(result, unsub).toBe(expected); expectSubscriptions(e1.subscriptions).toBe(e1subs); }); }); }); //# sourceMappingURL=isEmpty-spec.js.map