Current behavior (not detected as runnable): <img width="1105" alt="image" src="https://github.com/user-attachments/assets/7d3b7936-43d8-4645-bbbb-e81ed5f9b35a" /> New behavior: https://github.com/user-attachments/assets/524e2a56-cb30-4dc0-98ec-b34b510015e0 Release Notes: - Improved detection of runnable TypeScript/JavaScript test cases when they contain identifier
47 lines
1.3 KiB
Scheme
47 lines
1.3 KiB
Scheme
; Add support for (node:test, bun:test and Jest) runnable
|
|
; Function expression that has `it`, `test` or `describe` as the function name
|
|
(
|
|
(call_expression
|
|
function: [
|
|
(identifier) @_name
|
|
(member_expression
|
|
object: [
|
|
(identifier) @_name
|
|
(member_expression object: (identifier) @_name)
|
|
]
|
|
)
|
|
]
|
|
(#any-of? @_name "it" "test" "describe" "context" "suite")
|
|
arguments: (
|
|
arguments . [
|
|
(string (string_fragment) @run)
|
|
(identifier) @run
|
|
]
|
|
)
|
|
) @_js-test
|
|
|
|
(#set! tag js-test)
|
|
)
|
|
|
|
; Add support for parameterized tests
|
|
(
|
|
(call_expression
|
|
function: (call_expression
|
|
function: (member_expression
|
|
object: [(identifier) @_name (member_expression object: (identifier) @_name)]
|
|
property: (property_identifier) @_property
|
|
)
|
|
(#any-of? @_name "it" "test" "describe" "context" "suite")
|
|
(#eq? @_property "each")
|
|
)
|
|
arguments: (
|
|
arguments . [
|
|
(string (string_fragment) @run)
|
|
(identifier) @run
|
|
]
|
|
)
|
|
) @_js-test
|
|
|
|
(#set! tag js-test)
|
|
)
|