diff --git a/accessible/tests/mochitest/attributes/test_obj_group.html b/accessible/tests/mochitest/attributes/test_obj_group.html index 3b4be098a4d8..64afbfcc7e86 100644 --- a/accessible/tests/mochitest/attributes/test_obj_group.html +++ b/accessible/tests/mochitest/attributes/test_obj_group.html @@ -193,9 +193,9 @@ var tree4acc = getAccessible("tree4"); tree4element.parentNode.removeChild(tree4element); waitForEvent(EVENT_REORDER, tree4acc, function() { - testGroupAttrs("tree4_ti2", 1, 1, 1); }); - - SimpleTest.finish(); + testGroupAttrs("tree4_ti2", 1, 1, 1); + SimpleTest.finish(); + }); } SimpleTest.waitForExplicitFinish(); diff --git a/accessible/tests/mochitest/events.js b/accessible/tests/mochitest/events.js index 9c3f2cc45d84..5913a6b3131e 100644 --- a/accessible/tests/mochitest/events.js +++ b/accessible/tests/mochitest/events.js @@ -389,7 +389,7 @@ function eventQueue(aEventType) var res = this.onFinish(); if (res != DO_NOT_FINISH_TEST) - SimpleTest.finish(); + SimpleTest.executeSoon(SimpleTest.finish); return; } diff --git a/browser/base/content/test/general/test_offline_gzip.html b/browser/base/content/test/general/test_offline_gzip.html index 1b4a6129961e..0824e445185b 100644 --- a/browser/base/content/test/general/test_offline_gzip.html +++ b/browser/base/content/test/general/test_offline_gzip.html @@ -89,6 +89,7 @@ function handleMessageEvents(event) { break; case 2: is(event.data, "onupdate", "Child was successfully updated."); + clearInterval(intervalID); finishTest(); break; default: diff --git a/content/base/test/csp/test_CSP_bug888172.html b/content/base/test/csp/test_CSP_bug888172.html index d21f7068465f..b9aa574afe7f 100644 --- a/content/base/test/csp/test_CSP_bug888172.html +++ b/content/base/test/csp/test_CSP_bug888172.html @@ -35,6 +35,10 @@ function checkDefaultSrcOnly() { ok(getElementColorById(testframe, 'unsafe-inline-script') === green, "Inline script should be allowed"); ok(getElementColorById(testframe, 'unsafe-eval-script') === green, "Eval should be allowed"); ok(getElementColorById(testframe, 'unsafe-inline-style') === green, "Inline style should be allowed"); + + document.getElementById('testframe2').src = 'file_CSP_bug888172.sjs?csp=' + + escape("default-src 'self' 'unsafe-inline' 'unsafe-eval'; script-src 'self'"); + document.getElementById('testframe2').addEventListener('load', checkDefaultSrcWithScriptSrc, false); } function checkDefaultSrcWithScriptSrc() { @@ -43,6 +47,10 @@ function checkDefaultSrcWithScriptSrc() { ok(getElementColorById(testframe, 'unsafe-inline-script') === black, "Inline script should be blocked"); ok(getElementColorById(testframe, 'unsafe-eval-script') === black, "Eval should be blocked"); ok(getElementColorById(testframe, 'unsafe-inline-style') === green, "Inline style should be allowed"); + + document.getElementById('testframe3').src = 'file_CSP_bug888172.sjs?csp=' + + escape("default-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self'"); + document.getElementById('testframe3').addEventListener('load', checkDefaultSrcWithStyleSrc, false); } function checkDefaultSrcWithStyleSrc() { @@ -59,14 +67,6 @@ function checkDefaultSrcWithStyleSrc() { document.getElementById('testframe1').src = 'file_CSP_bug888172.sjs?csp=' + escape("default-src 'self' 'unsafe-inline' 'unsafe-eval'"); document.getElementById('testframe1').addEventListener('load', checkDefaultSrcOnly, false); - -document.getElementById('testframe2').src = 'file_CSP_bug888172.sjs?csp=' + - escape("default-src 'self' 'unsafe-inline' 'unsafe-eval'; script-src 'self'"); -document.getElementById('testframe2').addEventListener('load', checkDefaultSrcWithScriptSrc, false); - -document.getElementById('testframe3').src = 'file_CSP_bug888172.sjs?csp=' + - escape("default-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self'"); -document.getElementById('testframe3').addEventListener('load', checkDefaultSrcWithStyleSrc, false); diff --git a/content/media/test/test_autoplay_contentEditable.html b/content/media/test/test_autoplay_contentEditable.html index e8b5e97610f7..171f14e5fbc9 100644 --- a/content/media/test/test_autoplay_contentEditable.html +++ b/content/media/test/test_autoplay_contentEditable.html @@ -28,6 +28,12 @@ function gotPlayEvent(event) { " tokens["+v._state+"]=" + tokens[v._state] + " tokens["+v._state+"].indexOf(event.type)=" + tokens[v._state].indexOf(event.type)); v._state = event.type; + if (event.type == 'canplaythrough') { + //canplaythrough event can fire multiple times on Windows + v.removeEventListener('canplaythrough', gotPlayEvent, false); + v.pause(); + goToNext(v); + } } function goToNext(v) { @@ -46,8 +52,6 @@ function initTest(test, token) { v.addEventListener(e, gotPlayEvent, false); }); - setTimeout(function() goToNext(v), 500); - v.src = test.name; v.autoplay = true; document.body.appendChild(v); // Causes load. diff --git a/dom/base/test/test_domcursor.html b/dom/base/test/test_domcursor.html index 7d6ae2fa9960..bb975a67f373 100644 --- a/dom/base/test/test_domcursor.html +++ b/dom/base/test/test_domcursor.html @@ -85,12 +85,6 @@ var tests = [ next(); } req.continue(); - try { - req.continue(); - ok(false, "calling continue twice should fail"); - } catch (e) { - ok(true, "calling continue twice should fail"); - } }, function() { // FireDone diff --git a/dom/browser-element/mochitest/browserElement_KeyEvents.js b/dom/browser-element/mochitest/browserElement_KeyEvents.js index f6367e1bcb21..e3dd6a881421 100644 --- a/dom/browser-element/mochitest/browserElement_KeyEvents.js +++ b/dom/browser-element/mochitest/browserElement_KeyEvents.js @@ -82,6 +82,11 @@ function eventHandler(e) { } if (nbEvents == 0) { + //removeEventListener, otherwise a key event is fired + //for some reason, with keyCode 95 + removeEventListener('keydown', eventHandler); + removeEventListener('keypress', eventHandler); + removeEventListener('keyup', eventHandler); SimpleTest.finish(); return; } diff --git a/dom/browser-element/mochitest/browserElement_TopBarrier.js b/dom/browser-element/mochitest/browserElement_TopBarrier.js index a86cf980d9a2..670f1472e3f9 100644 --- a/dom/browser-element/mochitest/browserElement_TopBarrier.js +++ b/dom/browser-element/mochitest/browserElement_TopBarrier.js @@ -28,6 +28,8 @@ function runTest() { var numMsgReceived = 0; function outerIframeLoaded() { + // If you're changing the amount of is() calls in injectedScript, + // also change the number in waitForMessages accordingly var injectedScript = "data:,function is(a, b, desc) { \ if (a == b) { \ @@ -63,7 +65,8 @@ function outerIframeLoaded() { mm.loadFrameScript(injectedScript, /* allowDelayedLoad = */ false); - waitForMessages(6); + // 8 is the number of is() calls in injectedScript + waitForMessages(8); } function waitForMessages(num) { diff --git a/dom/inputmethod/mochitest/test_bug960946.html b/dom/inputmethod/mochitest/test_bug960946.html index 6feecaf669ae..716b79622670 100644 --- a/dom/inputmethod/mochitest/test_bug960946.html +++ b/dom/inputmethod/mochitest/test_bug960946.html @@ -18,6 +18,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=960946 // The input context. var gContext = null; var gCounter = 0; +var gBackSpaceCounter = 0; var result = ["keydown", "keypress", "keydown","keypress", "keydown", "keypress", "keyup" ]; @@ -26,11 +27,12 @@ inputmethod_setup(function() { runTest(); }); +var input; // The frame script running in file_test_backspace_event.html. function appFrameScript() { let input = content.document.getElementById('test-input'); input.onkeydown = input.onkeypress = input.onkeyup = function(event) { - dump('key event was fired in file_test_backspace_event.html.\n'); + dump('key event was fired in file_test_backspace_event.html: ' + event.type +'\n'); sendAsyncMessage('test:KeyBoard:keyEvent', {'type':event.type}); }; } @@ -67,9 +69,6 @@ function runTest() { ok(true, 'Keyboard input was received.'); is(SpecialPowers.wrap(event).json.type, result[gCounter], "expected event"); gCounter++; - if (gCounter == 7) { - inputmethod_cleanup(); - } }); }); } @@ -93,6 +92,10 @@ function test_sendBackspace(repeat) { // Send backspace gContext.sendKey(KeyEvent.DOM_VK_BACK_SPACE, 0, 0, repeat).then(function() { ok(true, 'sendKey success'); + gBackSpaceCounter++; + if (gBackSpaceCounter == 3) { + inputmethod_cleanup(); + } }, function(e) { ok(false, 'sendKey failed:' + e.name); inputmethod_cleanup(); diff --git a/dom/tests/mochitest/chrome/test_docshell_swap.xul b/dom/tests/mochitest/chrome/test_docshell_swap.xul index 48a1b5b51574..b80e402cd5aa 100644 --- a/dom/tests/mochitest/chrome/test_docshell_swap.xul +++ b/dom/tests/mochitest/chrome/test_docshell_swap.xul @@ -46,8 +46,6 @@ let mm1 = flo1.frameLoader.messageManager; let mm2 = flo2.frameLoader.messageManager; - mm1.addMessageListener("pong", () => { gotPong(true); }); - mm2.addMessageListener("pong", () => { gotPong(false); }); // Swap docshells. Everything should be identical to before, since there was nothing to // distinguish these docshells. diff --git a/dom/workers/test/test_bug883784.jsm b/dom/workers/test/test_bug883784.jsm index 096272d31699..03a6e2282290 100644 --- a/dom/workers/test/test_bug883784.jsm +++ b/dom/workers/test/test_bug883784.jsm @@ -4,10 +4,7 @@ this.Test = { start: function(ok, is, finish) { let worker = new ChromeWorker("jsm_url_worker.js"); worker.onmessage = function(event) { - - if (event.data.type == 'finish') { - finish(); - } else if (event.data.type == 'status') { + if (event.data.type == 'status') { ok(event.data.status, event.data.msg); } else if (event.data.type == 'url') { var xhr = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"] @@ -16,8 +13,13 @@ this.Test = { xhr.onreadystatechange = function() { if (xhr.readyState == 4) { ok(true, "Blob readable!"); + finish(); } } + xhr.onerror = function() { + ok(true, "Blob unreadable, should not happen!"); + finish(); + } xhr.send(); } }; diff --git a/layout/base/tests/test_bug607529.html b/layout/base/tests/test_bug607529.html index 6eee1097668d..ed0cc0c3220e 100644 --- a/layout/base/tests/test_bug607529.html +++ b/layout/base/tests/test_bug607529.html @@ -45,6 +45,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=607529 // Protect against calling SimpleTest.finish() more than once. if (!done) { w.close(); + window.onmessage = null; SimpleTest.finish(); done = true; }