70 lines
2 KiB
JavaScript
70 lines
2 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/prefer-formatValues");
|
|
var RuleTester = require("eslint").RuleTester;
|
|
|
|
const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: "latest" } });
|
|
|
|
// ------------------------------------------------------------------------------
|
|
// Tests
|
|
// ------------------------------------------------------------------------------
|
|
|
|
function error(line, column = undefined) {
|
|
return {
|
|
messageId: "useSingleCall",
|
|
type: "CallExpression",
|
|
line,
|
|
column,
|
|
};
|
|
}
|
|
|
|
ruleTester.run("check-length", rule, {
|
|
valid: [
|
|
"document.l10n.formatValue('foobar');",
|
|
"document.l10n.formatValues(['foobar', 'foobaz']);",
|
|
`if (foo) {
|
|
document.l10n.formatValue('foobar');
|
|
} else {
|
|
document.l10n.formatValue('foobaz');
|
|
}`,
|
|
`document.l10n.formatValue('foobaz');
|
|
if (foo) {
|
|
document.l10n.formatValue('foobar');
|
|
}`,
|
|
`if (foo) {
|
|
document.l10n.formatValue('foobar');
|
|
}
|
|
document.l10n.formatValue('foobaz');`,
|
|
`if (foo) {
|
|
document.l10n.formatValue('foobar');
|
|
}
|
|
document.l10n.formatValues(['foobaz']);`,
|
|
],
|
|
invalid: [
|
|
{
|
|
code: `document.l10n.formatValue('foobar');
|
|
document.l10n.formatValue('foobaz');`,
|
|
errors: [error(1, 1), error(2, 14)],
|
|
},
|
|
{
|
|
code: `document.l10n.formatValue('foobar');
|
|
if (foo) {
|
|
document.l10n.formatValue('foobiz');
|
|
}
|
|
document.l10n.formatValue('foobaz');`,
|
|
errors: [error(1, 1), error(5, 14)],
|
|
},
|
|
{
|
|
code: `document.l10n.formatValues('foobar');
|
|
document.l10n.formatValue('foobaz');`,
|
|
errors: [error(1, 1), error(2, 14)],
|
|
},
|
|
],
|
|
});
|