[Tests] ensure things that care about colors run in a terminal

This commit is contained in:
Jordan Harband
2024-07-28 21:00:48 -07:00
parent ff1257e8e3
commit d2f31a21f3
9 changed files with 62 additions and 55 deletions

View File

@@ -5,20 +5,20 @@
die () { echo "$@" ; exit 1; }
if [ -n "$ZSH_VERSION" ]; then
if [ -n "${ZSH_VERSION}" ]; then
# set clobber option in order to test that this does not produce any
# incompatibilities
setopt noclobber
fi
nvm alias test-stable-1 0.0.2 || die '`nvm alias test-stable-1 0.0.2` failed'
nvm alias test-stable-1 0.0.2 || die "\`nvm alias test-stable-1 0.0.2\` failed"
OUTPUT="$(nvm alias test-stable-1 | strip_colors)"
OUTPUT="$(run_in_terminal nvm alias test-stable-1 | strip_colors)"
EXPECTED_OUTPUT='test-stable-1 -> 0.0.2 (-> v0.0.2)'
echo "$OUTPUT" | \grep -F "$EXPECTED_OUTPUT" || die "nvm alias test-stable-1 0.0.2 did not set test-stable-1 to 0.0.2: got '$OUTPUT'"
echo "${OUTPUT}" | \grep -F "${EXPECTED_OUTPUT}" || die "nvm alias test-stable-1 0.0.2 did not set test-stable-1 to 0.0.2: got '${OUTPUT}'"
nvm alias test-stable-1 0.0.1 || die '`nvm alias test-stable-1 0.0.1` failed'
nvm alias test-stable-1 0.0.1 || die "\`nvm alias test-stable-1 0.0.1\` failed"
OUTPUT="$(nvm alias test-stable-1 | strip_colors)"
OUTPUT="$(run_in_terminal nvm alias test-stable-1 | strip_colors)"
EXPECTED_OUTPUT='test-stable-1 -> 0.0.1 (-> v0.0.1)'
echo "$OUTPUT" | \grep -F "$EXPECTED_OUTPUT" || die "nvm alias test-stable-1 0.0.1 did not set test-stable-1 to 0.0.1: got '$OUTPUT'"
echo "$OUTPUT" | \grep -F "${EXPECTED_OUTPUT}" || die "nvm alias test-stable-1 0.0.1 did not set test-stable-1 to 0.0.1: got '${OUTPUT}'"

View File

@@ -5,7 +5,7 @@
die () { echo "$@" ; exit 1; }
NVM_ALIAS_OUTPUT=$(nvm alias | strip_colors)
NVM_ALIAS_OUTPUT=$(run_in_terminal nvm alias | strip_colors)
EXPECTED_STABLE="$(nvm_print_implicit_alias local stable)"
STABLE_VERSION="$(nvm_version "$EXPECTED_STABLE")"

View File

