diff options
author | Rob Landley <rob@landley.net> | 2014-09-20 13:09:14 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2014-09-20 13:09:14 -0500 |
commit | 387edf547eb09b27ca6d49772eb048d729f09cf4 (patch) | |
tree | 59d482f33735690cab6d90723393afa1e2c8dce5 /tests/expand.test | |
parent | d3df423a6cde0c6282658ff628574771d3824d71 (diff) | |
download | toybox-387edf547eb09b27ca6d49772eb048d729f09cf4.tar.gz |
Move testsuite out of scripts/test into its own top level tests directory, and make ctrl-c kill "make test" more reliably.
Diffstat (limited to 'tests/expand.test')
-rwxr-xr-x | tests/expand.test | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/expand.test b/tests/expand.test new file mode 100755 index 00000000..510f89f5 --- /dev/null +++ b/tests/expand.test @@ -0,0 +1,44 @@ +#!/bin/bash + +# POSIX 2008 compliant expand tests. +# Copyright 2012 by Jonathan Clairembault <jonathan@clairembault.fr> + +[ -f testing.sh ] && . testing.sh + +# some basic tests + +testing "expand default" "expand input" " foo bar\n" "\tfoo\tbar\n" "" +testing "expand default stdin" "expand" " foo bar\n" "" "\tfoo\tbar\n" +testing "expand single" "expand -t 2 input" " foo bar\n" "\tfoo\tbar\n" "" +testing "expand tablist" "expand -t 5,10,12 input" " foo bar foo\n" "\tfoo\tbar\tfoo\n" "" +testing "expand backspace" "expand input" "foobarfoo\b\b bar\n" "foobarfoo\b\b\tbar\n" "" + +# advanced tests + +POW=15 +TABSTOP=1 +BIGTAB=" " +for i in $(seq $POW); do + BIGTAB=$BIGTAB$BIGTAB + TABSTOP=$[$TABSTOP*2] +done +testing "expand long tab single" "expand -t $TABSTOP input" "${BIGTAB}foo\n" "\tfoo\n" "" +testing "expand long tab tablist" "expand -t $TABSTOP,$[TABSTOP+5] input" \ + "${BIGTAB}foo bar\n" "\tfoo\tbar\n" "" + +testing "expand multiline single" "expand -t 4 input" "foo \n bar\n" "foo\t\n\tbar\n" "" +testing "expand multiline tablist" "expand -t 4,8 input" \ + "foo bar\n bar foo\n" "foo\t\tbar\n\tbar\tfoo\n" "" +POW=15 +BIGLINE="foo " +for i in $(seq $POW); do + BIGLINE=$BIGLINE$BIGLINE +done +if [ $POW -gt 0 ]; then + EXPANDLINE="${BIGLINE} foo\n" +else + EXPANDLINE="${BIGLINE} foo\n" +fi +BIGLINE="${BIGLINE}\tfoo\n" +testing "expand long line single" "expand input" \ + "${EXPANDLINE}" "$BIGLINE" "" |