]>
Commit | Line | Data |
---|---|---|
eb39fafa DC |
1 | /** |
2 | * @fileoverview Tests for prefer-rest-params rule. | |
3 | * @author Toru Nagashima | |
4 | */ | |
5 | ||
6 | "use strict"; | |
7 | ||
8 | //------------------------------------------------------------------------------ | |
9 | // Requirements | |
10 | //------------------------------------------------------------------------------ | |
11 | ||
12 | const rule = require("../../../lib/rules/prefer-rest-params"), | |
13 | { RuleTester } = require("../../../lib/rule-tester"); | |
14 | ||
609c276f TL |
15 | //------------------------------------------------------------------------------ |
16 | // Tests | |
17 | //------------------------------------------------------------------------------ | |
18 | ||
eb39fafa DC |
19 | const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } }); |
20 | ||
21 | ruleTester.run("prefer-rest-params", rule, { | |
22 | valid: [ | |
23 | "arguments;", | |
24 | "function foo(arguments) { arguments; }", | |
25 | "function foo() { var arguments; arguments; }", | |
26 | "var foo = () => arguments;", // Arrows don't have "arguments"., | |
27 | "function foo(...args) { args; }", | |
28 | "function foo() { arguments.length; }", | |
29 | "function foo() { arguments.callee; }" | |
30 | ], | |
31 | invalid: [ | |
32 | { code: "function foo() { arguments; }", errors: [{ type: "Identifier", messageId: "preferRestParams" }] }, | |
33 | { code: "function foo() { arguments[0]; }", errors: [{ type: "Identifier", messageId: "preferRestParams" }] }, | |
34 | { code: "function foo() { arguments[1]; }", errors: [{ type: "Identifier", messageId: "preferRestParams" }] }, | |
35 | { code: "function foo() { arguments[Symbol.iterator]; }", errors: [{ type: "Identifier", messageId: "preferRestParams" }] } | |
36 | ] | |
37 | }); |