Change summary
crates/languages/src/tsx/outline.scm | 25 ++++++++++++++++++++++++-
crates/languages/src/tsx/runnables.scm | 27 ++++++++++++++++++++++++++-
2 files changed, 50 insertions(+), 2 deletions(-)
Detailed changes
@@ -83,7 +83,30 @@
] @context
(#any-of? @_name "it" "test" "describe" "context" "suite")
arguments: (
- arguments . (string (string_fragment) @name)
+ arguments . [
+ (string (string_fragment) @name)
+ (identifier) @name
+ ]
+ )
+ )
+) @item
+
+; 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")
+ (#any-of? @_property "each")
+ )
+ arguments: (
+ arguments . [
+ (string (string_fragment) @name)
+ (identifier) @name
+ ]
)
)
) @item
@@ -13,7 +13,32 @@
]
(#any-of? @_name "it" "test" "describe" "context" "suite")
arguments: (
- arguments . (string (string_fragment) @run)
+ 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")
+ (#any-of? @_property "each")
+ )
+ arguments: (
+ arguments . [
+ (string (string_fragment) @run)
+ (identifier) @run
+ ]
)
) @_js-test