1; Add support for (node:test, bun:test and Jest) runnable
2; Function expression that has `it`, `test` or `describe` as the function name
3((call_expression
4 function: [
5 (identifier) @_name
6 (member_expression
7 object: [
8 (identifier) @_name
9 (member_expression
10 object: (identifier) @_name)
11 ])
12 ]
13 (#any-of? @_name "it" "test" "describe" "context" "suite")
14 arguments: (arguments
15 .
16 [
17 (string
18 (string_fragment) @run)
19 (identifier) @run
20 ])) @_js-test
21 (#set! tag js-test))
22
23; Add support for parameterized tests
24((call_expression
25 function: (call_expression
26 function: (member_expression
27 object: [
28 (identifier) @_name
29 (member_expression
30 object: (identifier) @_name)
31 ]
32 property: (property_identifier) @_property)
33 (#any-of? @_name "it" "test" "describe" "context" "suite")
34 (#eq? @_property "each"))
35 arguments: (arguments
36 .
37 [
38 (string
39 (string_fragment) @run)
40 (identifier) @run
41 ])) @_js-test
42 (#set! tag js-test))