--- a/tools/lint/eslint/eslint-plugin-mozilla/package.json
+++ b/tools/lint/eslint/eslint-plugin-mozilla/package.json
@@ -22,18 +22,21 @@
"dependencies": {
"escope": "^3.6.0",
"espree": "^3.4.0",
"estraverse": "^4.2.0",
"globals": "^9.14.0",
"ini-parser": "^0.0.2",
"sax": "^1.2.2"
},
+ "devDependencies": {
+ "mocha": "3.2.0"
+ },
"engines": {
"node": ">=6.9.1"
},
"scripts": {
"prepublishOnly": "node scripts/createExports.js",
- "test": "node tests/test-run-all.js",
+ "test": "mocha -R dot tests",
"postpublish": "rm -f lib/modules.json lib/environments/saved-globals.json"
},
"license": "MPL-2.0"
}
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/avoid-nsISupportsString-preferences.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/avoid-nsISupportsString-preferences.js
@@ -3,38 +3,39 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/avoid-nsISupportsString-preferences");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function invalidCode(code, accessType = "get") {
let message = "use " + accessType + "StringPref instead of " +
accessType + "ComplexValue with nsISupportsString";
return {code, errors: [{message, type: "CallExpression"}]};
}
-exports.runTest = function(ruleTester) {
- ruleTester.run("no-useless-removeEventListener", rule, {
- valid: [
- "branch.getStringPref('name');",
- "branch.getComplexValue('name', Ci.nsIPrefLocalizedString);",
- "branch.setStringPref('name', 'blah');",
- "branch.setComplexValue('name', Ci.nsIPrefLocalizedString, pref);"
- ],
- invalid: [
- invalidCode("branch.getComplexValue('name', Ci.nsISupportsString);"),
- invalidCode("branch.getComplexValue('name', nsISupportsString);"),
- invalidCode("branch.getComplexValue('name', Ci.nsISupportsString).data;"),
- invalidCode("branch.setComplexValue('name', Ci.nsISupportsString, str);",
- "set"),
- invalidCode("branch.setComplexValue('name', nsISupportsString, str);",
- "set")
- ]
- });
-};
+ruleTester.run("avoid-nsISupportsString-preferences", rule, {
+ valid: [
+ "branch.getStringPref('name');",
+ "branch.getComplexValue('name', Ci.nsIPrefLocalizedString);",
+ "branch.setStringPref('name', 'blah');",
+ "branch.setComplexValue('name', Ci.nsIPrefLocalizedString, pref);"
+ ],
+ invalid: [
+ invalidCode("branch.getComplexValue('name', Ci.nsISupportsString);"),
+ invalidCode("branch.getComplexValue('name', nsISupportsString);"),
+ invalidCode("branch.getComplexValue('name', Ci.nsISupportsString).data;"),
+ invalidCode("branch.setComplexValue('name', Ci.nsISupportsString, str);",
+ "set"),
+ invalidCode("branch.setComplexValue('name', nsISupportsString, str);",
+ "set")
+ ]
+});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/avoid-removeChild.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/avoid-removeChild.js
@@ -3,40 +3,41 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/avoid-removeChild");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function invalidCode(code, message) {
if (!message) {
message = "use element.remove() instead of " +
"element.parentNode.removeChild(element)";
}
return {code, errors: [{message, type: "CallExpression"}]};
}
-exports.runTest = function(ruleTester) {
- ruleTester.run("no-useless-removeEventListener", rule, {
- valid: [
- "elt.remove();",
- "elt.parentNode.parentNode.removeChild(elt2.parentNode);",
- "elt.parentNode.removeChild(elt2);",
- "elt.removeChild(elt2);"
- ],
- invalid: [
- invalidCode("elt.parentNode.removeChild(elt);"),
- invalidCode("elt.parentNode.parentNode.removeChild(elt.parentNode);"),
- invalidCode("$(e).parentNode.removeChild($(e));"),
- invalidCode("$('e').parentNode.removeChild($('e'));"),
- invalidCode("elt.removeChild(elt.firstChild);",
- "use element.firstChild.remove() instead of " +
- "element.removeChild(element.firstChild)")
- ]
- });
-};
+ruleTester.run("avoid-removeChild", rule, {
+ valid: [
+ "elt.remove();",
+ "elt.parentNode.parentNode.removeChild(elt2.parentNode);",
+ "elt.parentNode.removeChild(elt2);",
+ "elt.removeChild(elt2);"
+ ],
+ invalid: [
+ invalidCode("elt.parentNode.removeChild(elt);"),
+ invalidCode("elt.parentNode.parentNode.removeChild(elt.parentNode);"),
+ invalidCode("$(e).parentNode.removeChild($(e));"),
+ invalidCode("$('e').parentNode.removeChild($('e'));"),
+ invalidCode("elt.removeChild(elt.firstChild);",
+ "use element.firstChild.remove() instead of " +
+ "element.removeChild(element.firstChild)")
+ ]
+});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/balanced-listeners.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/balanced-listeners.js
@@ -3,76 +3,77 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/balanced-listeners");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function error(code, message) {
return {
code,
errors: [{message, type: "Identifier"}]
};
}
-exports.runTest = function(ruleTester) {
- ruleTester.run("balanced-listeners", rule, {
- valid: [
- "elt.addEventListener('event', handler);" +
- "elt.removeEventListener('event', handler);",
+ruleTester.run("balanced-listeners", rule, {
+ valid: [
+ "elt.addEventListener('event', handler);" +
+ "elt.removeEventListener('event', handler);",
- "elt.addEventListener('event', handler, true);" +
- "elt.removeEventListener('event', handler, true);",
+ "elt.addEventListener('event', handler, true);" +
+ "elt.removeEventListener('event', handler, true);",
- "elt.addEventListener('event', handler, false);" +
- "elt.removeEventListener('event', handler, false);",
+ "elt.addEventListener('event', handler, false);" +
+ "elt.removeEventListener('event', handler, false);",
- "elt.addEventListener('event', handler);" +
- "elt.removeEventListener('event', handler, false);",
+ "elt.addEventListener('event', handler);" +
+ "elt.removeEventListener('event', handler, false);",
- "elt.addEventListener('event', handler, false);" +
- "elt.removeEventListener('event', handler);",
+ "elt.addEventListener('event', handler, false);" +
+ "elt.removeEventListener('event', handler);",
- "elt.addEventListener('event', handler, {capture: false});" +
- "elt.removeEventListener('event', handler);",
+ "elt.addEventListener('event', handler, {capture: false});" +
+ "elt.removeEventListener('event', handler);",
- "elt.addEventListener('event', handler);" +
- "elt.removeEventListener('event', handler, {capture: false});",
+ "elt.addEventListener('event', handler);" +
+ "elt.removeEventListener('event', handler, {capture: false});",
- "elt.addEventListener('event', handler, {capture: true});" +
- "elt.removeEventListener('event', handler, true);",
+ "elt.addEventListener('event', handler, {capture: true});" +
+ "elt.removeEventListener('event', handler, true);",
- "elt.addEventListener('event', handler, true);" +
- "elt.removeEventListener('event', handler, {capture: true});",
+ "elt.addEventListener('event', handler, true);" +
+ "elt.removeEventListener('event', handler, {capture: true});",
- "elt.addEventListener('event', handler, {once: true});",
+ "elt.addEventListener('event', handler, {once: true});",
- "elt.addEventListener('event', handler, {once: true, capture: true});"
- ],
- invalid: [
- error("elt.addEventListener('click', handler, false);",
- "No corresponding 'removeEventListener(click)' was found."),
-
- error("elt.addEventListener('click', handler, false);" +
- "elt.removeEventListener('click', handler, true);",
- "No corresponding 'removeEventListener(click)' was found."),
+ "elt.addEventListener('event', handler, {once: true, capture: true});"
+ ],
+ invalid: [
+ error("elt.addEventListener('click', handler, false);",
+ "No corresponding 'removeEventListener(click)' was found."),
- error("elt.addEventListener('click', handler, {capture: false});" +
- "elt.removeEventListener('click', handler, true);",
- "No corresponding 'removeEventListener(click)' was found."),
+ error("elt.addEventListener('click', handler, false);" +
+ "elt.removeEventListener('click', handler, true);",
+ "No corresponding 'removeEventListener(click)' was found."),
+
+ error("elt.addEventListener('click', handler, {capture: false});" +
+ "elt.removeEventListener('click', handler, true);",
+ "No corresponding 'removeEventListener(click)' was found."),
- error("elt.addEventListener('click', handler, {capture: true});" +
- "elt.removeEventListener('click', handler);",
- "No corresponding 'removeEventListener(click)' was found."),
+ error("elt.addEventListener('click', handler, {capture: true});" +
+ "elt.removeEventListener('click', handler);",
+ "No corresponding 'removeEventListener(click)' was found."),
- error("elt.addEventListener('click', handler, true);" +
- "elt.removeEventListener('click', handler);",
- "No corresponding 'removeEventListener(click)' was found.")
- ]
- });
-};
+ error("elt.addEventListener('click', handler, true);" +
+ "elt.removeEventListener('click', handler);",
+ "No corresponding 'removeEventListener(click)' was found.")
+ ]
+});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/no-useless-parameters.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/no-useless-parameters.js
@@ -3,122 +3,123 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/no-useless-parameters");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function callError(message) {
return [{message, type: "CallExpression"}];
}
-exports.runTest = function(ruleTester) {
- ruleTester.run("no-useless-parameters", rule, {
- valid: [
- "Services.prefs.clearUserPref('browser.search.custom');",
- "Services.removeObserver('notification name', {});",
- "Services.io.newURI('http://example.com');",
- "Services.io.newURI('http://example.com', 'utf8');",
- "elt.addEventListener('click', handler);",
- "elt.addEventListener('click', handler, true);",
- "elt.addEventListener('click', handler, {once: true});",
- "elt.removeEventListener('click', handler);",
- "elt.removeEventListener('click', handler, true);",
- "Services.obs.addObserver(this, 'topic', true);",
- "Services.obs.addObserver(this, 'topic');",
- "Services.prefs.addObserver('branch', this, true);",
- "Services.prefs.addObserver('branch', this);",
- "array.appendElement(elt);",
- "Services.obs.notifyObservers(obj, 'topic', 'data');",
- "Services.obs.notifyObservers(obj, 'topic');",
- "window.getComputedStyle(elt);",
- "window.getComputedStyle(elt, ':before');"
- ],
- invalid: [
- {
- code: "Services.prefs.clearUserPref('browser.search.custom', false);",
- errors: callError("clearUserPref takes only 1 parameter.")
- },
- {
- code: "Services.removeObserver('notification name', {}, false);",
- errors: callError("removeObserver only takes 2 parameters.")
- },
- {
- code: "Services.removeObserver('notification name', {}, true);",
- errors: callError("removeObserver only takes 2 parameters.")
- },
- {
- code: "Services.io.newURI('http://example.com', null, null);",
- errors: callError("newURI's last parameters are optional.")
- },
- {
- code: "Services.io.newURI('http://example.com', 'utf8', null);",
- errors: callError("newURI's last parameters are optional.")
- },
- {
- code: "Services.io.newURI('http://example.com', null);",
- errors: callError("newURI's last parameters are optional.")
- },
- {
- code: "Services.io.newURI('http://example.com', '', '');",
- errors: callError("newURI's last parameters are optional.")
- },
- {
- code: "Services.io.newURI('http://example.com', '');",
- errors: callError("newURI's last parameters are optional.")
- },
- {
- code: "elt.addEventListener('click', handler, false);",
- errors: callError(
- "addEventListener's third parameter can be omitted when it's false.")
- },
- {
- code: "elt.removeEventListener('click', handler, false);",
- errors: callError(
- "removeEventListener's third parameter can be omitted when it's" +
- " false.")
- },
- {
- code: "Services.obs.addObserver(this, 'topic', false);",
- errors: callError(
- "addObserver's third parameter can be omitted when it's" +
- " false.")
- },
- {
- code: "Services.prefs.addObserver('branch', this, false);",
- errors: callError(
- "addObserver's third parameter can be omitted when it's" +
- " false.")
- },
- {
- code: "array.appendElement(elt, false);",
- errors: callError(
- "appendElement's second parameter can be omitted when it's" +
- " false.")
- },
- {
- code: "Services.obs.notifyObservers(obj, 'topic', null);",
- errors: callError(
- "notifyObservers's third parameter can be omitted.")
- },
- {
- code: "Services.obs.notifyObservers(obj, 'topic', '');",
- errors: callError(
- "notifyObservers's third parameter can be omitted.")
- },
- {
- code: "window.getComputedStyle(elt, null);",
- errors: callError("getComputedStyle's second parameter can be omitted.")
- },
- {
- code: "window.getComputedStyle(elt, '');",
- errors: callError("getComputedStyle's second parameter can be omitted.")
- }
- ]
- });
-};
+ruleTester.run("no-useless-parameters", rule, {
+ valid: [
+ "Services.prefs.clearUserPref('browser.search.custom');",
+ "Services.removeObserver('notification name', {});",
+ "Services.io.newURI('http://example.com');",
+ "Services.io.newURI('http://example.com', 'utf8');",
+ "elt.addEventListener('click', handler);",
+ "elt.addEventListener('click', handler, true);",
+ "elt.addEventListener('click', handler, {once: true});",
+ "elt.removeEventListener('click', handler);",
+ "elt.removeEventListener('click', handler, true);",
+ "Services.obs.addObserver(this, 'topic', true);",
+ "Services.obs.addObserver(this, 'topic');",
+ "Services.prefs.addObserver('branch', this, true);",
+ "Services.prefs.addObserver('branch', this);",
+ "array.appendElement(elt);",
+ "Services.obs.notifyObservers(obj, 'topic', 'data');",
+ "Services.obs.notifyObservers(obj, 'topic');",
+ "window.getComputedStyle(elt);",
+ "window.getComputedStyle(elt, ':before');"
+ ],
+ invalid: [
+ {
+ code: "Services.prefs.clearUserPref('browser.search.custom', false);",
+ errors: callError("clearUserPref takes only 1 parameter.")
+ },
+ {
+ code: "Services.removeObserver('notification name', {}, false);",
+ errors: callError("removeObserver only takes 2 parameters.")
+ },
+ {
+ code: "Services.removeObserver('notification name', {}, true);",
+ errors: callError("removeObserver only takes 2 parameters.")
+ },
+ {
+ code: "Services.io.newURI('http://example.com', null, null);",
+ errors: callError("newURI's last parameters are optional.")
+ },
+ {
+ code: "Services.io.newURI('http://example.com', 'utf8', null);",
+ errors: callError("newURI's last parameters are optional.")
+ },
+ {
+ code: "Services.io.newURI('http://example.com', null);",
+ errors: callError("newURI's last parameters are optional.")
+ },
+ {
+ code: "Services.io.newURI('http://example.com', '', '');",
+ errors: callError("newURI's last parameters are optional.")
+ },
+ {
+ code: "Services.io.newURI('http://example.com', '');",
+ errors: callError("newURI's last parameters are optional.")
+ },
+ {
+ code: "elt.addEventListener('click', handler, false);",
+ errors: callError(
+ "addEventListener's third parameter can be omitted when it's false.")
+ },
+ {
+ code: "elt.removeEventListener('click', handler, false);",
+ errors: callError(
+ "removeEventListener's third parameter can be omitted when it's" +
+ " false.")
+ },
+ {
+ code: "Services.obs.addObserver(this, 'topic', false);",
+ errors: callError(
+ "addObserver's third parameter can be omitted when it's" +
+ " false.")
+ },
+ {
+ code: "Services.prefs.addObserver('branch', this, false);",
+ errors: callError(
+ "addObserver's third parameter can be omitted when it's" +
+ " false.")
+ },
+ {
+ code: "array.appendElement(elt, false);",
+ errors: callError(
+ "appendElement's second parameter can be omitted when it's" +
+ " false.")
+ },
+ {
+ code: "Services.obs.notifyObservers(obj, 'topic', null);",
+ errors: callError(
+ "notifyObservers's third parameter can be omitted.")
+ },
+ {
+ code: "Services.obs.notifyObservers(obj, 'topic', '');",
+ errors: callError(
+ "notifyObservers's third parameter can be omitted.")
+ },
+ {
+ code: "window.getComputedStyle(elt, null);",
+ errors: callError("getComputedStyle's second parameter can be omitted.")
+ },
+ {
+ code: "window.getComputedStyle(elt, '');",
+ errors: callError("getComputedStyle's second parameter can be omitted.")
+ }
+ ]
+});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/no-useless-removeEventListener.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/no-useless-removeEventListener.js
@@ -3,80 +3,81 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/no-useless-removeEventListener");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function invalidCode(code) {
let message = "use {once: true} instead of removeEventListener " +
"as the first instruction of the listener";
return {code, errors: [{message, type: "CallExpression"}]};
}
-exports.runTest = function(ruleTester) {
- ruleTester.run("no-useless-removeEventListener", rule, {
- valid: [
- // Listeners that aren't a function are always valid.
- "elt.addEventListener('click', handler);",
- "elt.addEventListener('click', handler, true);",
- "elt.addEventListener('click', handler, {once: true});",
+ruleTester.run("no-useless-removeEventListener", rule, {
+ valid: [
+ // Listeners that aren't a function are always valid.
+ "elt.addEventListener('click', handler);",
+ "elt.addEventListener('click', handler, true);",
+ "elt.addEventListener('click', handler, {once: true});",
- // Should not fail on empty functions.
- "elt.addEventListener('click', function() {});",
+ // Should not fail on empty functions.
+ "elt.addEventListener('click', function() {});",
- // Should not reject when removing a listener for another event.
- "elt.addEventListener('click', function listener() {" +
- " elt.removeEventListener('keypress', listener);" +
- "});",
+ // Should not reject when removing a listener for another event.
+ "elt.addEventListener('click', function listener() {" +
+ " elt.removeEventListener('keypress', listener);" +
+ "});",
- // Should not reject when there's another instruction before
- // removeEventListener.
- "elt.addEventListener('click', function listener() {" +
- " elt.focus();" +
- " elt.removeEventListener('click', listener);" +
- "});",
+ // Should not reject when there's another instruction before
+ // removeEventListener.
+ "elt.addEventListener('click', function listener() {" +
+ " elt.focus();" +
+ " elt.removeEventListener('click', listener);" +
+ "});",
- // Should not reject when wantsUntrusted is true.
- "elt.addEventListener('click', function listener() {" +
- " elt.removeEventListener('click', listener);" +
- "}, false, true);",
+ // Should not reject when wantsUntrusted is true.
+ "elt.addEventListener('click', function listener() {" +
+ " elt.removeEventListener('click', listener);" +
+ "}, false, true);",
- // Should not reject when there's a literal and a variable
- "elt.addEventListener('click', function listener() {" +
- " elt.removeEventListener(eventName, listener);" +
- "});",
+ // Should not reject when there's a literal and a variable
+ "elt.addEventListener('click', function listener() {" +
+ " elt.removeEventListener(eventName, listener);" +
+ "});",
- // Should not reject when there's 2 different variables
- "elt.addEventListener(event1, function listener() {" +
- " elt.removeEventListener(event2, listener);" +
- "});"
- ],
- invalid: [
- invalidCode("elt.addEventListener('click', function listener() {" +
- " elt.removeEventListener('click', listener);" +
- "});"),
- invalidCode("elt.addEventListener('click', function listener() {" +
- " elt.removeEventListener('click', listener, true);" +
- "}, true);"),
- invalidCode("elt.addEventListener('click', function listener() {" +
- " elt.removeEventListener('click', listener);" +
- "}, {once: true});"),
- invalidCode("elt.addEventListener('click', function listener() {" +
- " /* Comment */" +
- " elt.removeEventListener('click', listener);" +
- "});"),
- invalidCode("elt.addEventListener('click', function() {" +
- " elt.removeEventListener('click', arguments.callee);" +
- "});"),
- invalidCode("elt.addEventListener(eventName, function listener() {" +
- " elt.removeEventListener(eventName, listener);" +
- "});")
- ]
- });
-};
+ // Should not reject when there's 2 different variables
+ "elt.addEventListener(event1, function listener() {" +
+ " elt.removeEventListener(event2, listener);" +
+ "});"
+ ],
+ invalid: [
+ invalidCode("elt.addEventListener('click', function listener() {" +
+ " elt.removeEventListener('click', listener);" +
+ "});"),
+ invalidCode("elt.addEventListener('click', function listener() {" +
+ " elt.removeEventListener('click', listener, true);" +
+ "}, true);"),
+ invalidCode("elt.addEventListener('click', function listener() {" +
+ " elt.removeEventListener('click', listener);" +
+ "}, {once: true});"),
+ invalidCode("elt.addEventListener('click', function listener() {" +
+ " /* Comment */" +
+ " elt.removeEventListener('click', listener);" +
+ "});"),
+ invalidCode("elt.addEventListener('click', function() {" +
+ " elt.removeEventListener('click', arguments.callee);" +
+ "});"),
+ invalidCode("elt.addEventListener(eventName, function listener() {" +
+ " elt.removeEventListener(eventName, listener);" +
+ "});")
+ ]
+});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/test-no-import-into-var-and-global.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/test-no-import-into-var-and-global.js
@@ -3,33 +3,34 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/no-import-into-var-and-global");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
const ExpectedError = {
message: "Cu.import imports into variables and into global scope.",
type: "CallExpression"
};
-exports.runTest = function(ruleTester) {
- ruleTester.run("no-import-into-var-and-global", rule, {
- valid: [
- "var foo = Cu.import('fake', {});",
- "var foo = Components.utils.import('fake', {});"
- ],
- invalid: [{
- code: "var foo = Cu.import('fake', this);",
- errors: [ExpectedError]
- }, {
- code: "var foo = Cu.import('fake');",
- errors: [ExpectedError]
- }]
- });
-};
+ruleTester.run("no-import-into-var-and-global", rule, {
+ valid: [
+ "var foo = Cu.import('fake', {});",
+ "var foo = Components.utils.import('fake', {});"
+ ],
+ invalid: [{
+ code: "var foo = Cu.import('fake', this);",
+ errors: [ExpectedError]
+ }, {
+ code: "var foo = Cu.import('fake');",
+ errors: [ExpectedError]
+ }]
+});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/test-no-single-arg-cu-import.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/test-no-single-arg-cu-import.js
@@ -3,29 +3,30 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/no-single-arg-cu-import");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
const ExpectedError = {
message: "Single argument Cu.import exposes new globals to all modules",
type: "CallExpression"
};
-exports.runTest = function(ruleTester) {
- ruleTester.run("no-single-arg-cu-import", rule, {
- valid: [
- "Cu.import('fake', {});"
- ],
- invalid: [{
- code: "Cu.import('fake');",
- errors: [ExpectedError]
- }]
- });
-};
+ruleTester.run("no-single-arg-cu-import", rule, {
+ valid: [
+ "Cu.import('fake', {});"
+ ],
+ invalid: [{
+ code: "Cu.import('fake');",
+ errors: [ExpectedError]
+ }]
+});
deleted file mode 100644
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/test-run-all.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-const RuleTester = require("eslint/lib/testers/rule-tester");
-const fs = require("fs");
-
-var ruleTester = new RuleTester();
-
-fs.readdir(__dirname, (err, files) => {
- files.forEach(file => {
- if (file != "test-run-all.js" && !file.endsWith("~")) {
- console.log(`Running ${file}`);
- require("./" + file).runTest(ruleTester);
- }
- });
-});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/use-default-preference-values.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/use-default-preference-values.js
@@ -3,36 +3,37 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/use-default-preference-values");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function invalidCode(code) {
let message = "provide a default value instead of using a try/catch block";
return {code, errors: [{message, type: "TryStatement"}]};
}
let types = ["Bool", "Char", "Float", "Int"];
let methods = types.map(type => "get" + type + "Pref");
-exports.runTest = function(ruleTester) {
- ruleTester.run("use-ownerGlobal", rule, {
- valid: [].concat(
- methods.map(m => "blah = branch." + m + "('blah', true);"),
- methods.map(m => "blah = branch." + m + "('blah');"),
- methods.map(m => "try { canThrow();" +
- " blah = branch." + m + "('blah'); } catch(e) {}")
- ),
+ruleTester.run("use-default-preference-values", rule, {
+ valid: [].concat(
+ methods.map(m => "blah = branch." + m + "('blah', true);"),
+ methods.map(m => "blah = branch." + m + "('blah');"),
+ methods.map(m => "try { canThrow();" +
+ " blah = branch." + m + "('blah'); } catch(e) {}")
+ ),
- invalid: [].concat(
- methods.map(m =>
- invalidCode("try { blah = branch." + m + "('blah'); } catch(e) {}"))
- )
- });
-};
+ invalid: [].concat(
+ methods.map(m =>
+ invalidCode("try { blah = branch." + m + "('blah'); } catch(e) {}"))
+ )
+});
--- a/tools/lint/eslint/eslint-plugin-mozilla/tests/use-ownerGlobal.js
+++ b/tools/lint/eslint/eslint-plugin-mozilla/tests/use-ownerGlobal.js
@@ -3,33 +3,34 @@
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/use-ownerGlobal");
+var RuleTester = require("eslint/lib/testers/rule-tester");
+
+const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function invalidCode(code) {
let message = "use .ownerGlobal instead of .ownerDocument.defaultView";
return {code, errors: [{message, type: "MemberExpression"}]};
}
-exports.runTest = function(ruleTester) {
- ruleTester.run("use-ownerGlobal", rule, {
- valid: [
- "aEvent.target.ownerGlobal;",
- "this.DOMPointNode.ownerGlobal.getSelection();",
- "windowToMessageManager(node.ownerGlobal);"
- ],
- invalid: [
- invalidCode("aEvent.target.ownerDocument.defaultView;"),
- invalidCode(
- "this.DOMPointNode.ownerDocument.defaultView.getSelection();"),
- invalidCode("windowToMessageManager(node.ownerDocument.defaultView);")
- ]
- });
-};
+ruleTester.run("use-ownerGlobal", rule, {
+ valid: [
+ "aEvent.target.ownerGlobal;",
+ "this.DOMPointNode.ownerGlobal.getSelection();",
+ "windowToMessageManager(node.ownerGlobal);"
+ ],
+ invalid: [
+ invalidCode("aEvent.target.ownerDocument.defaultView;"),
+ invalidCode(
+ "this.DOMPointNode.ownerDocument.defaultView.getSelection();"),
+ invalidCode("windowToMessageManager(node.ownerDocument.defaultView);")
+ ]
+});