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/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