Skip to content
3 changes: 2 additions & 1 deletion src/signals/engine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5474,7 +5474,8 @@ function isTestFile(file: string): boolean {
/(^|\/)src\/test\//i.test(file) ||
/(^|\/)[^/]+_test\.(go|py|rb)$/i.test(file) ||
/(^|\/)[^/]+_spec\.rb$/i.test(file) ||
/\.(test|spec)\.(ts|tsx|js|jsx|py|rb|rs)$/i.test(file)
/\.(test|spec)\.(ts|tsx|js|jsx|py|rb|rs)$/i.test(file) ||
/(^|\/)testdata\//i.test(file)
);
}

Expand Down
3 changes: 2 additions & 1 deletion src/signals/test-evidence.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ export function isTestPath(file: string): boolean {
/(^|\/)[^/]+_spec\.rb$/i.test(file) ||
/\.(test|spec)\.(ts|tsx|js|jsx|py|rb|rs)$/i.test(file) ||
/(^|\/)[^/]+\.(cy|e2e)\.(ts|tsx|js|jsx)$/i.test(file) ||
/(^|\/)__snapshots__\//i.test(file)
/(^|\/)__snapshots__\//i.test(file) ||
/(^|\/)testdata\//i.test(file)
);
}

Expand Down
1 change: 1 addition & 0 deletions test/unit/local-branch-file-classifiers.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ describe("isTestFile", () => {

it("delegates to test-evidence isTestPath so matchers stay in sync", () => {
expect(isTestFile("tests/integration/api.test.ts")).toBe(true);
expect(isTestFile("pkg/auth/testdata/golden.json")).toBe(true);
});
});

Expand Down
5 changes: 5 additions & 0 deletions test/unit/test-evidence.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ describe("test evidence helpers", () => {
expect(isTestPath("playwright/smoke.spec.ts")).toBe(true);
expect(isTestPath("cypress/e2e/checkout.cy.js")).toBe(true);
expect(isTestPath("components/__snapshots__/Card.tsx.snap")).toBe(true);
expect(isTestPath("pkg/auth/testdata/golden.json")).toBe(true);
expect(isTestPath("internal/widget/testdata/input.txt")).toBe(true);
expect(isTestPath("src/testdata/client.ts")).toBe(true);
expect(isTestPath("src/state.snap")).toBe(false);
expect(isTestPath("src/widget.rs")).toBe(false);
});
Expand All @@ -22,6 +25,8 @@ describe("test evidence helpers", () => {
expect(isTestPath("src/playwright/client.ts")).toBe(false);
expect(isTestPath("src/cypress/client.ts")).toBe(false);
expect(isTestPath("src/e2e/client.ts")).toBe(false);
expect(isTestPath("src/contestdata/client.ts")).toBe(false);
expect(isTestPath("src/testdatabase/client.ts")).toBe(false);
expect(isTestPath("src/integration/auth.test.ts")).toBe(true);
expect(isTestPath("src/playwright/client.e2e.ts")).toBe(true);
expect(isTestPath("src/cypress/client.cy.ts")).toBe(true);
Expand Down
Loading