Bug 1229142: Add shared eslintrc files for the different test suites. r?Standard8 draft
authorDave Townsend <dtownsend@oxymoronical.com>
Thu, 17 Dec 2015 15:28:06 -0800
changeset 316390 a29625ec60a873b46b3a15758111a0bb0b54b7d2
parent 316389 08a1eaa364748ac9209f73e4aab4db0b53452265
child 316391 6f663d806eedbcbbdb784f01e58113f070e9aab5
push id8537
push userdtownsend@mozilla.com
push dateFri, 18 Dec 2015 16:59:27 +0000
reviewersStandard8
bugs1229142
milestone46.0a1
Bug 1229142: Add shared eslintrc files for the different test suites. r?Standard8
.eslintrc
devtools/.eslintrc
devtools/.eslintrc.mochitests
devtools/.eslintrc.xpcshell
testing/mochitest/browser.eslintrc
testing/mochitest/chrome.eslintrc
testing/mochitest/mochitest.eslintrc
testing/xpcshell/xpcshell.eslintrc
--- a/.eslintrc
+++ b/.eslintrc
@@ -1,9 +1,13 @@
 {
   // When adding items to this file please check for effects on sub-directories.
   "plugins": [
     "mozilla"
   ],
+  "rules": {
+    "mozilla/components-imports": 1,
+    "mozilla/import-globals-from": 1,
+  },
   "env": {
     "es6": true
   },
 }
