Add two event listener tests, mostly as examples.

This commit is contained in:
Ian Gulliver
2015-10-14 17:04:01 +02:00
parent be831f40d3
commit 9b5a55b737

View File

@@ -601,6 +601,54 @@ QUnit.asyncTest('Duplicate subject', function(assert) {
});
});
QUnit.asyncTest('Multiple event listeners', function(assert) {
assert.expect(2);
var subject = randstring();
var message = randstring();
var cosmo = new Cosmopolite(null, randstring());
cosmo.addEventListener('message', function(e) {
assert.ok(true, 'first callback fired');
});
cosmo.addEventListener('message', function(e) {
assert.ok(true, 'second callback fired');
cosmo.shutdown();
QUnit.start();
});
cosmo.sendMessage(subject, message);
cosmo.subscribe(subject, -1);
});
QUnit.asyncTest('stopImmediatePropagation', function(assert) {
assert.expect(1);
var subject = randstring();
var message = randstring();
var cosmo = new Cosmopolite(null, randstring());
cosmo.addEventListener('message', function(e) {
assert.ok(true, 'first callback fired');
e.stopImmediatePropagation();
window.setTimeout(function() {
cosmo.shutdown();
QUnit.start();
}, 500);
});
cosmo.addEventListener('message', function(e) {
assert.ok(false, 'second callback fired');
});
cosmo.sendMessage(subject, message);
cosmo.subscribe(subject, -1);
});
module('dev_appserver only');