From bdf639476d62718fc25d3763313e2eb6311142db Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Thu, 22 Sep 2016 11:46:17 +0200 Subject: [PATCH 1/3] Add unicode output Signed-off-by: Nicolas Lamirault --- bash_unit | 20 +++++++++++++++++--- tests/test_bash_unicode_output.sh | 11 +++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 tests/test_bash_unicode_output.sh diff --git a/bash_unit b/bash_unit index 81c3a60..ff969d9 100755 --- a/bash_unit +++ b/bash_unit @@ -23,12 +23,22 @@ GREEN="${ESCAPE}[92m" YELLOW="${ESCAPE}[93m" BLUE="${ESCAPE}[94m" +FAILED="${ESCAPE}${RED}\u2717" +SUCCESS="${ESCAPE}${GREEN}\u2713" + +# Could be TEXT or UNICODE +OUTPUT=${OUTPUT:="TEXT"} + fail() { local message=$1 local stdout=$2 local stderr=$3 - format "$RED" "FAILURE" + if [ ${OUTPUT} == "TEXT" ]; then + format "$RED" "FAILURE" + else + echo -e "$FAILED" + fi [[ -z $message ]] || printf -- "$message\n" [[ ! -z $stdout ]] && [ -s $stdout ] && cat $stdout | sed 's:^:out> :' | format $GREEN [[ ! -z $stderr ]] && [ -s $stderr ] && cat $stderr | sed 's:^:err> :' | format $RED @@ -91,7 +101,7 @@ assert_equals() { local actual=$2 local message=$3 [[ -z $message ]] || message="$message\n" - + if [ "$expected" != "$actual" ] then fail "$message expected [$expected] but was [$actual]" @@ -140,7 +150,11 @@ run_test() { set -e local TEST=$1 echo -n "Running $TEST... " | format "$BLUE" - $TEST && format "$GREEN" "SUCCESS" + if [ ${OUTPUT} == "TEXT" ]; then + $TEST && format "$GREEN" "SUCCESS" + else + $TEST && echo -e "$SUCCESS" + fi } print_stack() { diff --git a/tests/test_bash_unicode_output.sh b/tests/test_bash_unicode_output.sh new file mode 100644 index 0000000..17412e7 --- /dev/null +++ b/tests/test_bash_unicode_output.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +OUTPUT="UNICODE" + +test_can_fail() { + fail "this test failed on purpose" +} + +test_is_correct() { + assert true +} From d6bbfcb86292e96ef0cc146d4aa4967e9b650bad Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Thu, 22 Sep 2016 11:49:12 +0200 Subject: [PATCH 2/3] Add some unicode tests Signed-off-by: Nicolas Lamirault --- tests/test_bash_unicode_output.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/test_bash_unicode_output.sh b/tests/test_bash_unicode_output.sh index 17412e7..8e44a8e 100644 --- a/tests/test_bash_unicode_output.sh +++ b/tests/test_bash_unicode_output.sh @@ -9,3 +9,20 @@ test_can_fail() { test_is_correct() { assert true } + +code() { + touch /tmp/the_file +} + +test_code_creates_the_file() { + code + assert "test -e /tmp/the_file" +} + +code2() { + exit 25 +} + +test_code_with_code_25() { + assert_status_code 25 code2 +} From 0e51a351754b1bb4520867625262284b5d00456a Mon Sep 17 00:00:00 2001 From: Nicolas Lamirault Date: Thu, 22 Sep 2016 11:52:47 +0200 Subject: [PATCH 3/3] Change check mark Signed-off-by: Nicolas Lamirault --- bash_unit | 2 +- tests/test_bash_unicode_output.sh | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/bash_unit b/bash_unit index ff969d9..a50ab9d 100755 --- a/bash_unit +++ b/bash_unit @@ -24,7 +24,7 @@ YELLOW="${ESCAPE}[93m" BLUE="${ESCAPE}[94m" FAILED="${ESCAPE}${RED}\u2717" -SUCCESS="${ESCAPE}${GREEN}\u2713" +SUCCESS="${ESCAPE}${GREEN}\u2714" # Could be TEXT or UNICODE OUTPUT=${OUTPUT:="TEXT"} diff --git a/tests/test_bash_unicode_output.sh b/tests/test_bash_unicode_output.sh index 8e44a8e..bc89681 100644 --- a/tests/test_bash_unicode_output.sh +++ b/tests/test_bash_unicode_output.sh @@ -1,7 +1,5 @@ #!/bin/bash -OUTPUT="UNICODE" - test_can_fail() { fail "this test failed on purpose" }