From c996ac7c5ca17d8f602dfdb32df7682aa5c8e771 Mon Sep 17 00:00:00 2001 From: edwmurph Date: Mon, 28 May 2018 12:19:39 -0400 Subject: [PATCH] refactored tests --- .../Unit tests/nvm_get_node_from_pkg_json | 65 +++++++++---------- test/fast/Unit tests/nvm_interpret_semver | 6 +- test/fast/Unit tests/nvm_string_equals_regexp | 13 ++-- test/fast/Unit tests/nvm_validate_semver | 7 +- 4 files changed, 43 insertions(+), 48 deletions(-) diff --git a/test/fast/Unit tests/nvm_get_node_from_pkg_json b/test/fast/Unit tests/nvm_get_node_from_pkg_json index d5cc6ae..c9e2f01 100755 --- a/test/fast/Unit tests/nvm_get_node_from_pkg_json +++ b/test/fast/Unit tests/nvm_get_node_from_pkg_json @@ -114,10 +114,7 @@ xx:xx # - validate that leading trailing spaces and tabs are removed TEST_SEMVERS="$TEST_SEMVERS 1 1 :1 1 - 1 1 :1 1" - -# remove first line which is just an empty line -TEST_SEMVERS=$(echo "$TEST_SEMVERS" | tail -n +2) + 2 2 :2 2" # POSITIVE TEST CASES @@ -129,22 +126,22 @@ PREV_TEST_SEMVER='' for TEMPLATE_NAME in package_json_templates/_valid_*; do while [ -n "$TEST_SEMVERS_COPY" ]; do LINE=$(echo "$TEST_SEMVERS_COPY" | head -n1) + TEST_SEMVERS_COPY=$(echo "$TEST_SEMVERS_COPY" | tail -n +2) + [ -n "$LINE" ] || continue TEST_SEMVER_INPUT=$(echo "$LINE" | awk -F: '{ print $1 }') EXPECTED_OUTPUT=$(echo "$LINE" | awk -F: '{ print $2 }') - TEST_SEMVERS_COPY=$(echo "$TEST_SEMVERS_COPY" | tail -n +2) - [ "$PREV_TEST_SEMVER" = "$TEST_SEMVER_INPUT" ] \ - && die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #1). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + if [ "$PREV_TEST_SEMVER" == "$TEST_SEMVER_INPUT" ]; then + die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #1). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + fi PREV_TEST_SEMVER=$(printf "%s" "$TEST_SEMVER_INPUT") PKG_JSON_CONTENTS=$(sed 's/NODE_SEMVER/'"$TEST_SEMVER_INPUT"'/g' "$TEMPLATE_NAME" | tail -n +3) ACTUAL_OUTPUT=$(nvm_get_node_from_pkg_json "$PKG_JSON_CONTENTS") - [ "$ACTUAL_OUTPUT" = "$EXPECTED_OUTPUT" ] \ - && [ -n "$ACTUAL_OUTPUT" ] \ - && [ -n "$PKG_JSON_CONTENTS" ] \ - || die "'nvm_get_node_from_pkg_json' POSITIVE test case failed (TEST SET #1). - Expected '$EXPECTED_OUTPUT' but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + if [ "$ACTUAL_OUTPUT" != "$EXPECTED_OUTPUT" ] || [ -z "$ACTUAL_OUTPUT" ] || [ -z "$PKG_JSON_CONTENTS" ]; then + die "'nvm_get_node_from_pkg_json' POSITIVE test case failed (TEST SET #1). Expected '$EXPECTED_OUTPUT' but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + fi done done @@ -158,21 +155,21 @@ PREV_TEST_SEMVER='' for TEMPLATE_NAME in package_json_templates/_invalid_*; do while [ -n "$TEST_SEMVERS_COPY" ]; do LINE=$(echo "$TEST_SEMVERS_COPY" | head -n1) - TEST_SEMVER_INPUT=$(echo "$LINE" | awk -F: '{ print $1 }') TEST_SEMVERS_COPY=$(echo "$TEST_SEMVERS_COPY" | tail -n +2) + [ -n "$LINE" ] || continue + TEST_SEMVER_INPUT=$(echo "$LINE" | awk -F: '{ print $1 }') - [ "$PREV_TEST_SEMVER" = "$TEST_SEMVER_INPUT" ] \ - && die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #2). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + if [ "$PREV_TEST_SEMVER" == "$TEST_SEMVER_INPUT" ]; then + die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #2). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + fi PREV_TEST_SEMVER=$(printf "%s" "$TEST_SEMVER_INPUT") PKG_JSON_CONTENTS=$(sed 's/NODE_SEMVER/'"$TEST_SEMVER_INPUT"'/g' "$TEMPLATE_NAME" | tail -n +3) ACTUAL_OUTPUT=$(nvm_get_node_from_pkg_json "$PKG_JSON_CONTENTS") - [ "$ACTUAL_OUTPUT" = "" ] \ - && [ -n "$TEST_SEMVER_INPUT" ] \ - && [ -n "$PKG_JSON_CONTENTS" ] \ - || die "'nvm_get_node_from_pkg_json' NEGATIVE test case failed (TEST SET #2). - Expected to get empty string but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + if [ "$ACTUAL_OUTPUT" != "" ] || [ -z "$TEST_SEMVER_INPUT" ] || [ -z "$PKG_JSON_CONTENTS" ]; then + die "'nvm_get_node_from_pkg_json' NEGATIVE test case failed (TEST SET #2). Expected to get empty string but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + fi done done @@ -201,20 +198,20 @@ PREV_TEST_SEMVER='' for TEMPLATE_NAME in package_json_templates/_valid_*; do while [ -n "$TEST_SEMVERS_COPY" ]; do TEST_SEMVER_INPUT=$(echo "$TEST_SEMVERS_COPY" | head -n1) + [ -n "$TEST_SEMVER_INPUT" ] || continue TEST_SEMVERS_COPY=$(echo "$TEST_SEMVERS_COPY" | tail -n +2) - [ "$PREV_TEST_SEMVER" = "$TEST_SEMVER_INPUT" ] \ - && die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #3). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + if [ "$PREV_TEST_SEMVER" == "$TEST_SEMVER_INPUT" ]; then + die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #3). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + fi PREV_TEST_SEMVER=$(printf "%s" "$TEST_SEMVER_INPUT") PKG_JSON_CONTENTS=$(sed 's/NODE_SEMVER/'"$TEST_SEMVER_INPUT"'/g' "$TEMPLATE_NAME" | tail -n +3) ACTUAL_OUTPUT=$(nvm_get_node_from_pkg_json "$PKG_JSON_CONTENTS") - [ "$ACTUAL_OUTPUT" = "" ] \ - && [ -n "$TEST_SEMVER_INPUT" ] \ - && [ -n "$PKG_JSON_CONTENTS" ] \ - || die "'nvm_get_node_from_pkg_json' NEGATIVE test case failed (TEST SET #3). - Expected to get empty string but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + if [ "$ACTUAL_OUTPUT" != "" ] || [ -z "$TEST_SEMVER_INPUT" ] || [ -z "$PKG_JSON_CONTENTS" ]; then + die "'nvm_get_node_from_pkg_json' NEGATIVE test case failed (TEST SET #3). Expected to get empty string but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + fi done done @@ -224,19 +221,19 @@ PREV_TEST_SEMVER='' for TEMPLATE_NAME in package_json_templates/_invalid_*; do while [ -n "$TEST_SEMVERS_COPY" ]; do TEST_SEMVER_INPUT=$(echo "$TEST_SEMVERS_COPY" | head -n1) + [ -n "$TEST_SEMVER_INPUT" ] || continue TEST_SEMVERS_COPY=$(echo "$TEST_SEMVERS_COPY" | tail -n +2) - [ "$PREV_TEST_SEMVER" = "$TEST_SEMVER_INPUT" ] \ - && die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #4). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + if [ "$PREV_TEST_SEMVER" == "$TEST_SEMVER_INPUT" ]; then + die "Problem iterating through TEST_SEMVERS_COPY (TEST SET #4). Encountered the same value twice in a row. PREV_TEST_SEMVER='$PREV_TEST_SEMVER' TEST_SEMVER_INPUT='$TEST_SEMVER_INPUT'.\n" + fi PREV_TEST_SEMVER=$(printf "%s" "$TEST_SEMVER_INPUT") PKG_JSON_CONTENTS=$(sed 's/NODE_SEMVER/'"$TEST_SEMVER_INPUT"'/g' "$TEMPLATE_NAME" | tail -n +3) ACTUAL_OUTPUT=$(nvm_get_node_from_pkg_json "$PKG_JSON_CONTENTS") - [ "$ACTUAL_OUTPUT" = "" ] \ - && [ -n "$TEST_SEMVER_INPUT" ] \ - && [ -n "$PKG_JSON_CONTENTS" ] \ - || die "'nvm_get_node_from_pkg_json' NEGATIVE test case failed (TEST SET #4). - Expected to get empty string but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + if [ "$ACTUAL_OUTPUT" != "" ] || [ -z "$TEST_SEMVER_INPUT" ] || [ -z "$PKG_JSON_CONTENTS" ]; then + die "'nvm_get_node_from_pkg_json' NEGATIVE test case failed (TEST SET #4). Expected to get empty string but got '$ACTUAL_OUTPUT' when given input template '$TEMPLATE_NAME':\n$PKG_JSON_CONTENTS" + fi done done diff --git a/test/fast/Unit tests/nvm_interpret_semver b/test/fast/Unit tests/nvm_interpret_semver index e6eab3f..e7d5a64 100755 --- a/test/fast/Unit tests/nvm_interpret_semver +++ b/test/fast/Unit tests/nvm_interpret_semver @@ -30,9 +30,9 @@ while [ -n "$test_cases" ]; do INPUT=$(echo "$LINE" | awk -F: '{ print $1 }') EXPECTED_OUTPUT=$(echo "$LINE" | awk -F: '{ print $2 }') ACTUAL_OUTPUT=$(nvm_interpret_semver "$INPUT") - [ "$ACTUAL_OUTPUT" = "$EXPECTED_OUTPUT" ] \ - && [ -n "$INPUT" ] \ - || die "Expected output: '$EXPECTED_OUTPUT'. Actual output: '$ACTUAL_OUTPUT'. Input: '$INPUT'.\n" + if [ "$ACTUAL_OUTPUT" != "$EXPECTED_OUTPUT" ] || [ -z "$INPUT" ]; then + die "Expected output: '$EXPECTED_OUTPUT'. Actual output: '$ACTUAL_OUTPUT'. Input: '$INPUT'.\n" + fi test_cases=$(echo "$test_cases" | tail -n +2) done exit 0 diff --git a/test/fast/Unit tests/nvm_string_equals_regexp b/test/fast/Unit tests/nvm_string_equals_regexp index 3ca5637..8239251 100755 --- a/test/fast/Unit tests/nvm_string_equals_regexp +++ b/test/fast/Unit tests/nvm_string_equals_regexp @@ -16,10 +16,9 @@ while [ -n "$test_cases" ]; do LINE=$(echo "$test_cases" | head -n1) STRING=$(echo "$LINE" | awk -F: '{ print $1 }') REGEXP=$(echo "$LINE" | awk -F: '{ print $2 }') - [ -n "$REGEXP" ] \ - && [ -n "$STRING" ] \ - && nvm_string_contains_regexp "$STRING" "$REGEXP" \ - || die "nvm_string_contains_regexp POSITIVE test case failed. REGEXP: '$REGEXP'. STRING: '$STRING'.\n" + if [ -z "$REGEXP" ] || [ -z "$STRING" ] || ! nvm_string_contains_regexp "$STRING" "$REGEXP"; then + die "nvm_string_contains_regexp POSITIVE test case failed. REGEXP: '$REGEXP'. STRING: '$STRING'.\n" + fi test_cases=$(echo "$test_cases" | tail -n +2) done @@ -34,9 +33,9 @@ while [ -n "$test_cases" ]; do LINE=$(echo "$test_cases" | head -n1) STRING=$(echo "$LINE" | awk -F: '{ print $1 }') REGEXP=$(echo "$LINE" | awk -F: '{ print $2 }') - [ -n "$REGEXP" ] \ - && ! nvm_string_contains_regexp "$STRING" "$REGEXP" \ - || die "nvm_string_contains_regexp NEGATIVE test case failed. REGEXP: '$REGEXP'. STRING: '$STRING'.\n" + if [ -z "$REGEXP" ] || nvm_string_contains_regexp "$STRING" "$REGEXP"; then + die "nvm_string_contains_regexp NEGATIVE test case failed. REGEXP: '$REGEXP'. STRING: '$STRING'.\n" + fi test_cases=$(echo "$test_cases" | tail -n +2) done exit 0 diff --git a/test/fast/Unit tests/nvm_validate_semver b/test/fast/Unit tests/nvm_validate_semver index ec00041..a5cc64b 100755 --- a/test/fast/Unit tests/nvm_validate_semver +++ b/test/fast/Unit tests/nvm_validate_semver @@ -5,7 +5,6 @@ die () { printf "$@" ; exit 1; } \. ../../../nvm.sh # INPUT:EXPECTED_OUTPUT -# TODO refactor test cases into clearer structure test_cases="1.2.3:1.2.3 1.2.3 - 1.2.4:>=1.2.3 <=1.2.4 1.2.3-1.2.4:>=1.2.3 <=1.2.4 @@ -46,9 +45,9 @@ while [ -n "$test_cases" ]; do INPUT=$(echo "$LINE" | awk -F: '{ print $1 }') EXPECTED_OUTPUT=$(echo "$LINE" | awk -F: '{ print $2 }') ACTUAL_OUTPUT=$(nvm_validate_semver "$INPUT") - [ "$ACTUAL_OUTPUT" = "$EXPECTED_OUTPUT" ] \ - && [ -n "$INPUT" ] \ - || die "Expected output: '$EXPECTED_OUTPUT'. Actual output: '$ACTUAL_OUTPUT'. Input: '$INPUT'.\n" + if [ -z "$INPUT" ] || [ "$ACTUAL_OUTPUT" != "$EXPECTED_OUTPUT" ]; then + die "nvm_validate_semver test case failed. Expected output: '$EXPECTED_OUTPUT'. Actual output: '$ACTUAL_OUTPUT'. Input: '$INPUT'.\n" + fi test_cases=$(echo "$test_cases" | tail -n +2) done exit 0