diff --git a/tests.sh b/tests.sh index b7b19c5..1eb92e2 100755 --- a/tests.sh +++ b/tests.sh @@ -1,39 +1,61 @@ #!/bin/sh +TESTDIR=tests OUTPUT=`mktemp` +LOGFILE=tests.log +CMD=./figlet run_test() { test_num=$1 test_dsc=$2 test_cmd=$3 - echo -n "Run test $test_num: ${test_dsc}... " - eval "$test_cmd" > "$OUTPUT" - cmp -s "$OUTPUT" "tests/res${test_num}.txt" + echo >> $LOGFILE + echo -n "Run test $test_num: ${test_dsc}... " | tee -a $LOGFILE + echo >> $LOGFILE + eval "$test_cmd" > "$OUTPUT" 2>> $LOGFILE + cmp "$OUTPUT" "tests/res${test_num}.txt" >> $LOGFILE 2>&1 if [ $? -eq 0 ]; then - echo "pass" + echo "pass" | tee -a $LOGFILE else - echo "**fail**" + echo "**fail**" | tee -a $LOGFILE result=1 + fail=`expr $fail + 1` fi } result=0 +fail=0 +$CMD -v > $LOGFILE +$CMD -f small "Test results" | tee -a $LOGFILE + +file="$TESTDIR/input.txt" +cmd="cat $file|$CMD" run_test 001 "showfigfonts output" "./showfigfonts" run_test 002 "text rendering in all fonts" \ - "for i in fonts/*.flf; do cat tests/input.txt|./figlet -f \$i; done" + "for i in fonts/*.flf; do $cmd -f \$i; done" run_test 003 "long text rendering" "cat tests/longtext.txt|./figlet" -run_test 004 "left-to-right text" "cat tests/input.txt|./figlet -L" -run_test 005 "right-to-left text" "cat tests/input.txt|./figlet -R" -run_test 006 "flush-left justification" "cat tests/input.txt|./figlet -l" -run_test 007 "flush-right justification" "cat tests/input.txt|./figlet -r" -run_test 008 "center justification" "cat tests/input.txt|./figlet -c" -run_test 009 "kerning mode" "cat tests/input.txt|./figlet -k" -run_test 010 "full width mode" "cat tests/input.txt|./figlet -W" -run_test 011 "overlap mode" "cat tests/input.txt|./figlet -o" -run_test 012 "TLF font rendering" "cat tests/input.txt|./figlet -f tests/emboss" +run_test 004 "left-to-right text" "$cmd -L" +run_test 005 "right-to-left text" "$cmd -R" +run_test 006 "flush-left justification" "$cmd -l" +run_test 007 "flush-right justification" "$cmd -r" +run_test 008 "center justification" "$cmd -c" +run_test 009 "kerning mode" "$cmd -k" +run_test 010 "full width mode" "$cmd -W" +run_test 011 "overlap mode" "$cmd -o" +run_test 012 "TLF font rendering" "$cmd -f tests/emboss" +run_test 013 "kerning flush-left right-to-left mode" "$cmd -klR" +run_test 014 "kerning centered right-to-left mode (slant)" "$cmd -kcR -f slant" +run_test 015 "full-width flush-right right-to-left mode" "$cmd -WrR" +run_test 016 "overlap flush-right mode (big)" "$cmd -or -f big" rm -f "$OUTPUT" +if [ $result -ne 0 ]; then + echo "\n $fail tests failed. See $LOGFILE for result details" +else + echo "\n All tests passed." +fi + exit $result diff --git a/tests/res013.txt b/tests/res013.txt new file mode 100644 index 0000000..6983f2f --- /dev/null +++ b/tests/res013.txt @@ -0,0 +1,132 @@ + __ _ _ _ __ + \ \ | | __| |__ ___ ___ (_) / / + \ \| |/ /| '_ \ / __| / _ \ | |/ / + / /| < | | | |\__ \| (_) || |\ \ + /_/ |_|\_\|_| |_||___/ \___/_/ | \_\ + |__/ + __ _ __ _ ____ _ _ _ + / /_ __ __ _ _ | | / _| _ __ (_) / __ \ | | __| |__ ___ ___ (_) + / /(_)\ \/ /| | | || || |_ | '_ \ | | / / _` || |/ /| '_ \ / __| / _ \ | | + / / _ > < | |_| || || _|| | | || || | (_| || < | | | |\__ \| (_) || | + /_/ (_)/_/\_\ \__,_||_||_| |_| |_||_| \ \__,_||_|\_\|_| |_||___/ \___/_/ | + \____/ |__/ + _ _ _ __ _ + ___ | |_ __ _ | |_ ___ _ __ __ _ ___ | | / /___ | |_ ___ + / _ \| __|/ _` || __|/ _ \ | '__|/ _` | / _ \ | | / // __|| __|/ _ \ + _| __/| |_| (_| || |_| (_) || | | (_| || (_) || | / /| (__ | |_| __/ + (_)\___| \__|\__,_| \__|\___/ |_| \__, | \___/ |_|/_/ \___| \__|\___| + |___/ + _ __ _ + __/\__ _ __ | |__ ___ \ \ __| | + \ / | '_ \ _____ | '_ \ / __| \ \ / _` | + /_ _\ | | | ||_____| | | | |\__ \ / /| (_| | + \/ |_| |_| |_| |_||___/ /_/ \__,_| + + _ __ _ _ _ __ + _ ___ | |__ ___ __ _ _ __ __ _ \ \ | | __| |__ ___ ___ (_) / / + (_)/ _ \| '_ \ / __|/ _` || '_ \ / _` | \ \| |/ /| '_ \ / __| / _ \ | |/ / + _| __/| | | || (__| (_| || |_) || (_| | / /| < | | | |\__ \| (_) || |\ \ + (_)\___||_| |_| \___|\__,_|| .__/ \__,_| /_/ |_|\_\|_| |_||___/ \___/_/ | \_\ + |_| |__/ + _ _ _ _ _ _ + __ __ __ _ | |_ _ __ _ _ ___ _ | || | / | ___ _ __ (_)| | + \ \/ // _` || __|| '_ \ | | | |/ __| (_)| || |_ | | / _ \| '_ \ | || | + > <| (_| || |_ | | | || |_| |\__ \ _ |__ _|| | | __/| | | || || | + /_/\_\\__,_| \__||_| |_| \__, ||___/ (_) |_| |_| \___||_| |_||_||_| + |___/ + + _ __ __ _ ___ _ __ _ __ ___ _ __ _ __ ___ + | '__|/ _` | / _ \| '_ \ | '__|/ _ \ | '__|| '__|/ _ \ + | | | (_| || __/| | | | | | | (_) || | | | | __/ + |_| \__,_| \___||_| |_| |_| \___/ |_| |_| \___| + + _ _ + __| | ___ | |_ ___ ___ _ __ __ __ ___ _ __ _ _ + / _` | / _ \| __|/ __|/ _ \| '_ \\ \/ // _ \| '_ \ | | | | + | (_| || __/| |_| (__| __/| |_) |> <| __/| | | || |_| | + \__,_| \___| \__|\___|\___|| .__//_/\_\\___||_| |_| \__,_| + |_| + _ __ _ _ _ + ( )\ \ ( ) _ __ ___ | | __ ___ | |_ + |/ | | \| | '_ \ / _ \| |/ // _ \ | __| + > > | | | || __/| <| (_) || |_ + | | |_| |_| \___||_|\_\\___/ \__| + /_/ + _ __ _ _ _ __ + _ ___ | |__ ___ __ _ _ __ __ _ \ \ | | __| |__ ___ ___ (_) / / + (_)/ _ \| '_ \ / __|/ _` || '_ \ / _` | \ \| |/ /| '_ \ / __| / _ \ | |/ / + _| __/| | | || (__| (_| || |_) || (_| | / /| < | | | |\__ \| (_) || |\ \ + (_)\___||_| |_| \___|\__,_|| .__/ \__,_| /_/ |_|\_\|_| |_||___/ \___/_/ | \_\ + |_| |__/ + _ __ _ _ _ _ _ _ + ( )\ \ ( ) _ | || | / | ___ _ __ (_)| | + |/ | | \| (_)| || |_ | | / _ \| '_ \ | || | + > > _ |__ _|| | | __/| | | || || | + | | (_) |_| |_| \___||_| |_||_||_| + /_/ + _ _ _ _ __ _ _ _ __ + | |_ ___ | | _ __ ___ | |__ | |_ \ \ | | __| |__ ___ ___ (_) / / + | __|/ _ \ | || '_ \ / _ \| '_ \ | __| \ \| |/ /| '_ \ / __| / _ \ | |/ / + | |_| (_) || || |_) | | __/| | | || |_ / /| < | | | |\__ \| (_) || |\ \ + \__|\___/ |_|| .__/ \___||_| |_| \__| /_/ |_|\_\|_| |_||___/ \___/_/ | \_\ + |_| |__/ + _ _ _ _ + ___ _ __ ___ | | __ ___ (_)| |__ | |_ + / __|| '_ \ / _ \| |/ // __|| || '_ \ | __| + \__ \| | | || __/| <| (__ | || | | || |_ + |___/|_| |_| \___||_|\_\\___||_||_| |_| \__| + + __ _ _ _ __ __ __ + \ \ __| || | ___ (_) / _| / _| _ _ ___ __ _ / / + \ \ / _` || | / _ \| || |_ | |_ | | | |/ __| / _` |/ / + / /| (_| || || __/| || _|| _|| |_| |\__ \| (_| |\ \ + /_/ \__,_||_| \___||_||_| |_| \__,_||___/ \__,_| \_\ + + _ _ _ _ + | |_ ( )_ __ ___ _ __ __ _ ___ ___ ___ | |__ | |_ + | __||/| '_ \ / _ \| '__|/ _` | / _ \/ __| / _ \ | '_ \ | __| + | |_ | | | || __/| | | (_| | | __/\__ \| (_) || | | || |_ + \__| |_| |_| \___||_| \__,_| \___||___/ \___/ |_| |_| \__| + + _ _ _ _ _ + ___ | |_ _ __ (_) _ __ ___ ___ | || | ___ | |__ ___ + / __|| __|| '_ \ | || '__|/ __|/ __| | || | / _ \| '_ \ / __| + \__ \| |_ | |_) || || | | (__ \__ \ | || || __/| | | |\__ \ + |___/ \__|| .__/ |_||_| \___||___/ |_||_| \___||_| |_||___/ + |_| + _ _ _ __ _ _ __ + ___ (_)| |__ | |_ \ \ | |__ ___ (_) _ __ ___ / / + / __|| || '_ \ | __| \ \| '_ \ / __|| || '__|/ _ \/ / + \__ \| || | | || |_ / /| | | || (__ | || | | __/\ \ + |___/|_||_| |_| \__| /_/ |_| |_| \___||_||_| \___| \_\ + + _ _ + | |_ ( )_ __ ___ __ _ __ __ + | __||/| '_ \ / __| / _` |\ \ /\ / / + | |_ | | | |\__ \| (_| | \ V V / + \__| |_| |_||___/ \__,_| \_/\_/ + + _ _ _ + _ __ ___ | | __ ___ (_)| |__ ___ + | '_ \ / _ \| |/ // __|| || '_ \ / __| + _ | | | || __/| <| (__ | || | | || (__ + (_)|_| |_| \___||_|\_\\___||_||_| |_| \___| + + _ + _ __ (_) + | '_ \ | | _____ _____ + | | | || | |_____||_____| + |_| |_||_| + + _ _ _ _ _ _ + __ __ ___ __| | _ __ __ _ (_)| |__ ___ __| | _| || |_ + \ \ / // _ \ / _` | _____ | '_ \ / _` || || '_ \ / _ \ / _` ||_ .. _| + \ V /| __/| (_| ||_____|| | | || (_| || || |_) || __/| (_| ||_ _| + \_/ \___| \__,_| |_| |_| \__,_||_||_.__/ \___| \__,_| |_||_| + + _ + | | ___ + | | / _ \ + | || __/ + |_| \___| + diff --git a/tests/res014.txt b/tests/res014.txt new file mode 100644 index 0000000..545bbce --- /dev/null +++ b/tests/res014.txt @@ -0,0 +1,144 @@ + __ __ __ _ __ + \ \ / /__ / /_ _____ ____ (_)/ / + \ \ / //_// __ \ / ___// __ \ / // / + / // ,< / / / /(__ )/ /_/ / / / \ \ + /_//_/|_|/_/ /_//____/ \____/__/ / \_\ + /___/ + __ ____ _ ______ __ __ _ + _ _ __ __ __ / // __/____ (_)/ ____ \ / /__ / /_ _____ ____ (_) + (_)| |/_// / / // // /_ / __ \ / // / __ `// //_// __ \ / ___// __ \ / / + _ _> < / /_/ // // __// / / // // / /_/ // ,< / / / /(__ )/ /_/ / / / + (_)/_/|_| \__,_//_//_/ /_/ /_//_/ \ \__,_//_/|_|/_/ /_//____/ \____/__/ / + \____/ /___/ + __ __ __ __ __ __ + / /_ ____ _ / /_ ____ _____ ____ _ ____ / / _/_/_____ / /_ ___ _/_/ + / __// __ `// __// __ \ / ___// __ `// __ \ / / _/_/ / ___// __// _ \ _/_/ + / /_ / /_/ // /_ / /_/ // / / /_/ // /_/ // /_/_/ / /__ / /_ / __/_/_/ + \__/ \__,_/ \__/ \____//_/ \__, / \____//_//_/ \___/ \__/ \___//_/ + /____/ + __ __ __ + __/|_ ____ / /_ _____ \ \ ____/ / ___ + | / / __ \ ______ / __ \ / ___/ \ \ / __ / / _ \ + /_ __| / / / //_____/ / / / /(__ ) / // /_/ /_ / __/ + |/ /_/ /_/ /_/ /_//____/ /_/ \__,_/(_)\___/ + + __ __ __ _ __ + \ \ / /__ / /_ _____ ____ (_)/ / + \ \ / //_// __ \ / ___// __ \ / // / + / // ,< / / / /(__ )/ /_/ / / / \ \ + /_//_/|_|/_/ /_//____/ \____/__/ / \_\ + /___/ + _ __ __ + ___ ____ (_)/ / _ ___ / /_ _____ ____ _ ____ ____ _ + / _ \ / __ \ / // / (_)/ _ \ / __ \ / ___// __ `// __ \ / __ `/ + / __// / / // // / _ / __// / / // /__ / /_/ // /_/ // /_/ / + \___//_/ /_//_//_/ (_) \___//_/ /_/ \___/ \__,_// .___/ \__,_/ + /_/ + __ __ __ ___ + _ __ ____ _ / /_ ____ __ __ _____ _ / // / < / + | |/_// __ `// __// __ \ / / / // ___/ (_)/ // /_ / / + _> < / /_/ // /_ / / / // /_/ /(__ ) _ /__ __// / + /_/|_| \__,_/ \__//_/ /_/ \__, //____/ (_) /_/ /_/ + /____/ + + _____ ____ _ ___ ____ _____ ____ _____ _____ ___ + / ___// __ `// _ \ / __ \ / ___// __ \ / ___// ___// _ \ + / / / /_/ // __// / / / / / / /_/ // / / / / __/ + /_/ \__,_/ \___//_/ /_/ /_/ \____//_/ /_/ \___/ + + __ __ + ____/ /___ / /_ _____ ___ ____ _ __ ___ ____ __ __ + / __ // _ \ / __// ___// _ \ / __ \ | |/_// _ \ / __ \ / / / / + / /_/ // __// /_ / /__ / __// /_/ /_> < / __// / / // /_/ / + \__,_/ \___/ \__/ \___/ \___// .___//_/|_| \___//_/ /_/ \__,_/ + /_/ + _ _ _ __ __ + ( )| |( ) ____ ___ / /__ ____ / /_ + |/ / / V / __ \ / _ \ / //_// __ \ / __/ + _>_> / / / // __// ,< / /_/ // /_ + _/_/ /_/ /_/ \___//_/|_| \____/ \__/ + /_/ + __ __ __ _ __ + \ \ / /__ / /_ _____ ____ (_)/ / + \ \ / //_// __ \ / ___// __ \ / // / + / // ,< / / / /(__ )/ /_/ / / / \ \ + /_//_/|_|/_/ /_//____/ \____/__/ / \_\ + /___/ + _ __ __ + ___ ____ (_)/ / _ ___ / /_ _____ ____ _ ____ ____ _ + / _ \ / __ \ / // / (_)/ _ \ / __ \ / ___// __ `// __ \ / __ `/ + / __// / / // // / _ / __// / / // /__ / /_/ // /_/ // /_/ / + \___//_/ /_//_//_/ (_) \___//_/ /_/ \___/ \__,_// .___/ \__,_/ + /_/ + _ _ _ __ __ ___ + ( )| |( ) _ / // / < / + |/ / / V (_)/ // /_ / / + _>_> _ /__ __// / + _/_/ (_) /_/ /_/ + /_/ + __ __ __ __ __ _ __ + ___ / /_ / /_ \ \ / /__ / /_ _____ ____ (_)/ / + / _ \ / __ \ / __/ \ \ / //_// __ \ / ___// __ \ / // / + / __// / / // /_ / // ,< / / / /(__ )/ /_/ / / / \ \ + \___//_/ /_/ \__/ /_//_/|_|/_/ /_//____/ \____/__/ / \_\ + /___/ + __ _ __ __ __ __ + _____ ____ ___ / /__ _____ (_)/ /_ / /_ / /_ ____ / /____ + / ___// __ \ / _ \ / //_// ___// // __ \ / __/ / __// __ \ / // __ \ + (__ )/ / / // __// ,< / /__ / // / / // /_ / /_ / /_/ // // /_/ / + /____//_/ /_/ \___//_/|_| \___//_//_/ /_/ \__/ \__/ \____//_// .___/ + /_/ + __ __ __ _ ____ ____ __ + \ \ ____/ // /___ (_)/ __// __/__ __ _____ ____ _ / / + \ \ / __ // // _ \ / // /_ / /_ / / / // ___// __ `// / + / // /_/ // // __// // __// __// /_/ /(__ )/ /_/ / \ \ + /_/ \__,_//_/ \___//_//_/ /_/ \__,_//____/ \__,_/ \_\ + + __ _ __ __ + / /_( )____ ___ _____ ____ _ ___ _____ ____ / /_ / /_ + / __/|// __ \ / _ \ / ___// __ `/ / _ \ / ___// __ \ / __ \ / __/ + / /_ / / / // __// / / /_/ / / __/(__ )/ /_/ // / / // /_ + \__/ /_/ /_/ \___//_/ \__,_/ \___//____/ \____//_/ /_/ \__/ + + __ _ __ __ __ + _____ / /_ ____ (_)_____ _____ _____ / // /___ / /_ _____ + / ___// __// __ \ / // ___// ___// ___/ / // // _ \ / __ \ / ___/ + (__ )/ /_ / /_/ // // / / /__ (__ ) / // // __// / / /(__ ) + /____/ \__// .___//_//_/ \___//____/ /_//_/ \___//_/ /_//____/ + /_/ + _ __ __ __ __ _ __ + _____ (_)/ /_ / /_ \ \ / /_ _____ (_)_____ ___ / / + / ___// // __ \ / __/ \ \ / __ \ / ___// // ___// _ \/ / + (__ )/ // / / // /_ / // / / // /__ / // / / __/\ \ + /____//_//_/ /_/ \__/ /_//_/ /_/ \___//_//_/ \___/ \_\ + + __ _ + / /_( )____ _____ ____ _ _ __ + / __/|// __ \ / ___// __ `/| | /| / / + / /_ / / / /(__ )/ /_/ / | |/ |/ / + \__/ /_/ /_//____/ \__,_/ |__/|__/ + + __ _ __ + ____ ___ / /__ _____ (_)/ /_ _____ + / __ \ / _ \ / //_// ___// // __ \ / ___/ + _ / / / // __// ,< / /__ / // / / // /__ + (_)/_/ /_/ \___//_/|_| \___//_//_/ /_/ \___/ + + _ + ____ (_) + / __ \ / / ______ ______ + / / / // / /_____//_____/ + /_/ /_//_/ + + __ _ __ __ __ __ + _ __ ___ ____/ / ____ ____ _ (_)/ /_ ___ ____/ /__/ // /_ + | | / // _ \ / __ /______ / __ \ / __ `// // __ \ / _ \ / __ //_ _ __/ + | |/ // __// /_/ //_____// / / // /_/ // // /_/ // __// /_/ //_ _ __/ + |___/ \___/ \__,_/ /_/ /_/ \__,_//_//_.___/ \___/ \__,_/ /_//_/ + + __ + / /___ + / // _ \ + / // __/ + /_/ \___/ + diff --git a/tests/res015.txt b/tests/res015.txt new file mode 100644 index 0000000..de7bcd4 --- /dev/null +++ b/tests/res015.txt @@ -0,0 +1,156 @@ + __ _ _ _ __ + \ \ | | __ | |__ ___ ___ (_) / / + \ \ | |/ / | '_ \ / __| / _ \ | | / / + / / | < | | | | \__ \ | (_) | | | \ \ + /_/ |_|\_\ |_| |_| |___/ \___/ _/ | \_\ + |__/ + _ __ _ ____ _ _ _ + _ _ | | / _| _ __ (_) / __ \ | | __ | |__ ___ ___ (_) + | | | | | | | |_ | '_ \ | | / / _` | | |/ / | '_ \ / __| / _ \ | | + | |_| | | | | _| | | | | | | | | (_| | | < | | | | \__ \ | (_) | | | + \__,_| |_| |_| |_| |_| |_| \ \__,_| |_|\_\ |_| |_| |___/ \___/ _/ | + \____/ |__/ + _ __ _ __ + _ __ __ _ ___ | | / / ___ | |_ ___ / / _ __ __ + | '__| / _` | / _ \ | | / / / __| | __| / _ \ / / (_) \ \/ / + | | | (_| | | (_) | | | / / | (__ | |_ | __/ / / _ > < + |_| \__, | \___/ |_| /_/ \___| \__| \___| /_/ (_) /_/\_\ + |___/ + _ __ _ _ _ + | |__ ___ \ \ __| | ___ | |_ __ _ | |_ ___ + | '_ \ / __| \ \ / _` | / _ \ | __| / _` | | __| / _ \ + | | | | \__ \ / / | (_| | _ | __/ | |_ | (_| | | |_ | (_) | + |_| |_| |___/ /_/ \__,_| (_) \___| \__| \__,_| \__| \___/ + + + __/\__ _ __ + \ / | '_ \ _____ + /_ _\ | | | | |_____| + \/ |_| |_| + + __ _ _ _ __ + \ \ | | __ | |__ ___ ___ (_) / / + \ \ | |/ / | '_ \ / __| / _ \ | | / / + / / | < | | | | \__ \ | (_) | | | \ \ + /_/ |_|\_\ |_| |_| |___/ \___/ _/ | \_\ + |__/ + _ _ _ + ___ _ __ (_) | | _ ___ | |__ ___ __ _ _ __ __ _ + / _ \ | '_ \ | | | | (_) / _ \ | '_ \ / __| / _` | | '_ \ / _` | + | __/ | | | | | | | | _ | __/ | | | | | (__ | (_| | | |_) | | (_| | + \___| |_| |_| |_| |_| (_) \___| |_| |_| \___| \__,_| | .__/ \__,_| + |_| + _ _ _ _ + __ __ __ _ | |_ _ __ _ _ ___ _ | || | / | + \ \/ / / _` | | __| | '_ \ | | | | / __| (_) | || |_ | | + > < | (_| | | |_ | | | | | |_| | \__ \ _ |__ _| | | + /_/\_\ \__,_| \__| |_| |_| \__, | |___/ (_) |_| |_| + |___/ + + _ __ __ _ ___ _ __ _ __ ___ _ __ _ __ ___ + | '__| / _` | / _ \ | '_ \ | '__| / _ \ | '__| | '__| / _ \ + | | | (_| | | __/ | | | | | | | (_) | | | | | | __/ + |_| \__,_| \___| |_| |_| |_| \___/ |_| |_| \___| + + _ _ + __| | ___ | |_ ___ ___ _ __ __ __ ___ _ __ _ _ + / _` | / _ \ | __| / __| / _ \ | '_ \ \ \/ / / _ \ | '_ \ | | | | + | (_| | | __/ | |_ | (__ | __/ | |_) | > < | __/ | | | | | |_| | + \__,_| \___| \__| \___| \___| | .__/ /_/\_\ \___| |_| |_| \__,_| + |_| + _ __ _ _ _ + ( ) \ \ ( ) _ __ ___ | | __ ___ | |_ + |/ | | \| | '_ \ / _ \ | |/ / / _ \ | __| + > > | | | | | __/ | < | (_) | | |_ + | | |_| |_| \___| |_|\_\ \___/ \__| + /_/ + __ _ _ _ __ + \ \ | | __ | |__ ___ ___ (_) / / + \ \ | |/ / | '_ \ / __| / _ \ | | / / + / / | < | | | | \__ \ | (_) | | | \ \ + /_/ |_|\_\ |_| |_| |___/ \___/ _/ | \_\ + |__/ + _ _ _ + ___ _ __ (_) | | _ ___ | |__ ___ __ _ _ __ __ _ + / _ \ | '_ \ | | | | (_) / _ \ | '_ \ / __| / _` | | '_ \ / _` | + | __/ | | | | | | | | _ | __/ | | | | | (__ | (_| | | |_) | | (_| | + \___| |_| |_| |_| |_| (_) \___| |_| |_| \___| \__,_| | .__/ \__,_| + |_| + _ __ _ _ _ _ + ( ) \ \ ( ) _ | || | / | + |/ | | \| (_) | || |_ | | + > > _ |__ _| | | + | | (_) |_| |_| + /_/ + _ _ __ _ _ _ __ + ___ | |__ | |_ \ \ | | __ | |__ ___ ___ (_) / / + / _ \ | '_ \ | __| \ \ | |/ / | '_ \ / __| / _ \ | | / / + | __/ | | | | | |_ / / | < | | | | \__ \ | (_) | | | \ \ + \___| |_| |_| \__| /_/ |_|\_\ |_| |_| |___/ \___/ _/ | \_\ + |__/ + _ _ + | |_ ___ | | _ __ + | __| / _ \ | | | '_ \ + | |_ | (_) | | | | |_) | + \__| \___/ |_| | .__/ + |_| + _ _ _ _ + ___ _ __ ___ | | __ ___ (_) | |__ | |_ + / __| | '_ \ / _ \ | |/ / / __| | | | '_ \ | __| + \__ \ | | | | | __/ | < | (__ | | | | | | | |_ + |___/ |_| |_| \___| |_|\_\ \___| |_| |_| |_| \__| + + __ _ _ _ __ __ __ + \ \ __| | | | ___ (_) / _| / _| _ _ ___ __ _ / / + \ \ / _` | | | / _ \ | | | |_ | |_ | | | | / __| / _` | / / + / / | (_| | | | | __/ | | | _| | _| | |_| | \__ \ | (_| | \ \ + /_/ \__,_| |_| \___| |_| |_| |_| \__,_| |___/ \__,_| \_\ + + _ _ _ _ + | |_ ( ) _ __ ___ _ __ __ _ ___ ___ ___ | |__ | |_ + | __| |/ | '_ \ / _ \ | '__| / _` | / _ \ / __| / _ \ | '_ \ | __| + | |_ | | | | | __/ | | | (_| | | __/ \__ \ | (_) | | | | | | |_ + \__| |_| |_| \___| |_| \__,_| \___| |___/ \___/ |_| |_| \__| + + _ _ _ _ _ + ___ | |_ _ __ (_) _ __ ___ ___ | | | | ___ | |__ ___ + / __| | __| | '_ \ | | | '__| / __| / __| | | | | / _ \ | '_ \ / __| + \__ \ | |_ | |_) | | | | | | (__ \__ \ | | | | | __/ | | | | \__ \ + |___/ \__| | .__/ |_| |_| \___| |___/ |_| |_| \___| |_| |_| |___/ + |_| + _ _ _ __ _ _ __ + ___ (_) | |__ | |_ \ \ | |__ ___ (_) _ __ ___ / / + / __| | | | '_ \ | __| \ \ | '_ \ / __| | | | '__| / _ \ / / + \__ \ | | | | | | | |_ / / | | | | | (__ | | | | | __/ \ \ + |___/ |_| |_| |_| \__| /_/ |_| |_| \___| |_| |_| \___| \_\ + + _ _ + | |_ ( ) _ __ ___ __ _ __ __ + | __| |/ | '_ \ / __| / _` | \ \ /\ / / + | |_ | | | | \__ \ | (_| | \ V V / + \__| |_| |_| |___/ \__,_| \_/\_/ + + _ _ _ + _ __ ___ | | __ ___ (_) | |__ ___ + | '_ \ / _ \ | |/ / / __| | | | '_ \ / __| + _ | | | | | __/ | < | (__ | | | | | | | (__ + (_) |_| |_| \___| |_|\_\ \___| |_| |_| |_| \___| + + _ + _ __ (_) + | '_ \ | | _____ _____ + | | | | | | |_____| |_____| + |_| |_| |_| + + _ _ _ _ _ _ + ___ __| | _ __ __ _ (_) | |__ ___ __| | _| || |_ + / _ \ / _` | _____ | '_ \ / _` | | | | '_ \ / _ \ / _` | |_ .. _| + | __/ | (_| | |_____| | | | | | (_| | | | | |_) | | __/ | (_| | |_ _| + \___| \__,_| |_| |_| \__,_| |_| |_.__/ \___| \__,_| |_||_| + + _ + | | ___ __ __ + | | / _ \ \ \ / / + | | | __/ \ V / + |_| \___| \_/ + diff --git a/tests/res016.txt b/tests/res016.txt new file mode 100644 index 0000000..cf70546 --- /dev/null +++ b/tests/res016.txt @@ -0,0 +1,152 @@ + ___ _ _ __ + / (_) | | | | \ \ + / / _ ___ ___| |__ | | __\ \ + < < | |/ _ \/ __| '_ \| |/ / > > + \ \| | (_) \__ | | | | < / / + \_| |\___/|___|_| |_|_|\_/_/ + _/ | + |__/ + _ _ _ _ __ _ __ _ + (_) | | | | ____ (_) / _| | _ / / | | + _ ___ ___| |__ | | __/ __ \ _ _ __ | |_| |_ ___ _(_) / ___| |_ ___ + | |/ _ \/ __| '_ \| |/ / / _` | | '_ \| _| | | | \ \/ / / / _ | __/ __| + | | (_) \__ | | | | | | (_| | | | | | | | | |_| |> < _ / | __| || (__ + | |\___/|___|_| |_|_|\_\ \__,_|_|_| |_|_| |_|\__,_/_/\_(_/_/ \___|\__\___| + _/ | \____/ + |__/ + ___ _ _ ___ _ + / | | | | | | | \ \ | | + / /| | ___ __ _ _ __ ___ | |_ __ _| |_ ___ __| |\ \ ___| |__ + / / | |/ _ \ / _` | '__/ _ \| __/ _` | __/ _ \ / _` | > / __| '_ \ + / / | | (_) | (_| | | | (_) | || (_| | || __/| (_| |/ /\__ | | | | + /_/ |_|\___/ \__, |_| \___/ \__\__,_|\__\___(_\__,_/_/ |___|_| |_| + __/ | + |___/ + _ + /\| |/\ + ______ _ __ \ ` ' / + |______| '_ \|_ _| + | | | |/ , . \ + |_| |_|\/|_|\/ + + + ___ _ _ __ _ + / (_) | | | | \ \ | | _ + / / _ ___ ___| |__ | | __\ \ __ _ _ __ __ _ ___| |__ ___(_) + < < | |/ _ \/ __| '_ \| |/ / > >/ _` | '_ \ / _` |/ __| '_ \ / _ \ + \ \| | (_) \__ | | | | < / /| (_| | |_) | (_| | (__| | | | __/_ + \_| |\___/|___|_| |_|_|\_/_/ \__,_| .__/ \__,_|\___|_| |_|\___(_) + _/ | | | + |__/ |_| + _ _ __ _ _ _ + | (_) /_ | || | _ | | + | |_ _ __ ___ | | || |(_)___ _ _ _ __ | |_ __ ___ __ + | | | '_ \ / _ \| |__ _|/ __| | | | '_ \| __/ _` \ \/ / + | | | | | | __/| | | | _\__ | |_| | | | | || (_| |> < + |_|_|_| |_|\___||_| |_|(_|___/\__, |_| |_|\__\__,_/_/\_\ + __/ | + |___/ + + + ___ _ __ _ __ ___ _ __ _ __ ___ __ _ _ __ + / _ | '__| '__/ _ \| '__| '_ \ / _ \/ _` | '__| + | __| | | | | (_) | | | | | | __| (_| | | + \___|_| |_| \___/|_| |_| |_|\___|\__,_|_| + + + _ _ _ _ + | | | | | | | + _ _ _ __ _____ ___ __ ___ ___| |_ ___ __| | |_ ___ | | _____ _ __ + | | | | '_ \ / _ \ \/ | '_ \ / _ \/ __| __/ _ \/ _` | __/ _ \| |/ / _ | '_ \ + | |_| | | | | __/> <| |_) | __| (__| || __| (_| | || (_) | | __| | | | + \__,_|_| |_|\___/_/\_| .__/ \___|\___|\__\___|\__,_|\__\___/|_|\_\___|_| |_| + | | + |_| + ___ _ + ( \ \( ) + \|| |/ + \ \ + / / + | | + /_/ + + ___ _ _ __ _ + / (_) | | | | \ \ | | _ + / / _ ___ ___| |__ | | __\ \ __ _ _ __ __ _ ___| |__ ___(_) + < < | |/ _ \/ __| '_ \| |/ / > >/ _` | '_ \ / _` |/ __| '_ \ / _ \ + \ \| | (_) \__ | | | | < / /| (_| | |_) | (_| | (__| | | | __/_ + \_| |\___/|___|_| |_|_|\_/_/ \__,_| .__/ \__,_|\___|_| |_|\___(_) + _/ | | | + |__/ |_| + _ _ __ _ _ ___ _ + | (_) /_ | || | _( \ \( ) + | |_ _ __ ___ | | || |(_)\|| |/ + | | | '_ \ / _ \| |__ _| \ \ + | | | | | | __/| | | | _ / / + |_|_|_| |_|\___||_| |_|(_) | | + /_/ + + ___ _ _ __ _ _ _ _ + / (_) | | | | \ \ | | | | | | | | + / / _ ___ ___| |__ | | __\ \| |_| |__ ___ _ __ | | ___ | |_ + < < | |/ _ \/ __| '_ \| |/ / > | __| '_ \ / _ | '_ \| |/ _ \| __| + \ \| | (_) \__ | | | | < / /| |_| | | | __| |_) | | (_) | |_ + \_| |\___/|___|_| |_|_|\_/_/ \__|_| |_|\___| .__/|_|\___/ \__| + _/ | | | + |__/ |_| + _ _ _ _ + | | | | (_) | | + | |_| |__ _ ___| | _____ _ __ ___ + | __| '_ \| |/ __| |/ / _ | '_ \/ __| + | |_| | | | | (__| | __| | | \__ \ + \__|_| |_|_|\___|_|\_\___|_| |_|___/ + + + __ __ __ _ _ ___ _ _ + / / / _|/ _(_) | | | \ \ | | | | + / / __ _ ___ _ _| |_| |_ _ ___| | __| |\ \| |_| |__ ___ ___ ___ + < < / _` / __| | | | _| _| |/ _ | |/ _` | > | __| '_ \ / _ \/ __|/ _ \ + \ | (_| \__ | |_| | | | | | | __| | (_| |/ /| |_| | | | (_) \__ | __/ + \_\__,_|___/\__,_|_| |_| |_|\___|_|\__,_/_/ \__|_| |_|\___/|___/\___| + + + _ _ _ _ _ _ _ + ( | | | | | | | (_) | | + __ _ _ __ ___ _ __|/| |_ ___| |__ ___| | |___ ___ _ __ _ _ __ | |_ ___ + / _` | '__/ _ | '_ \ | __/ __| '_ \ / _ | | / __|/ __| '__| | '_ \| __/ __| + | (_| | | | __| | | || |_\__ | | | | __| | \__ | (__| | | | |_) | |_\__ \ + \__,_|_| \___|_| |_| \__|___|_| |_|\___|_|_|___/\___|_| |_| .__/ \__|___/ + | | + |_| + __ _ _ __ _ _ _ _ _ + / / (_) | | \ \ | | | | (_) ( | | + / / ___ _ __ _ ___| |__ \ \| |_| |__ _ _____ ____ _ ___ _ __|/| |_ + < < / _ | '__| |/ __| '_ \ > | __| '_ \| / __\ \ /\ / / _` / __| '_ \ | __| + \ | __| | | | (__| | | |/ /| |_| | | | \__ \\ V V | (_| \__ | | | || |_ + \_\___|_| |_|\___|_| |_/_/ \__|_| |_|_|___/ \_/\_/ \__,_|___|_| |_| \__| + + + _ _ _ + | | (_) | | + ___| |__ _ ___| | _____ _ __ + / __| '_ \| |/ __| |/ / _ | '_ \ + | (__| | | | | (__| | __| | | |_ + \___|_| |_|_|\___|_|\_\___|_| |_(_) + + + _ + (_) + ______ ______ _ _ __ + |______|______| | '_ \ + | | | | | + |_|_| |_| + + + _ _ _ _ _ _ _ + _| || |_ | | | | (_) | | | | + |_ __ _| __| | ___| |__ _ __ _ _ __ ______ __| | _____ _____| | + _| || |_ / _` |/ _ | '_ \| |/ _` | '_ |______/ _` |/ _ \ \ / / _ | | + |_ __ _| (_| | __| |_) | | (_| | | | | | (_| | __/\ V | __| | + |_||_| \__,_|\___|_.__/|_|\__,_|_| |_| \__,_|\___| \_/ \___|_| + +