File: 04-cursor.t

package info (click to toggle)
libterm-vt102-perl 0.91-2.1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 272 kB
  • sloc: perl: 2,471; makefile: 15
file content (72 lines) | stat: -rw-r--r-- 1,977 bytes parent folder | download | duplicates (4)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/perl -w
#
# Make sure the VT102 module can handle cursor positioning.
#
# Copyright (C) Andrew Wood
# NO WARRANTY - see COPYING.
#

require Term::VT102;
require 't/testbase';

run_tests ([(
  [ 20, 5, "\e[2;4Hline 1\r\nline 2",		# CUP - ESC [ y ; x H
    "\0" x 20,
    ("\0" x 3) . "line 1" . ("\0" x 11),
    "line 2" . ("\0" x 14),
  ],
  [ 20, 5, "\e[3Hline 1\nline 2",		# CUP - ESC [ y H
    "\0" x 20,
    "\0" x 20,
    "line 1" . ("\0" x 14),
    ("\0" x 6) . "line 2" . ("\0" x 8),
  ],
  [ 20, 5, "\e[2Hline 1\nline 2\e[1Hline 3",	# CUP, CUP, LF
    "line 3" . ("\0" x 14),
    "line 1" . ("\0" x 14),
    ("\0" x 6) . "line 2" . ("\0" x 8),
  ],
  [ 10, 4, "\e[2;6Hline 1\r\nline 2\eM\eMtop",	# CUP, CR, LF, RI (ESC M)
    ("\0" x 6) . "top" . "\0",
    ("\0" x 5) . "line ",
    "line 2" . ("\0" x 4),
    ("\0" x 10),
  ],
  [ 20, 8, "\e[4;10Hmiddle\e[Htop line\eD" .	# IND, NEL, CUU, CUF
           "row 2\eE\rrow 3\e[A\e[8Cmark",
    "top line" . ("\0" x 12),
    ("\0" x 8) . "row 2mark" . ("\0" x 3),
    "row 3" . ("\0" x 15),
    ("\0" x 9) . "middle" . ("\0" x 5),
  ],
  [ 20, 4, "row 1\e[Brow 2\e[7Da\e[2Erow 4",	# CUD, CUB, CNL
    "row 1" . ("\0" x 15),
    ("\0" x 3) . "a\0row 2" . ("\0" x 10),
    "\0" x 20,
    "row 4" . ("\0" x 15),
  ],
  [ 20, 4, "\e[3;4Hrow 3\e[2Frow 1" .		# CPL, CHA, HPR, VPA
           "\e[9Gmiddle 1\e[2aa\e[2db",
    "row 1" . ("\0" x 3) . "middle 1" . ("\0" x 2) . "a\0",
    ("\0" x 19) . "b",
    ("\0" x 3) . "row 3" . ("\0" x 12),
  ],
  [ 20, 3, "\e[2erow 3\e[2;4frow 2\e[15\`mark",	# VPR, HVP, HPA
    ("\0" x 20),
    ("\0" x 3) . "row 2" . ("\0" x 6) . "mark" . ("\0" x 2),
    "row 3" . ("\0" x 15),
  ],
  [ 10, 5, "\e[999;999HR\e[GL\e[Hl\e[999Gr",
    "l" . ("\0" x 8) . "r",
    ("\0" x 10),
    ("\0" x 10),
    ("\0" x 10),
    "L" . ("\0" x 8) . "R",
  ],
  [ 20, 8, "Trap\e[CLog\e[CDisplay",  # reported by Paul Stoddard
    "Trap\0Log\0Display" . ("\0" x 4),
    ("\0" x 20),
  ],
)]);

# EOF