]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/func-style.js
2 * @fileoverview Tests for func-style rule.
3 * @author Nicholas C. Zakas
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/func-style"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester();
21 ruleTester
.run("func-style", rule
, {
24 code
: "function foo(){}\n function bar(){}",
25 options
: ["declaration"]
28 code
: "foo.bar = function(){};",
29 options
: ["declaration"]
32 code
: "(function() { /* code */ }());",
33 options
: ["declaration"]
36 code
: "var module = (function() { return {}; }());",
37 options
: ["declaration"]
40 code
: "var object = { foo: function(){} };",
41 options
: ["declaration"]
44 code
: "Array.prototype.foo = function(){};",
45 options
: ["declaration"]
48 code
: "foo.bar = function(){};",
49 options
: ["expression"]
52 code
: "var foo = function(){};\n var bar = function(){};",
53 options
: ["expression"]
56 code
: "var foo = () => {};\n var bar = () => {}",
57 options
: ["expression"],
58 parserOptions
: { ecmaVersion
: 6 }
61 // https://github.com/eslint/eslint/issues/3819
63 code
: "var foo = function() { this; }.bind(this);",
64 options
: ["declaration"]
67 code
: "var foo = () => { this; };",
68 options
: ["declaration"],
69 parserOptions
: { ecmaVersion
: 6 }
72 code
: "export default function () {};",
73 parserOptions
: { ecmaVersion
: 6, sourceType
: "module" }
76 code
: "var foo = () => {};",
77 options
: ["declaration", { allowArrowFunctions
: true }],
78 parserOptions
: { ecmaVersion
: 6 }
81 code
: "var foo = () => { function foo() { this; } };",
82 options
: ["declaration", { allowArrowFunctions
: true }],
83 parserOptions
: { ecmaVersion
: 6 }
89 code
: "var foo = function(){};",
90 options
: ["declaration"],
93 messageId
: "declaration",
94 type
: "VariableDeclarator"
99 code
: "var foo = () => {};",
100 options
: ["declaration"],
101 parserOptions
: { ecmaVersion
: 6 },
104 messageId
: "declaration",
105 type
: "VariableDeclarator"
110 code
: "var foo = () => { function foo() { this; } };",
111 options
: ["declaration"],
112 parserOptions
: { ecmaVersion
: 6 },
115 messageId
: "declaration",
116 type
: "VariableDeclarator"
121 code
: "function foo(){}",
122 options
: ["expression"],
125 messageId
: "expression",
126 type
: "FunctionDeclaration"