patch 9.1.1421: tests: need a test for the new-style tutor.tutor
Problem: tests: need a test for the new-style tutor.tutor, patch
9.1.1384 broke the expected positions for the signs
Solution: Update all number keys in tutor.tutor.json to match the
correct line numbers in tutor.tutor, replace tabs by spaces,
add a screen-dump test to verify it does not regress
(Pham Bình An)
closes: #17416
Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/tutor/tutor.tutor.json b/runtime/tutor/tutor.tutor.json
index bf3eae8..4fb18fb 100644
--- a/runtime/tutor/tutor.tutor.json
+++ b/runtime/tutor/tutor.tutor.json
@@ -1,35 +1,35 @@
{
- "expect": {
- "63": "This is text with **important information**",
- "64": "This is text with **important information**",
- "71": "Document '&variable'",
- "72": "Document '&variable'",
- "78": "# This is a level 1 header",
- "79": "# This is a level 1 header",
- "80": "### This is a level 3 header",
- "81": "### This is a level 3 header",
- "82": "# This is a header with a label {*label*}",
- "83": "# This is a header with a label {*label*}",
- "108": "A link to help for the ['breakindent']('breakindent') option",
- "109": "A link to help for the ['breakindent']('breakindent') option",
- "123": "A link to the [Links](*links*) section",
- "124": "A link to the [Links](*links*) section",
- "139": "A link to [the vim-tutor-mode tutorial](@tutor:tutor)",
- "140": "A link to [the vim-tutor-mode tutorial](@tutor:tutor)",
- "157": "~~~ viml",
- "158": "echom 'the value of &number is'.string(&number)",
- "159": "~~~",
- "161": "~~~ viml",
- "162": "echom 'the value of &number is'.string(&number)",
- "163": "~~~",
- "188": "~~~ normal",
- "189": "d2w",
- "190": "~~~",
- "192": "~~~ normal",
- "193": "d2w",
- "194": "~~~",
- "206": "`d2w`{normal}",
- "207": "`d2w`{normal}",
- "244": -1
- }
+ "expect": {
+ "56": "This is text with **important information**",
+ "57": "This is text with **important information**",
+ "64": "Document '&variable'",
+ "65": "Document '&variable'",
+ "71": "# This is a level 1 header",
+ "72": "# This is a level 1 header",
+ "73": "### This is a level 3 header",
+ "74": "### This is a level 3 header",
+ "75": "# This is a header with a label {*label*}",
+ "76": "# This is a header with a label {*label*}",
+ "101": "A link to help for the ['breakindent']('breakindent') option",
+ "102": "A link to help for the ['breakindent']('breakindent') option",
+ "116": "A link to the [Links](*links*) section",
+ "117": "A link to the [Links](*links*) section",
+ "132": "A link to [the vim-tutor-mode tutorial](@tutor:tutor)",
+ "133": "A link to [the vim-tutor-mode tutorial](@tutor:tutor)",
+ "150": "~~~ viml",
+ "151": "echom 'the value of &number is'.string(&number)",
+ "152": "~~~",
+ "154": "~~~ viml",
+ "155": "echom 'the value of &number is'.string(&number)",
+ "156": "~~~",
+ "181": "~~~ normal",
+ "182": "d2w",
+ "183": "~~~",
+ "185": "~~~ normal",
+ "186": "d2w",
+ "187": "~~~",
+ "199": "`d2w`{normal}",
+ "200": "`d2w`{normal}",
+ "237": -1
+ }
}
diff --git a/src/testdir/dumps/Test_plugin_tutor_mark_1.dump b/src/testdir/dumps/Test_plugin_tutor_mark_1.dump
new file mode 100644
index 0000000..75028c3
--- /dev/null
+++ b/src/testdir/dumps/Test_plugin_tutor_mark_1.dump
@@ -0,0 +1,20 @@
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@7|"|2|"|:| |"|T|h|i|s| |i|s| |h|o|w| |t|h|i|s| |l|i|n|e| |s|h|o|u|l|d| |l|o@1|k|.|"|,| @25
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@7|"|3|"|:| |-|1| @60
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|}| @70
+| +0#0000e05#a8a8a8255@1|}+0#0000000#ffffff0| @74
+| +0#0000e05#a8a8a8255@1|~+0#e000e06#ffffff0@2| +0#0000000&@72
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@75
+| +0#0000e05#a8a8a8255@1|T+0#0000000#ffffff0|h|e|s|e| |f|i|l|e|s| |c|o|n|t|a|i|n| |a|n| |"|e|x|p|e|c|t|"| |d|i|c|t|i|o|n|a|r|y|,| |f|o|r| |w|h|i|c|h| |t|h|e| |k|e|y|s| |a|r|e| |l|i|n|e| |n|u|m|b
+| +0#0000e05#a8a8a8255@1|e+0#0000000#ffffff0|r|s| |a|n|d| @68
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e| |v|a|l|u|e|s| |a|r|e| |t|h|e| |e|x|p|e|c|t|e|d| |t|e|x|t|.| |A| |v|a|l|u|e| |o|f| |-|1| |m|e|a|n|s| |t|h|a|t| |t|h|e| |c|o|n|d|i|t|i|o|n| |f|o|r
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0|t|h|e| |l|i|n|e| @66
+| +0#0000e05#a8a8a8255@1|w+0#0000000#ffffff0|i|l@1| |a|l|w|a|y|s| |b|e| |s|a|t|i|s|f|i|e|d|,| |n|o| |m|a|t@1|e|r| |w|h|a|t| |(|t|h|i|s| |i|s| |u|s|e|f|u|l| |f|o|r| |l|e|t@1|i|n|g| |t|h|e| |u|s|e
+| +0#0000e05#a8a8a8255@1|r+0#0000000#ffffff0| |p|l|a|y| |a| |b|i|t|)|.| @61
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@75
+|✓+2#40ff4011&| |T+0#e000e06&|h|i|s| |i|s| |a|n| |"|e|x|p|e|c|t|"| |l|i|n|e| |t|h|a|t| |i|s| |a|l|w|a|y|s| |s|a|t|i|s|f|i|e|d|.| |T|r|y| |c|h|a|n|g|i|n|g| |i|t|.| +0#0000000&@8
+| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@75
+| +0#0000e05#a8a8a8255@1|T+0#0000000#ffffff0|h|e|s|e| |f|i|l|e|s| |c|o|n|v|e|n|t|i|o|n|a|l@1|y| |h|a|v|e| |t|h|e| |s|a|m|e| |n|a|m|e| |a|s| |t|h|e| |t|u|t|o|r|i|a|l| |d|o|c|u|m|e|n|t| |w|i|t|h|
+| +0#0000e05#a8a8a8255@1|t+0#0000000#ffffff0|h|e| |.|j|s|o|n| @66
+| +0#0000e05#a8a8a8255@1>e+0#0000000#ffffff0|x|t|e|n|s|i|o|n| |a|p@1|e|n|d|e|d| |(|f|o|r| |a| |f|u|l@1| |e|x|a|m|p|l|e|,| |s|e@1| |t|h|e| |f|i|l|e| |t|h|a|t| |c|o|r@1|e|s|p|o|n|d|s| |t|o| |t|h|i
+| +0#0000e05#a8a8a8255@1|s+0#0000000#ffffff0| |t|u|t|o|r|i|a|l|)|.| @63
+|:|2|4|0| @55|2|4|0|,|1| @8|B|o|t|
diff --git a/src/testdir/test_plugin_tutor.vim b/src/testdir/test_plugin_tutor.vim
index 3dc46fd..5b85b65 100644
--- a/src/testdir/test_plugin_tutor.vim
+++ b/src/testdir/test_plugin_tutor.vim
@@ -1,5 +1,9 @@
" Test for the new-tutor plugin
+source screendump.vim
+source check.vim
+source script_util.vim
+
func SetUp()
set nocompatible
runtime plugin/tutor.vim
@@ -32,3 +36,20 @@
endfor
endfor
endfunc
+
+func Test_mark()
+ CheckScreendump
+ call writefile([
+ \ 'set nocompatible',
+ \ 'runtime plugin/tutor.vim',
+ \ 'Tutor tutor',
+ \ 'set statusline=',
+ \ ], 'Xtest_plugin_tutor_mark', 'D')
+ let buf = RunVimInTerminal('-S Xtest_plugin_tutor_mark', {'rows': 20, 'cols': 78})
+ call term_sendkeys(buf, ":240\<CR>")
+ call WaitForAssert({-> assert_match('Bot$', term_getline(buf, 20))})
+ call VerifyScreenDump(buf, 'Test_plugin_tutor_mark_1', {})
+
+ " clean up
+ call StopVimInTerminal(buf)
+endfunc
diff --git a/src/version.c b/src/version.c
index 2316def..7530124 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1421,
+/**/
1420,
/**/
1419,