view scripts/test/uudecode.test @ 1393:3e8ab37a4b60 draft

Find bugfixes. The check for -print vs -print0 was tested before I optimized out the "-" in the strcmps, and I didn't adjust the offset or retest it. (Ooops.) Also, I wasn't clearing the ! value when descending into parentheticals, so "find . -name blah -o \! \( -stuff -o -thing \)" acted like it had a spurious second ! before -stuff inside the parentheses.
author Rob Landley <rob@landley.net>
date Fri, 18 Jul 2014 18:31:41 -0500
parents 89c65a45245a
children
line wrap: on
line source

#!/bin/bash

[ -f testing.sh ] && . testing.sh

#testing "name" "command" "result" "infile" "stdin"

testing "uudecode uu empty file" "uudecode -o /dev/stdout && echo yes" \
	"yes\n" "" "begin 744 test\n\`\nend\n"
testing "uudecode uu 1-char" "uudecode -o /dev/stdout" "a" "" \
	"begin 744 test\n!80  \n\`\nend\n"
testing "uudecode uu 2-char" "uudecode -o /dev/stdout" "ab" "" \
	"begin 744 test\n\"86( \n\`\nend\n"
testing "uudecode uu 3-char" "uudecode -o /dev/stdout" "abc" "" \
	"begin 744 test\n#86)C\n\`\nend\n" 

testing "uudecode b64 empty file" "uudecode -o /dev/stdout && echo yes" \
        "yes\n" "" "begin-base64 744 test\n====\n" 
testing "uudecode b64 1-char" "uudecode -o /dev/stdout" "a" "" \
	"begin-base64 744 test\nYQ==\n====\n"
testing "uudecode b64 2-char" "uudecode -o /dev/stdout" "ab" "" \
	"begin-base64 744 test\nYWI=\n====\n"
testing "uudecode b64 3-char" "uudecode -o /dev/stdout" "abc" "" \
	"begin-base64 744 test\nYWJj\n====\n"

testing "uudecode filename" "uudecode && echo -ne 'abc' | cmp uudecode-fn-test /dev/stdin && echo -ne yes && rm uudecode-fn-test" \
	"yes" "" "begin-base64 744 uudecode-fn-test\nYWJj\n====\n"