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