-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
/
max-params.js
42 lines (35 loc) · 2.44 KB
/
max-params.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
* @fileoverview Tests for max-params rule.
* @author Ilya Volodin
* @copyright 2013 Ilya Volodin. All rights reserved.
*/
"use strict";
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
var rule = require("../../../lib/rules/max-params"),
RuleTester = require("../../../lib/testers/rule-tester");
//------------------------------------------------------------------------------
// Tests
//------------------------------------------------------------------------------
var ruleTester = new RuleTester();
ruleTester.run("max-params", rule, {
valid: [
{ code: "function test(d, e, f) {}" },
{ code: "var test = function(a, b, c) {};", options: [3] },
{ code: "var test = (a, b, c) => {};", options: [3], parserOptions: { ecmaVersion: 6 } },
{ code: "var test = function test(a, b, c) {};", options: [3] },
// object property options
{ code: "var test = function(a, b, c) {};", options: [{ "maximum": 3 }] }
],
invalid: [
{ code: "function test(a, b, c) {}", options: [2], errors: [{ message: "This function has too many parameters (3). Maximum allowed is 2.", type: "FunctionDeclaration"}] },
{ code: "function test(a, b, c, d) {}", errors: [{ message: "This function has too many parameters (4). Maximum allowed is 3.", type: "FunctionDeclaration"}] },
{ code: "var test = function(a, b, c, d) {};", options: [3], errors: [{ message: "This function has too many parameters (4). Maximum allowed is 3.", type: "FunctionExpression"}] },
{ code: "var test = (a, b, c, d) => {};", options: [3], parserOptions: { ecmaVersion: 6 }, errors: [{ message: "This function has too many parameters (4). Maximum allowed is 3.", type: "ArrowFunctionExpression"}] },
{ code: "(function(a, b, c, d) {});", options: [3], errors: [{ message: "This function has too many parameters (4). Maximum allowed is 3.", type: "FunctionExpression"}] },
{ code: "var test = function test(a, b, c) {};", options: [1], errors: [{ message: "This function has too many parameters (3). Maximum allowed is 1.", type: "FunctionExpression"}] },
// object property options
{ code: "function test(a, b, c) {}", options: [{ "maximum": 2 }], errors: [{ message: "This function has too many parameters (3). Maximum allowed is 2.", type: "FunctionDeclaration"}] }
]
});