|
|
323126f |
Based on fix for upstream bug #2668, see
|
|
|
323126f |
https://github.com/varnishcache/varnish-cache/commit/9bdc5f75d661a1659c4df60799612a7524a6caa7
|
|
|
323126f |
|
|
|
323126f |
|
|
|
323126f |
diff -Naur ../varnish-6.0.1.orig/bin/varnishtest/gensequences ./bin/varnishtest/gensequences
|
|
|
323126f |
--- ../varnish-6.0.1.orig/bin/varnishtest/gensequences 2018-08-29 11:48:32.000000000 +0200
|
|
|
323126f |
+++ ./bin/varnishtest/gensequences 2018-09-27 12:18:20.946853383 +0200
|
|
|
323126f |
@@ -149,6 +149,7 @@
|
|
|
323126f |
|
|
|
323126f |
if (l_prefix_name[p] != "teken_state_init") {
|
|
|
323126f |
print "";
|
|
|
323126f |
+ print "\tt->t_last = 0;";
|
|
|
323126f |
print "\tteken_state_switch(t, teken_state_init);";
|
|
|
323126f |
}
|
|
|
323126f |
print "}";
|
|
|
323126f |
diff -Naur ../varnish-6.0.1.orig/bin/varnishtest/sequences ./bin/varnishtest/sequences
|
|
|
323126f |
--- ../varnish-6.0.1.orig/bin/varnishtest/sequences 2018-08-29 11:48:32.000000000 +0200
|
|
|
323126f |
+++ ./bin/varnishtest/sequences 2018-09-27 12:18:50.193581932 +0200
|
|
|
323126f |
@@ -113,3 +113,6 @@
|
|
|
323126f |
|
|
|
323126f |
# VT52 compatibility
|
|
|
323126f |
#DECID VT52 DECID ^[ Z
|
|
|
323126f |
+
|
|
|
323126f |
+# ECMA-48
|
|
|
323126f |
+REP Repeat last graphic char ^[ [ b n
|
|
|
323126f |
diff -Naur ../varnish-6.0.1.orig/bin/varnishtest/teken.h ./bin/varnishtest/teken.h
|
|
|
323126f |
--- ../varnish-6.0.1.orig/bin/varnishtest/teken.h 2018-08-29 11:48:32.000000000 +0200
|
|
|
323126f |
+++ ./bin/varnishtest/teken.h 2018-09-27 12:18:20.947853442 +0200
|
|
|
323126f |
@@ -153,6 +153,7 @@
|
|
|
323126f |
|
|
|
323126f |
unsigned int t_utf8_left;
|
|
|
323126f |
teken_char_t t_utf8_partial;
|
|
|
323126f |
+ teken_char_t t_last;
|
|
|
323126f |
|
|
|
323126f |
unsigned int t_curscs;
|
|
|
323126f |
teken_scs_t *t_saved_curscs;
|
|
|
323126f |
diff -Naur ../varnish-6.0.1.orig/bin/varnishtest/teken_subr.h ./bin/varnishtest/teken_subr.h
|
|
|
323126f |
--- ../varnish-6.0.1.orig/bin/varnishtest/teken_subr.h 2018-08-29 11:48:32.000000000 +0200
|
|
|
323126f |
+++ ./bin/varnishtest/teken_subr.h 2018-09-27 12:18:20.947853442 +0200
|
|
|
323126f |
@@ -777,10 +777,11 @@
|
|
|
323126f |
}
|
|
|
323126f |
|
|
|
323126f |
static void
|
|
|
323126f |
-teken_subr_do_putchar(const teken_t *t, const teken_pos_t *tp, teken_char_t c,
|
|
|
323126f |
+teken_subr_do_putchar(teken_t *t, const teken_pos_t *tp, teken_char_t c,
|
|
|
323126f |
int width)
|
|
|
323126f |
{
|
|
|
323126f |
|
|
|
323126f |
+ t->t_last = c;
|
|
|
323126f |
if (t->t_stateflags & TS_INSERT &&
|
|
|
323126f |
tp->tp_col < t->t_winsize.tp_col - width) {
|
|
|
323126f |
teken_rect_t ctr;
|
|
|
323126f |
@@ -1313,3 +1314,12 @@
|
|
|
323126f |
t->t_stateflags &= ~TS_WRAPPED;
|
|
|
323126f |
teken_funcs_cursor(t);
|
|
|
323126f |
}
|
|
|
323126f |
+
|
|
|
323126f |
+static void
|
|
|
323126f |
+teken_subr_repeat_last_graphic_char(teken_t *t, unsigned int rpts)
|
|
|
323126f |
+{
|
|
|
323126f |
+
|
|
|
323126f |
+ for (; t->t_last != 0 && rpts > 0; rpts--)
|
|
|
323126f |
+ teken_subr_regular_character(t, t->t_last);
|
|
|
323126f |
+}
|
|
|
323126f |
+
|
|
|
323126f |
diff -Naur ../varnish-6.0.1.orig/bin/varnishtest/tests/a00001.vtc ./bin/varnishtest/tests/a00001.vtc
|
|
|
323126f |
--- ../varnish-6.0.1.orig/bin/varnishtest/tests/a00001.vtc 2018-08-29 11:48:32.000000000 +0200
|
|
|
323126f |
+++ ./bin/varnishtest/tests/a00001.vtc 2018-09-27 12:18:20.948853501 +0200
|
|
|
323126f |
@@ -204,6 +204,27 @@
|
|
|
323126f |
process p4 -expect-text 21 11 "Enter choice number (0 - 12):"
|
|
|
323126f |
process p4 -screen_dump
|
|
|
323126f |
|
|
|
323126f |
+# 11. Test non-VT100 (e.g., VT220, XTERM) terminals
|
|
|
323126f |
+process p4 -writehex "31 31 0d"
|
|
|
323126f |
+process p4 -expect-text 0 0 "Menu 11: Non-VT100 Tests"
|
|
|
323126f |
+
|
|
|
323126f |
+process p4 -writehex "37 0d"
|
|
|
323126f |
+process p4 -expect-text 0 0 "Menu 11.7: Miscellaneous ISO-6429 (ECMA-48) Tests"
|
|
|
323126f |
+
|
|
|
323126f |
+process p4 -writehex "32 0d"
|
|
|
323126f |
+process p4 -expect-text 0 0 "Push <RETURN>"
|
|
|
323126f |
+process p4 -screen_dump
|
|
|
323126f |
+process p4 -expect-text 20 1 "Test Repeat (REP)"
|
|
|
323126f |
+process p4 -expect-text 1 1 " ++ "
|
|
|
323126f |
+process p4 -expect-text 2 2 " ++ "
|
|
|
323126f |
+process p4 -expect-text 17 17 " ++ "
|
|
|
323126f |
+process p4 -expect-text 18 18 "*++*"
|
|
|
323126f |
+process p4 -writehex "0d"
|
|
|
323126f |
+process p4 -expect-text 0 0 "Menu 11.7: Miscellaneous ISO-6429 (ECMA-48) Tests"
|
|
|
323126f |
+process p4 -writehex "30 0d"
|
|
|
323126f |
+process p4 -expect-text 0 0 "Menu 11: Non-VT100 Tests"
|
|
|
323126f |
+process p4 -writehex "30 0d"
|
|
|
323126f |
+
|
|
|
323126f |
# 0. Exit
|
|
|
323126f |
process p4 -writehex "30 0d"
|
|
|
323126f |
process p4 -expect-text 12 30 "That's all, folks!"
|