diff options
Diffstat (limited to 'tests/general/endetab.dat')
-rw-r--r-- | tests/general/endetab.dat | 258 |
1 files changed, 258 insertions, 0 deletions
diff --git a/tests/general/endetab.dat b/tests/general/endetab.dat new file mode 100644 index 0000000..76976a8 --- /dev/null +++ b/tests/general/endetab.dat @@ -0,0 +1,258 @@ +## test data for entab/detab tester; see driver program's comments for details +# +# Remember that the characters --> "!.$" <-- are metacharacters, and cannot +# be used randomly for punctuation; I got away with it that time by placing +# them carefully <stop> + +# first try with default parameters (9,17,25,33,etc) + +x + x + x + x + x + x + x + x +!.......x +!....... x +!....... x +!....... x +!....... x +!....... x +!....... x +!....... x +!.......!.......x +x!......!.......x + x!.....!.......x + x!....!.......x + x!...!.......x + x!..!.......x + x!.!.......x + x!!.......x # tab replaces one char as part of longer run + x!.......x +!.......x!......x +!....... x!.....x +!....... x!....x +!....... x!...x +!....... x!..x +!....... x!.x +!....... x x # tab does not replace one-char run +!....... xx +!.......!.......x +abcde!..x +abcdef!.x +abcdefg x +abcdefg x +abcdefg x +abcdefg x +abcdefg x +abcdefg x +abcdefg x +abcdefg x +abcdefg!!.......x + +# test some lines with trailing spaces +$ + $ + $ + $ + $ + $ + $ + $ +!.......$ +!....... $ +!....... $ +!....... $ +!....... $ +!....... $ +!....... $ +!....... $ +!.......!.......$ +!.......!....... $ +!.......!....... $ + +!.......!.......!.......!.......!.......!.......!.......!....... wxyz +!.......!.......!.......!.......!.......!.......!.......!.......!.......xyz +!.......!.......!.......!.......!.......!.......!.......!.......!....... yz +!.......!.......!.......!.......!.......!.......!.......!.......!....... z + +!.......ENTRY!..SUUO +!.......ENTRY!..NUUO +!.......CAI!....1,[BYTE (9)"s","u","u","o","/","n","u","u","o",0] +SUUO:!..TRZA!...T1,1!...!.......; flag suuo call +NUUO:!..TRO!....T1,1!...!.......; flag nuuo call +!.......MOVE!...T0,1-OFF(P)!....; get UUO code +!.......MOVEM!..T0,UUO!.!.......; save uuo +!.......MOVE!...T0,2-OFF(P)!....; load register value +!.......XCT!....UUO!....!.......; issue UUO +!....... TRZE!..T1,1!...!.......; skip unless non-skip from nuuo call +!....... TRZE!..T1,1!...!.......; skip unless skip-return from nuuo call +!....... HRREI!.T0,ERR!.!.......; indicate UUO failure +!.......MOVE!...T1,T0!..!.......; return result in r1 +!.......POPJ!...P,!.....!.......; return + +# now try tabs every 4 columns += entab(s,5) + +x +xx + xx + x x + x x + x x + x x + x x +!...x!..x +!...x!.. x +!... x!. x +!... x!. x +!... x!!...x +!... x!!... x +!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...xyz + +xxxx +xxx x +xxx x +xxx x +xxx x +xxx!!...x +xxx!!... x + +xxx$ +xxx $ +xxx $ +xxx $ +xxx $ +xxx!!...$ +xxx!!... $ + +smatch(s1,s2) +char *s1, *s2; +{ +!...while (~((*s1 ^ *s2) & 0137)) +!...!...if (~*s1) +!...!...!...return 0; +!...!...else +!...!...!...s1++, s2++; +!...return ((*s1 & 0137) - (*s2 & 0137)); +} + +# try col 8, then every 4 += entab(s,8,12) +!......01!.student-record +!......!...03!.name pic x(25) +!......!...03!.home-address +!......!...!...05!.city pic x(15) +!......!...!...05!.state pic xx +!......!...!...05!.big-zip +!......!...!...!...07!.zip pic 9(5) +!......!...!...!...07!.plus-4 pic 9(4) +!......!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...!...xyz + +# try irregular columns += entab(11,18,30,36) +!.........entry!.sys= + sys2!....xj + sys3!....sa1!...a6 +!.........lx1!...59-40 +!.........mi x1,sys3!......wait until done if RCL bit set + sys=!....subr!..=!..........entry / exit + sys1!....sa1!...1 +!.........nz x1,sys1!......wait ra+1 clear +!.........sa6!...1!..........store request +!.........eq sys2 +!.........!.......!..........!.....!.....!.....!.....!.....!.....!..... xyz + +# and now for something completely different += entab(s,11,60) +# (11,60,61) would need less scratch space on detab but few will know/use this + +loop:!....line = input!....................................:f(end) +!.........output = line!...................................:(loop) + +# end cases += entab(s,2) +x + x +!!x +!!!x +!!!!x +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!xyz + += entab(s,2,4) +x + x + x +!!.x +!!. x +!!.!.x +!!.!.!.!.!.!.!.!.!.!.xyz +!!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.xyz + += entab(s,3) +x + x +!.x +!. x +!.!.x +!.!.!.!.!.!.!.!.!.!.xyz +!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.!.xyz + += entab(s,3,4) +x + x +!.x +!.!x +!.!!x +!.!!!x +!.!!!!x +!.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!xyz + +# now go back to an interval of 4 and test special characters in input += entab(s,5) + +# first, just tabs in the input +\t$ +\t $ +\t $ +\t $ +\t!...$ + \t!...$ + \t!...$ + \t!...$ +!...\t!...$ +\tx +\t x +\t x +\t x +\t!...x + \t!...x + \t!...x + \t!...x +!...\t!...x +abc\tdef\tghi\tjkl + + +smatch(s1,s2) +char *s1, *s2; +{ +\twhile (~((*s1 ^ *s2) & 0137)) +\t\tif (~*s1) +!...!...!...return 0; + \t\telse +!...!...!...s1++, s2++; + \treturn ((*s1 & 0137) - (*s2 & 0137)); +} + +# now some backspaces +abc\b!.de\b!..fghij\b!...k + +# use irregular stops for testing wierder situations += entab(5,7,10) +!...!.!..!..!..!..!..!..!..!..!..!..!..!..!..!..!..!..!..!..!..!..!..!.. +!...!.!..\b\b\b\b\b\b\b\b\b!...!.!..!.. +!...!.!..\n!...!.!..\r!...!.!..\n\r!...!.!..\r\n!...!.!.. +!...\a!.\a!..\a!.. +!...\b\b\b\b!...\b\a\b\a!.!.!..\n\n\n \t!.!..\n |