]>
git.proxmox.com Git - pve-eslint.git/blob - eslint/tests/lib/rules/require-await.js
2 * @fileoverview Tests for require-await rule.
3 * @author Toru Nagashima
8 //------------------------------------------------------------------------------
10 //------------------------------------------------------------------------------
12 const rule
= require("../../../lib/rules/require-await"),
13 { RuleTester
} = require("../../../lib/rule-tester");
15 //------------------------------------------------------------------------------
17 //------------------------------------------------------------------------------
19 const ruleTester
= new RuleTester({
25 ruleTester
.run("require-await", rule
, {
27 "async function foo() { await doSomething() }",
28 "(async function() { await doSomething() })",
29 "async () => { await doSomething() }",
30 "async () => await doSomething()",
31 "({ async foo() { await doSomething() } })",
32 "class A { async foo() { await doSomething() } }",
33 "(class { async foo() { await doSomething() } })",
34 "async function foo() { await async () => { await doSomething() } }",
36 // empty functions are ok.
37 "async function foo() {}",
40 // normal functions are ok.
41 "function foo() { doSomething() }",
44 "async function foo() { for await (x of xs); }",
49 parser
: require
.resolve("../../fixtures/parsers/typescript-parsers/global-await")
53 for await (let num of asyncIterable) {
57 parser
: require
.resolve("../../fixtures/parsers/typescript-parsers/global-for-await-of")
60 code
: "async function* run() { yield * anotherAsyncGenerator() }",
61 parserOptions
: { ecmaVersion
: 9 }
64 code
: `async function* run() {
65 await new Promise(resolve => setTimeout(resolve, 100));
70 parserOptions
: { ecmaVersion
: 9 }
73 code
: "async function* run() { }",
74 parserOptions
: { ecmaVersion
: 9 }
77 code
: "const foo = async function *(){}",
78 parserOptions
: { ecmaVersion
: 9 }
81 code
: 'const foo = async function *(){ console.log("bar") }',
82 parserOptions
: { ecmaVersion
: 9 }
85 code
: 'async function* run() { console.log("bar") }',
86 parserOptions
: { ecmaVersion
: 9 }
92 code
: "async function foo() { doSomething() }",
94 messageId
: "missingAwait",
95 data
: { name
: "Async function 'foo'" }
99 code
: "(async function() { doSomething() })",
101 messageId
: "missingAwait",
102 data
: { name
: "Async function" }
106 code
: "async () => { doSomething() }",
108 messageId
: "missingAwait",
109 data
: { name
: "Async arrow function" }
113 code
: "async () => doSomething()",
115 messageId
: "missingAwait",
116 data
: { name
: "Async arrow function" }
120 code
: "({ async foo() { doSomething() } })",
122 messageId
: "missingAwait",
123 data
: { name
: "Async method 'foo'" }
127 code
: "class A { async foo() { doSomething() } }",
129 messageId
: "missingAwait",
130 data
: { name
: "Async method 'foo'" }
134 code
: "(class { async foo() { doSomething() } })",
136 messageId
: "missingAwait",
137 data
: { name
: "Async method 'foo'" }
141 code
: "(class { async ''() { doSomething() } })",
143 messageId
: "missingAwait",
144 data
: { name
: "Async method ''" }
148 code
: "async function foo() { async () => { await doSomething() } }",
150 messageId
: "missingAwait",
151 data
: { name
: "Async function 'foo'" }
155 code
: "async function foo() { await async () => { doSomething() } }",
157 messageId
: "missingAwait",
158 data
: { name
: "Async arrow function" }