You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
43 lines
1.3 KiB
![]()
2 years ago
|
import { script } from "./shellcode/script"
|
||
|
import { Bash, Fish, PowerShell, WinCmd, Zsh } from "./shellcode/shells"
|
||
|
import testCwd from "./shellcode/test-cwd"
|
||
|
import fs from "node:fs/promises"
|
||
|
import path from "node:path"
|
||
|
import describe from "./describe"
|
||
|
|
||
|
for (const shell of [Bash, Zsh, Fish, PowerShell, WinCmd]) {
|
||
|
describe(shell, () => {
|
||
|
test("`exec` usage", async () => {
|
||
|
await fs.writeFile(path.join(testCwd(), ".nvmrc"), "v8.10.0")
|
||
|
|
||
|
await script(shell)
|
||
|
.then(shell.call("fnm", ["install"]))
|
||
|
.then(shell.call("fnm", ["install", "v6.10.0"]))
|
||
|
.then(shell.call("fnm", ["install", "v10.10.0"]))
|
||
|
.then(
|
||
|
shell.hasCommandOutput(
|
||
|
shell.call("fnm", ["exec", "--", "node", "-v"]),
|
||
|
"v8.10.0",
|
||
|
"version file exec"
|
||
|
)
|
||
|
)
|
||
|
.then(
|
||
|
shell.hasCommandOutput(
|
||
|
shell.call("fnm", ["exec", "--using=6", "--", "node", "-v"]),
|
||
|
"v6.10.0",
|
||
|
"exec:6 node -v"
|
||
|
)
|
||
|
)
|
||
|
.then(
|
||
|
shell.hasCommandOutput(
|
||
|
shell.call("fnm", ["exec", "--using=10", "--", "node", "-v"]),
|
||
|
"v10.10.0",
|
||
|
"exec:6 node -v"
|
||
|
)
|
||
|
)
|
||
|
.takeSnapshot(shell)
|
||
|
.execute(shell)
|
||
|
})
|
||
|
})
|
||
|
}
|