|
@@ -1,58 +1,60 @@
|
|
|
/*global mock */
|
|
|
|
|
|
+const container = {};
|
|
|
+
|
|
|
describe("The _converse Event Emitter", function() {
|
|
|
|
|
|
it("allows you to subscribe to emitted events", mock.initConverse((_converse) => {
|
|
|
- window.callback = function () {};
|
|
|
- spyOn(window, 'callback');
|
|
|
- _converse.on('connected', window.callback);
|
|
|
+ container.callback = function () {};
|
|
|
+ spyOn(container, 'callback');
|
|
|
+ _converse.on('connected', container.callback);
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback).toHaveBeenCalled();
|
|
|
+ expect(container.callback).toHaveBeenCalled();
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback.calls.count(), 2);
|
|
|
+ expect(container.callback.calls.count(), 2);
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback.calls.count(), 3);
|
|
|
+ expect(container.callback.calls.count(), 3);
|
|
|
}));
|
|
|
|
|
|
it("allows you to listen once for an emitted event", mock.initConverse((_converse) => {
|
|
|
- window.callback = function () {};
|
|
|
- spyOn(window, 'callback');
|
|
|
- _converse.once('connected', window.callback);
|
|
|
+ container.callback = function () {};
|
|
|
+ spyOn(container, 'callback');
|
|
|
+ _converse.once('connected', container.callback);
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback).toHaveBeenCalled();
|
|
|
+ expect(container.callback).toHaveBeenCalled();
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback.calls.count(), 1);
|
|
|
+ expect(container.callback.calls.count(), 1);
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback.calls.count(), 1);
|
|
|
+ expect(container.callback.calls.count(), 1);
|
|
|
}));
|
|
|
|
|
|
it("allows you to stop listening or subscribing to an event", mock.initConverse((_converse) => {
|
|
|
- window.callback = function () {};
|
|
|
- window.anotherCallback = function () {};
|
|
|
- window.neverCalled = function () {};
|
|
|
+ container.callback = function () {};
|
|
|
+ container.anotherCallback = function () {};
|
|
|
+ container.neverCalled = function () {};
|
|
|
|
|
|
- spyOn(window, 'callback');
|
|
|
- spyOn(window, 'anotherCallback');
|
|
|
- spyOn(window, 'neverCalled');
|
|
|
- _converse.on('connected', window.callback);
|
|
|
- _converse.on('connected', window.anotherCallback);
|
|
|
+ spyOn(container, 'callback');
|
|
|
+ spyOn(container, 'anotherCallback');
|
|
|
+ spyOn(container, 'neverCalled');
|
|
|
+ _converse.on('connected', container.callback);
|
|
|
+ _converse.on('connected', container.anotherCallback);
|
|
|
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback).toHaveBeenCalled();
|
|
|
- expect(window.anotherCallback).toHaveBeenCalled();
|
|
|
+ expect(container.callback).toHaveBeenCalled();
|
|
|
+ expect(container.anotherCallback).toHaveBeenCalled();
|
|
|
|
|
|
- _converse.off('connected', window.callback);
|
|
|
+ _converse.off('connected', container.callback);
|
|
|
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback.calls.count(), 1);
|
|
|
- expect(window.anotherCallback.calls.count(), 2);
|
|
|
+ expect(container.callback.calls.count(), 1);
|
|
|
+ expect(container.anotherCallback.calls.count(), 2);
|
|
|
|
|
|
- _converse.once('connected', window.neverCalled);
|
|
|
- _converse.off('connected', window.neverCalled);
|
|
|
+ _converse.once('connected', container.neverCalled);
|
|
|
+ _converse.off('connected', container.neverCalled);
|
|
|
|
|
|
_converse.api.trigger('connected');
|
|
|
- expect(window.callback.calls.count(), 1);
|
|
|
- expect(window.anotherCallback.calls.count(), 3);
|
|
|
- expect(window.neverCalled).not.toHaveBeenCalled();
|
|
|
+ expect(container.callback.calls.count(), 1);
|
|
|
+ expect(container.anotherCallback.calls.count(), 3);
|
|
|
+ expect(container.neverCalled).not.toHaveBeenCalled();
|
|
|
}));
|
|
|
});
|