mirror of
https://github.com/nvm-sh/nvm.git
synced 2025-05-10 06:11:51 +00:00

In theory, `npx nvmrc` can now be used to validate an `.nvmrc` file that `nvm` will support. Allowances have been made for future extensibility, and aliases may no longer contain a `#`. Fixes #3336. Closes #2288. Co-authored-by: Jordan Harband <ljharb@gmail.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
35 lines
1.2 KiB
Bash
Executable File
35 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
die () { echo "$@" ; cleanup ; exit 1; }
|
|
|
|
cleanup() {
|
|
echo 'cleaned up'
|
|
}
|
|
|
|
\. ../../../nvm.sh
|
|
|
|
\. ../../common.sh
|
|
|
|
for f in ../../../test/fixtures/nvmrc/test/fixtures/valid/*; do
|
|
STDOUT="$(nvm_process_nvmrc $f/.nvmrc 2>/dev/null)"
|
|
EXIT_CODE="$(nvm_process_nvmrc $f/.nvmrc >/dev/null 2>/dev/null; echo $?)"
|
|
|
|
EXPECTED="$(extract_value node "$(parse_json "$(cat "$f/expected.json")")")"
|
|
|
|
[ "${EXIT_CODE}" = "0" ] || die "$(basename "${f}"): expected exit code of 0 but got ${EXIT_CODE}"
|
|
|
|
[ "${STDOUT}" = "${EXPECTED}" ] || die "$(basename "${f}"): expected STDOUT of \`${EXPECTED}\` but got \`${STDOUT}\`"
|
|
done
|
|
|
|
for f in ../../../test/fixtures/nvmrc/test/fixtures/invalid/*; do
|
|
STDOUT="$(nvm_process_nvmrc $f/.nvmrc 2>/dev/null)"
|
|
STDERR="$(nvm_process_nvmrc $f/.nvmrc 2>&1 >/dev/null | awk '{if(NR > 8) print $0}' | strip_colors)"
|
|
EXIT_CODE="$(nvm_process_nvmrc $f/.nvmrc >/dev/null 2>/dev/null; echo $?)"
|
|
|
|
EXPECTED="$(parse_json "$(cat "$f/expected.json")" | sed 's/^[0-9]*="//;s/"$//')"
|
|
|
|
[ "${EXIT_CODE}" != "0" ] || die "$(basename "${f}"): expected exit code of 'not 0' but got ${EXIT_CODE}"
|
|
|
|
[ "${STDERR}" = "${EXPECTED}" ] || die "$(basename "${f}"): expected STDERR of \`${EXPECTED}\` but got \`${STDERR}\`"
|
|
done
|