Files
oak-gpui/crates/languages/src/javascript/runnables.scm
T
Alexander 9334e152b4 Allow identifiers in TypeScript/JavaScript test names (#32467)
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
2025-06-10 18:00:42 +02:00

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)
)