]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-return-assign.js
2 * @fileoverview Tests for no-return-assign.
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/no-return-assign"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester({ parserOptions
: { ecmaVersion
: 6 } });
21 ruleTester
.run("no-return-assign", rule
, {
24 code
: "module.exports = {'a': 1};",
29 "var result = a * b;",
30 "function x() { var result = a * b; return result; }",
31 "function x() { return (result = a * b); }",
33 code
: "function x() { var result = a * b; return result; }",
34 options
: ["except-parens"]
37 code
: "function x() { return (result = a * b); }",
38 options
: ["except-parens"]
41 code
: "function x() { var result = a * b; return result; }",
45 code
: "function x() { return function y() { result = a * b }; }",
49 code
: "() => { return (result = a * b); }",
50 options
: ["except-parens"]
53 code
: "() => (result = a * b)",
54 options
: ["except-parens"]
56 "const foo = (a,b,c) => ((a = b), c)",
61 return function foo(){
66 code
: "const foo = (a) => (b) => (a = b)",
67 parserOptions
: { ecmaVersion
: 6 }
72 code
: "function x() { return result = a * b; };",
73 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
76 code
: "function x() { return (result) = (a * b); };",
77 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
80 code
: "function x() { return result = a * b; };",
81 options
: ["except-parens"],
82 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
85 code
: "function x() { return (result) = (a * b); };",
86 options
: ["except-parens"],
87 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
90 code
: "() => { return result = a * b; }",
91 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
94 code
: "() => result = a * b",
97 messageId
: "arrowAssignment",
98 type
: "ArrowFunctionExpression"
103 code
: "function x() { return result = a * b; };",
105 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
108 code
: "function x() { return (result = a * b); };",
110 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
113 code
: "function x() { return result || (result = a * b); };",
115 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
118 code
: `function foo(){
121 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
124 code
: `function doSomething() {
125 return foo = bar && foo > 0;
127 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
130 code
: `function doSomething() {
131 return foo = function(){
135 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
138 code
: `function doSomething() {
141 parserOptions
: { ecmaVersion
: 6 },
144 messageId
: "returnAssignment",
145 type
: "ReturnStatement"
150 code
: `function doSomething() {
151 return () => a = () => b
153 parserOptions
: { ecmaVersion
: 6 },
156 messageId
: "arrowAssignment",
157 type
: "ArrowFunctionExpression"
162 code
: `function foo(a){
163 return function bar(b){
167 errors
: [{ messageId
: "returnAssignment", type
: "ReturnStatement" }]
170 code
: "const foo = (a) => (b) => a = b",
171 parserOptions
: { ecmaVersion
: 6 },
174 messageId
: "arrowAssignment",
175 type
: "ArrowFunctionExpression"