


























@@ -45,6 +45,14 @@ function firstCommandRun(): unknown[] | undefined {
4545return runCommandWithTimeoutMock.mock.calls[0];
4646}
474748+function commandArgvAt(index: number): string[] {
49+const call = runCommandWithTimeoutMock.mock.calls[index];
50+if (!call) {
51+throw new Error(`expected command run #${index + 1}`);
52+}
53+return call[0] as string[];
54+}
55+4856function firstInstallOptions():
4957| {
5058expectedPluginId?: string;
@@ -120,16 +128,11 @@ describe("installPluginFromGitSpec", () => {
120128expect(result.git.url).toBe("https://github.com/acme/demo.git");
121129expect(result.git.ref).toBe("v1.2.3");
122130expect(result.git.commit).toBe("abc123");
123-const cloneArgv = firstCommandRun()?.[0] as string[];
131+const cloneArgv = commandArgvAt(0);
124132expect(cloneArgv.slice(0, 3)).toEqual(["git", "clone", "https://github.com/acme/demo.git"]);
125133expect(cloneArgv[3]).toContain("/repo");
126-expect(runCommandWithTimeoutMock.mock.calls.at(1)?.[0]).toEqual([
127-"git",
128-"checkout",
129-"--detach",
130-"v1.2.3",
131-]);
132-expect(runCommandWithTimeoutMock.mock.calls.at(3)?.[0]).toEqual([
134+expect(commandArgvAt(1)).toEqual(["git", "checkout", "--detach", "v1.2.3"]);
135+expect(commandArgvAt(3)).toEqual([
133136"npm",
134137"install",
135138"--omit=dev",
@@ -171,7 +174,7 @@ describe("installPluginFromGitSpec", () => {
171174throw new Error(result.error);
172175}
173176174-const cloneArgv = firstCommandRun()?.[0] as string[];
177+const cloneArgv = commandArgvAt(0);
175178expect(cloneArgv.slice(0, 5)).toEqual([
176179"git",
177180"clone",
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。