]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/no-return-await.js
2 * @fileoverview Disallows unnecessary `return await`
3 * @author Jordan Harband
7 //------------------------------------------------------------------------------
9 //------------------------------------------------------------------------------
11 const rule
= require("../../../lib/rules/no-return-await");
12 const { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 // pending https://github.com/eslint/espree/issues/304, the type should be "Keyword"
20 const errors
= [{ messageId
: "redundantUseOfAwait", type
: "Identifier" }];
22 const ruleTester
= new RuleTester({ parserOptions
: { ecmaVersion
: 2017 } });
24 ruleTester
.run("no-return-await", rule
, {
27 "\nasync function foo() {\n\tawait bar(); return;\n}\n",
28 "\nasync function foo() {\n\tconst x = await bar(); return x;\n}\n",
29 "\nasync () => { return bar(); }\n",
30 "\nasync () => bar()\n",
31 "\nasync function foo() {\nif (a) {\n\t\tif (b) {\n\t\t\treturn bar();\n\t\t}\n\t}\n}\n",
32 "\nasync () => {\nif (a) {\n\t\tif (b) {\n\t\t\treturn bar();\n\t\t}\n\t}\n}\n",
33 "\nasync function foo() {\n\treturn (await bar() && a);\n}\n",
34 "\nasync function foo() {\n\treturn (await bar() || a);\n}\n",
35 "\nasync function foo() {\n\treturn (a && await baz() && b);\n}\n",
36 "\nasync function foo() {\n\treturn (await bar(), a);\n}\n",
37 "\nasync function foo() {\n\treturn (await baz(), await bar(), a);\n}\n",
38 "\nasync function foo() {\n\treturn (a, b, (await bar(), c));\n}\n",
39 "\nasync function foo() {\n\treturn (await bar() ? a : b);\n}\n",
40 "\nasync function foo() {\n\treturn ((a && await bar()) ? b : c);\n}\n",
41 "\nasync function foo() {\n\treturn (baz() ? (await bar(), a) : b);\n}\n",
42 "\nasync function foo() {\n\treturn (baz() ? (await bar() && a) : b);\n}\n",
43 "\nasync function foo() {\n\treturn (baz() ? a : (await bar(), b));\n}\n",
44 "\nasync function foo() {\n\treturn (baz() ? a : (await bar() && b));\n}\n",
45 "\nasync () => (await bar(), a)\n",
46 "\nasync () => (await bar() && a)\n",
47 "\nasync () => (await bar() || a)\n",
48 "\nasync () => (a && await bar() && b)\n",
49 "\nasync () => (await baz(), await bar(), a)\n",
50 "\nasync () => (a, b, (await bar(), c))\n",
51 "\nasync () => (await bar() ? a : b)\n",
52 "\nasync () => ((a && await bar()) ? b : c)\n",
53 "\nasync () => (baz() ? (await bar(), a) : b)\n",
54 "\nasync () => (baz() ? (await bar() && a) : b)\n",
55 "\nasync () => (baz() ? a : (await bar(), b))\n",
56 "\nasync () => (baz() ? a : (await bar() && b))\n",
58 async function foo() {
67 async function foo() {
76 async function foo() {
86 async function foo() {
98 async function foo() {
110 async function foo() {
112 return (a, await bar());
119 async function foo() {
121 return (qux() ? await bar() : b);
128 async function foo() {
130 return (a && await bar());
140 code
: "\nasync function foo() {\n\treturn await bar();\n}\n",
144 code
: "\nasync function foo() {\n\treturn (a, await bar());\n}\n",
148 code
: "\nasync function foo() {\n\treturn (a, b, await bar());\n}\n",
152 code
: "\nasync function foo() {\n\treturn (a && await bar());\n}\n",
156 code
: "\nasync function foo() {\n\treturn (a && b && await bar());\n}\n",
160 code
: "\nasync function foo() {\n\treturn (a || await bar());\n}\n",
164 code
: "\nasync function foo() {\n\treturn (a, b, (c, d, await bar()));\n}\n",
168 code
: "\nasync function foo() {\n\treturn (a, b, (c && await bar()));\n}\n",
172 code
: "\nasync function foo() {\n\treturn (await baz(), b, await bar());\n}\n",
176 code
: "\nasync function foo() {\n\treturn (baz() ? await bar() : b);\n}\n",
180 code
: "\nasync function foo() {\n\treturn (baz() ? a : await bar());\n}\n",
184 code
: "\nasync function foo() {\n\treturn (baz() ? (a, await bar()) : b);\n}\n",
188 code
: "\nasync function foo() {\n\treturn (baz() ? a : (b, await bar()));\n}\n",
192 code
: "\nasync function foo() {\n\treturn (baz() ? (a && await bar()) : b);\n}\n",
196 code
: "\nasync function foo() {\n\treturn (baz() ? a : (b && await bar()));\n}\n",
200 code
: "\nasync () => { return await bar(); }\n",
204 code
: "\nasync () => await bar()\n",
208 code
: "\nasync () => (a, b, await bar())\n",
212 code
: "\nasync () => (a && await bar())\n",
216 code
: "\nasync () => (baz() ? await bar() : b)\n",
220 code
: "\nasync () => (baz() ? a : (b, await bar()))\n",
224 code
: "\nasync () => (baz() ? a : (b && await bar()))\n",
228 code
: "\nasync function foo() {\nif (a) {\n\t\tif (b) {\n\t\t\treturn await bar();\n\t\t}\n\t}\n}\n",
232 code
: "\nasync () => {\nif (a) {\n\t\tif (b) {\n\t\t\treturn await bar();\n\t\t}\n\t}\n}\n",
237 async function foo() {
248 async function foo() {
260 async function foo() {
270 async () => await bar();
277 async function foo() {