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.
47 lines
1.4 KiB
47 lines
1.4 KiB
import { script } from "./shellcode/script.js" |
|
import { Bash, Fish, PowerShell, WinCmd, Zsh } from "./shellcode/shells.js" |
|
import describe from "./describe.js" |
|
|
|
for (const shell of [Bash, Zsh, Fish, PowerShell, WinCmd]) { |
|
describe(shell, () => { |
|
test(`current returns the current Node.js version set in fnm`, async () => { |
|
await script(shell) |
|
.then(shell.env({})) |
|
.then( |
|
shell.hasCommandOutput( |
|
shell.call("fnm", ["current"]), |
|
"none", |
|
"currently activated version" |
|
) |
|
) |
|
.then(shell.call("fnm", ["install", "v8.11.3"])) |
|
.then(shell.call("fnm", ["install", "v10.10.0"])) |
|
.then(shell.call("fnm", ["use", "v8.11.3"])) |
|
.then( |
|
shell.hasCommandOutput( |
|
shell.call("fnm", ["current"]), |
|
"v8.11.3", |
|
"currently activated version" |
|
) |
|
) |
|
.then(shell.call("fnm", ["use", "v10.10.0"])) |
|
.then( |
|
shell.hasCommandOutput( |
|
shell.call("fnm", ["current"]), |
|
"v10.10.0", |
|
"currently activated version" |
|
) |
|
) |
|
.then(shell.call("fnm", ["use", "system"])) |
|
.then( |
|
shell.hasCommandOutput( |
|
shell.call("fnm", ["current"]), |
|
"system", |
|
"currently activated version" |
|
) |
|
) |
|
.takeSnapshot(shell) |
|
.execute(shell) |
|
}) |
|
}) |
|
}
|
|
|