@@ -19,31 +19,31 @@ make_fake_node v0.9.1
make_fake_iojs v0.2.1
EXPECTED_STABLE="$(nvm_print_implicit_alias local stable)"
STABLE_VERSION="$(nvm_version "$EXPECTED_STABLE")"
STABLE_VERSION="$(nvm_version "${EXPECTED_STABLE}")"
EXPECTED_UNSTABLE="$(nvm_print_implicit_alias local unstable)"
UNSTABLE_VERSION="$(nvm_version "$EXPECTED_UNSTABLE")"
UNSTABLE_VERSION="$(nvm_version "${EXPECTED_UNSTABLE}")"
[ "_$STABLE_VERSION" != "_$UNSTABLE_VERSION" ] \
[ "_${STABLE_VERSION}" != "_${UNSTABLE_VERSION}" ] \
|| die "stable and unstable versions are the same!"
nvm alias stable "$EXPECTED_UNSTABLE"
nvm alias unstable "$EXPECTED_STABLE"
nvm alias stable "${EXPECTED_UNSTABLE}"
nvm alias unstable "${EXPECTED_STABLE}"
nvm alias node stable
nvm alias iojs unstable
NVM_ALIAS_OUTPUT=$(nvm alias | strip_colors)
NVM_ALIAS_OUTPUT=$(run_in_terminal nvm alias | strip_colors)
echo "$NVM_ALIAS_OUTPUT" | command grep -F "stable -> $EXPECTED_UNSTABLE (-> $UNSTABLE_VERSION)" \
|| die "nvm alias did not contain the overridden 'stable' alias; got '$NVM_ALIAS_OUTPUT'"
echo "${NVM_ALIAS_OUTPUT}" | command grep -F "stable -> ${EXPECTED_UNSTABLE} (-> ${UNSTABLE_VERSION})" \
|| die "nvm alias did not contain the overridden 'stable' alias; got '${NVM_ALIAS_OUTPUT}'"
echo "$NVM_ALIAS_OUTPUT" | command grep -F "unstable -> $EXPECTED_STABLE (-> $STABLE_VERSION)" \
|| die "nvm alias did not contain the overridden 'unstable' alias; got '$NVM_ALIAS_OUTPUT'"
echo "${NVM_ALIAS_OUTPUT}" | command grep -F "unstable -> ${EXPECTED_STABLE} (-> ${STABLE_VERSION})" \
|| die "nvm alias did not contain the overridden 'unstable' alias; got '${NVM_ALIAS_OUTPUT}'"
echo "$NVM_ALIAS_OUTPUT" | command grep -F "node -> stable (-> $UNSTABLE_VERSION)" \
|| die "nvm alias did not contain the overridden 'node' alias; got '$NVM_ALIAS_OUTPUT'"
echo "${NVM_ALIAS_OUTPUT}" | command grep -F "node -> stable (-> ${UNSTABLE_VERSION})" \
|| die "nvm alias did not contain the overridden 'node' alias; got '${NVM_ALIAS_OUTPUT}'"
echo "$NVM_ALIAS_OUTPUT" | command grep -F "iojs -> unstable (-> $STABLE_VERSION)" \
|| die "nvm alias did not contain the overridden 'iojs' alias; got '$NVM_ALIAS_OUTPUT'"
echo "${NVM_ALIAS_OUTPUT}" | command grep -F "iojs -> unstable (-> ${STABLE_VERSION})" \
|| die "nvm alias did not contain the overridden 'iojs' alias; got '${NVM_ALIAS_OUTPUT}'"
cleanup

View File

@@ -5,7 +5,7 @@
die () { echo "$@" ; exit 1; }
NVM_ALIAS_OUTPUT="$(nvm alias | strip_colors)"
NVM_ALIAS_OUTPUT="$(run_in_terminal nvm alias | strip_colors)"
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-1 -> 0.0.1 (-> v0.0.1)' \
|| die "did not find test-stable-1 alias; got '$NVM_ALIAS_OUTPUT'"
echo "$NVM_ALIAS_OUTPUT" | \grep -F 'test-stable-2 -> 0.0.2 (-> v0.0.2)' \

View File

@@ -12,9 +12,9 @@ nvm_ensure_default_set 0.3 || die "'nvm_ensure_default_set' with an existing def
nvm unalias default || die "'nvm unalias default' failed"
OUTPUT="$(nvm_ensure_default_set 0.2)"
OUTPUT="$(run_in_terminal nvm_ensure_default_set 0.2)"
EXPECTED_OUTPUT="Creating default alias: default -> 0.2 (-> iojs-v0.2.10)"
EXIT_CODE="$?"
[ "_$(echo "$OUTPUT" | strip_colors)" = "_$EXPECTED_OUTPUT" ] || die "'nvm_ensure_default_set 0.2' did not output '$EXPECTED_OUTPUT', got '$OUTPUT'"
[ "_$EXIT_CODE" = "_0" ] || die "'nvm_ensure_default_set 0.2' did not exit with 0, got $EXIT_CODE"
[ "_$(echo "${OUTPUT}" | strip_colors)" = "_${EXPECTED_OUTPUT}" ] || die "'nvm_ensure_default_set 0.2' did not output '${EXPECTED_OUTPUT}', got '${OUTPUT}'"
[ "_${EXIT_CODE}" = "_0" ] || die "'nvm_ensure_default_set 0.2' did not exit with 0, got ${EXIT_CODE}"