fune/tools/lint/eslint/eslint-plugin-mozilla/tests/mark-exported-symbols-as-used.js
Victor Porof 5c7cdbd4ba Bug 1561435 - Format tools/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D35940

--HG--
extra : source : d214f0c82813e5a8d3987debc490a2c11f1308ff
2019-07-05 11:18:19 +02:00

45 lines
1.4 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/mark-exported-symbols-as-used");
var RuleTester = require("eslint/lib/testers/rule-tester");
const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function invalidCode(code, type, message) {
return { code, errors: [{ message, type }] };
}
ruleTester.run("mark-exported-symbols-as-used", rule, {
valid: [
"var EXPORTED_SYMBOLS = ['foo'];",
"this.EXPORTED_SYMBOLS = ['foo'];",
],
invalid: [
invalidCode(
"let EXPORTED_SYMBOLS = ['foo'];",
"VariableDeclaration",
"EXPORTED_SYMBOLS cannot be declared via `let`. Use `var` or `this.EXPORTED_SYMBOLS =`"
),
invalidCode(
"var EXPORTED_SYMBOLS = 'foo';",
"VariableDeclaration",
"Unexpected assignment of non-Array to EXPORTED_SYMBOLS"
),
invalidCode(
"this.EXPORTED_SYMBOLS = 'foo';",
"AssignmentExpression",
"Unexpected assignment of non-Array to EXPORTED_SYMBOLS"
),
],
});