UNPKG

nope-js-node

Version:

NoPE Runtime for Nodejs. For Browser-Support please use nope-browser

287 lines (286 loc) 10.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * @author Martin Karkowski * @email m.karkowski@zema.de * @create date 2020-11-23 08:06:30 * @modify date 2021-10-19 17:55:35 * @desc [description] */ const chai_1 = require("chai"); const mocha_1 = require("mocha"); const nopeEventEmitter_1 = require("./nopeEventEmitter"); (0, mocha_1.describe)("NopeEventEmitter", function () { // Describe the required Test: (0, mocha_1.describe)("NopeEventEmitter wichout current-value", function () { let emitter = new nopeEventEmitter_1.NopeEventEmitter(); (0, mocha_1.beforeEach)(() => { emitter = new nopeEventEmitter_1.NopeEventEmitter(); }); (0, mocha_1.it)("subscribe callback without inital value", (done) => { try { const subscriber = emitter.subscribe({ next: (data) => { done(); }, }); subscriber.pause(); emitter.emit("Hello"); subscriber.unpause(); emitter.emit("World!"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe callback with inital value", (done) => { try { emitter.emit("This is a Test."); const subscriber = emitter.subscribe({ next: (data) => { done(); }, }); subscriber.pause(); emitter.emit("Hello"); subscriber.unpause(); emitter.emit("World!"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe callback with setter", (done) => { try { emitter.emit("This is a Test."); emitter.setter = (data) => { return { valid: true, data: "Hello " + data, }; }; emitter.subscribe({ next: (data) => { try { chai_1.assert.strictEqual(data, "Hello World!"); done(); } catch (e) { done(e); } }, }); emitter.emit("World!"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe callback with getter", (done) => { try { emitter.emit("This is a Test."); emitter.getter = (data) => { return data + "!"; }; emitter.subscribe({ next: (data) => { try { chai_1.assert.strictEqual(data, "Hello World!"); done(); } catch (e) { done(e); } }, }); emitter.emit("Hello World"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe check order", (done) => { const items = []; try { emitter.emit("0"); const subscriber = emitter.subscribe({ next: (data) => { items.push(data); if (items.length === 3) { try { chai_1.assert.deepEqual(items, ["1", "2", "3"]); done(); } catch (e) { done(e); } } }, }); for (let i = 1; i <= 3; i++) { emitter.emit(i.toString()); } } catch (e) { throw Error("Something went wrong"); } }); }); (0, mocha_1.describe)("NopeEventEmitter-Without-History", function () { let emitter = new nopeEventEmitter_1.NopeEventEmitter({ showCurrent: true, }); (0, mocha_1.beforeEach)(() => { emitter = new nopeEventEmitter_1.NopeEventEmitter({ showCurrent: true, }); }); (0, mocha_1.it)("subscribe callback without inital value", (done) => { try { const subscriber = emitter.subscribe({ next: (data) => { done(); }, }); subscriber.pause(); emitter.emit("Hello"); subscriber.unpause(); emitter.emit("World!"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe callback with inital value", (done) => { try { emitter.emit("This is a Test."); const subscriber = emitter.subscribe({ next: (data) => { done(); }, }, { skipCurrent: true, }); subscriber.pause(); emitter.emit("Hello"); subscriber.unpause(); emitter.emit("World!"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe callback with setter", (done) => { try { emitter.emit("This is a Test."); emitter.setter = (data) => { return { valid: true, data: "Hello " + data, }; }; emitter.subscribe({ next: (data) => { try { chai_1.assert.strictEqual(data, "Hello World!"); done(); } catch (e) { done(e); } }, }); emitter.emit("World!"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe callback with getter", (done) => { try { emitter.emit("This is a Test."); emitter.getter = (data) => { return data + "!"; }; emitter.subscribe({ next: (data) => { try { chai_1.assert.strictEqual(data, "Hello World!"); done(); } catch (e) { done(e); } }, }); emitter.emit("Hello World"); } catch (e) { throw Error("Something went wrong"); } }); (0, mocha_1.it)("subscribe check order", (done) => { const items = []; try { emitter.emit("0"); const subscriber = emitter.subscribe({ next: (data) => { items.push(data); if (items.length === 3) { try { chai_1.assert.deepEqual(items, ["1", "2", "3"]); done(); } catch (e) { done(e); } } }, }); for (let i = 1; i <= 3; i++) { emitter.emit(i.toString()); } } catch (e) { throw Error("Something went wrong"); } }); }); (0, mocha_1.describe)("NopeEventEmitter with record", function () { let emitter = new nopeEventEmitter_1.NopeEventEmitter({ showCurrent: true, playHistory: true, }); (0, mocha_1.beforeEach)(() => { emitter = new nopeEventEmitter_1.NopeEventEmitter({ showCurrent: true, playHistory: true, }); }); (0, mocha_1.it)("subscribe check order", (done) => { const items = []; try { emitter.emit("0"); emitter.emit("1"); const subscriber = emitter.subscribe({ next: (data) => { items.push(data); if (items.length === 3) { try { chai_1.assert.deepEqual(items, ["0", "1", "2"]); done(); } catch (e) { done(e); } } }, }); emitter.emit("2"); } catch (e) { throw Error("Something went wrong"); } }); }); });