fix TSamFailedOnly
All checks were successful
tests / test (push) Successful in 8s

This commit is contained in:
2026-01-03 15:18:19 +01:00
parent 5216378d3c
commit 58ab97f757
2 changed files with 33 additions and 16 deletions

View File

@@ -287,18 +287,6 @@ describe("test-samurai-jest-runner", function()
cwd = "/tmp",
}
local failures = { "Math/adds", "edge (1+1)" }
runner.parse_results(table.concat({
"TSAMURAI_RESULT " .. vim.json.encode({
name = "Math/adds",
jestName = "Math adds",
status = "failed",
}),
"TSAMURAI_RESULT " .. vim.json.encode({
name = "edge (1+1)",
jestName = "edge (1+1)",
status = "failed",
}),
}, "\n"))
local cmd_spec = runner.build_failed_command(last_command, failures, "file")
@@ -317,7 +305,7 @@ describe("test-samurai-jest-runner", function()
},
cmd_spec.cmd
)
assert.is_true(pattern:match("%^Math adds%$") ~= nil)
assert.is_true(pattern:match("%^%..*adds%$") ~= nil)
assert.is_true(pattern:match("edge") ~= nil)
assert.is_true(pattern:find("\\(1", 1, true) ~= nil)
assert.is_true(pattern:find("\\+1", 1, true) ~= nil)
@@ -373,6 +361,24 @@ describe("test-samurai-jest-runner", function()
assert.is_nil(parser.on_complete("", state))
end)
it("keeps failures_all across non-failure lines", function()
local parser = runner.output_parser()
local state = {}
local fail_line = "TSAMURAI_RESULT " .. vim.json.encode({
name = "Math/adds",
status = "failed",
})
local pass_line = "TSAMURAI_RESULT " .. vim.json.encode({
name = "Math/other",
status = "passed",
})
parser.on_line(fail_line, state)
local results = parser.on_line(pass_line, state)
assert.are.same({ "Math/adds" }, results.failures_all)
end)
it("parse_test_output groups output per test", function()
local output = table.concat({
"TSAMURAI_RESULT " .. vim.json.encode({