--- a/devtools/.eslintrc
+++ b/devtools/.eslintrc
@@ -19,19 +19,16 @@
     "XPCOMUtils": true,
   },
   "rules": {
     // These are the rules that have been configured so far to match the
     // devtools coding style.
 
     // Rules from the mozilla plugin
     "mozilla/balanced-listeners": 2,
-    "mozilla/components-imports": 1,
-    "mozilla/import-globals-from": 1,
-    "mozilla/import-headjs-globals": 1,
     "mozilla/mark-test-function-used": 1,
     "mozilla/no-aArgs": 1,
     "mozilla/no-cpows-in-tests": 1,
     "mozilla/var-only-at-top-level": 1,
 
     // Disallow using variables outside the blocks they are defined (especially
     // since only let and const are used, see "no-var").
     "block-scoped-var": 2,
--- a/devtools/.eslintrc.mochitests
+++ b/devtools/.eslintrc.mochitests
@@ -1,44 +1,10 @@
 // Parent config file for all devtools browser mochitest files.
 {
-  "rules": {
-    // Only disallow non-global unused vars, so that head.js does not produce
-    // errors.
-    "no-unused-vars": [2, {"vars": "local"}]
-  },
+  "extends": [
+    "../testing/mochitest/browser.eslintrc"
+  ],
   // All globals made available in the test environment.
   "globals": {
-    "add_task": true,
-    "Assert": true,
-    "BrowserTestUtils": true,
-    "content": true,
-    "ContentTask": true,
-    "document": true,
-    "EventUtils": true,
-    "executeSoon": true,
-    "export_assertions": true,
-    "finish": true,
-    "gBrowser": true,
     "gDevTools": true,
-    "getRootDirectory": true,
-    "getTestFilePath": true,
-    "gTestPath": true,
-    "info": true,
-    "is": true,
-    "isnot": true,
-    "navigator": true,
-    "ok": true,
-    "promise": true,
-    "registerCleanupFunction": true,
-    "requestLongerTimeout": true,
-    "setTimeout": true,
-    "SimpleTest": true,
-    "SpecialPowers": true,
-    "todo": true,
-    "todo_is": true,
-    "todo_isnot": true,
-    "waitForClipboard": true,
-    "waitForExplicitFinish": true,
-    "waitForFocus": true,
-    "window": true,
   }
 }
--- a/devtools/.eslintrc.xpcshell
+++ b/devtools/.eslintrc.xpcshell
@@ -1,51 +1,17 @@
 // Parent config file for all devtools browser mochitest files.
 {
+  "extends": [
+    "../testing/xpcshell/xpcshell.eslintrc"
+  ],
   "rules": {
     // Allow non-camelcase so that run_test doesn't produce a warning.
     "camelcase": 0,
-    // Only disallow non-global unused vars, so that things like the test
-    // function do not produce errors.
-    "no-unused-vars": [2, {"vars": "local"}],
     // Allow using undefined variables so that tests can refer to functions
     // and variables defined in head.js files, without having to maintain a
     // list of globals in each .eslintrc file.
     // Note that bug 1168340 will eventually help auto-registering globals
     // from head.js files.
     "no-undef": 0,
     "block-scoped-var": 0
-  },
-  // All globals made available in the test environment.
-  "globals": {
-    "add_task": true,
-    "add_test": true,
-    "Assert": true,
-    "deepEqual": true,
-    "do_check_eq": true,
-    "do_check_false": true,
-    "do_check_neq": true,
-    "do_check_null": true,
-    "do_check_true": true,
-    "do_execute_soon": true,
-    "do_get_cwd": true,
-    "do_get_file": true,
-    "do_get_idle": true,
-    "do_get_profile": true,
-    "do_load_module": true,
-    "do_parse_document": true,
-    "do_print": true,
-    "do_register_cleanup": true,
-    "do_test_finished": true,
-    "do_test_pending": true,
-    "do_throw": true,
-    "do_timeout": true,
-    "equal": true,
-    "load": true,
-    "notDeepEqual": true,
-    "notEqual": true,
-    "notStrictEqual": true,
-    "ok": true,
-    "run_next_test": true,
-    "run_test": true,
-    "strictEqual": true,
   }
-}
\ No newline at end of file
+}
new file mode 100644
--- /dev/null
+++ b/testing/mochitest/browser.eslintrc
@@ -0,0 +1,48 @@
+// Parent config file for all browser-chrome files.
+{
+  "rules": {
+    // Head files want to define globals so don't warn for unused globals
+    "no-unused-vars": [2, {"vars": "local", "args": "none"}],
+    "mozilla/import-headjs-globals": 1,
+    "mozilla/import-browserjs-globals": 1,
+  },
+
+  "env": {
+    "browser": true,
+  },
+
+  // All globals made available in the test environment.
+  "globals": {
+    "add_task": false,
+    "Assert": false,
+    "BrowserTestUtils": false,
+    "ContentTask": false,
+    "EventUtils": false,
+    "executeSoon": false,
+    "export_assertions": false,
+    "finish": false,
+    "getRootDirectory": false,
+    "getTestFilePath": false,
+    "gTestPath": false,
+    "info": false,
+    "is": false,
+    "isnot": false,
+    "ok": false,
+    "promise": false,
+    "registerCleanupFunction": false,
+    "requestLongerTimeout": false,
+    "SimpleTest": false,
+    "SpecialPowers": false,
+    "todo": false,
+    "todo_is": false,
+    "todo_isnot": false,
+    "waitForClipboard": false,
+    "waitForExplicitFinish": false,
+    "waitForFocus": false,
+    "gBrowser": false,
+    "gNavToolbox": false,
+    "gURLBar": false,
+    "gNavigatorBundle": false,
+    "content": false,
+  }
+}
new file mode 100644
--- /dev/null
+++ b/testing/mochitest/chrome.eslintrc
@@ -0,0 +1,40 @@
+// Parent config file for all mochitest files.
+{
+  rules: {
+    // Head files want to define globals so don't warn for unused globals
+    "no-unused-vars": [2, {"vars": "local", "args": "none"}],
+    "mozilla/import-headjs-globals": 1,
+  },
+
+  "env": {
+    "browser": true,
+  },
+
+  // All globals made available in the test environment.
+  "globals": {
+    "add_task": false,
+    "Assert": false,
+    "EventUtils": false,
+    "executeSoon": false,
+    "export_assertions": false,
+    "finish": false,
+    "getRootDirectory": false,
+    "getTestFilePath": false,
+    "gTestPath": false,
+    "info": false,
+    "is": false,
+    "isnot": false,
+    "ok": false,
+    "promise": false,
+    "registerCleanupFunction": false,
+    "requestLongerTimeout": false,
+    "SimpleTest": false,
+    "SpecialPowers": false,
+    "todo": false,
+    "todo_is": false,
+    "todo_isnot": false,
+    "waitForClipboard": false,
+    "waitForExplicitFinish": false,
+    "waitForFocus": false,
+  }
+}
new file mode 100644
--- /dev/null
+++ b/testing/mochitest/mochitest.eslintrc
@@ -0,0 +1,40 @@
+// Parent config file for all mochitest files.
+{
+  rules: {
+    // Head files want to define globals so don't warn for unused globals
+    "no-unused-vars": [2, {"vars": "local", "args": "none"}],
+    "mozilla/import-headjs-globals": 1,
+  },
+
+  "env": {
+    "browser": true,
+  },
+
+  // All globals made available in the test environment.
+  "globals": {
+    "add_task": false,
+    "Assert": false,
+    "EventUtils": false,
+    "executeSoon": false,
+    "export_assertions": false,
+    "finish": false,
+    "getRootDirectory": false,
+    "getTestFilePath": false,
+    "gTestPath": false,
+    "info": false,
+    "is": false,
+    "isnot": false,
+    "ok": false,
+    "promise": false,
+    "registerCleanupFunction": false,
+    "requestLongerTimeout": false,
+    "SimpleTest": false,
+    "SpecialPowers": false,
+    "todo": false,
+    "todo_is": false,
+    "todo_isnot": false,
+    "waitForClipboard": false,
+    "waitForExplicitFinish": false,
+    "waitForFocus": false,
+  }
+}
new file mode 100644
--- /dev/null
+++ b/testing/xpcshell/xpcshell.eslintrc
@@ -0,0 +1,43 @@
+// Parent config file for all xpcshell files.
+{
+  rules: {
+    // Head files want to define globals so don't warn for unused globals
+    "no-unused-vars": [2, {"vars": "local", "args": "none"}],
+    "mozilla/import-headjs-globals": 1,
+  },
+
+  // All globals made available in the test environment.
+  "globals": {
+    "add_task": false,
+    "add_test": false,
+    "Assert": false,
+    "deepEqual": false,
+    "do_check_eq": false,
+    "do_check_false": false,
+    "do_check_neq": false,
+    "do_check_null": false,
+    "do_check_true": false,
+    "do_execute_soon": false,
+    "do_get_cwd": false,
+    "do_get_file": false,
+    "do_get_idle": false,
+    "do_get_profile": false,
+    "do_load_module": false,
+    "do_parse_document": false,
+    "do_print": false,
+    "do_register_cleanup": false,
+    "do_test_finished": false,
+    "do_test_pending": false,
+    "do_throw": false,
+    "do_timeout": false,
+    "equal": false,
+    "load": false,
+    "notDeepEqual": false,
+    "notEqual": false,
+    "notStrictEqual": false,
+    "ok": false,
+    "run_next_test": false,
+    "run_test": false,
+    "strictEqual": false,
+  }
+}