From: Jörg Breitbart Date: Tue, 5 Jul 2016 09:36:30 +0000 (+0200) Subject: adding xterm comparison tests X-Git-Url: https://git.proxmox.com/?p=mirror_xterm.js.git;a=commitdiff_plain;h=36930e9661123a86e44a8f2471e6dfed2f3b6824 adding xterm comparison tests --- diff --git a/package.json b/package.json index 055ef34..4888200 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,24 @@ { "name": "xterm", "version": "0.33.0", - "ignore": ["demo", "test", ".gitignore"], + "ignore": [ + "demo", + "test", + ".gitignore" + ], "main": "src/xterm.js", "repository": "https://github.com/sourcelair/xterm.js", "license": "MIT", "devDependencies": { + "chai": "3.5.0", + "docdash": "0.4.0", "express": "4.13.4", "express-ws": "2.0.0-rc.1", - "pty.js": "0.3.0", - "mocha": "2.5.3", - "chai": "3.5.0", + "glob": "^7.0.5", "jsdoc": "3.4.0", - "docdash": "0.4.0" + "mocha": "2.5.3", + "pty.js": "0.3.0", + "sleep": "^3.0.1" }, "scripts": { "start": "node demo/app", diff --git a/test/escape_sequence_files/NOTES b/test/escape_sequence_files/NOTES new file mode 100644 index 0000000..bcadcb4 --- /dev/null +++ b/test/escape_sequence_files/NOTES @@ -0,0 +1,21 @@ +All tests are made for 80x25 terminal. Make sure to run tests with 80x25. + +Create .text files from xterm (expected output) +- open xterm +- resize xterm to 80x25 +- run `python run_tests.py` +- copy & paste whole window output into editor +- add 26th empty line (due to line handling in toString) - not a bug, a feature ;) +- advance to next test with ^D + + +Known problems +############## + + +t0031-HBP: + - no documentation at all about CSIj found - skipping + +t0050-ICH: + - bug in xterm? (cant ICH last real char, always sticks to last col) + - text used from https://github.com/MarkLodato/vt100-parser/blob/master/test/t0050-ICH.text diff --git a/test/escape_sequence_files/run_tests.py b/test/escape_sequence_files/run_tests.py new file mode 100644 index 0000000..08efbf3 --- /dev/null +++ b/test/escape_sequence_files/run_tests.py @@ -0,0 +1,73 @@ +from glob import glob +import os +import sys +import termios +import atexit + +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def enable_echo(fd, enabled): + (iflag, oflag, cflag, lflag, ispeed, ospeed, cc) = termios.tcgetattr(fd) + if enabled: + lflag |= termios.ECHO + else: + lflag &= ~termios.ECHO + new_attr = [iflag, oflag, cflag, lflag, ispeed, ospeed, cc] + termios.tcsetattr(fd, termios.TCSANOW, new_attr) + +atexit.register(enable_echo, sys.stdin.fileno(), True) + +output = [] + + +def log(append=False, *s): + if append: + output[-1] += ' ' + ' '.join(str(part) for part in s) + else: + output.append(' '.join(str(part) for part in s)) + + +def reset_terminal(): + sys.stdout.write('\x1bc\x1b[H') + sys.stdout.flush() + + +def test(): + count = 0 + passed = 0 + for i, testfile in enumerate(sorted(glob(os.path.join(BASE_DIR, '*.in')))): + count += 1 + log(False, os.path.basename(testfile)) + reset_terminal() + with open(testfile) as test: + sys.stdout.write('\x1b]0;%s\x07' % os.path.basename(testfile)) + sys.stdout.write(test.read()+'\x1bt') + sys.stdout.flush() + with open(os.path.join(os.path.dirname(testfile), + os.path.basename(testfile).split('.')[0]+'.text')) as expected: + terminal_output = sys.stdin.read() + if not terminal_output: + # we are in xterm + continue + if terminal_output != expected.read(): + log(True, '\x1b[31merror\x1b[0m') + with open(os.path.join(os.path.dirname(testfile), 'output', + os.path.basename(testfile)), 'w') as t_out: + t_out.write(terminal_output) + else: + passed += 1 + log(True, '\x1b[32mpass\x1b[0m') + return count, passed + + +if __name__ == '__main__': + enable_echo(sys.stdin.fileno(), False) + count, passed = test() + enable_echo(sys.stdin.fileno(), True) + reset_terminal() + for i in range(len(output)/2+1): + if not (i+1) % 25: + sys.stdin.read() + print ''.join(i.ljust(40) for i in output[i*2:i*2+2]) + print '\x1b[33mcoverage: %s/%s (%d%%) tests passed.\x1b[0m' % (passed, count, passed*100/count) diff --git a/test/escape_sequence_files/t0001-all_printable.in b/test/escape_sequence_files/t0001-all_printable.in new file mode 100644 index 0000000..2f36543 --- /dev/null +++ b/test/escape_sequence_files/t0001-all_printable.in @@ -0,0 +1,6 @@ + !"#$%&'()*+,-./ +0123456789:;<=>? +@ABCDEFGHIJKLMNO +PQRSTUVWXYZ[\]^_ +`abcdefghijklmno +pqrstuvwxyz{|}~ diff --git a/test/escape_sequence_files/t0001-all_printable.text b/test/escape_sequence_files/t0001-all_printable.text new file mode 100644 index 0000000..421f5a7 --- /dev/null +++ b/test/escape_sequence_files/t0001-all_printable.text @@ -0,0 +1,25 @@ + !"#$%&'()*+,-./ +0123456789:;<=>? +@ABCDEFGHIJKLMNO +PQRSTUVWXYZ[\]^_ +`abcdefghijklmno +pqrstuvwxyz{|}~ + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0002-history.in b/test/escape_sequence_files/t0002-history.in new file mode 100644 index 0000000..3bc7fbc --- /dev/null +++ b/test/escape_sequence_files/t0002-history.in @@ -0,0 +1,95 @@ + +! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ diff --git a/test/escape_sequence_files/t0002-history.text b/test/escape_sequence_files/t0002-history.text new file mode 100644 index 0000000..39bdf52 --- /dev/null +++ b/test/escape_sequence_files/t0002-history.text @@ -0,0 +1,25 @@ +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ + diff --git a/test/escape_sequence_files/t0002j-simple_string.in b/test/escape_sequence_files/t0002j-simple_string.in new file mode 100644 index 0000000..a679175 --- /dev/null +++ b/test/escape_sequence_files/t0002j-simple_string.in @@ -0,0 +1 @@ +abcdefghijklmnopqrstuvwxyz0123456789 \ No newline at end of file diff --git a/test/escape_sequence_files/t0002j-simple_string.text b/test/escape_sequence_files/t0002j-simple_string.text new file mode 100644 index 0000000..097318d --- /dev/null +++ b/test/escape_sequence_files/t0002j-simple_string.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqrstuvwxyz0123456789 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0003-line_wrap.in b/test/escape_sequence_files/t0003-line_wrap.in new file mode 100644 index 0000000..d110db8 --- /dev/null +++ b/test/escape_sequence_files/t0003-line_wrap.in @@ -0,0 +1,83 @@ +a +ab +abc +abcd +abcde +abcdef +abcdefg +abcdefgh +abcdefghi +abcdefghij +abcdefghijk +abcdefghijkl +abcdefghijklm +abcdefghijklmn +abcdefghijklmno +abcdefghijklmnop +abcdefghijklmnopq +abcdefghijklmnopqr +abcdefghijklmnopqrs +abcdefghijklmnopqrst +abcdefghijklmnopqrstu +abcdefghijklmnopqrstuv +abcdefghijklmnopqrstuvw +abcdefghijklmnopqrstuvwx +abcdefghijklmnopqrstuvwxy +abcdefghijklmnopqrstuvwxyz +abcdefghijklmnopqrstuvwxyzA +abcdefghijklmnopqrstuvwxyzAB +abcdefghijklmnopqrstuvwxyzABC +abcdefghijklmnopqrstuvwxyzABCD +abcdefghijklmnopqrstuvwxyzABCDE +abcdefghijklmnopqrstuvwxyzABCDEF +abcdefghijklmnopqrstuvwxyzABCDEFG +abcdefghijklmnopqrstuvwxyzABCDEFGH +abcdefghijklmnopqrstuvwxyzABCDEFGHI +abcdefghijklmnopqrstuvwxyzABCDEFGHIJ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJK +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLM +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNO +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUV +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890a +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890ab +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abc +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcd +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcde +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdef +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefg +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghij +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijk +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijkl +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmn +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqr +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqrs +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqrst diff --git a/test/escape_sequence_files/t0003-line_wrap.text b/test/escape_sequence_files/t0003-line_wrap.text new file mode 100644 index 0000000..fbe1c56 --- /dev/null +++ b/test/escape_sequence_files/t0003-line_wrap.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890a +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890ab +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abc +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcd +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcde +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdef +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefg +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghij +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijk +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijkl +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmn +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +r +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +rs +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +rst + diff --git a/test/escape_sequence_files/t0003j-LF.in b/test/escape_sequence_files/t0003j-LF.in new file mode 100644 index 0000000..9f52852 --- /dev/null +++ b/test/escape_sequence_files/t0003j-LF.in @@ -0,0 +1,26 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 diff --git a/test/escape_sequence_files/t0003j-LF.text b/test/escape_sequence_files/t0003j-LF.text new file mode 100644 index 0000000..a6210e1 --- /dev/null +++ b/test/escape_sequence_files/t0003j-LF.text @@ -0,0 +1,25 @@ +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 + diff --git a/test/escape_sequence_files/t0004-LF.in b/test/escape_sequence_files/t0004-LF.in new file mode 100644 index 0000000..4f4aa53 --- /dev/null +++ b/test/escape_sequence_files/t0004-LF.in @@ -0,0 +1,83 @@ +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +0 +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t diff --git a/test/escape_sequence_files/t0004-LF.text b/test/escape_sequence_files/t0004-LF.text new file mode 100644 index 0000000..3756aca --- /dev/null +++ b/test/escape_sequence_files/t0004-LF.text @@ -0,0 +1,25 @@ +7 +8 +9 +0 +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t + diff --git a/test/escape_sequence_files/t0004j-CR.in b/test/escape_sequence_files/t0004j-CR.in new file mode 100644 index 0000000..d40432d --- /dev/null +++ b/test/escape_sequence_files/t0004j-CR.in @@ -0,0 +1,7 @@ +1 x + 2 x + 3 x + 4 x + 5 x + 6 x + 7 x \ No newline at end of file diff --git a/test/escape_sequence_files/t0004j-CR.text b/test/escape_sequence_files/t0004j-CR.text new file mode 100644 index 0000000..beb0e35 --- /dev/null +++ b/test/escape_sequence_files/t0004j-CR.text @@ -0,0 +1,25 @@ +x +x2 +x 3 +x 4 +x 5 +x 6 +x 7 + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0005-CR.in b/test/escape_sequence_files/t0005-CR.in new file mode 100644 index 0000000..d5f545a --- /dev/null +++ b/test/escape_sequence_files/t0005-CR.in @@ -0,0 +1,82 @@ +b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a + b a diff --git a/test/escape_sequence_files/t0005-CR.text b/test/escape_sequence_files/t0005-CR.text new file mode 100644 index 0000000..dfcc049 --- /dev/null +++ b/test/escape_sequence_files/t0005-CR.text @@ -0,0 +1,25 @@ +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b +a b + +a + +ab + diff --git a/test/escape_sequence_files/t0006-IND.in b/test/escape_sequence_files/t0006-IND.in new file mode 100644 index 0000000..614552f --- /dev/null +++ b/test/escape_sequence_files/t0006-IND.in @@ -0,0 +1 @@ +aDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D0DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDt diff --git a/test/escape_sequence_files/t0006-IND.text b/test/escape_sequence_files/t0006-IND.text new file mode 100644 index 0000000..8c69a7f --- /dev/null +++ b/test/escape_sequence_files/t0006-IND.text @@ -0,0 +1,25 @@ + 7 + 8 + 9 + 0 + a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + diff --git a/test/escape_sequence_files/t0007-space_at_end.in b/test/escape_sequence_files/t0007-space_at_end.in new file mode 100644 index 0000000..73d19c5 --- /dev/null +++ b/test/escape_sequence_files/t0007-space_at_end.in @@ -0,0 +1,8 @@ +0 space: +1 space: +2 space: +3 space: +70 space: +71 space: +72 space: +73 space: diff --git a/test/escape_sequence_files/t0007-space_at_end.text b/test/escape_sequence_files/t0007-space_at_end.text new file mode 100644 index 0000000..f46caee --- /dev/null +++ b/test/escape_sequence_files/t0007-space_at_end.text @@ -0,0 +1,25 @@ +0 space: +1 space: +2 space: +3 space: +70 space: +71 space: +72 space: + +73 space: + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0008-BS.in b/test/escape_sequence_files/t0008-BS.in new file mode 100644 index 0000000..0980d87 --- /dev/null +++ b/test/escape_sequence_files/t0008-BS.in @@ -0,0 +1,7 @@ +abcdefghijklmnopqrstuvwxyz! +abc@ +# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop$ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq% +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqr^ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqrs& diff --git a/test/escape_sequence_files/t0008-BS.text b/test/escape_sequence_files/t0008-BS.text new file mode 100644 index 0000000..77d1710 --- /dev/null +++ b/test/escape_sequence_files/t0008-BS.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqrst!vwxyz +@bc +# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghij$lmnop +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghij%lmnopq +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +^ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +&s + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0009-NEL.in b/test/escape_sequence_files/t0009-NEL.in new file mode 100644 index 0000000..b541ec4 --- /dev/null +++ b/test/escape_sequence_files/t0009-NEL.in @@ -0,0 +1 @@ +aEabEabcEabcdEabcdeEabcdefEabcdefgEabcdefghEabcdefghiEabcdefghijEabcdefghijkEabcdefghijklEabcdefghijklmEabcdefghijklmnEabcdefghijklmnoEabcdefghijklmnopEabcdefghijklmnopqEabcdefghijklmnopqrEabcdefghijklmnopqrsEabcdefghijklmnopqrstEabcdefghijklmnopqrstuEabcdefghijklmnopqrstuvEabcdefghijklmnopqrstuvwEabcdefghijklmnopqrstuvwxEabcdefghijklmnopqrstuvwxyEabcdefghijklmnopqrstuvwxyzEabcdefghijklmnopqrstuvwxyzAEabcdefghijklmnopqrstuvwxyzABEabcdefghijklmnopqrstuvwxyzABCEabcdefghijklmnopqrstuvwxyzABCDEabcdefghijklmnopqrstuvwxyzABCDEEabcdefghijklmnopqrstuvwxyzABCDEFEabcdefghijklmnopqrstuvwxyzABCDEFGEabcdefghijklmnopqrstuvwxyzABCDEFGHEabcdefghijklmnopqrstuvwxyzABCDEFGHIEabcdefghijklmnopqrstuvwxyzABCDEFGHIJEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQREabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012345678EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890EabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890aEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdeEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghiEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijkEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnoEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqrEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqrsEabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqrst diff --git a/test/escape_sequence_files/t0009-NEL.text b/test/escape_sequence_files/t0009-NEL.text new file mode 100644 index 0000000..fbe1c56 --- /dev/null +++ b/test/escape_sequence_files/t0009-NEL.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890a +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890ab +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abc +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcd +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcde +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdef +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefg +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghij +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijk +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijkl +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmn +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +r +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +rs +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +rst + diff --git a/test/escape_sequence_files/t0010-RI.in b/test/escape_sequence_files/t0010-RI.in new file mode 100644 index 0000000..c2aeb67 --- /dev/null +++ b/test/escape_sequence_files/t0010-RI.in @@ -0,0 +1,10 @@ +a +b +c +dMeMfMg +h +i +j....................................................................kMlMmMn + + + diff --git a/test/escape_sequence_files/t0010-RI.text b/test/escape_sequence_files/t0010-RI.text new file mode 100644 index 0000000..5320654 --- /dev/null +++ b/test/escape_sequence_files/t0010-RI.text @@ -0,0 +1,25 @@ +a g n +h f m +ie l +j....................................................................k + + + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0011-RI_scroll.in b/test/escape_sequence_files/t0011-RI_scroll.in new file mode 100644 index 0000000..14da12d --- /dev/null +++ b/test/escape_sequence_files/t0011-RI_scroll.in @@ -0,0 +1,47 @@ +And the third. + + + + + + + + + + + + + + + + + + + + +This should be the last line. +This one should be lost. +This one's a goner, too. MMMMMMMMMMMMMMMMMMMMMMMMThis is second line. MThis should be the first line. + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0011-RI_scroll.text b/test/escape_sequence_files/t0011-RI_scroll.text new file mode 100644 index 0000000..21cb1cf --- /dev/null +++ b/test/escape_sequence_files/t0011-RI_scroll.text @@ -0,0 +1,25 @@ +This should be the first line. +This is second line. +And the third. + + + + + + + + + + + + + + + + + + + + +This should be the last line. +This one should be lost. diff --git a/test/escape_sequence_files/t0012-VT.in b/test/escape_sequence_files/t0012-VT.in new file mode 100644 index 0000000..ee56208 --- /dev/null +++ b/test/escape_sequence_files/t0012-VT.in @@ -0,0 +1 @@ +a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t \ No newline at end of file diff --git a/test/escape_sequence_files/t0012-VT.text b/test/escape_sequence_files/t0012-VT.text new file mode 100644 index 0000000..8c69a7f --- /dev/null +++ b/test/escape_sequence_files/t0012-VT.text @@ -0,0 +1,25 @@ + 7 + 8 + 9 + 0 + a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + diff --git a/test/escape_sequence_files/t0013-FF.in b/test/escape_sequence_files/t0013-FF.in new file mode 100644 index 0000000..01198c2 --- /dev/null +++ b/test/escape_sequence_files/t0013-FF.in @@ -0,0 +1 @@ +a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t diff --git a/test/escape_sequence_files/t0013-FF.text b/test/escape_sequence_files/t0013-FF.text new file mode 100644 index 0000000..16c9c2b --- /dev/null +++ b/test/escape_sequence_files/t0013-FF.text @@ -0,0 +1,25 @@ + 8 + 9 + 0 + a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r + s + t + + diff --git a/test/escape_sequence_files/t0014-CAN.in b/test/escape_sequence_files/t0014-CAN.in new file mode 100644 index 0000000..64bae4a --- /dev/null +++ b/test/escape_sequence_files/t0014-CAN.in @@ -0,0 +1,8 @@ +abcdDefgh +abcdDefgh +abcd!Defgh +abcd!*Defgh +abcd[Defgh +abcd[!Defgh +abcd[2Defgh +abcd[*2;Defgh diff --git a/test/escape_sequence_files/t0014-CAN.text b/test/escape_sequence_files/t0014-CAN.text new file mode 100644 index 0000000..77a38fa --- /dev/null +++ b/test/escape_sequence_files/t0014-CAN.text @@ -0,0 +1,25 @@ +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0015-SUB.in b/test/escape_sequence_files/t0015-SUB.in new file mode 100644 index 0000000..1bd237f --- /dev/null +++ b/test/escape_sequence_files/t0015-SUB.in @@ -0,0 +1,8 @@ +abcdDefgh +abcdDefgh +abcd!Defgh +abcd!*Defgh +abcd[Defgh +abcd[!Defgh +abcd[2Defgh +abcd[*2;Defgh diff --git a/test/escape_sequence_files/t0015-SUB.text b/test/escape_sequence_files/t0015-SUB.text new file mode 100644 index 0000000..77a38fa --- /dev/null +++ b/test/escape_sequence_files/t0015-SUB.text @@ -0,0 +1,25 @@ +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh +abcdDefgh + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0016-SU.in b/test/escape_sequence_files/t0016-SU.in new file mode 100644 index 0000000..7e52573 --- /dev/null +++ b/test/escape_sequence_files/t0016-SU.in @@ -0,0 +1,17 @@ +HelloGoodbye + +UpDown +x + +-----------------------------------------------------------------------------x +------------------------------------------------------------------------------x +-------------------------------------------------------------------------------x +--------------------------------------------------------------------------------x +---------------------------------------------------------------------------------x +.............................................................................x +..............................................................................x +...............................................................................x +................................................................................x +.................................................................................x + +The End. diff --git a/test/escape_sequence_files/t0016-SU.text b/test/escape_sequence_files/t0016-SU.text new file mode 100644 index 0000000..2323fa3 --- /dev/null +++ b/test/escape_sequence_files/t0016-SU.text @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + +The End. + + + + + diff --git a/test/escape_sequence_files/t0017-SD.in b/test/escape_sequence_files/t0017-SD.in new file mode 100644 index 0000000..ce76440 --- /dev/null +++ b/test/escape_sequence_files/t0017-SD.in @@ -0,0 +1,54 @@ +A + B + C + D + E + F + G + H + I + J + K + L + M + N + O + P + Q + R + S + T + U + V + W + X +a + b + c + d + e + f + g + h +------------------------------------------------------------------------------1 + + +-------------------------------------------------------------------------------2 + + +--------------------------------------------------------------------------------3 + + +---------------------------------------------------------------------------------4 + + +..............................................................................5 + + +...............................................................................6 + + +................................................................................7 + + +.................................................................................8 diff --git a/test/escape_sequence_files/t0017-SD.text b/test/escape_sequence_files/t0017-SD.text new file mode 100644 index 0000000..6e39cd9 --- /dev/null +++ b/test/escape_sequence_files/t0017-SD.text @@ -0,0 +1,25 @@ + + +a + b + f + g + h 1 + + 2 + + +3 + + +-4------------------------------------------------------------------------------ + + 5 + + 6 + + 7 + + +8............................................................................... + diff --git a/test/escape_sequence_files/t0020-CUF.in b/test/escape_sequence_files/t0020-CUF.in new file mode 100644 index 0000000..9df6cd7 --- /dev/null +++ b/test/escape_sequence_files/t0020-CUF.in @@ -0,0 +1,14 @@ +abcdefghijkl +abcdefghijkl +abcdefghijkl +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqr@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +x +x +abcd diff --git a/test/escape_sequence_files/t0020-CUF.text b/test/escape_sequence_files/t0020-CUF.text new file mode 100644 index 0000000..b868261 --- /dev/null +++ b/test/escape_sequence_files/t0020-CUF.text @@ -0,0 +1,25 @@ +abcdefg hijkl +abcdefg hijkl +abcdefg hijkl +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +r @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ + x + x +abcd + + + + + + + + + + diff --git a/test/escape_sequence_files/t0021-CUB.in b/test/escape_sequence_files/t0021-CUB.in new file mode 100644 index 0000000..b07f753 --- /dev/null +++ b/test/escape_sequence_files/t0021-CUB.in @@ -0,0 +1,8 @@ +abcdefg!@ +abcdefg!@ +abcdefg!@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqr@ +x diff --git a/test/escape_sequence_files/t0021-CUB.text b/test/escape_sequence_files/t0021-CUB.text new file mode 100644 index 0000000..9a1b385 --- /dev/null +++ b/test/escape_sequence_files/t0021-CUB.text @@ -0,0 +1,25 @@ +abcdef!@ +!@cdefg +abcde!@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmn@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno@q +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +@ +x + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0022-CUU.in b/test/escape_sequence_files/t0022-CUU.in new file mode 100644 index 0000000..4c47f30 --- /dev/null +++ b/test/escape_sequence_files/t0022-CUU.in @@ -0,0 +1,25 @@ +a +b +c +defg +h +i +j....................................................................klmn + + + + + + + + + + + +0123 + + + + + + diff --git a/test/escape_sequence_files/t0022-CUU.text b/test/escape_sequence_files/t0022-CUU.text new file mode 100644 index 0000000..b786ade --- /dev/null +++ b/test/escape_sequence_files/t0022-CUU.text @@ -0,0 +1,25 @@ +a g n +h f m +ie l +j....................................................................k + + 3 + + + 2 + + 1 +0 + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0023-CUU_scroll.in b/test/escape_sequence_files/t0023-CUU_scroll.in new file mode 100644 index 0000000..e0c9243 --- /dev/null +++ b/test/escape_sequence_files/t0023-CUU_scroll.in @@ -0,0 +1,50 @@ +This is the first line. +This is the second line. +And the third. +This line should be deleted. + + + + + + + + + + + + + + + + + + + + + +Penultimate line. +This should be the last line. I have gone up all the way... + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0023-CUU_scroll.text b/test/escape_sequence_files/t0023-CUU_scroll.text new file mode 100644 index 0000000..96b8726 --- /dev/null +++ b/test/escape_sequence_files/t0023-CUU_scroll.text @@ -0,0 +1,25 @@ +I have gone up all the way... +This line should be deleted. + + + + + + + + + + + + + + + + + + + + + +Penultimate line. +This should be the last line. diff --git a/test/escape_sequence_files/t0024-CUD.in b/test/escape_sequence_files/t0024-CUD.in new file mode 100644 index 0000000..e971bbe --- /dev/null +++ b/test/escape_sequence_files/t0024-CUD.in @@ -0,0 +1,24 @@ +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x012345Bottom line. ABCDE  diff --git a/test/escape_sequence_files/t0024-CUD.text b/test/escape_sequence_files/t0024-CUD.text new file mode 100644 index 0000000..622c0b0 --- /dev/null +++ b/test/escape_sequence_files/t0024-CUD.text @@ -0,0 +1,25 @@ +b 1 +c 2 +d 3 +e +f 4 +g +h +i 5 +j +k +l +m +n +o +p +q A +r B +s C +t D +u E +v +w +x + Bottom line. + diff --git a/test/escape_sequence_files/t0025-CUP.in b/test/escape_sequence_files/t0025-CUP.in new file mode 100644 index 0000000..b62631e --- /dev/null +++ b/test/escape_sequence_files/t0025-CUP.in @@ -0,0 +1 @@ +abcdefg diff --git a/test/escape_sequence_files/t0025-CUP.text b/test/escape_sequence_files/t0025-CUP.text new file mode 100644 index 0000000..44dc619 --- /dev/null +++ b/test/escape_sequence_files/t0025-CUP.text @@ -0,0 +1,25 @@ + b + + +e + + + + + d + + + + + + + + + + g + + + + + f + diff --git a/test/escape_sequence_files/t0026-CNL.in b/test/escape_sequence_files/t0026-CNL.in new file mode 100644 index 0000000..8318682 --- /dev/null +++ b/test/escape_sequence_files/t0026-CNL.in @@ -0,0 +1,2 @@ +abcdefghi +-------------------------------------------------------------------------abcdefghijlast line diff --git a/test/escape_sequence_files/t0026-CNL.text b/test/escape_sequence_files/t0026-CNL.text new file mode 100644 index 0000000..61ac27e --- /dev/null +++ b/test/escape_sequence_files/t0026-CNL.text @@ -0,0 +1,25 @@ +def + + + + +ghi +-------------------------------------------------------------------------abcdefg +hij + + + + + + + + + + + + + + + +last line + diff --git a/test/escape_sequence_files/t0027-CPL.in b/test/escape_sequence_files/t0027-CPL.in new file mode 100644 index 0000000..edafc49 --- /dev/null +++ b/test/escape_sequence_files/t0027-CPL.in @@ -0,0 +1,6 @@ +erasedreplacement + + +line fourline two + + diff --git a/test/escape_sequence_files/t0027-CPL.text b/test/escape_sequence_files/t0027-CPL.text new file mode 100644 index 0000000..847ed7c --- /dev/null +++ b/test/escape_sequence_files/t0027-CPL.text @@ -0,0 +1,25 @@ +replacement +line two + +line four + + + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0030-HPR.in b/test/escape_sequence_files/t0030-HPR.in new file mode 100644 index 0000000..485720f --- /dev/null +++ b/test/escape_sequence_files/t0030-HPR.in @@ -0,0 +1,14 @@ +abcdefghijkl +abcdefghijkl +abcdefghijkl +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqr@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm@ +x +x +abcd diff --git a/test/escape_sequence_files/t0030-HPR.text b/test/escape_sequence_files/t0030-HPR.text new file mode 100644 index 0000000..b868261 --- /dev/null +++ b/test/escape_sequence_files/t0030-HPR.text @@ -0,0 +1,25 @@ +abcdefg hijkl +abcdefg hijkl +abcdefg hijkl +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +r @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklm @ + x + x +abcd + + + + + + + + + + diff --git a/test/escape_sequence_files/t0031-HPB.in_ b/test/escape_sequence_files/t0031-HPB.in_ new file mode 100644 index 0000000..13de738 --- /dev/null +++ b/test/escape_sequence_files/t0031-HPB.in_ @@ -0,0 +1,8 @@ +abcdefg!@ +abcdefg!@ +abcdefg!@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopqr@ +x diff --git a/test/escape_sequence_files/t0031-HPB.text b/test/escape_sequence_files/t0031-HPB.text new file mode 100644 index 0000000..9ec4087 --- /dev/null +++ b/test/escape_sequence_files/t0031-HPB.text @@ -0,0 +1,25 @@ +abcdefg!@ +abcdefg!@ +abcdefg!@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmno@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq +r@ +x + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0032-VPB.in b/test/escape_sequence_files/t0032-VPB.in new file mode 100644 index 0000000..30dd002 --- /dev/null +++ b/test/escape_sequence_files/t0032-VPB.in @@ -0,0 +1,25 @@ +a +b +c +defg +h +i +j....................................................................klmn + + + + + + + + + + + +0123 + + + + + + diff --git a/test/escape_sequence_files/t0032-VPB.text b/test/escape_sequence_files/t0032-VPB.text new file mode 100644 index 0000000..15f0d67 --- /dev/null +++ b/test/escape_sequence_files/t0032-VPB.text @@ -0,0 +1,25 @@ +b +c +defg +h +i +j....................................................................klmn + + + + + + + + + + + +0123 + + + + + + + diff --git a/test/escape_sequence_files/t0033-VPB_scroll.in b/test/escape_sequence_files/t0033-VPB_scroll.in new file mode 100644 index 0000000..f58db4b --- /dev/null +++ b/test/escape_sequence_files/t0033-VPB_scroll.in @@ -0,0 +1,50 @@ +This is the first line. +This is the second line. +And the third. +This line should be deleted. + + + + + + + + + + + + + + + + + + + + + +Penultimate line. +This should be the last line. I have gone up all the way... + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0033-VPB_scroll.text b/test/escape_sequence_files/t0033-VPB_scroll.text new file mode 100644 index 0000000..0b20185 --- /dev/null +++ b/test/escape_sequence_files/t0033-VPB_scroll.text @@ -0,0 +1,25 @@ +I have gone up all the way... + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0034-VPR.in b/test/escape_sequence_files/t0034-VPR.in new file mode 100644 index 0000000..b9dc145 --- /dev/null +++ b/test/escape_sequence_files/t0034-VPR.in @@ -0,0 +1,24 @@ +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x012345Bottom line. ABCDE  diff --git a/test/escape_sequence_files/t0034-VPR.text b/test/escape_sequence_files/t0034-VPR.text new file mode 100644 index 0000000..622c0b0 --- /dev/null +++ b/test/escape_sequence_files/t0034-VPR.text @@ -0,0 +1,25 @@ +b 1 +c 2 +d 3 +e +f 4 +g +h +i 5 +j +k +l +m +n +o +p +q A +r B +s C +t D +u E +v +w +x + Bottom line. + diff --git a/test/escape_sequence_files/t0035-HVP.in b/test/escape_sequence_files/t0035-HVP.in new file mode 100644 index 0000000..781dfdb --- /dev/null +++ b/test/escape_sequence_files/t0035-HVP.in @@ -0,0 +1 @@ +abcdefg diff --git a/test/escape_sequence_files/t0035-HVP.text b/test/escape_sequence_files/t0035-HVP.text new file mode 100644 index 0000000..44dc619 --- /dev/null +++ b/test/escape_sequence_files/t0035-HVP.text @@ -0,0 +1,25 @@ + b + + +e + + + + + d + + + + + + + + + + g + + + + + f + diff --git a/test/escape_sequence_files/t0040-REP.in b/test/escape_sequence_files/t0040-REP.in new file mode 100644 index 0000000..f1abf45 --- /dev/null +++ b/test/escape_sequence_files/t0040-REP.in @@ -0,0 +1,7 @@ +x +< +abcdefg +abcdefg! + @ + . + ?- diff --git a/test/escape_sequence_files/t0040-REP.text b/test/escape_sequence_files/t0040-REP.text new file mode 100644 index 0000000..cae1ef9 --- /dev/null +++ b/test/escape_sequence_files/t0040-REP.text @@ -0,0 +1,25 @@ +xxxxxx +< +abcdefg +abcd!fg + @@@@@@@@@ +@@@@@@@@@@@@ + . +.... + ? +?- + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0050-ICH.in b/test/escape_sequence_files/t0050-ICH.in new file mode 100644 index 0000000..a629f20 --- /dev/null +++ b/test/escape_sequence_files/t0050-ICH.in @@ -0,0 +1,23 @@ +abcdefghijklmnopqrstuvwxyz[15@ +abcdefghijklmnopqrstuvwxyz[80@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[17@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[18@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[19@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[20@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[21@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop[5@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq[5@ +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq[5@ +ICH at end:[5@ + +abcdefghijklmnopqrstuvwxyz[15@!@# +abcdefghijklmnopqrstuvwxyz[80@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[17@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[18@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[19@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[20@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789[21@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop[5@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq[5@!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnopq[5@!@# +ICH at end:[5@!@# diff --git a/test/escape_sequence_files/t0050-ICH.text b/test/escape_sequence_files/t0050-ICH.text new file mode 100644 index 0000000..d787b8d --- /dev/null +++ b/test/escape_sequence_files/t0050-ICH.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqrstu +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 89 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 89 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 8 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW XYZ01234567890abcdefghijkl +ICH at end: + +abcdefghijklmnopqrstu!@# vwxyz +abcdefghijklmnopqrstu!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567!@# 89 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567!@# 89 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567!@# 8 +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567!@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop! +@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghijklmnop! +@# +abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW!@# XYZ01234567890abcdefghijkl +ICH at end:!@# + diff --git a/test/escape_sequence_files/t0051-IL.in b/test/escape_sequence_files/t0051-IL.in new file mode 100644 index 0000000..e66a242 --- /dev/null +++ b/test/escape_sequence_files/t0051-IL.in @@ -0,0 +1,23 @@ +ab +cd +ef +gh +ij +kl +mn +opQRST +1 +2 +3 +4 +5------------------------------------------------------------------------------ab +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 diff --git a/test/escape_sequence_files/t0051-IL.text b/test/escape_sequence_files/t0051-IL.text new file mode 100644 index 0000000..2d0f595 --- /dev/null +++ b/test/escape_sequence_files/t0051-IL.text @@ -0,0 +1,25 @@ + +ef +gh +ij +QR +kl +mn +op +1 +2 +3 +b +4------------------------------------------------------------------------------a +5 +6 +7 +8 +9 +10 + + + +11 +12 + diff --git a/test/escape_sequence_files/t0052-DL.in b/test/escape_sequence_files/t0052-DL.in new file mode 100644 index 0000000..b5a5fe0 --- /dev/null +++ b/test/escape_sequence_files/t0052-DL.in @@ -0,0 +1,15 @@ +a +b +c +d +e +f +g +hijklmnop + + +1 +2 +3 +4 x + diff --git a/test/escape_sequence_files/t0052-DL.text b/test/escape_sequence_files/t0052-DL.text new file mode 100644 index 0000000..10d24aa --- /dev/null +++ b/test/escape_sequence_files/t0052-DL.text @@ -0,0 +1,25 @@ +a +b +c +ijklmnop +g +h +1 +x +4 + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0053-DCH.in b/test/escape_sequence_files/t0053-DCH.in new file mode 100644 index 0000000..d1f8807 --- /dev/null +++ b/test/escape_sequence_files/t0053-DCH.in @@ -0,0 +1,12 @@ +abcdefghijklmnopqrstuvwxyz> +abcdefghijklmnopqrstuvwxyz>! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>! +------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +---------------------------------------------------------------------------------? +.............................................................................. +............................................................................... +............................................................................... +................................................................................. diff --git a/test/escape_sequence_files/t0053-DCH.text b/test/escape_sequence_files/t0053-DCH.text new file mode 100644 index 0000000..75c6b3b --- /dev/null +++ b/test/escape_sequence_files/t0053-DCH.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqr>vwxyz +abcdefghijklmnopqr>!wxyz +>!mnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh +abcdefghijklmnopqrstuvwxyz0123456789ABC>!PQRSTUVWXYZ0123456789abcdefgh +------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +-------------------------------------------------------------------------------- +-? +.............................................................................. +............................................................................... +............................................................................... +................................................................................ +. + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0054-ECH.in b/test/escape_sequence_files/t0054-ECH.in new file mode 100644 index 0000000..03a00d8 --- /dev/null +++ b/test/escape_sequence_files/t0054-ECH.in @@ -0,0 +1,12 @@ +abcdefghijklmnopqrstuvwxyz> +abcdefghijklmnopqrstuvwxyz>! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>! +------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +---------------------------------------------------------------------------------? +.............................................................................. +............................................................................... +............................................................................... +................................................................................. diff --git a/test/escape_sequence_files/t0054-ECH.text b/test/escape_sequence_files/t0054-ECH.text new file mode 100644 index 0000000..a22cfbe --- /dev/null +++ b/test/escape_sequence_files/t0054-ECH.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqr> vwxyz +abcdefghijklmnopqr>! vwxyz +>! lmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh +abcdefghijklmnopqrstuvwxyz0123456789ABC>! OPQRSTUVWXYZ0123456789abcdefgh +------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +-------------------------------------------------------------------------------? +-------------------------------------------------------------------------------- +-? +.............................................................................. +............................................................................... +............................................................................... +................................................................................ +. + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0055-EL.in b/test/escape_sequence_files/t0055-EL.in new file mode 100644 index 0000000..014658c --- /dev/null +++ b/test/escape_sequence_files/t0055-EL.in @@ -0,0 +1,8 @@ +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>< +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>< +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>< +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh>< +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh><! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh><! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh><! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh! diff --git a/test/escape_sequence_files/t0055-EL.text b/test/escape_sequence_files/t0055-EL.text new file mode 100644 index 0000000..a248f3b --- /dev/null +++ b/test/escape_sequence_files/t0055-EL.text @@ -0,0 +1,25 @@ +abcdefghijklmnopqrstuvwxyz0123456789ABC> +abcdefghijklmnopqrstuvwxyz0123456789ABC> + FGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh + +abcdefghijklmnopqrstuvwxyz0123456789ABC>! + !FGHIJKLMNOPQRSTUVWXYZ0123456789abcdefgh + ! +abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefg! + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0056-ED.in b/test/escape_sequence_files/t0056-ED.in new file mode 100644 index 0000000..fca4e54 --- /dev/null +++ b/test/escape_sequence_files/t0056-ED.in @@ -0,0 +1,62 @@ +a +ab +abc +abcd +abcde +abcdef +abcdefg +abcdefgh +abcdefghi +abcdefghij +abcdefghijk +abcdefghijkl +abcdefghijklm +abcdefghijklmn +abcdefghijklmno +abcdefghijklmnop +abcdefghijklmnopq +abcdefghijklmnopqr +abcdefghijklmnopqrs +abcdefghijklmnopqrst +abcdefghijklmnopqrstu +abcdefghijklmnopqrstuv +abcdefghijklmnopqrstuvw +abcdefghijklmnopqrstuvwx +abcdefghijklmnopqrstuvwxy +abcdefghijklmnopqrstuvwxyz +A +AB +ABC +ABCD +ABCDE +ABCDEF +ABCDEFG +ABCDEFGH +ABCDEFGHI +ABCDEFGHIJ +ABCDEFGHIJK +ABCDEFGHIJKL +ABCDEFGHIJKLM +ABCDEFGHIJKLMN +ABCDEFGHIJKLMNO +ABCDEFGHIJKLMNOP +ABCDEFGHIJKLMNOPQ +ABCDEFGHIJKLMNOPQR +ABCDEFGHIJKLMNOPQRS +ABCDEFGHIJKLMNOPQRST +ABCDEFGHIJKLMNOPQRSTU +ABCDEFGHIJKLMNOPQRSTUV +ABCDEFGHIJKLMNOPQRSTUVW +ABCDEFGHIJKLMNOPQRSTUVWX +ABCDEFGHIJKLMNOPQRSTUVWXY! + +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaav^ + + + +the end diff --git a/test/escape_sequence_files/t0056-ED.text b/test/escape_sequence_files/t0056-ED.text new file mode 100644 index 0000000..61a8ac7 --- /dev/null +++ b/test/escape_sequence_files/t0056-ED.text @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + ! + +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaav +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa^ + + + +the end + diff --git a/test/escape_sequence_files/t0057-ED3.in b/test/escape_sequence_files/t0057-ED3.in new file mode 100644 index 0000000..46606df --- /dev/null +++ b/test/escape_sequence_files/t0057-ED3.in @@ -0,0 +1,55 @@ +a +ab +abc +abcd +abcde +abcdef +abcdefg +abcdefgh +abcdefghi +abcdefghij +abcdefghijk +abcdefghijkl +abcdefghijklm +abcdefghijklmn +abcdefghijklmno +abcdefghijklmnop +abcdefghijklmnopq +abcdefghijklmnopqr +abcdefghijklmnopqrs +abcdefghijklmnopqrst +abcdefghijklmnopqrstu +abcdefghijklmnopqrstuv +abcdefghijklmnopqrstuvw +abcdefghijklmnopqrstuvwx +abcdefghijklmnopqrstuvwxy +abcdefghijklmnopqrstuvwxyz +A +AB +ABC +ABCD +ABCDE +ABCDEF +ABCDEFG +ABCDEFGH +ABCDEFGHI +ABCDEFGHIJ +ABCDEFGHIJK +ABCDEFGHIJKL +ABCDEFGHIJKLM +ABCDEFGHIJKLMN +ABCDEFGHIJKLMNO +ABCDEFGHIJKLMNOP +ABCDEFGHIJKLMNOPQ +ABCDEFGHIJKLMNOPQR +ABCDEFGHIJKLMNOPQRS +ABCDEFGHIJKLMNOPQRST +ABCDEFGHIJKLMNOPQRSTU +ABCDEFGHIJKLMNOPQRSTUV +ABCDEFGHIJKLMNOPQRSTUVW +ABCDEFGHIJKLMNOPQRSTUVWX +ABCDEFGHIJKLMNOPQRSTUVWXY +this +is +the +end diff --git a/test/escape_sequence_files/t0057-ED3.note b/test/escape_sequence_files/t0057-ED3.note new file mode 100644 index 0000000..ca6d940 --- /dev/null +++ b/test/escape_sequence_files/t0057-ED3.note @@ -0,0 +1,6 @@ +Xterm behaves oddly with CSI 3 J. This function is supposed to clear the +saved lines in history. Xterm does this, but a small number of lines of +history are not cleared. The number seems to vary with how high the window is +and how much output has recently been saved. There is no reason to simulate +this behavior, so the expected outputs are as if the entire history was +erased. diff --git a/test/escape_sequence_files/t0057-ED3.text b/test/escape_sequence_files/t0057-ED3.text new file mode 100644 index 0000000..8230921 --- /dev/null +++ b/test/escape_sequence_files/t0057-ED3.text @@ -0,0 +1,25 @@ +ABCDEF +ABCDEFG +ABCDEFGH +ABCDEFGHI +ABCDEFGHIJ +ABCDEFGHIJK +ABCDEFGHIJKL +ABCDEFGHIJKLM +ABCDEFGHIJKLMN +ABCDEFGHIJKLMNO +ABCDEFGHIJKLMNOP +ABCDEFGHIJKLMNOPQ +ABCDEFGHIJKLMNOPQR +ABCDEFGHIJKLMNOPQRS +ABCDEFGHIJKLMNOPQRST +ABCDEFGHIJKLMNOPQRSTU +ABCDEFGHIJKLMNOPQRSTUV +ABCDEFGHIJKLMNOPQRSTUVW +ABCDEFGHIJKLMNOPQRSTUVWX +ABCDEFGHIJKLMNOPQRSTUVWXY +this +is +the +end + diff --git a/test/escape_sequence_files/t0060-DECSC.in b/test/escape_sequence_files/t0060-DECSC.in new file mode 100644 index 0000000..d269150 --- /dev/null +++ b/test/escape_sequence_files/t0060-DECSC.in @@ -0,0 +1,9 @@ + 7v 12 + +38^ + + + + v7 +...ooo8^ + diff --git a/test/escape_sequence_files/t0060-DECSC.text b/test/escape_sequence_files/t0060-DECSC.text new file mode 100644 index 0000000..409198b --- /dev/null +++ b/test/escape_sequence_files/t0060-DECSC.text @@ -0,0 +1,25 @@ + +3 + + v +... ^ + ooo + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0061-CSI_s.in b/test/escape_sequence_files/t0061-CSI_s.in new file mode 100644 index 0000000..451fafa --- /dev/null +++ b/test/escape_sequence_files/t0061-CSI_s.in @@ -0,0 +1,9 @@ + v 12 + +3^ + + + + v +...ooo^ + diff --git a/test/escape_sequence_files/t0061-CSI_s.text b/test/escape_sequence_files/t0061-CSI_s.text new file mode 100644 index 0000000..409198b --- /dev/null +++ b/test/escape_sequence_files/t0061-CSI_s.text @@ -0,0 +1,25 @@ + +3 + + v +... ^ + ooo + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0070-DECSTBM_LF.in b/test/escape_sequence_files/t0070-DECSTBM_LF.in new file mode 100644 index 0000000..571f223 --- /dev/null +++ b/test/escape_sequence_files/t0070-DECSTBM_LF.in @@ -0,0 +1,31 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9ABCDEFa +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +uvwxyz + +The end. diff --git a/test/escape_sequence_files/t0070-DECSTBM_LF.text b/test/escape_sequence_files/t0070-DECSTBM_LF.text new file mode 100644 index 0000000..0940b07 --- /dev/null +++ b/test/escape_sequence_files/t0070-DECSTBM_LF.text @@ -0,0 +1,25 @@ +1 + 2 + 6 + 7 + 8 + 9 ABC +DEF + a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p +yz qrstu vwx +The end. diff --git a/test/escape_sequence_files/t0071-DECSTBM_IND.in b/test/escape_sequence_files/t0071-DECSTBM_IND.in new file mode 100644 index 0000000..f9f6a42 --- /dev/null +++ b/test/escape_sequence_files/t0071-DECSTBM_IND.in @@ -0,0 +1,3 @@ +1D2D3D4D5D6D7D8D9ABCDEFaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuvwxyz + +The end. diff --git a/test/escape_sequence_files/t0071-DECSTBM_IND.text b/test/escape_sequence_files/t0071-DECSTBM_IND.text new file mode 100644 index 0000000..f6644fb --- /dev/null +++ b/test/escape_sequence_files/t0071-DECSTBM_IND.text @@ -0,0 +1,25 @@ + 2 + 6 + 7 + 8 + 9 ABC +DEF + a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q +The end. rstu vwx + diff --git a/test/escape_sequence_files/t0072-DECSTBM_NEL.in b/test/escape_sequence_files/t0072-DECSTBM_NEL.in new file mode 100644 index 0000000..5df9e71 --- /dev/null +++ b/test/escape_sequence_files/t0072-DECSTBM_NEL.in @@ -0,0 +1,2 @@ +1E2E3E4E5E6E7E8E9aEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEu +The end. diff --git a/test/escape_sequence_files/t0072-DECSTBM_NEL.text b/test/escape_sequence_files/t0072-DECSTBM_NEL.text new file mode 100644 index 0000000..1a0e4a1 --- /dev/null +++ b/test/escape_sequence_files/t0072-DECSTBM_NEL.text @@ -0,0 +1,25 @@ +2 +5 +6 +7 +8 +9 + a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +The end. + diff --git a/test/escape_sequence_files/t0073-DECSTBM_RI.in b/test/escape_sequence_files/t0073-DECSTBM_RI.in new file mode 100644 index 0000000..fc7b7e4 --- /dev/null +++ b/test/escape_sequence_files/t0073-DECSTBM_RI.in @@ -0,0 +1,43 @@ +TOP 1 +TOP 2 +TOP 3 +TOP 4 +TOP 5 +TOP 6 - GONE + + + + + + + + + + + + +BOTTOM 6 - GONE +BOTTOM 5 +BOTTOM 4 +BOTTOM 3 +BOTTOM 2 +BOTTOM 1 + + + + +And the third. + + + + + + + + + + +This should be the last line. +This one should be lost. +This one's a goner, too. MMMMMMMMMMMMMMThis is second line. MThis should be the first line. +The end. diff --git a/test/escape_sequence_files/t0073-DECSTBM_RI.text b/test/escape_sequence_files/t0073-DECSTBM_RI.text new file mode 100644 index 0000000..ce6dbc7 --- /dev/null +++ b/test/escape_sequence_files/t0073-DECSTBM_RI.text @@ -0,0 +1,25 @@ +TOP 2 +TOP 3 +TOP 4 +TOP 5 +This should be the first line. +This is second line. +And the third. + + + + + + + + + + +This should be the last line. +BOTTOM 5 +BOTTOM 4 +BOTTOM 3 +BOTTOM 2 +BOTTOM 1 +The end. + diff --git a/test/escape_sequence_files/t0074-DECSTBM_SU_SD.in b/test/escape_sequence_files/t0074-DECSTBM_SU_SD.in new file mode 100644 index 0000000..1acbaf3 --- /dev/null +++ b/test/escape_sequence_files/t0074-DECSTBM_SU_SD.in @@ -0,0 +1,24 @@ +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x diff --git a/test/escape_sequence_files/t0074-DECSTBM_SU_SD.text b/test/escape_sequence_files/t0074-DECSTBM_SU_SD.text new file mode 100644 index 0000000..948e5d4 --- /dev/null +++ b/test/escape_sequence_files/t0074-DECSTBM_SU_SD.text @@ -0,0 +1,24 @@ +a + b + c + d + f + g + h + i + + j + k + l + m + + + + n + o + p + q + r + s + w + x diff --git a/test/escape_sequence_files/t0075-DECSTBM_CUU_CUD.in b/test/escape_sequence_files/t0075-DECSTBM_CUU_CUD.in new file mode 100644 index 0000000..b679113 --- /dev/null +++ b/test/escape_sequence_files/t0075-DECSTBM_CUU_CUD.in @@ -0,0 +1,24 @@ +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x12 diff --git a/test/escape_sequence_files/t0075-DECSTBM_CUU_CUD.text b/test/escape_sequence_files/t0075-DECSTBM_CUU_CUD.text new file mode 100644 index 0000000..486b91d --- /dev/null +++ b/test/escape_sequence_files/t0075-DECSTBM_CUU_CUD.text @@ -0,0 +1,25 @@ +a +b +c +d +e +f +g +h +i +j2 +k +l +m +n +o +p +q +r +1 +t +u +v +w +x + diff --git a/test/escape_sequence_files/t0076-DECSTBM_IL_DL.in b/test/escape_sequence_files/t0076-DECSTBM_IL_DL.in new file mode 100644 index 0000000..58d20d2 --- /dev/null +++ b/test/escape_sequence_files/t0076-DECSTBM_IL_DL.in @@ -0,0 +1,33 @@ + 1 (IL on line 2, expect nothing) + 2 (DL on line 22, expect nothing) + 3 vvvv IL on line 5, expected: A_BC + 4 A + 5 B + 6 C + 7 D + 8 ^^^^ + 9 vvvv DL on line 11, expected: ACD_ +10 A +11 B +12 C +13 D +14 ^^^^ +15 vvvv IL on line 17, expected: A_ +16 A +17 B +18 ^^^^ +19 vvvv IL on line 21, expected: A_ +20 A +21 B +22 ^^^^ +23 vvvv IL on line 24, expected: _A +24 A + +25 B +26 ^^^^ +27 vvvv DL on line 28, expected: B_ +28 A +29 B +30 ^^^^ +31 +32 diff --git a/test/escape_sequence_files/t0076-DECSTBM_IL_DL.text b/test/escape_sequence_files/t0076-DECSTBM_IL_DL.text new file mode 100644 index 0000000..92c1033 --- /dev/null +++ b/test/escape_sequence_files/t0076-DECSTBM_IL_DL.text @@ -0,0 +1,25 @@ + 8 ^^^^ + 9 vvvv DL on line 11, expected: ACD_ +10 A +12 C +13 D + +14 ^^^^ +15 vvvv IL on line 17, expected: A_ +16 A + +18 ^^^^ +19 vvvv IL on line 21, expected: A_ +20 A + +22 ^^^^ + +23 vvvv IL on line 24, expected: _A +25 B +26 ^^^^ +28 A + +29 B +30 ^^^^ +31 +32 diff --git a/test/escape_sequence_files/t0077-DECSTBM_quirks.in b/test/escape_sequence_files/t0077-DECSTBM_quirks.in new file mode 100644 index 0000000..b444362 --- /dev/null +++ b/test/escape_sequence_files/t0077-DECSTBM_quirks.in @@ -0,0 +1,32 @@ + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24A +B +C +D +E +F +G + +Done. diff --git a/test/escape_sequence_files/t0077-DECSTBM_quirks.text b/test/escape_sequence_files/t0077-DECSTBM_quirks.text new file mode 100644 index 0000000..ea142e3 --- /dev/null +++ b/test/escape_sequence_files/t0077-DECSTBM_quirks.text @@ -0,0 +1,25 @@ + 3 + 4 + A + 5 + 7 + C + 8 + 9 +10 +11 +12 +13 +14 +18 +19 +20 +21 +23 +24 + B + D + F + G +Done. + diff --git a/test/escape_sequence_files/t0080-HT.in b/test/escape_sequence_files/t0080-HT.in new file mode 100644 index 0000000..581e0ba --- /dev/null +++ b/test/escape_sequence_files/t0080-HT.in @@ -0,0 +1,14 @@ +a b c d e f g h i j k l + x +1 2 + 3 + +Tab before EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh @ +tab (2):abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefg @ + +Tab at EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi @ +with clipping: 4567890abcdefghi MD@ diff --git a/test/escape_sequence_files/t0080-HT.text b/test/escape_sequence_files/t0080-HT.text new file mode 100644 index 0000000..0683c21 --- /dev/null +++ b/test/escape_sequence_files/t0080-HT.text @@ -0,0 +1,25 @@ +a b c d e f g h i j k +l + x +1 3 2 + + +Tab before EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh@ +tab (2):abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefg @ + +Tab at EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi +@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi +@ +with clipping: 4567890abcdefgh@ + + + + + + + + diff --git a/test/escape_sequence_files/t0081-TBC.in b/test/escape_sequence_files/t0081-TBC.in new file mode 100644 index 0000000..744b7a5 --- /dev/null +++ b/test/escape_sequence_files/t0081-TBC.in @@ -0,0 +1,19 @@ +default: +> 1 2 3 4 5 6 7 8 9 0 + +clear non-existant: x x +> 1 2 3 4 5 6 7 8 9 0 + +clear 2 and 4: x x +> 1 3 5 6 7 8 9 0 + +clear 0: x +> 1 3 5 6 7 8 9 0 + +clear after 0: .x +> 1 3 5 6 7 8 9 0 + +clear all: +> 0done + +TBC at end with clipping: ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdeMD! diff --git a/test/escape_sequence_files/t0081-TBC.text b/test/escape_sequence_files/t0081-TBC.text new file mode 100644 index 0000000..575e3fd --- /dev/null +++ b/test/escape_sequence_files/t0081-TBC.text @@ -0,0 +1,25 @@ +default: +> 1 2 3 4 5 6 7 8 9 0 + +clear non-existant: x x +> 1 2 3 4 5 6 7 8 9 0 + +clear 2 and 4: x x +> 1 3 5 6 7 8 9 0 + +clear 0: x +> 1 3 5 6 7 8 9 0 + +clear after 0: . +x +> 1 3 5 6 7 8 9 0 + +clear all: +> 0 +done + +TBC at end with clipping: ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcd! + + + + diff --git a/test/escape_sequence_files/t0082-HTS.in b/test/escape_sequence_files/t0082-HTS.in new file mode 100644 index 0000000..2bd62d4 --- /dev/null +++ b/test/escape_sequence_files/t0082-HTS.in @@ -0,0 +1,8 @@ + 1 2 3 4 +abcdeHFghijklmnopqrstuvHWxyz + H 1 2 W 3 4 + +HTS at end: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdeHfgh + H 1 2 W 3 4 5 6 7 8 9 a b + +HTS at end with clipping: ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdeHMD! diff --git a/test/escape_sequence_files/t0082-HTS.text b/test/escape_sequence_files/t0082-HTS.text new file mode 100644 index 0000000..ecf66a5 --- /dev/null +++ b/test/escape_sequence_files/t0082-HTS.text @@ -0,0 +1,25 @@ + 1 2 3 4 +abcdeFghijklmnopqrstuvWxyz + H 1 2 W 3 4 + +HTS at end: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcde +fgh + H 1 2 W 3 4 5 6 7 8 9 a +b + +HTS at end with clipping: ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcd! + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0083-CHT.in b/test/escape_sequence_files/t0083-CHT.in new file mode 100644 index 0000000..838325d --- /dev/null +++ b/test/escape_sequence_files/t0083-CHT.in @@ -0,0 +1,18 @@ +abcdefghijkl +x +12 + 3 + +CHT before EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh@ +tab (2):abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefg@ + +CHT at EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi@ +with clipping: 4567890abcdefghiMD@ + +aeg +e h +x diff --git a/test/escape_sequence_files/t0083-CHT.text b/test/escape_sequence_files/t0083-CHT.text new file mode 100644 index 0000000..071ed63 --- /dev/null +++ b/test/escape_sequence_files/t0083-CHT.text @@ -0,0 +1,25 @@ +a b c d e f g h i j k +l + x +1 3 2 + + +CHT before EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefgh@ +tab (2):abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefg @ + +CHT at EOL: +no tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi +@ +tab: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890abcdefghi +@ +with clipping: 4567890abcdefgh@ + +a e g + e h + x + + + + diff --git a/test/escape_sequence_files/t0084-CBT.in b/test/escape_sequence_files/t0084-CBT.in new file mode 100644 index 0000000..a7dd5b1 --- /dev/null +++ b/test/escape_sequence_files/t0084-CBT.in @@ -0,0 +1,16 @@ +a b c d e f g h i j k + <Iihfa +a + +default tab stops: +near end: abcdefg! +at end: abcdefgh! +at end (2): abcdefgh! +at end with clipping: abcdefghMD! +at end with clipping (2): abcdefghMD! + +set tab stop at column 80: Hv +at end: abcdefgh! +at end (2): abcdefgh! +at end with clipping: abcdefghMD! +at end with clipping (2): abcdefghMD! diff --git a/test/escape_sequence_files/t0084-CBT.text b/test/escape_sequence_files/t0084-CBT.text new file mode 100644 index 0000000..2fb8765 --- /dev/null +++ b/test/escape_sequence_files/t0084-CBT.text @@ -0,0 +1,25 @@ +a b c d e f g h i j k +a f h i < +a + +default tab stops: +near end: !bcdefg +at end: abcdefgh +! +at end (2): abcdefgh +! +at end with clipping: !bcdefgh +at end with clipping (2): ! abcdefgh + +set tab stop at column 80: v +at end: abcdefgh +! +at end (2): abcdefgh +! +at end with clipping: !bcdefgh +at end with clipping (2): ! abcdefgh + + + + + diff --git a/test/escape_sequence_files/t0084-CBT.text-xterm b/test/escape_sequence_files/t0084-CBT.text-xterm new file mode 100644 index 0000000..7a2adc7 --- /dev/null +++ b/test/escape_sequence_files/t0084-CBT.text-xterm @@ -0,0 +1,20 @@ +a b c d e f g h i j k +a f h i < +a + +default tab stops: +near end: !bcdefg +at end: abcdefgh +! +at end (2): abcdefgh +! +at end with clipping: !bcdefgh +at end with clipping (2): ! abcdefgh + +set tab stop at column 80: v +at end: abcdefgh +! +at end (2): abcdefgh +! +at end with clipping: !bcdefgh +at end with clipping (2): ! abcdefgh diff --git a/test/escape_sequence_files/t0090-alt_screen.in b/test/escape_sequence_files/t0090-alt_screen.in new file mode 100644 index 0000000..bf1eeaf --- /dev/null +++ b/test/escape_sequence_files/t0090-alt_screen.in @@ -0,0 +1,55 @@ +a[?47h +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y[?47lz +A[?47h +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y[?47lZ + --->[?47hhello[?47l<-- + + --->[?47h[?47l<--- + +fin diff --git a/test/escape_sequence_files/t0090-alt_screen.text b/test/escape_sequence_files/t0090-alt_screen.text new file mode 100644 index 0000000..7ac0135 --- /dev/null +++ b/test/escape_sequence_files/t0090-alt_screen.text @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + z +AZ + <-- ---> + + ---> +<--- + +fin + diff --git a/test/escape_sequence_files/t0091-alt_screen_ED3.in b/test/escape_sequence_files/t0091-alt_screen_ED3.in new file mode 100644 index 0000000..40957e8 --- /dev/null +++ b/test/escape_sequence_files/t0091-alt_screen_ED3.in @@ -0,0 +1,46 @@ +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +[?47h +one +two +three +four +five +six + +[?47l +11 diff --git a/test/escape_sequence_files/t0091-alt_screen_ED3.text b/test/escape_sequence_files/t0091-alt_screen_ED3.text new file mode 100644 index 0000000..4a326a4 --- /dev/null +++ b/test/escape_sequence_files/t0091-alt_screen_ED3.text @@ -0,0 +1,25 @@ + n + o + p + q + r + s + t + u + v + w + x + y + z + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + + 11 diff --git a/test/escape_sequence_files/t0092-alt_screen_DECSC.in b/test/escape_sequence_files/t0092-alt_screen_DECSC.in new file mode 100644 index 0000000..3022a93 --- /dev/null +++ b/test/escape_sequence_files/t0092-alt_screen_DECSC.in @@ -0,0 +1,15 @@ +a + b7 + c[?47h + + >7 + + xxxxxxx8[?47l!8< + + + + + + + +The end. diff --git a/test/escape_sequence_files/t0092-alt_screen_DECSC.text b/test/escape_sequence_files/t0092-alt_screen_DECSC.text new file mode 100644 index 0000000..bab1503 --- /dev/null +++ b/test/escape_sequence_files/t0092-alt_screen_DECSC.text @@ -0,0 +1,25 @@ +a + b< + c + + ! + + + + +The end. + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0100-IRM.in b/test/escape_sequence_files/t0100-IRM.in new file mode 100644 index 0000000..5046f18 --- /dev/null +++ b/test/escape_sequence_files/t0100-IRM.in @@ -0,0 +1,13 @@ +-------- insert single '!' --------------------------------------------abcdefghi +jklmnop! + + +-------- insert 0-9, with wraparound ----------------------------------abcdefghi +jklmnop0123456789 + +-------- repeat 3 '!' -------------------------------------------------abcdefghi +jklmnop! + + +-------- repeat 10 '!', with wraparound -------------------------------abcdefghi +jklmnop! diff --git a/test/escape_sequence_files/t0100-IRM.text b/test/escape_sequence_files/t0100-IRM.text new file mode 100644 index 0000000..f4f3eea --- /dev/null +++ b/test/escape_sequence_files/t0100-IRM.text @@ -0,0 +1,25 @@ +-------- insert single '!' --------------------------------------------abc!defgh +jklmnop + +-------- insert 0-9, with wraparound ----------------------------------abc012345 +6789jklmnop + +-------- repeat 3 '!' -------------------------------------------------abc!!!def +jklmnop + +-------- repeat 10 '!', with wraparound -------------------------------abc!!!!!! +!!!!jklmnop + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0101-NLM.in b/test/escape_sequence_files/t0101-NLM.in new file mode 100644 index 0000000..554a0f3 --- /dev/null +++ b/test/escape_sequence_files/t0101-NLM.in @@ -0,0 +1,10 @@ +a +b +c +d +e +f g h +i j k +l +m +n o p diff --git a/test/escape_sequence_files/t0101-NLM.text b/test/escape_sequence_files/t0101-NLM.text new file mode 100644 index 0000000..47f883f --- /dev/null +++ b/test/escape_sequence_files/t0101-NLM.text @@ -0,0 +1,25 @@ +a +b +c +d +e +f +g +h +k +l +m +n + o + p + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0102-DECAWM.in b/test/escape_sequence_files/t0102-DECAWM.in new file mode 100644 index 0000000..c615659 --- /dev/null +++ b/test/escape_sequence_files/t0102-DECAWM.in @@ -0,0 +1,4 @@ +-------- default: wraparound ----------------------------------------------abcdefgh[?7h +-------- set: wraparound ----------------------------------------------abcdefgh[?7l +-------- unset: no wraparound -------------------------------------------abcdefgh + this should be immediately below "no wraparound"[?7h diff --git a/test/escape_sequence_files/t0102-DECAWM.text b/test/escape_sequence_files/t0102-DECAWM.text new file mode 100644 index 0000000..c1f22de --- /dev/null +++ b/test/escape_sequence_files/t0102-DECAWM.text @@ -0,0 +1,25 @@ +-------- default: wraparound ----------------------------------------------abcd +efgh +-------- set: wraparound ----------------------------------------------abcd +efgh +-------- unset: no wraparound -------------------------------------------abcd + this should be immediately below "no wraparound" + + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0103-reverse_wrap.in b/test/escape_sequence_files/t0103-reverse_wrap.in new file mode 100644 index 0000000..092462e --- /dev/null +++ b/test/escape_sequence_files/t0103-reverse_wrap.in @@ -0,0 +1,6 @@ +[?45ha +bA + +c-B + +dC!the endreally![?45l diff --git a/test/escape_sequence_files/t0103-reverse_wrap.text b/test/escape_sequence_files/t0103-reverse_wrap.text new file mode 100644 index 0000000..da830d5 --- /dev/null +++ b/test/escape_sequence_files/t0103-reverse_wrap.text @@ -0,0 +1,25 @@ +c C +! + + + + + + + + + + + + + + + + + + + + + the end +really! + diff --git a/test/escape_sequence_files/t0200-SGR.html b/test/escape_sequence_files/t0200-SGR.html new file mode 100644 index 0000000..fa270a0 --- /dev/null +++ b/test/escape_sequence_files/t0200-SGR.html @@ -0,0 +1,35 @@ +
+Implemented non-color attributes:
+
+ 1: This is bold.
+
+ 3: This is italic.
+
+ 4: This is underlined.
+
+ 5: This is slowly blinking.
+
+ 6: This is rapidly blinking.
+
+ 7: This is inverse.
+
+ 8: This is hidden.
+
+ 9: This is struck out.
+
+21: This is double underlined.
+
+53: This is overlined.
+
+
+
+Unimplemented non-color attributes:
+
+ 2: weight:feint
+
+20: style:fraktur
+
+51: frame:box
+
+52: frame:circle
+
diff --git a/test/escape_sequence_files/t0200-SGR.in_ b/test/escape_sequence_files/t0200-SGR.in_ new file mode 100644 index 0000000..3b37c93 --- /dev/null +++ b/test/escape_sequence_files/t0200-SGR.in_ @@ -0,0 +1,33 @@ +Implemented non-color attributes: + + 1: This is bold. + + 3: This is italic. + + 4: This is underlined. + + 5: This is slowly blinking. + + 6: This is rapidly blinking. + + 7: This is inverse. + + 8: This is hidden. + + 9: This is struck out. + +21: This is double underlined. + +53: This is overlined. + + + +Unimplemented non-color attributes: + + 2: weight:feint + +20: style:fraktur + +51: frame:box + +52: frame:circle diff --git a/test/escape_sequence_files/t0220-SGR_inverse.html b/test/escape_sequence_files/t0220-SGR_inverse.html new file mode 100644 index 0000000..7218bf4 --- /dev/null +++ b/test/escape_sequence_files/t0220-SGR_inverse.html @@ -0,0 +1,6 @@ +
+This is inverse text with default fg and bg.
+This is inverse text with red fg and default bg.
+This is inverse text with default fg and red bg.
+This is inverse text with green fg and red bg.
+
diff --git a/test/escape_sequence_files/t0220-SGR_inverse.in_ b/test/escape_sequence_files/t0220-SGR_inverse.in_ new file mode 100644 index 0000000..e7e63f9 --- /dev/null +++ b/test/escape_sequence_files/t0220-SGR_inverse.in_ @@ -0,0 +1,4 @@ +This is inverse text with default fg and bg. +This is inverse text with red fg and default bg. +This is inverse text with default fg and red bg. +This is inverse text with green fg and red bg. diff --git a/test/escape_sequence_files/t0500-bash_long_line.in b/test/escape_sequence_files/t0500-bash_long_line.in new file mode 100644 index 0000000..b1e5491 --- /dev/null +++ b/test/escape_sequence_files/t0500-bash_long_line.in @@ -0,0 +1,7 @@ +Script started on Fri 27 Mar 2009 08:53:29 PM EDT +dircolors: /etc/DIR_COLORS: No such file or directory +]0;mark@mark-desktop:~/vt100-to-htmlmark@mark-desktop:~/vt100-to-html$ bcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST UVWXYZ1234567890abcdefghijklmnopqrstuvcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuv + +]0;mark@mark-desktop:~/vt100-to-htmlmark@mark-desktop:~/vt100-to-html$ exit + +Script done on Fri 27 Mar 2009 08:53:33 PM EDT diff --git a/test/escape_sequence_files/t0500-bash_long_line.text b/test/escape_sequence_files/t0500-bash_long_line.text new file mode 100644 index 0000000..5c785d0 --- /dev/null +++ b/test/escape_sequence_files/t0500-bash_long_line.text @@ -0,0 +1,25 @@ +Script started on Fri 27 Mar 2009 08:53:29 PM EDT +dircolors: /etc/DIR_COLORS: No such file or directory +mark@mark-desktop:~/vt100-to-html$ cdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU +VWXYZ1234567890abcdefghijklmnopqrstuv +mark@mark-desktop:~/vt100-to-html$ exit + +Script done on Fri 27 Mar 2009 08:53:33 PM EDT + + + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0501-bash_ls.in b/test/escape_sequence_files/t0501-bash_ls.in new file mode 100644 index 0000000..9053d8b --- /dev/null +++ b/test/escape_sequence_files/t0501-bash_ls.in @@ -0,0 +1,12 @@ +Script started on Sun 17 May 2009 06:20:41 PM EDT +dircolors: /etc/DIR_COLORS: No such file or directory +]0;mark@mark-desktop:~/vt100-to-html/scriptsmark@mark-desktop:~/vt100-to-html/scripts$ ls +bash.script +]0;mark@mark-desktop:~/vt100-to-html/scriptsmark@mark-desktop:~/vt100-to-html/scripts$ ls / +bin dev initrd.img lib64 opt selinux usr +boot etc initrd.img.old lost+found proc srv var +boot2 home lib media root sys vmlinuz +cdrom initrd lib32 mnt sbin tmp vmlinuz.old +]0;mark@mark-desktop:~/vt100-to-html/scriptsmark@mark-desktop:~/vt100-to-html/scripts$ exit + +Script done on Sun 17 May 2009 06:20:52 PM EDT diff --git a/test/escape_sequence_files/t0501-bash_ls.text b/test/escape_sequence_files/t0501-bash_ls.text new file mode 100644 index 0000000..8114fc9 --- /dev/null +++ b/test/escape_sequence_files/t0501-bash_ls.text @@ -0,0 +1,25 @@ +Script started on Sun 17 May 2009 06:20:41 PM EDT +dircolors: /etc/DIR_COLORS: No such file or directory +mark@mark-desktop:~/vt100-to-html/scripts$ ls +bash.script +mark@mark-desktop:~/vt100-to-html/scripts$ ls / +bin dev initrd.img lib64 opt selinux usr +boot etc initrd.img.old lost+found proc srv var +boot2 home lib media root sys vmlinuz +cdrom initrd lib32 mnt sbin tmp vmlinuz.old +mark@mark-desktop:~/vt100-to-html/scripts$ exit + +Script done on Sun 17 May 2009 06:20:52 PM EDT + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0502-bash_ls_color.in b/test/escape_sequence_files/t0502-bash_ls_color.in new file mode 100644 index 0000000..1f4eda8 --- /dev/null +++ b/test/escape_sequence_files/t0502-bash_ls_color.in @@ -0,0 +1,10 @@ +Script started on Sun 17 May 2009 06:21:05 PM EDT +dircolors: /etc/DIR_COLORS: No such file or directory +]0;mark@mark-desktop:~/vt100-to-html/scriptsmark@mark-desktop:~/vt100-to-html/scripts$ ls --color=auto / +bin dev initrd.img lib64 opt selinux usr +boot etc initrd.img.old lost+found proc srv var +boot2 home lib media root sys vmlinuz +cdrom initrd lib32 mnt sbin tmp vmlinuz.old +]0;mark@mark-desktop:~/vt100-to-html/scriptsmark@mark-desktop:~/vt100-to-html/scripts$ exit + +Script done on Sun 17 May 2009 06:21:11 PM EDT diff --git a/test/escape_sequence_files/t0502-bash_ls_color.text b/test/escape_sequence_files/t0502-bash_ls_color.text new file mode 100644 index 0000000..1892eea --- /dev/null +++ b/test/escape_sequence_files/t0502-bash_ls_color.text @@ -0,0 +1,25 @@ +Script started on Sun 17 May 2009 06:21:05 PM EDT +dircolors: /etc/DIR_COLORS: No such file or directory +mark@mark-desktop:~/vt100-to-html/scripts$ ls --color=auto / +bin dev initrd.img lib64 opt selinux usr +boot etc initrd.img.old lost+found proc srv var +boot2 home lib media root sys vmlinuz +cdrom initrd lib32 mnt sbin tmp vmlinuz.old +mark@mark-desktop:~/vt100-to-html/scripts$ exit + +Script done on Sun 17 May 2009 06:21:11 PM EDT + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0503-zsh_ls_color.in b/test/escape_sequence_files/t0503-zsh_ls_color.in new file mode 100644 index 0000000..aca2d10 --- /dev/null +++ b/test/escape_sequence_files/t0503-zsh_ls_color.in @@ -0,0 +1,9 @@ +Script started on Sun 17 May 2009 06:21:21 PM EDT +]2;mark-desktop - ~/vt100-to-html/scripts% $ ~/vt100-to-html/scriptslls / +]2;mark-desktop - ls /bin dev initrd.img lib64 opt selinux usr +boot etc initrd.img.old lost+found proc srv var +boot2 home lib media root sys vmlinuz +cdrom initrd lib32 mnt sbin tmp vmlinuz.old +]2;mark-desktop - ~/vt100-to-html/scripts% $ ~/vt100-to-html/scripts + +Script done on Sun 17 May 2009 06:21:27 PM EDT diff --git a/test/escape_sequence_files/t0503-zsh_ls_color.text b/test/escape_sequence_files/t0503-zsh_ls_color.text new file mode 100644 index 0000000..19feb18 --- /dev/null +++ b/test/escape_sequence_files/t0503-zsh_ls_color.text @@ -0,0 +1,25 @@ +Script started on Sun 17 May 2009 06:21:21 PM EDT +$ ls / ~/vt100-to-html/scripts +bin dev initrd.img lib64 opt selinux usr +boot etc initrd.img.old lost+found proc srv var +boot2 home lib media root sys vmlinuz +cdrom initrd lib32 mnt sbin tmp vmlinuz.old +$ ~/vt100-to-html/scripts + +Script done on Sun 17 May 2009 06:21:27 PM EDT + + + + + + + + + + + + + + + + diff --git a/test/escape_sequence_files/t0504-vim.in b/test/escape_sequence_files/t0504-vim.in new file mode 100644 index 0000000..cb68232 --- /dev/null +++ b/test/escape_sequence_files/t0504-vim.in @@ -0,0 +1,56 @@ +Script started on Sun 15 Aug 2010 11:53:27 PM EDT +]0;mark-desktop - ~/vt100-to-html/test% $ ~/vt100-to-html/testlls +]0;mark-desktop - lsexpected_text t0016-SU.text t0050-ICH.text +input t0017-SD.in t0051-IL.in +run_all.py t0017-SD.text t0051-IL.text +t0001-all_printable.in t0020-CUF.in t0052-DL.in +t0001-all_printable.text t0020-CUF.text t0052-DL.text +t0002-history.in t0021-CUB.in t0053-DCH.in +t0002-history.text t0021-CUB.text t0053-DCH.text +t0003-line_wrap.in t0022-CUU.in t0054-ECH.in +t0003-line_wrap.text t0022-CUU.text t0054-ECH.text +t0004-LF.in t0023-CUU_scroll.in t0055-EL.in +t0004-LF.text t0023-CUU_scroll.text t0055-EL.text +t0005-CR.in t0024-CUD.in t0056-ED.in +t0005-CR.text t0024-CUD.text t0056-ED.text +t0006-IND.in t0025-CUP.in t0057-ED3.in +t0006-IND.text t0025-CUP.text t0057-ED3.note +t0007-space_at_end.in t0026-CNL.in t0057-ED3.text +t0007-space_at_end.text t0026-CNL.text t0060-DECSC.in +t0008-BS.in t0027-CPL.in t0060-DECSC.text +t0008-BS.text t0027-CPL.text t0061-CSI_s.in +t0009-NEL.in t0030-HPR.in t0061-CSI_s.text +t0009-NEL.text t0030-HPR.text t008x-alt_screen_ED.in +t0010-RI.in t0031-HPB.in t008x-IRM.in +t0010-RI.text t0031-HPB.text t008x-NLM.in +t0011-RI_scroll.in t0032-VPB.in t008x-save_cursor_mode.in +t0011-RI_scroll.text t0032-VPB.text t0500-bash_long_line.in +t0012-VT.in t0033-VPB_scroll.in t0500-bash_long_line.text +t0012-VT.text t0033-VPB_scroll.text t0501-bash_ls.in +t0013-FF.in t0034-VPR.in t0501-bash_ls.text +t0013-FF.text t0034-VPR.text t0502-bash_ls_color.in +t0014-CAN.in t0035-HVP.in t0502-bash_ls_color.text +t0014-CAN.text t0035-HVP.text t0503-zsh_ls_color.in +t0015-SUB.in t0040-REP.in t0503-zsh_ls_color.text +t0015-SUB.text t0040-REP.text typescript +t0016-SU.in t0050-ICH.in +]0;mark-desktop - ~/vt100-to-html/test% $ ~/vt100-to-html/testvvim +]0;mark-desktop - vim[?1000h[?1049h[?1h=[?12;25h[?12l[?25h[>c[?25l~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [No Name] 0,0-1 AllVIM - Vi IMprovedversion 7.2.267by Bram Moolenaar et al.Vim is open source and freely distributableBecome a registered Vim user!type :help register for information type :q to exit type :help or  for on-line helptype :help version7 for version info]2;[No Name] - VIM]1;[No Name][?12l[?25h[?1000l[?1002hP+q436f\P+q6b75\P+q6b64\P+q6b72\P+q6b6c\P+q2332\P+q2334\P+q2569\P+q2a37\P+q6b31\[?25l-- INSERT --1 [?12l[?25h[?25lT         [+]1,2 ]2;[No Name] + - VIM]1;[No Name][?12l[?25h[?25lTh3 [?12l[?25h[?25lhi4 [?12l[?25h[?25lis5 [?12l[?25h[?25l6 [?12l[?25h[?25l i7 [?12l[?25h[?25lis8 [?12l[?25h[?25l9 [?12l[?25h[?25l a10[?12l[?25h[?25l1 [?12l[?25h[?25l t2 [?12l[?25h[?25lte3 [?12l[?25h[?25les4 [?12l[?25h[?25lst5 [?12l[?25h[?25lt.6 [?12l[?25h[?25l2,1 [?12l[?25h[?25l3,[?12l[?25h[?25lH2 [?12l[?25h[?25lHo3 [?12l[?25h[?25loe4 [?12l[?25h[?25l5 [?12l[?25h[?25l f6 [?12l[?25h[?25lfu7 [?12l[?25h[?25l6 [?12l[?25h[?25l5 [?12l[?25h[?25l4 [?12l[?25h[?25l3 [?12l[?25h[?25lop4 [?12l[?25h[?25lpe5 [?12l[?25h[?25lef6 [?12l[?25h[?25lfu7 [?12l[?25h[?25lul8 [?12l[?25h[?25lll9 [?12l[?25h[?25lly10[?12l[?25h[?25l1 [?12l[?25h[?25l i2 [?12l[?25h[?25lit3 [?12l[?25h[?25l4 [?12l[?25h[?25l w5 [?12l[?25h[?25lwi6 [?12l[?25h[?25lil7 [?12l[?25h[?25lll8 [?12l[?25h[?25l9 [?12l[?25h[?25l w20 [?12l[?25h[?25lwo1 [?12l[?25h[?25lor2 [?12l[?25h[?25lrk3 [?12l[?25h[?25lk.4 [?12l[?25h[?25l4,1 [?12l[?25h[?25l5,[?12l[?25h[?25l6,[?12l[?25h[?25l7,[?12l[?25h[?25l8,[?12l[?25h[?25l9,[?12l[?25h[?25l10,1[?12l[?25h[?25l1,[?12l[?25h[?25l2,[?12l[?25h[?25l3,[?12l[?25h[?25l4,[?12l[?25h[?25l5,[?12l[?25h[?25l6,[?12l[?25h[?25l7,[?12l[?25h[?25l8,[?12l[?25h[?25l9,[?12l[?25h[?25l20,[?12l[?25h[?25l1,[?12l[?25h[?25l2,[?12l[?25h[?25l +3,Bot[?12l[?25h[?25l +4,[?12l[?25h[?25l +5,[?12l[?25h[?25l +6,[?12l[?25h[?25l +7,[?12l[?25h[?25l +8,[?12l[?25h[?25l +9,[?12l[?25h[?25l +30,[?12l[?25h[?25l +1,[?12l[?25h[?25l +2,[?12l[?25h[?25l +3,[?12l[?25h[?25lI2 [?12l[?25h[?25l3 [?12l[?25h[?25l b4 [?12l[?25h[?25lbe5 [?12l[?25h[?25let6 [?12l[?25h[?25l7 [?12l[?25h[?25l i8 [?12l[?25h[?25lit9 [?12l[?25h[?25l10[?12l[?25h[?25l w1 [?12l[?25h[?25lwi2 [?12l[?25h[?25lil3 [?12l[?25h[?25lll4 [?12l[?25h[?25ll.5 [?12l[?25h[?25l4 [?12l[?25h[?25lThis is a test. + +Hopefully it will work.1,1 Top[?12l[?25h[?25lI bet it will. +~ ~ ~ ~ ~ ~ ~ ~ ~ [No Name] [+] 21,0-1 Bot[?12l[?25h[?25l0,[?12l[?25h[?25l19,[?12l[?25h[?25l8,[?12l[?25h[?25l7,[?12l[?25h[?25l6,[?12l[?25h[?25l5,[?12l[?25h[?25l:[?12l[?25hw[?25l[?12l[?25hq[?25l[?12l[?25h [?25lE32: No file name[?12l[?25h[?25l:[?12l[?25hw[?25l[?12l[?25h[?25l [?12l[?25hf[?25l[?12l[?25ho[?25l[?12l[?25ho[?25l[?12l[?25h [?25l"foo" [New] 33L, 85C writtenfoo ]2;foo (~/vt100-to-html/test) - VIM]1;foo[?12l[?25h[?25l:[?12l[?25hq[?25l[?12l[?25h [?25l[?1002l]2;mark-desktop - vim]1;mark-desktop - vim[?1l>[?12l[?25h[?1049l]0;mark-desktop - ~/vt100-to-html/test% $ ~/vt100-to-html/testeecho Yes! +]0;mark-desktop - echo Yes!Yes! +]0;mark-desktop - ~/vt100-to-html/test% $ ~/vt100-to-html/test + +Script done on Sun 15 Aug 2010 11:54:14 PM EDT diff --git a/test/escape_sequence_files/t0504-vim.text b/test/escape_sequence_files/t0504-vim.text new file mode 100644 index 0000000..7c20251 --- /dev/null +++ b/test/escape_sequence_files/t0504-vim.text @@ -0,0 +1,25 @@ +t0005-CR.in t0024-CUD.in t0056-ED.in +t0005-CR.text t0024-CUD.text t0056-ED.text +t0006-IND.in t0025-CUP.in t0057-ED3.in +t0006-IND.text t0025-CUP.text t0057-ED3.note +t0007-space_at_end.in t0026-CNL.in t0057-ED3.text +t0007-space_at_end.text t0026-CNL.text t0060-DECSC.in +t0008-BS.in t0027-CPL.in t0060-DECSC.text +t0008-BS.text t0027-CPL.text t0061-CSI_s.in +t0009-NEL.in t0030-HPR.in t0061-CSI_s.text +t0009-NEL.text t0030-HPR.text t008x-alt_screen_ED.in +t0010-RI.in t0031-HPB.in t008x-IRM.in +t0010-RI.text t0031-HPB.text t008x-NLM.in +t0011-RI_scroll.in t0032-VPB.in t008x-save_cursor_mode.in +t0011-RI_scroll.text t0032-VPB.text t0500-bash_long_line.in +t0012-VT.in t0033-VPB_scroll.in t0500-bash_long_line.text +t0012-VT.text t0033-VPB_scroll.text t0501-bash_ls.in +t0013-FF.in t0034-VPR.in t0501-bash_ls.text +t0013-FF.text t0034-VPR.text t0502-bash_ls_color.in +t0014-CAN.in t0035-HVP.in t0502-bash_ls_color.text +t0014-CAN.text t0035-HVP.text t0503-zsh_ls_color.in +t0015-SUB.in t0040-REP.in t0503-zsh_ls_color.text +t0015-SUB.text t0040-REP.text typescript +t0016-SU.in t0050-ICH.in +$ vim ~/vt100-to-html/test +Script done on Sun 15 Aug 2010 11:54:14 PM EDT ~/vt100-to-html/test diff --git a/test/escape_sequences.js b/test/escape_sequences.js new file mode 100644 index 0000000..e23f5f9 --- /dev/null +++ b/test/escape_sequences.js @@ -0,0 +1,95 @@ +var glob = require('glob'); +var fs = require('fs'); +var pty = require('pty.js'); +var sleep = require('sleep'); +var Terminal = require('../src/xterm'); + +var CONSOLE_LOG = console.log; + +// expect files need terminal at 80x25! +var COLS = 80; +var ROWS = 25; + +// primitive pty pipe is enough for the test cases +var primitive_pty = pty.native.open(COLS, ROWS); + +// fake sychronous pty write - read +// pty.js opens pipe fds with O_NONBLOCK +// just wait 10ms instead of setting fds to blocking mode +function pty_write_read(t, s) { + fs.writeSync(t.slave, s); + sleep.usleep(10000); + var b = Buffer(64000); + var bytes = fs.readSync(t.master, b, 0, 64000); + return b.toString('utf8', 0, bytes); +} + +// generate noisy output to compare xterm and emulator +function formatError(in_, out_, expected) { + function addLineNumber(start, color) { + var counter = start || 0; + return function(s) { + counter += 1; + return '\x1b[33m' + (' ' + counter).slice(-2) + color + s; + } + } + var line80 = '12345678901234567890123456789012345678901234567890123456789012345678901234567890'; + var s = ''; + s += '\n\x1b[34m' + JSON.stringify(in_); + s += '\n\x1b[33m ' + line80 + '\n'; + s += out_.split('\n').map(addLineNumber(0, '\x1b[31m')).join('\n'); + s += '\n\x1b[33m ' + line80 + '\n'; + s += expected.split('\n').map(addLineNumber(0, '\x1b[32m')).join('\n'); + return s; +} + +// simple debug output of terminal cells +function terminalToString(term) { + var result = ''; + var line_s = ''; + for (var line=0; line