about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2023-01-10 20:53:17 +0100
committerOliver Kiddle <opk@zsh.org>2023-01-10 20:53:17 +0100
commit667ead3a64e590ac758e9f0a053849c7aaccec66 (patch)
tree2ef4d722cc527d11cf81534b27e6af6f5e95c51b /Test
parent996b51515600859ce7f952f22c6262ecd24578e1 (diff)
downloadzsh-667ead3a64e590ac758e9f0a053849c7aaccec66.tar.gz
zsh-667ead3a64e590ac758e9f0a053849c7aaccec66.tar.xz
zsh-667ead3a64e590ac758e9f0a053849c7aaccec66.zip
51258, 51272: refactor handling of terminal attributes, removing OFF flags in zattr
Diffstat (limited to 'Test')
-rw-r--r--Test/D01prompt.ztst13
-rw-r--r--Test/X04zlehighlight.ztst14
2 files changed, 20 insertions, 7 deletions
diff --git a/Test/D01prompt.ztst b/Test/D01prompt.ztst
index 6879e6fd1..a0abb7e1d 100644
--- a/Test/D01prompt.ztst
+++ b/Test/D01prompt.ztst
@@ -258,6 +258,19 @@
   fi
 0:Equivalence of terminal colour settings (background colour)
 
+  A1=${(%):-%s}
+  A2=${(%):-%u}
+  A3=${(%):-%s%u%s}
+  [[ $A3 = $A1$A2 && -n $A1 && -n $A2 ]]
+0:Attribute optimisation - preserve initial disabling of attribute but drop useless later one
+
+  : ${(%):-%K{blue}}
+  A1="${(%):-%b}x"
+  : ${(%):-%k}
+  A2="${(%):-%b}x"
+  [[ $A1 = $A2 && -n $A1 && -n $A2 ]]
+0:Don't restore attributes from earlier substitution after disabling bold
+
  (RPS1=foo; echo $RPS1 $RPROMPT)
  (RPS2=bar; echo $RPS2 $RPROMPT2)
 -fD:RPS1 and RPROMPT are aliases (regression from 5.0.6) (workers/49600)
diff --git a/Test/X04zlehighlight.ztst b/Test/X04zlehighlight.ztst
index f84c02505..6d9ca4a48 100644
--- a/Test/X04zlehighlight.ztst
+++ b/Test/X04zlehighlight.ztst
@@ -79,7 +79,7 @@
   zpty_line 1 p       # the line of interest, preserving escapes ("p")
   zpty_stop
 0:region highlight - standout overlapping on other region_highlight entry
->0m27m24mtr7mu27me word2 word3
+>0m27m24mtr7mu0me word2 word3
 
   zpty_start
   zpty_input 'rh_widget() { BUFFER="true"; region_highlight+=( "0 4 fg=green" ); }'
@@ -90,7 +90,7 @@
   zpty_line 1 p       # the line of interest, preserving escapes ("p")
   zpty_stop
 0:basic region_highlight with 8 colors
->0m27m24mCDE|32|trueCDE|39|
+>0m27m24mCDE|32|true0m
 
   zpty_start
   zpty_input 'rh_widget() { region_highlight+=( "0 4 fg=green memo=someplugin" ); typeset -p region_highlight }'
@@ -145,7 +145,7 @@
   zpty_line 1 p       # the line of interest, preserving escapes ("p")
   zpty_stop
 0:basic region_highlight with true-color (hex-triplets)
->0m27m24m38;2;4;8;16mtrueCDE|39|
+>0m27m24m38;2;4;8;16mtrue0m
 
   zpty_start
   zpty_input 'zmodload zsh/nearcolor'
@@ -157,7 +157,7 @@
   zpty_line 1 p       # the line of interest, preserving escapes ("p")
   zpty_stop
 0:basic region_highlight with near-color (hex-triplets at input)
->0m27m24mCDE|3232|trueCDE|39|
+>0m27m24mCDE|3232|true0m
 
   zpty_start
   zpty_input 'rh_widget() { BUFFER="true"; region_highlight+=( "0 4 fg=green" ); rh2; }'
@@ -169,7 +169,7 @@
   zpty_line 1 p       # the line of interest, preserving escapes ("p")
   zpty_stop
 0:overlapping region_highlight with 8 colors
->0m27m24mCDE|32|tCDE|31|rCDE|39|CDE|32|ueCDE|39|
+>0m27m24mCDE|32|tCDE|31|rCDE|32|ue0m
 
   zpty_start
   zpty_input 'rh_widget() { BUFFER="true"; region_highlight+=( "0 4 fg=#00cc00" ); rh2; }'
@@ -181,7 +181,7 @@
   zpty_line 1 p       # the line of interest, preserving escapes ("p")
   zpty_stop
 0:overlapping region_highlight with true-color
->0m27m24m38;2;0;204;0mt38;2;204;0;0mrCDE|39|38;2;0;204;0mueCDE|39|
+>0m27m24m38;2;0;204;0mt38;2;204;0;0mr38;2;0;204;0mue0m
 
   zpty_start
   zpty_input 'zmodload zsh/nearcolor'
@@ -194,7 +194,7 @@
   zpty_line 1 p       # the line of interest, preserving escapes ("p")
   zpty_stop
 0:overlapping region_highlight with near-color (hex-triplets at input)
->0m27m24mCDE|340|tCDE|3160|rCDE|39|CDE|340|ueCDE|39|
+>0m27m24mCDE|340|tCDE|3160|rCDE|340|ue0m
 
   zpty_start
   zpty_input 'f () { zle clear-screen; zle g -f nolast; BUFFER=": ${(q)LASTWIDGET}" }; zle -N f'