nvm/test/fast/Unit tests/nvm_interpret_complex_semver

37 lines
834 B
Bash
Executable File

#!/bin/sh
die () { printf "$@" ; exit 1; }
\. ../../../nvm.sh
newest_node=$(nvm_remote_version | grep -o '[0-9]\+\.[0-9]\+\.[0-9]\+')
x5='5.12.0'
# POSITIVE TEST CASES
# INPUT:EXPECTED_OUTPUT
test_cases="*:$newest_node
5:$x5
x:$newest_node
X:$newest_node
7.1.0 || 7.3.0 || 7.2.0:7.3.0
7.1.0 7.3.0 7.2.0:
5:$x5
5.x:$x5
5.x.x:$x5
5.X:$x5
5.X.X:$x5
7.5.0:7.5.0"
while [ -n "$test_cases" ]; do
LINE=$(echo "$test_cases" | head -n1)
INPUT=$(echo "$LINE" | awk -F: '{ print $1 }')
EXPECTED_OUTPUT=$(echo "$LINE" | awk -F: '{ print $2 }')
ACTUAL_OUTPUT=$(nvm_interpret_complex_semver "$INPUT")
[ "$ACTUAL_OUTPUT" = "$EXPECTED_OUTPUT" ] \
&& [ -n "$INPUT" ] \
|| die "Expected output: '$EXPECTED_OUTPUT'. Actual output: '$ACTUAL_OUTPUT'. Input: '$INPUT'.\n"
test_cases=$(echo "$test_cases" | tail -n +2)
done
exit 0