[New] Added set-colors command. See details below:
This command allows users to replace default colors with their own custom colors. - top-level commands modified: alias, ls, ls-remote - helper functions added: nvm_echo_with_colors, nvm_err_with_colors, nvm_set_colors, nvm_get_colors, nvm_print_color_code - functions modified: nvm_print_formatted_alias, nvm_print_versions, nvm_print_alias_path (implicitly), nvm_print_default_alias (implicitly), nvm_list_aliases (implicitly) We added tests and info on using this command to the README! Co-authored-by: Dena Burd <29719099+gitburd@users.noreply.github.com> Co-authored-by: Naomi Quinones <52065567+naomiquinones@users.noreply.github.com>
This commit is contained in:
committed by
Jordan Harband
parent
3abb98124e
commit
6848c16d53
@@ -6,9 +6,17 @@ die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset -f nvm_download nvm_ls_remote nvm_ls_remote_iojs
|
||||
if [ -n TEMP_NVM_COLORS ]; then
|
||||
export NVM_COLORS=TEMP_NVM_COLORS
|
||||
fi
|
||||
unset TEMP_NVM_COLORS
|
||||
}
|
||||
|
||||
\. ../../../nvm.sh
|
||||
if [ -n ${NVM_COLORS} ]; then
|
||||
export TEMP_NVM_COLORS=NVM_COLORS
|
||||
unset NVM_COLORS
|
||||
fi
|
||||
|
||||
nvm deactivate 2>/dev/null || die 'unable to deactivate'
|
||||
|
||||
|
||||
52
test/fast/Unit tests/nvm set_colors
Executable file
52
test/fast/Unit tests/nvm set_colors
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset NVM_COLORS
|
||||
unset -f nvm_has_colors
|
||||
if [ -n TEMP_NVM_COLORS ]; then
|
||||
export NVM_COLORS=TEMP_NVM_COLORS
|
||||
fi
|
||||
unset TEMP_NVM_COLORS
|
||||
}
|
||||
|
||||
\. ../../../nvm.sh
|
||||
# NVM_COLORS is not set
|
||||
if [ -n ${NVM_COLORS} ]; then
|
||||
export TEMP_NVM_COLORS=NVM_COLORS
|
||||
unset NVM_COLORS
|
||||
fi
|
||||
|
||||
# test valid setting colors/
|
||||
nvm set-colors rgbyc
|
||||
OUTPUT="${NVM_COLORS}"
|
||||
EXPECTED_OUTPUT="rgbyc"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "NVM_SET_COLORS failed with valid input; got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
# test invalid 4 colors
|
||||
set +ex
|
||||
OUTPUT="$(echo $(nvm set-colors rgby 2>&1) | awk '{ print substr($0, length($0)-92, 93); }')"
|
||||
EXPECTED_OUTPUT="$(command printf %b "\033[1;37mPlease pass in five \033[1;31mvalid color codes\033[1;37m. Choose from: rRgGbBcCyYmMkKeW\033[0m")"
|
||||
set -ex
|
||||
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "NVM_SET_COLORS did not fail with invalid input; got >${OUTPUT}, < expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
# test invalid color codes
|
||||
set +ex
|
||||
OUTPUT="$(echo $(nvm set-colors p3gq7 2>&1) | awk '{ print substr($0, length($0)-92, 93); }')"
|
||||
EXPECTED_OUTPUT="$(command printf %b "\033[1;37mPlease pass in five \033[1;31mvalid color codes\033[1;37m. Choose from: rRgGbBcCyYmMkKeW\033[0m")"
|
||||
set -ex
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "NVM_SET_COLORS did not fail with invalid input; got >${OUTPUT}<, expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
#test system does not support at least 8 colors
|
||||
nvm_has_colors() { return 1; }
|
||||
set +ex
|
||||
OUTPUT="$(echo $(nvm set-colors mcyGb 2>&1) | awk '{ print substr($0, length($0)-76, 77); }')"
|
||||
set -ex
|
||||
EXPECTED_OUTPUT="WARNING: Colors may not display because they are not supported in this shell."
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "NVM_SET_COLORS did not recognize lack of color support; got >${OUTPUT}<, expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
cleanup
|
||||
79
test/fast/Unit tests/nvm_get_colors
Executable file
79
test/fast/Unit tests/nvm_get_colors
Executable file
@@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo "$@" ; cleanup ; exit 1; }
|
||||
|
||||
cleanup() {
|
||||
unset NVM_COLORS
|
||||
if [ -n TEMP_NVM_COLORS ]; then
|
||||
export NVM_COLORS=TEMP_NVM_COLORS
|
||||
fi
|
||||
unset TEMP_NVM_COLORS
|
||||
}
|
||||
|
||||
\. ../../../nvm.sh
|
||||
|
||||
# NVM_COLORS is not set
|
||||
if [ -n ${NVM_COLORS} ]; then
|
||||
export TEMP_NVM_COLORS=NVM_COLORS
|
||||
unset NVM_COLORS
|
||||
fi
|
||||
OUTPUT=$(nvm_get_colors 1)
|
||||
EXPECTED_OUTPUT='0;34m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (INSTALLED_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 2)
|
||||
EXPECTED_OUTPUT='0;33m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (SYSTEM_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 3)
|
||||
EXPECTED_OUTPUT='0;32m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (CURRENT_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 4)
|
||||
EXPECTED_OUTPUT='0;31m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (NOT_INSTALLED_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 5)
|
||||
EXPECTED_OUTPUT='0;37m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (DEFAULT_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 6)
|
||||
EXPECTED_OUTPUT='1;33m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (LTS_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
# bad parameter
|
||||
set +ex # needed for stderr
|
||||
OUTPUT=$(nvm_get_colors bad 2>&1)
|
||||
set -ex
|
||||
EXPECTED_OUTPUT="Invalid color index, bad"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors did not have an error with bad output; got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
# NVM_COLORS is set
|
||||
nvm set-colors rgbyc
|
||||
OUTPUT=$(nvm_get_colors 1)
|
||||
EXPECTED_OUTPUT='0;31m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (INSTALLED_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 2)
|
||||
EXPECTED_OUTPUT='0;32m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (SYSTEM_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 3)
|
||||
EXPECTED_OUTPUT='0;34m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (CURRENT_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 4)
|
||||
EXPECTED_OUTPUT='0;33m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (NOT_INSTALLED_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 5)
|
||||
EXPECTED_OUTPUT='0;36m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (DEFAULT_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
OUTPUT=$(nvm_get_colors 6)
|
||||
EXPECTED_OUTPUT='1;32m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_get_colors failed to return default color (LTS_COLOR); got >${OUTPUT}< expected >${EXPECTED_OUTPUT}<"
|
||||
|
||||
cleanup
|
||||
20
test/fast/Unit tests/nvm_print_color_code
Executable file
20
test/fast/Unit tests/nvm_print_color_code
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
die () { echo "$@" ; exit 1; }
|
||||
|
||||
\. ../../../nvm.sh
|
||||
|
||||
# Testing valid input
|
||||
OUTPUT=$(nvm_print_color_code m)
|
||||
EXPECTED_OUTPUT='0;35m'
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_color_code returned wrong code; got $(echo ">$OUTPUT<") expected $(echo ">$EXPECTED_OUTPUT<")"
|
||||
|
||||
# Testing invalid input
|
||||
set +x # needed for stderr
|
||||
OUTPUT="$(nvm_print_color_code q 2>&1)" ||:
|
||||
set -x
|
||||
echo "OUTPUT WAS SET TO: $OUTPUT"
|
||||
EXPECTED_OUTPUT="Invalid color code"
|
||||
[ "_$OUTPUT" = "_$EXPECTED_OUTPUT" ] || die "nvm_print_color_code did not recognize the invalid input; got $(echo ">$OUTPUT<") expected $(echo ">$EXPECTED_OUTPUT<")"
|
||||
Reference in New Issue
Block a user