#!/bin/sh die () { printf "$@" ; exit 1; } \. ../../../nvm.sh valid_semver_regexp='^( ?(<|<=|>|>=|=|~|\^)?([0-9]+|x)\.([0-9]+|x)\.([0-9]+|x))+$' # POSITIVE TEST CASES # STRING:REGEXP test_cases="1.2.3:$valid_semver_regexp 11.22.33:$valid_semver_regexp" 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 }') 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 # NEGATIVE TEST CASES # STRING:REGEXP test_cases="1.2.a:$valid_semver_regexp :$valid_semver_regexp 11.22.a:$valid_semver_regexp" 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 }') 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