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 f00518a277e015d5f33d1bb40de6b9a9b7a106eb..99aa4bdfd5ad530505ebb90dc075e5ca405a5451 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 e953632f9ad4f3cb540d6f9c736bb5741b6179db..c64aacb50e286b1aeeb1231f2745d4d5923a7c1d 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 a2503bd403e585bf9424c2d635f3b606d85c5b52..df6ffa5aec8aa1b23b8179d0c341231feea5c0b5 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 ce6da8f903e26079b451e10b81dfad5b63665f8f..85702cf99d9968b29f9375bfd8215ecba53f2eb5 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