jester icon indicating copy to clipboard operation
jester copied to clipboard

Fails to run tests with - in their name

Open FedeAbella opened this issue 11 months ago • 2 comments

This is basically a copy of #10. I commented there, but given it's closed, it might get lost so just repeating that here:

I can share what is being run on my case:

npx sfdx-lwc-jest -- -t '^c\\-api\\-data\\-fetcher does not display success or error messages when loading$' /home/fede/P
rogramming/Salesforce/one\\-customer\\-care\\-sfdc/force\\-app/main/default/lwc/apiDataFetcher/__tests__/apiDataFetcher\\.test\\.js

Please note the npx sfdx-lwc-jest -- is a wrapper around jest, but works fine if the dashes are not double escaped: npx sfdx-lwc-jest -- -t '^c-api-data-fetcher does not display' force-app/main/default/lwc/apiDataFetcher/__tests__/apiDataFetcher.test.js works fine (I dropped the $, but it just ends up running multiple tests)

This is my config:

return {
    'David-Kunz/jester',
    config = function()
        require('jester').setup {
            cmd = "npx sfdx-lwc-jest -- -t '$result' $file",
            prepend = { 'describe' },
            terminal_cmd = ":ToggleTerm direction=float"
        }
    end
}

Replicated in bash and zsh. Both in and out of tmux, and both in alacritty and gnome-terminal.

Let me know what other info I can get for you.

FedeAbella avatar Mar 17 '24 23:03 FedeAbella

I can confirm this issue, it happens to me when there's an underscore in the test description like "test the _document.head file". When I run the tests nearest. The command just skips the targeted test. It doesn't work even if I escape the underscore.

kabala avatar May 27 '24 07:05 kabala

there is undocumented option "escapeRegex"

so i initiate jester with escapeRegex = false:

local cmd = " ./node_modules/.bin/jest --runInBand --colors --detectOpenHandles -t '$result' -- $file"

vim.keymap.set("n", "<leader>jr", function()
    require("jester").run({ cmd = "node" .. cmd, escapeRegex = false })
end)

vim.keymap.set("n", "<leader>jd", function()
    require("jester").run({ cmd = "node --inspect-brk" .. cmd, escapeRegex = false })
end)

or we can produce an PR to improve escaping algorithm

@David-Kunz may be extend the available options in README examples?

RMAICE avatar Sep 09 '24 19:09 RMAICE