forked from hhvm/hhast
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAsyncFunctionAndMethodLinterTest.hack
47 lines (43 loc) · 1.67 KB
/
AsyncFunctionAndMethodLinterTest.hack
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
43
44
45
46
47
/*
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
namespace Facebook\HHAST;
final class AsyncFunctionAndMethodLinterTest extends TestCase {
use LinterTestTrait;
protected function getLinter(string $file): BaseLinter {
return AsyncFunctionAndMethodLinter::fromPath($file);
}
public function getCleanExamples(): vec<(string)> {
return vec[
tuple('<?hh class Foo { public function __construct() {} }'),
tuple('<?hh class Foo { public function __destruct() {} }'),
tuple('<?hh class Foo { public function fooBar() {} }'),
tuple(
'<?hh class Foo { public function getFooBarAsync(): Awaitable<void> {} }',
),
tuple('<?hh class Foo { public function getFooBarUNSAFE() {} }'),
tuple(
'<?hh class Foo { public function getFooBarAsyncxUNTYPED(): Awaitable<string> {} }',
),
tuple('<?hh class Foo { public function getFooBarDEPRECATED(): int {} }'),
tuple('<?hh function foo_bar() {}'),
tuple('<?hh function get_foo_bar_asyncx(): Awaitable<float> {}'),
tuple('<?hh function foo_bar_UNSAFE() {}'),
tuple('<?hh function foo_bar_async_UNTYPED(): Awaitable<int> {}'),
tuple('<?hh function foo_bar_DEPRECATED(): void {}'),
tuple(
'<?hh class Foo { function defaultVisibilityIsPublic(): string {} }',
),
// functions that start with 'test':
tuple(
'<?hh class Foo { public function testFoo() : Awaitable<string> {} }',
),
tuple('<?hh function test_foo_async(): Awaitable<void> {}'),
];
}
}