@pxdiff/playwright 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/fixture.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { PxdiffClient } from "@pxdiff/sdk";
2
- import { detectBaselineRef, detectBranch, detectCommit } from "./git.js";
3
- const DEFAULT_API_URL = "https://api.pxdiff.com";
2
+ import { detectBaselineRef, detectBranch, detectCommit } from "@pxdiff/sdk/git";
3
+ const DEFAULT_API_URL = "https://pxdiff.com";
4
4
  /** Module-level WeakMap for passing context from fixture to matcher. */
5
5
  export const contextMap = new WeakMap();
6
6
  export function createPxdiffFixture(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGzE,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAEjD,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IACjE,OAAO;QACN,OAAO,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAwC,EAAE,EAAE;gBAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CACd,mDAAmD;wBAClD,+CAA+C,CAChD,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;gBAChF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;gBAC3C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;gBAEnD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,WAAW,GAAG,iBAAiB,EAAE,IAAI,MAAM,CAAC;gBAElD,kEAAkE;gBAClE,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAErC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACpB,MAAM;oBACN,MAAM;oBACN,KAAK;oBACL,QAAQ;oBACR,YAAY;oBACZ,MAAM;oBACN,MAAM;oBACN,WAAW;iBACX,CAAC,CAAC;gBAEH,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;gBAErB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,EAAE,IAAI,EAAE,IAAI,EAAE;SACL;KACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../src/fixture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGhF,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAE7C,wEAAwE;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,OAA8B;IACjE,OAAO;QACN,OAAO,EAAE;YACR,KAAK,EAAE,EAAE,IAAI,EAAkB,EAAE,GAAwC,EAAE,EAAE;gBAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CACd,mDAAmD;wBAClD,+CAA+C,CAChD,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,eAAe,CAAC;gBAChF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC;gBAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC;gBAC3C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;gBAEnD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACrF,MAAM,WAAW,GAAG,iBAAiB,EAAE,IAAI,MAAM,CAAC;gBAElD,kEAAkE;gBAClE,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAErC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;oBACpB,MAAM;oBACN,MAAM;oBACN,KAAK;oBACL,QAAQ;oBACR,YAAY;oBACZ,MAAM;oBACN,MAAM;oBACN,WAAW;iBACX,CAAC,CAAC;gBAEH,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC;gBAErB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,EAAE,IAAI,EAAE,IAAI,EAAE;SACL;KACV,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -3,7 +3,7 @@ export interface PxdiffFixtureOptions {
3
3
  suite?: string;
4
4
  /** If true, changed snapshots fail the test. Defaults to true. */
5
5
  blocking?: boolean;
6
- /** API URL override. Defaults to PXDIFF_API_URL env or https://api.pxdiff.com. */
6
+ /** API URL override. Defaults to PXDIFF_API_URL env or https://pxdiff.com. */
7
7
  apiUrl?: string;
8
8
  /** Git metadata overrides. Auto-detected when not provided. */
9
9
  git?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,GAAG,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACtC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAClC,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACpC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,GAAG,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACtC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAClC,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pxdiff/playwright",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -12,7 +12,7 @@
12
12
  "dist"
13
13
  ],
14
14
  "dependencies": {
15
- "@pxdiff/sdk": "0.0.2"
15
+ "@pxdiff/sdk": "0.0.4"
16
16
  },
17
17
  "peerDependencies": {
18
18
  "@playwright/test": ">=1.40"
package/dist/git.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export declare function detectBranch(override?: string): Promise<string>;
2
- export declare function detectCommit(override?: string): Promise<string>;
3
- export declare function detectBaselineRef(): string | null;
4
- //# sourceMappingURL=git.d.ts.map
package/dist/git.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBrE;AAED,wBAAsB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBrE;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAUjD"}
package/dist/git.js DELETED
@@ -1,61 +0,0 @@
1
- import { execFile } from "node:child_process";
2
- import { promisify } from "node:util";
3
- const execFileAsync = promisify(execFile);
4
- export async function detectBranch(override) {
5
- if (override)
6
- return override;
7
- // GitHub Actions: PR head branch
8
- const ghHead = process.env.GITHUB_HEAD_REF;
9
- if (ghHead)
10
- return ghHead;
11
- // GitHub Actions: push branch (strip refs/heads/ prefix)
12
- const ghRef = process.env.GITHUB_REF;
13
- if (ghRef) {
14
- const prefix = "refs/heads/";
15
- return ghRef.startsWith(prefix) ? ghRef.slice(prefix.length) : ghRef;
16
- }
17
- // GitLab CI
18
- const glRef = process.env.CI_COMMIT_REF_NAME;
19
- if (glRef)
20
- return glRef;
21
- // Local git
22
- try {
23
- const { stdout } = await execFileAsync("git", ["rev-parse", "--abbrev-ref", "HEAD"]);
24
- return stdout.trim();
25
- }
26
- catch {
27
- throw new Error("Failed to detect git branch. Set PXDIFF_BRANCH or run in a git repository.");
28
- }
29
- }
30
- export async function detectCommit(override) {
31
- if (override)
32
- return override;
33
- // GitHub Actions
34
- const ghSha = process.env.GITHUB_SHA;
35
- if (ghSha)
36
- return ghSha;
37
- // GitLab CI
38
- const glSha = process.env.CI_COMMIT_SHA;
39
- if (glSha)
40
- return glSha;
41
- // Local git
42
- try {
43
- const { stdout } = await execFileAsync("git", ["rev-parse", "HEAD"]);
44
- return stdout.trim();
45
- }
46
- catch {
47
- throw new Error("Failed to detect git commit. Set PXDIFF_COMMIT or run in a git repository.");
48
- }
49
- }
50
- export function detectBaselineRef() {
51
- // GitHub Actions: PR base branch
52
- const ghBase = process.env.GITHUB_BASE_REF;
53
- if (ghBase)
54
- return ghBase;
55
- // Explicit override
56
- const pxdiffRef = process.env.PXDIFF_BASELINE_REF;
57
- if (pxdiffRef)
58
- return pxdiffRef;
59
- return null;
60
- }
61
- //# sourceMappingURL=git.js.map
package/dist/git.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAiB;IACnD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,iCAAiC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,yDAAyD;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACrC,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,aAAa,CAAC;QAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,CAAC;IAED,YAAY;IACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC7C,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,YAAY;IACZ,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC/F,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAiB;IACnD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,iBAAiB;IACjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACrC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,YAAY;IACZ,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACxC,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAExB,YAAY;IACZ,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC/F,CAAC;AACF,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,iCAAiC;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC3C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,oBAAoB;IACpB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAClD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=git.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.test.d.ts","sourceRoot":"","sources":["../src/git.test.ts"],"names":[],"mappings":""}
package/dist/git.test.js DELETED
@@ -1,119 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
- // Mock child_process before importing the module
3
- vi.mock("node:child_process", () => ({
4
- execFile: vi.fn(),
5
- }));
6
- import { execFile } from "node:child_process";
7
- import { detectBaselineRef, detectBranch, detectCommit } from "./git.js";
8
- function mockExecFile(stdout) {
9
- vi.mocked(execFile).mockImplementation((_cmd, _args, cb) => {
10
- cb(null, { stdout });
11
- return undefined;
12
- });
13
- }
14
- function mockExecFileError() {
15
- vi.mocked(execFile).mockImplementation((_cmd, _args, cb) => {
16
- cb(new Error("git not found"));
17
- return undefined;
18
- });
19
- }
20
- describe("detectBranch", () => {
21
- beforeEach(() => {
22
- vi.unstubAllEnvs();
23
- });
24
- afterEach(() => {
25
- vi.restoreAllMocks();
26
- });
27
- it("returns override when provided", async () => {
28
- expect(await detectBranch("my-branch")).toBe("my-branch");
29
- });
30
- it("reads GITHUB_HEAD_REF for PR branches", async () => {
31
- vi.stubEnv("GITHUB_HEAD_REF", "feat/new-feature");
32
- expect(await detectBranch()).toBe("feat/new-feature");
33
- });
34
- it("reads GITHUB_REF and strips refs/heads/ prefix", async () => {
35
- vi.stubEnv("GITHUB_HEAD_REF", "");
36
- vi.stubEnv("GITHUB_REF", "refs/heads/main");
37
- expect(await detectBranch()).toBe("main");
38
- });
39
- it("returns GITHUB_REF as-is when not a heads ref", async () => {
40
- vi.stubEnv("GITHUB_HEAD_REF", "");
41
- vi.stubEnv("GITHUB_REF", "refs/tags/v1.0.0");
42
- expect(await detectBranch()).toBe("refs/tags/v1.0.0");
43
- });
44
- it("reads CI_COMMIT_REF_NAME for GitLab CI", async () => {
45
- vi.stubEnv("GITHUB_HEAD_REF", "");
46
- vi.stubEnv("GITHUB_REF", "");
47
- vi.stubEnv("CI_COMMIT_REF_NAME", "develop");
48
- expect(await detectBranch()).toBe("develop");
49
- });
50
- it("falls back to git rev-parse", async () => {
51
- vi.stubEnv("GITHUB_HEAD_REF", "");
52
- vi.stubEnv("GITHUB_REF", "");
53
- vi.stubEnv("CI_COMMIT_REF_NAME", "");
54
- mockExecFile("feature-branch\n");
55
- expect(await detectBranch()).toBe("feature-branch");
56
- });
57
- it("throws when git command fails and no env vars set", async () => {
58
- vi.stubEnv("GITHUB_HEAD_REF", "");
59
- vi.stubEnv("GITHUB_REF", "");
60
- vi.stubEnv("CI_COMMIT_REF_NAME", "");
61
- mockExecFileError();
62
- await expect(detectBranch()).rejects.toThrow("Failed to detect git branch");
63
- });
64
- });
65
- describe("detectCommit", () => {
66
- beforeEach(() => {
67
- vi.unstubAllEnvs();
68
- });
69
- afterEach(() => {
70
- vi.restoreAllMocks();
71
- });
72
- it("returns override when provided", async () => {
73
- expect(await detectCommit("abc123")).toBe("abc123");
74
- });
75
- it("reads GITHUB_SHA", async () => {
76
- vi.stubEnv("GITHUB_SHA", "deadbeef1234567890abcdef");
77
- expect(await detectCommit()).toBe("deadbeef1234567890abcdef");
78
- });
79
- it("reads CI_COMMIT_SHA for GitLab CI", async () => {
80
- vi.stubEnv("GITHUB_SHA", "");
81
- vi.stubEnv("CI_COMMIT_SHA", "gitlab-sha-123");
82
- expect(await detectCommit()).toBe("gitlab-sha-123");
83
- });
84
- it("falls back to git rev-parse", async () => {
85
- vi.stubEnv("GITHUB_SHA", "");
86
- vi.stubEnv("CI_COMMIT_SHA", "");
87
- mockExecFile("abcdef1234567890\n");
88
- expect(await detectCommit()).toBe("abcdef1234567890");
89
- });
90
- it("throws when git command fails and no env vars set", async () => {
91
- vi.stubEnv("GITHUB_SHA", "");
92
- vi.stubEnv("CI_COMMIT_SHA", "");
93
- mockExecFileError();
94
- await expect(detectCommit()).rejects.toThrow("Failed to detect git commit");
95
- });
96
- });
97
- describe("detectBaselineRef", () => {
98
- beforeEach(() => {
99
- vi.unstubAllEnvs();
100
- });
101
- afterEach(() => {
102
- vi.restoreAllMocks();
103
- });
104
- it("reads GITHUB_BASE_REF for PR base branch", () => {
105
- vi.stubEnv("GITHUB_BASE_REF", "main");
106
- expect(detectBaselineRef()).toBe("main");
107
- });
108
- it("reads PXDIFF_BASELINE_REF when set", () => {
109
- vi.stubEnv("GITHUB_BASE_REF", "");
110
- vi.stubEnv("PXDIFF_BASELINE_REF", "develop");
111
- expect(detectBaselineRef()).toBe("develop");
112
- });
113
- it("returns null when no env vars set", () => {
114
- vi.stubEnv("GITHUB_BASE_REF", "");
115
- vi.stubEnv("PXDIFF_BASELINE_REF", "");
116
- expect(detectBaselineRef()).toBeNull();
117
- });
118
- });
119
- //# sourceMappingURL=git.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.test.js","sourceRoot":"","sources":["../src/git.test.ts"],"names":[],"mappings":"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"}