Merge pull request #4272 from YOMXXX/fix/ast-grep-windows-cli-suffix-test
test(ast-grep): lock Windows path matching against #4220 regression
This commit is contained in:
@@ -29,4 +29,21 @@ describe("hasCliSuffix", () => {
|
||||
// then
|
||||
expect(result).toBe(false)
|
||||
})
|
||||
|
||||
// regression: issue #4220 — ast_grep MCP failed on Windows because the older
|
||||
// dist used `path.endsWith("dist/cli.js")`. `hasCliSuffix` must match Windows
|
||||
// backslash paths against the POSIX-shaped `dist/cli.js` suffix.
|
||||
it("matches the ast_grep dist cli suffix on Windows path separators", () => {
|
||||
// given
|
||||
const windowsPath = "C:\\Users\\test\\AppData\\Local\\cache\\oh-my-opencode\\dist\\packages\\ast-grep-mcp\\dist\\cli.js"
|
||||
|
||||
// when: matched against just the trailing `dist/cli.js` segment
|
||||
const matchesShortSuffix = hasCliSuffix(windowsPath, "dist/cli.js")
|
||||
// and the fully-qualified package suffix
|
||||
const matchesPackageSuffix = hasCliSuffix(windowsPath, "packages/ast-grep-mcp/dist/cli.js")
|
||||
|
||||
// then: both must succeed despite the backslashes
|
||||
expect(matchesShortSuffix).toBe(true)
|
||||
expect(matchesPackageSuffix).toBe(true)
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user