1#!/bin/bash 2 3[ -f testing.sh ] && . testing.sh 4 5#testing "name" "command" "result" "infile" "stdin" 6 7testcmd 'default wrap' '-w10' 'one two th\nree\nfour five\n' \ 8 '' 'one two three\nfour five\n' 9testing "abuse" "fold -w1" "a\nb\nc\nd" "" "abcd" 10testcmd 'first char goes over' '-w2' '\t\n' '' '\t\n' 11testcmd 'tab goes over' '-sw2' 'a\n\t\n' '' 'a\t\n' 12testcmd 'tab goes over unterminated' '-sw2' 'a\n\t' '' 'a\t' 13testcmd '-s' '-sw4' 'abcd\nef g\n' '' 'abcdef g\n' 14testcmd '-s 2' '-sw4' 'abcd\nef \ngh\n' '' 'abcdef gh\n' 15testcmd '-s 3' '-sw4' 'a \ncd \nfgh\n' '' 'a cd fgh\n' 16testcmd '-s 4' '-sw4' 'abcd\n efg\n' '' 'abcd efg\n' 17testcmd '-s 5' '-sw4' 'abc \nef\n' '' 'abc ef\n' 18testcmd '-b tab' '-bw8' 'abc\tdefg\nhi' '' 'abc\tdefghi' 19testcmd '-bs' '-bsw8' 'abc\t\ndefghi' '' 'abc\tdefghi' 20testcmd 'backspace' '-w3' 'abc\bd\nef\n' '' 'abc\bdef\n' 21testcmd '-b backspace' '-bw3' 'abc\n\bde\nf\n' '' 'abc\bdef\n' 22testcmd 'backspace tab' '-w8' 'a\t\b\b\bcde\nfghi' '' 'a\t\b\b\bcdefghi' 23 24toyonly testcmd 'combining umlaut wrap' '-w5' 'ẅabcd\nefg\n' '' \ 25 'w\xcc\x88abcdefg\n' 26toyonly testcmd 'combining umlaut backspace wrap' '-w5' 'ẅ\bxabcd\nefg\n' '' \ 27 'w\xcc\x88\bxabcdefg\n' 28toyonly testcmd 'wide wrap' '-w3' '私a\nbc' '' '\xe7\xa7\x81abc' 29toyonly testcmd 'wide combining wrap' '-w3' '私̈\bab\nc' '' \ 30 '\xe7\xa7\x81\xcc\x88\babc' 31