@rxjs-stuff/marbles
Version:
A set of plugins that provide a natural feeling integration with Mocha and Chai for RxJS "marbles" testing.
42 lines • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContextualTestScheduler = void 0;
const testing_1 = require("rxjs/testing");
class ContextualTestScheduler extends testing_1.TestScheduler {
constructor(assertDeepEqual) {
super(assertDeepEqual);
}
expectObservable(observable, subscriptionMarbles = null, context) {
const superResult = super.expectObservable(observable, subscriptionMarbles);
this.currentFlushTest.context = context;
return superResult;
}
expectSubscriptions(actualSubscriptionLogs, context) {
const superResult = super.expectSubscriptions(actualSubscriptionLogs);
this.currentFlushTest.context = context;
return superResult;
}
flush() {
const flushTests = this.contextualFlushTests.slice(0);
this.contextualFlushTests.length = 0;
super.flush();
this.contextualFlushTests = flushTests.filter(test => {
if (test.ready) {
this.assertDeepEqual(test.actual, test.expected, test.context);
return false;
}
return true;
});
}
get contextualFlushTests() {
return this.flushTests;
}
set contextualFlushTests(flushTests) {
this.flushTests = flushTests;
}
get currentFlushTest() {
return this.contextualFlushTests[this.contextualFlushTests.length - 1];
}
}
exports.ContextualTestScheduler = ContextualTestScheduler;
//# sourceMappingURL=contextual-test-scheduler.js.map