summaryrefslogtreecommitdiffstats
path: root/src/libvterm/t/22state_save.test
blob: 81e92263205a8181ff8dfbcaacd6fd98ddb2f76b (plain)
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
INIT
WANTSTATE p

RESET
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1

!Set up state
PUSH "\e[2;2H"
  ?cursor = 1,1
PUSH "\e[1m"
  ?pen bold = on

!Save
PUSH "\e[?1048h"

!Change state
PUSH "\e[5;5H"
  ?cursor = 4,4
PUSH "\e[4 q"
  settermprop 2 false
  settermprop 7 2
PUSH "\e[22;4m"
  ?pen bold = off
  ?pen underline = 1

!Restore
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 1,1
  ?pen bold = on
  ?pen underline = 0

!Save/restore using DECSC/DECRC
PUSH "\e[2;2H\e7"
  ?cursor = 1,1

PUSH "\e[5;5H"
  ?cursor = 4,4
PUSH "\e8"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 1,1

!Save twice, restore twice happens on both edge transitions
PUSH "\e[2;10H\e[?1048h\e[6;10H\e[?1048h"
PUSH "\e[H"
  ?cursor = 0,0
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 5,9
PUSH "\e[H"
  ?cursor = 0,0
PUSH "\e[?1048l"
  settermprop 1 true
  settermprop 2 true
  settermprop 7 1
  ?cursor = 5,9