home *** CD-ROM | disk | FTP | other *** search
- # Filter programs lend themselves well to automated testing. This is
- # the *nix test script for TDS. -Ed L
-
- # Suggested invocation for this shell program: sh test
-
- echo 'tr <data1'
- tr <data1
- echo 'tds <data1'
- tds <data1
- echo 'tr [\000-\377] [\000-\377] <data1'
- tr '[\000-\377]' '[\000-\377]' <data1
- echo 'tds [\000-\377] [\000-\377] <data1'
- tds '[\000-\377]' '[\000-\377]' <data1
- echo 'tds [\x00-\xFF] [\x00-\xFF] <data1'
- tds '[\x00-\xFF]' '[\x00-\xFF]' <data1
- echo 'tds [\h00-\xFF] [\h00-\hFF] <data1'
- tds '[\h00-\xFF]' '[\h00-\hFF]' <data1
- echo 'tds [\d000-\d255] [\d000-\d255] <data1'
- tds '[\d000-\d255]' '[\d000-\d255]' <data1
- echo
-
- echo 'tr a <data1'
- tr a <data1
- echo 'tds a <data1'
- tds a <data1
- echo 'tr [a-a] [a-a] <data1'
- tr '[a-a]' '[a-a]' <data1
- echo 'tds [a-a] [a-a] <data1'
- tds '[a-a]' '[a-a]' <data1
- echo
-
- echo 'tr a jk <data1'
- tr a jk <data1
- echo 'tds a jk <data1'
- tds a jk <data1
- echo 'tr [a-a] [j-k] <data1'
- tr '[a-a]' '[j-k]' <data1
- echo 'tds [a-a] [j-k] <data1'
- tds '[a-a]' '[j-k]' <data1
- echo
-
- echo 'tr jk a <data1'
- tr jk a <data1
- echo 'tds jk a <data1'
- tds jk a <data1
- echo 'tr [j-k] [a-a] <data1'
- tr '[j-k]' '[a-a]' <data1
- echo 'tds [j-k] [a-a] <data1'
- tds '[j-k]' '[a-a]' <data1
- echo
-
- echo 'tr -d j <data1'
- tr -d j <data1
- echo 'tds -d j <data1'
- tds -d j <data1
- echo 'tr -d [j-j] [j-j] <data1'
- tr -d '[j-j]' '[j-j]' <data1
- echo 'tds -d [j-j] [j-j] <data1'
- tds -d '[j-j]' '[j-j]' <data1
- echo
-
- echo 'tds -d -c b <data1'
- tr -cd b <data1
- echo 'tds -cd b <data1'
- tds -cd b <data1
- echo 'tr -cd [b-b] [b-b] <data1'
- tr -cd '[b-b]' '[b-b]' <data1
- echo 'tds -d -c [b-b] [b-b] <data1'
- tds -d -c '[b-b]' '[b-b]' <data1
- echo
-
- echo 'tr -s abcdefghijklmnopqrstuvwxyz <data2'
- tr -s abcdefghijklmnopqrstuvwxyz <data2
- echo 'tds -s abcdefghijklmnopqrstuvwxyz <data2'
- tds -s abcdefghijklmnopqrstuvwxyz <data2
- echo 'tr -s [a-z] [a-z] <data2'
- tr -s '[a-z]' '[a-z]' <data2
- echo 'tds [a-z] -s [a-z] <data2'
- tds '[a-z]' -s '[a-z]' <data2
- echo
-
- echo 'tr -s j o <data2'
- tr -s j o <data2
- echo 'tds -s j o <data2'
- tds -s j o <data2
- echo 'tr -s [j-j] [o-o] <data2'
- tr -s '[j-j]' '[o-o]' <data2
- echo 'tds -s [j-j] [o-o] <data2'
- tds -s '[j-j]' '[o-o]' <data2
- echo
-
- echo 'tds -d abcdef -s xyz <data2'
- tr -ds abcdef xyz <data2
- echo 'tds -ds abcdef xyz <data2'
- tds -ds abcdef xyz <data2
- echo 'tr -ds [a-f] [x-z] <data2'
- tr -ds '[a-f]' '[x-z]' <data2
- echo 'tds -ds [a-f] [x-z] <data2'
- tds -ds '[a-f]' '[x-z]' <data2
- echo
-
- echo ' tr [a-z][A-Z] [n-z][a-m][N-Z][A-M] <data1'
- tr '[a-z][A-Z]' '[n-z][a-m][N-Z][A-M]' <data1
- echo 'tds [a-z][A-Z] [n-z][a-m][N-Z][A-M] <data1'
- tds '[a-z][A-Z]' '[n-z][a-m][N-Z][A-M]' <data1
- echo ' tr [a-zA-Z] [n-za-mN-ZA-M] <data1'
- tr '[a-zA-Z]' '[n-za-mN-ZA-M]' <data1
- echo 'tds [a-zA-Z] [n-za-mN-ZA-M] <data1'
- tds '[a-zA-Z]' '[n-za-mN-ZA-M]' <data1
- echo
-
- # There is no need for character multipliers in s1, but the function
- # that parses s2 is essentially the same as that needed by s1 with the
- # character multiplier code. The following may show an undocumented
- # "bug" in tr. It is really not a bug unless someone expects tr to
- # behave as it "should" in this unusual situation.
-
- echo 'tr aaa b <data1'
- tr aaa b <data1
- echo ' tr [a*3] b <data1'
- tr '[a*3]' b <data1
- echo 'tds aaa b <data1'
- tds aaa b <data1
- echo 'tds [a*3] b <data1'
- tds '[a*3]' b <data1
-