trisquel-icecat/icecat/tools/lint/eslint/eslint-plugin-mozilla/lib/configs/browser-test.js

91 lines
2.4 KiB
JavaScript

// Parent config file for all browser-chrome files.
"use strict";
module.exports = {
env: {
browser: true,
"mozilla/browser-window": true,
"mozilla/simpletest": true,
// "node": true
},
// All globals made available in the test environment.
globals: {
// `$` is defined in SimpleTest.js
$: false,
Assert: false,
BrowserTestUtils: false,
ContentTask: false,
ContentTaskUtils: false,
EventUtils: false,
IOUtils: false,
PathUtils: false,
PromiseDebugging: false,
SpecialPowers: false,
TestUtils: false,
addLoadEvent: false,
add_setup: false,
add_task: false,
content: false,
executeSoon: false,
expectUncaughtException: false,
export_assertions: false,
extractJarToTmp: false,
finish: false,
gTestPath: false,
getChromeDir: false,
getJar: false,
getResolvedURI: false,
getRootDirectory: false,
getTestFilePath: false,
ignoreAllUncaughtExceptions: false,
info: false,
is: false,
isnot: false,
ok: false,
record: false,
registerCleanupFunction: false,
requestLongerTimeout: false,
setExpectedFailuresForSelfTest: false,
stringContains: false,
stringMatches: false,
todo: false,
todo_is: false,
todo_isnot: false,
waitForClipboard: false,
waitForExplicitFinish: false,
waitForFocus: false,
},
overrides: [
{
// Some directories have multiple kinds of tests, and some rules
// don't work well for plain mochitests, so disable those.
files: ["*.html", "*.xhtml"],
// plain/chrome mochitests don't automatically include Assert, so
// autofixing `ok()` to Assert.something is bad.
rules: {
"mozilla/no-comparison-or-assignment-inside-ok": "off",
},
},
],
plugins: ["mozilla", "@microsoft/sdl"],
rules: {
"mozilla/import-content-task-globals": "error",
"mozilla/import-headjs-globals": "error",
"mozilla/mark-test-function-used": "error",
"mozilla/no-addtask-setup": "error",
"mozilla/no-arbitrary-setTimeout": "error",
"mozilla/no-comparison-or-assignment-inside-ok": "error",
"mozilla/no-redeclare-with-import-autofix": [
"error",
{ errorForNonImports: false },
],
// Turn off no-unsanitized for tests, as we do want to be able to use
// these for testing.
"no-unsanitized/method": "off",
"no-unsanitized/property": "off",
},
};