diff --git a/.eslintignore b/.eslintignore index 0f7b1b3cd5a7..e76c0f642a3d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -175,9 +175,6 @@ services/fxaccounts/FxAccountsPairingChannel.js # Servo is imported. servo/ -# third party modules -testing/mochitest/tests/Harness_sanity/ - # Test files that we don't want to lint (preprocessed, minified etc) testing/marionette/atom.js testing/mozbase/mozprofile/tests/files/prefs_with_comments.js diff --git a/.eslintrc.js b/.eslintrc.js index 14fff1a902e9..2da3702da6bb 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -32,6 +32,7 @@ const mochitestTestPaths = [ "**/test/mochitest/", "**/tests/mochitest/", "testing/mochitest/tests/SimpleTest/", + "testing/mochitest/tests/Harness_sanity/", ]; const chromeTestPaths = [ diff --git a/testing/mochitest/tests/Harness_sanity/SpecialPowersLoadChromeScript.js b/testing/mochitest/tests/Harness_sanity/SpecialPowersLoadChromeScript.js index 731081832980..f370f85cb50c 100644 --- a/testing/mochitest/tests/Harness_sanity/SpecialPowersLoadChromeScript.js +++ b/testing/mochitest/tests/Harness_sanity/SpecialPowersLoadChromeScript.js @@ -1,10 +1,13 @@ +/* eslint-env mozilla/frame-script */ +/* global assert */ + // Just receive 'foo' message and forward it back // as 'bar' message -addMessageListener("foo", function (message) { +addMessageListener("foo", function(message) { sendAsyncMessage("bar", message); }); -addMessageListener("valid-assert", function (message) { +addMessageListener("valid-assert", function(message) { assert.ok(true, "valid assertion"); assert.equal(1, 1, "another valid assertion"); sendAsyncMessage("valid-assert-done"); diff --git a/testing/mochitest/tests/Harness_sanity/importtesting_chromescript.js b/testing/mochitest/tests/Harness_sanity/importtesting_chromescript.js index 162c2c47fa92..77d1c0701dde 100644 --- a/testing/mochitest/tests/Harness_sanity/importtesting_chromescript.js +++ b/testing/mochitest/tests/Harness_sanity/importtesting_chromescript.js @@ -1,3 +1,5 @@ -addMessageListener("ImportTesting:IsModuleLoaded", function (msg) { +/* eslint-env mozilla/frame-script */ + +addMessageListener("ImportTesting:IsModuleLoaded", function(msg) { sendAsyncMessage("ImportTesting:IsModuleLoadedReply", Cu.isModuleLoaded(msg)); }); diff --git a/testing/mochitest/tests/Harness_sanity/specialPowers_framescript.js b/testing/mochitest/tests/Harness_sanity/specialPowers_framescript.js index e572fb6f36d9..314b3cdf1f29 100644 --- a/testing/mochitest/tests/Harness_sanity/specialPowers_framescript.js +++ b/testing/mochitest/tests/Harness_sanity/specialPowers_framescript.js @@ -1,13 +1,15 @@ -const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"); +/* eslint-env mozilla/frame-script */ + +const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); var permChangedObs = { - observe: function(subject, topic, data) { - if (topic == 'perm-changed') { + observe(subject, topic, data) { + if (topic == "perm-changed") { var permission = subject.QueryInterface(Ci.nsIPermission); var msg = { op: data, type: permission.type }; - sendAsyncMessage('perm-changed', msg); + sendAsyncMessage("perm-changed", msg); } - } + }, }; -Services.obs.addObserver(permChangedObs, 'perm-changed'); +Services.obs.addObserver(permChangedObs, "perm-changed"); diff --git a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersExtension.html b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersExtension.html index 989db4e5e3a9..2e602b4db0e0 100644 --- a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersExtension.html +++ b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersExtension.html @@ -54,6 +54,7 @@ async function starttest(){ // Test an invalid pref var retVal = null; + // eslint-disable-next-line mozilla/use-default-preference-values try { retVal = SpecialPowers.getBoolPref('extensions.checkCompat0123456789'); } catch (ex) { @@ -71,7 +72,7 @@ async function starttest(){ SpecialPowers.removeChromeEventListener("TestEvent", testEventListener2, true); dispatchTestEvent(); is(eventCount, 1, "Shouldn't have got an event!"); - + // Test Complex Pref - TODO: Without chrome access, I don't know how you'd actually // set this preference since you have to create an XPCOM object. // Leaving untested for now. @@ -79,7 +80,7 @@ async function starttest(){ // Test a DOMWindowUtils method and property is(SpecialPowers.DOMWindowUtils.getClassName(window), "Proxy"); is(SpecialPowers.DOMWindowUtils.docCharsetIsForced, false); - + // QueryInterface and getPrivilegedProps tests is(SpecialPowers.can_QI(SpecialPowers), false); let doc = SpecialPowers.wrap(document); @@ -91,7 +92,7 @@ async function starttest(){ is(SpecialPowers.getPrivilegedProps(doc, "baseURIObject.fileName"), "test_SpecialPowersExtension.html", "Should have a fileName property now"); - + //try to run garbage collection SpecialPowers.gc(); diff --git a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersLoadChromeScript.html b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersLoadChromeScript.html index 4572b471f6ae..6a84464c899f 100644 --- a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersLoadChromeScript.html +++ b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersLoadChromeScript.html @@ -9,6 +9,9 @@
diff --git a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSandbox.html b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSandbox.html index 36c8280b684f..b2ed66601545 100644 --- a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSandbox.html +++ b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSandbox.html @@ -71,15 +71,15 @@ add_task(async function() { }, "SpecialPowers.spawn-subframe": () => { return SpecialPowers.spawn(frame, [subframeSrc], async src => { - let frame = this.content.document.createElement("iframe"); - frame.src = src; - this.content.document.body.appendChild(frame); + let subFrame = this.content.document.createElement("iframe"); + subFrame.src = src; + this.content.document.body.appendChild(subFrame); await new Promise(resolve => { - frame.addEventListener("load", resolve, { once: true }); + subFrame.addEventListener("load", resolve, { once: true }); }); - await SpecialPowers.spawn(frame, [], () => { + await SpecialPowers.spawn(subFrame, [], () => { Assert.equal(1, 2, "Thing"); Assert.equal(1, 1, "Hmm"); Assert.ok(true, "Yay."); diff --git a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSpawn.html b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSpawn.html index b385c01d55b6..851b9195610b 100644 --- a/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSpawn.html +++ b/testing/mochitest/tests/Harness_sanity/test_SpecialPowersSpawn.html @@ -30,6 +30,7 @@ is(result, "Hello there.", "Got correct element text from frame"); + /* eslint-disable no-shadow */ result = await SpecialPowers.spawn(frame, ["#hello"], selector => { return SpecialPowers.spawn(content.parent, [selector], selector => { let elem = content.document.querySelector(selector); @@ -54,7 +55,7 @@ is(result, "Hello there.", "Got correct element text from browsing context"); - let line = 58; // Keep this in sync with the line number where the callback function starts. + let line = 59; // Keep this in sync with the line number where the callback function starts. let callback = () => { let e = new Error("Hello."); return { filename: e.fileName, lineNumber: e.lineNumber }; diff --git a/testing/mochitest/tests/Harness_sanity/test_sanityEventUtils.html b/testing/mochitest/tests/Harness_sanity/test_sanityEventUtils.html index a4894798e27b..f2436ab077b5 100644 --- a/testing/mochitest/tests/Harness_sanity/test_sanityEventUtils.html +++ b/testing/mochitest/tests/Harness_sanity/test_sanityEventUtils.html @@ -50,7 +50,7 @@ function starttest() { $("testMouseEvent").addEventListener("click", doCheck, {once: true}); sendMouseEvent({type:'click'}, "testMouseEvent"); is(check, true, 'sendMouseEvent should dispatch click event'); - + check = false; $("testKeyEvent").addEventListener("keypress", doCheck, {once: true}); $("testKeyEvent").focus(); @@ -58,12 +58,12 @@ function starttest() { is($("testKeyEvent").value, "x", "sendChar should work"); is(check, true, "sendChar should dispatch keyPress"); $("testKeyEvent").value = ""; - + $("testStrEvent").focus(); sendString("string"); is($("testStrEvent").value, "string", "sendString should work"); $("testStrEvent").value = ""; - + var keydown = false; var keypress = false; $("testKeyEvent").focus(); @@ -76,7 +76,7 @@ function starttest() { } else { ok(keypress, "sendKey should dispatch keyPress even for non-printable key"); } - + /* test synthesizeMouse* */ //focus trick enables us to run this in iframes $("radioTarget1").addEventListener('focus', function (aEvent) { @@ -97,22 +97,22 @@ function starttest() { $("textBoxA").addEventListener("click", function() { check = true; }); synthesizeMouseAtCenter($("textBoxA"), {}); is(check, true, 'synthesizeMouse should dispatch mouse event'); - + check = false; synthesizeMouseExpectEvent($("textBoxA"), 1, 1, {}, $("textBoxA"), "click", "synthesizeMouseExpectEvent should fire click event"); is(check, true, 'synthesizeMouse should dispatch mouse event'); }, {once: true}); $("textBoxA").focus(); - + /** - * TODO: testing synthesizeWheel requires a setTimeout + * TODO: testing synthesizeWheel requires a setTimeout * since there is delay between the scroll event and a check, so for now just test * that we can successfully call it to avoid having setTimeout vary the runtime metric. * Testing of this method is currently done here: * toolkit/content/tests/chrome/test_mousescroll.xul */ synthesizeWheel($("scrollB"), 5, 5, {'deltaY': 10.0, deltaMode: WheelEvent.DOM_DELTA_LINE}); - + /* test synthesizeKey* */ check = false; $("testKeyEvent").addEventListener("keypress", doCheck, {once:true}); @@ -150,18 +150,18 @@ function starttest() { { arg: "~", code: "Backquote", keyCode: KeyboardEvent.DOM_VK_BACK_QUOTE }, { arg: "<", code: "Comma", keyCode: KeyboardEvent.DOM_VK_COMMA }, { arg: ".", code: "Period", keyCode: KeyboardEvent.DOM_VK_PERIOD }]) { - let keydown, keyup; + let testKeydown, keyup; $("testKeyEvent").focus(); - $("testKeyEvent").addEventListener("keydown", (e) => { keydown = e; }, {once: true}); + $("testKeyEvent").addEventListener("keydown", (e) => { testKeydown = e; }, {once: true}); $("testKeyEvent").addEventListener("keyup", (e) => { keyup = e; }, {once: true}); synthesizeKey(test.arg); - is(keydown.code, test.code, `Synthesizing "${test.arg}" should set code value of "keydown" to "${test.code}"`); - is(keydown.keyCode, test.keyCode, `Synthesizing "${test.arg}" should set keyCode value of "keydown" to "${test.keyCode}"`); + is(testKeydown.code, test.code, `Synthesizing "${test.arg}" should set code value of "keydown" to "${test.code}"`); + is(testKeydown.keyCode, test.keyCode, `Synthesizing "${test.arg}" should set keyCode value of "keydown" to "${test.keyCode}"`); is(keyup.code, test.code, `Synthesizing "${test.arg}" key should set code value of "keyup" to "${test.code}"`); is(keyup.keyCode, test.keyCode, `Synthesizing "${test.arg}" key should set keyCode value of "keyup" to "${test.keyCode}"`); $("testKeyEvent").value = ""; } - + /* test synthesizeComposition */ var description = ""; var keydownEvent = null; @@ -272,7 +272,7 @@ function starttest() { is(querySelectedText.text, "", "query selected text event returns wrong selected text"); $("textBoxB").value = ""; - + querySelectedText = synthesizeQuerySelectedText(); ok(querySelectedText, "query selected text event result is null"); ok(querySelectedText.succeeded, "query selected text event failed"); diff --git a/testing/mochitest/tests/Harness_sanity/test_sanityException.html b/testing/mochitest/tests/Harness_sanity/test_sanityException.html index c0e4368f0a5e..463f51d80eb4 100644 --- a/testing/mochitest/tests/Harness_sanity/test_sanityException.html +++ b/testing/mochitest/tests/Harness_sanity/test_sanityException.html @@ -9,6 +9,7 @@