From 9334e152b4a286d24140a5c6f3e7d11b00933830 Mon Sep 17 00:00:00 2001 From: Alexander Date: Tue, 10 Jun 2025 23:00:42 +0700 Subject: [PATCH] Allow identifiers in TypeScript/JavaScript test names (#32467) Current behavior (not detected as runnable): image 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 --- crates/languages/src/javascript/outline.scm | 10 ++++++++-- crates/languages/src/javascript/runnables.scm | 10 ++++++++-- crates/languages/src/typescript/outline.scm | 10 ++++++++-- crates/languages/src/typescript/runnables.scm | 10 ++++++++-- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/crates/languages/src/javascript/outline.scm b/crates/languages/src/javascript/outline.scm index f00518a277..99aa4bdfd5 100644 --- a/crates/languages/src/javascript/outline.scm +++ b/crates/languages/src/javascript/outline.scm @@ -75,7 +75,10 @@ ] @context (#any-of? @_name "it" "test" "describe" "context" "suite") arguments: ( - arguments . (string (string_fragment) @name) + arguments . [ + (string (string_fragment) @name) + (identifier) @name + ] ) ) ) @item @@ -92,7 +95,10 @@ (#eq? @_property "each") ) arguments: ( - arguments . (string (string_fragment) @name) + arguments . [ + (string (string_fragment) @name) + (identifier) @name + ] ) ) ) @item diff --git a/crates/languages/src/javascript/runnables.scm b/crates/languages/src/javascript/runnables.scm index e953632f9a..c64aacb50e 100644 --- a/crates/languages/src/javascript/runnables.scm +++ b/crates/languages/src/javascript/runnables.scm @@ -13,7 +13,10 @@ ] (#any-of? @_name "it" "test" "describe" "context" "suite") arguments: ( - arguments . (string (string_fragment) @run) + arguments . [ + (string (string_fragment) @run) + (identifier) @run + ] ) ) @_js-test @@ -32,7 +35,10 @@ (#eq? @_property "each") ) arguments: ( - arguments . (string (string_fragment) @run) + arguments . [ + (string (string_fragment) @run) + (identifier) @run + ] ) ) @_js-test diff --git a/crates/languages/src/typescript/outline.scm b/crates/languages/src/typescript/outline.scm index a2503bd403..df6ffa5aec 100644 --- a/crates/languages/src/typescript/outline.scm +++ b/crates/languages/src/typescript/outline.scm @@ -83,7 +83,10 @@ ] @context (#any-of? @_name "it" "test" "describe" "context" "suite") arguments: ( - arguments . (string (string_fragment) @name) + arguments . [ + (string (string_fragment) @name) + (identifier) @name + ] ) ) ) @item @@ -100,7 +103,10 @@ (#any-of? @_property "each") ) arguments: ( - arguments . (string (string_fragment) @name) + arguments . [ + (string (string_fragment) @name) + (identifier) @name + ] ) ) ) @item diff --git a/crates/languages/src/typescript/runnables.scm b/crates/languages/src/typescript/runnables.scm index ce6da8f903..85702cf99d 100644 --- a/crates/languages/src/typescript/runnables.scm +++ b/crates/languages/src/typescript/runnables.scm @@ -13,7 +13,10 @@ ] (#any-of? @_name "it" "test" "describe" "context" "suite") arguments: ( - arguments . (string (string_fragment) @run) + arguments . [ + (string (string_fragment) @run) + (identifier) @run + ] ) ) @_js-test @@ -32,7 +35,10 @@ (#any-of? @_property "each") ) arguments: ( - arguments . (string (string_fragment) @run) + arguments . [ + (string (string_fragment) @run) + (identifier) @run + ] ) ) @_js-test