From 9b5a55b7377295bff7b509f334fdde9420b3c8f2 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Wed, 14 Oct 2015 17:04:01 +0200 Subject: [PATCH] Add two event listener tests, mostly as examples. --- static/test.js | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/static/test.js b/static/test.js index 1685383..1b467c1 100644 --- a/static/test.js +++ b/static/test.js @@ -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');