# HG changeset patch # User Christian Brabandt # Date 1713299405 -7200 # Node ID edace1eff19b76c4c3a418ae0d15c930fb936489 # Parent 8fe92aeab2a70d8d2355e70c898d84526b9689b6 patch 9.1.0339: tests: xdg test uses screen dumps Commit: https://github.com/vim/vim/commit/8560e6cf9797ea1d55ecaea6bf8ee8ec783c291a Author: Yegappan Lakshmanan Date: Tue Apr 16 22:18:15 2024 +0200 patch 9.1.0339: tests: xdg test uses screen dumps Problem: tests: xdg test uses screen dumps Solution: Convert screen dump to normal test (Yegappan Lakshmanan) closes: #14564 Signed-off-by: Yegappan Lakshmanan Signed-off-by: Christian Brabandt diff --git a/src/testdir/dumps/Test_xdg_1.dump b/src/testdir/dumps/Test_xdg_1.dump deleted file mode 100644 --- a/src/testdir/dumps/Test_xdg_1.dump +++ /dev/null @@ -1,20 +0,0 @@ -|~+0#4040ff13#ffffff0| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|r+0#0000000&|c|_|o|n|e| @16|o|n|e| @48 -|r|c| @20|.|v|i|m|r|c| @45 -|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35 diff --git a/src/testdir/dumps/Test_xdg_2.dump b/src/testdir/dumps/Test_xdg_2.dump deleted file mode 100644 --- a/src/testdir/dumps/Test_xdg_2.dump +++ /dev/null @@ -1,20 +0,0 @@ -|~+0#4040ff13#ffffff0| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|r+0#0000000&|c|_|t|w|o| @16|t|w|o| @48 -|r|c| @20|.|v|i|m|/|v|i|m|r|c| @41 -|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35 diff --git a/src/testdir/dumps/Test_xdg_3.dump b/src/testdir/dumps/Test_xdg_3.dump deleted file mode 100644 --- a/src/testdir/dumps/Test_xdg_3.dump +++ /dev/null @@ -1,20 +0,0 @@ -|~+0#4040ff13#ffffff0| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|r+0#0000000&|c|_|t|h|r|e@1| @14|t|h|r|e@1| @46 -|r|c| @20|.|c|o|n|f|i|g|/|v|i|m|/|v|i|m|r|c| @34 -|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35 diff --git a/src/testdir/dumps/Test_xdg_4.dump b/src/testdir/dumps/Test_xdg_4.dump deleted file mode 100644 --- a/src/testdir/dumps/Test_xdg_4.dump +++ /dev/null @@ -1,20 +0,0 @@ -|~+0#4040ff13#ffffff0| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|~| @73 -|r+0#0000000&|c|_|f|o|u|r| @15|f|o|u|r| @47 -|r|c| @20|x|d|g|/|v|i|m|/|v|i|m|r|c| @38 -|P+0#00e0003&|r|e|s@1| |E|N|T|E|R| |o|r| |t|y|p|e| |c|o|m@1|a|n|d| |t|o| |c|o|n|t|i|n|u|e> +0#0000000&@35 diff --git a/src/testdir/test_xdg.vim b/src/testdir/test_xdg.vim --- a/src/testdir/test_xdg.vim +++ b/src/testdir/test_xdg.vim @@ -1,12 +1,9 @@ " Tests for the XDG feature source check.vim -CheckFeature terminal source shared.vim -source screendump.vim source mouse.vim -source term_util.vim func s:get_rcs() let rcs = { @@ -77,63 +74,70 @@ func Test_xdg_runtime_files() call writefile(file3, rc3) call writefile(file4, rc4) - let rows = 20 - let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1}) - call TermWait(buf) - call term_sendkeys(buf, ":echo \$MYVIMRC[-30:]\") - call WaitForAssert({-> assert_match('XfakeHOME/\.vimrc', term_getline(buf, rows))}) - call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\") - call TermWait(buf) - call term_sendkeys(buf, ":redraw!\") - call TermWait(buf) - call term_sendkeys(buf, ":let g:\") - call VerifyScreenDump(buf, 'Test_xdg_1', {}) - call StopVimInTerminal(buf) + " Get the Vim command to run without the '-u NONE' argument + let vimcmd = substitute(GetVimCommand(), '-u NONE', '', '') + + " Test for ~/.vimrc + let lines =<< trim END + call assert_match('XfakeHOME/\.vimrc', $MYVIMRC) + call filter(g:, {idx, _ -> idx =~ '^rc'}) + call assert_equal(#{rc_one: 'one', rc: '.vimrc'}, g:) + call writefile(v:errors, 'Xresult') + quit + END + call writefile(lines, 'Xscript', 'D') + call system($'{vimcmd} -S Xscript') + call assert_equal([], readfile('Xresult')) + call delete(rc1) - bw - let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1}) - call TermWait(buf) - call term_sendkeys(buf, ":echo \$MYVIMRC[-30:]\") - call WaitForAssert({-> assert_match('XfakeHOME/\.vim/vimrc', term_getline(buf, rows))}) - call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\") - call TermWait(buf) - call term_sendkeys(buf, ":redraw!\") - call TermWait(buf) - call term_sendkeys(buf, ":let g:\") - call VerifyScreenDump(buf, 'Test_xdg_2', {}) - call StopVimInTerminal(buf) + " Test for ~/.vim/vimrc + let lines =<< trim END + call assert_match('XfakeHOME/\.vim/vimrc', $MYVIMRC) + call filter(g:, {idx, _ -> idx =~ '^rc'}) + call assert_equal(#{rc_two: 'two', rc: '.vim/vimrc'}, g:) + call writefile(v:errors, 'Xresult') + quit + END + call writefile(lines, 'Xscript', 'D') + call system($'{vimcmd} -S Xscript') + call assert_equal([], readfile('Xresult')) + call delete(rc2) - bw - let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1}) - call TermWait(buf) - call term_sendkeys(buf, ":echo \$MYVIMRC[-30:]\") - call WaitForAssert({-> assert_match('XfakeHOME/\.config/vim/vimrc', term_getline(buf, rows))}) - call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\") - call TermWait(buf) - call term_sendkeys(buf, ":redraw!\") - call TermWait(buf) - call term_sendkeys(buf, ":let g:\") - call VerifyScreenDump(buf, 'Test_xdg_3', {}) - call StopVimInTerminal(buf) - call delete(rc3) - bw + " XDG_CONFIG_HOME is set in Github CI runners + unlet $XDG_CONFIG_HOME + + " Test for ~/.config/vim/vimrc + let lines =<< trim END + let msg = $'HOME="{$HOME}", ~="{expand("~")}"' + call assert_match('XfakeHOME/\.config/vim/vimrc', $MYVIMRC, msg) + call filter(g:, {idx, _ -> idx =~ '^rc'}) + call assert_equal(#{rc_three: 'three', rc: '.config/vim/vimrc'}, g:) + call writefile(v:errors, 'Xresult') + quit + END + call writefile(lines, 'Xscript', 'D') + call system($'{vimcmd} -S Xscript') + call assert_equal([], readfile('Xresult')) + call delete(rc3) + + " Test for ~/xdg/vim/vimrc let $XDG_CONFIG_HOME=expand('~/xdg/') - let buf = RunVimInTerminal('', #{rows: rows, no_clean: 1}) - call TermWait(buf) - call term_sendkeys(buf, ":redraw!\") - call TermWait(buf) - call term_sendkeys(buf, ":echo \$MYVIMRC[-30:]\") - call WaitForAssert({-> assert_match('XfakeHOME/xdg/vim/vimrc', term_getline(buf, rows))}) - call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\") - call TermWait(buf) - call term_sendkeys(buf, ":let g:\") - call VerifyScreenDump(buf, 'Test_xdg_4', {}) - call StopVimInTerminal(buf) + let lines =<< trim END + let msg = $'HOME="{$HOME}", XDG_CONFIG_HOME="{$XDG_CONFIG_HOME}"' + call assert_match('XfakeHOME/xdg/vim/vimrc', $MYVIMRC, msg) + call filter(g:, {idx, _ -> idx =~ '^rc'}) + call assert_equal(#{rc_four: 'four', rc: 'xdg/vim/vimrc'}, g:) + call writefile(v:errors, 'Xresult') + quit + END + call writefile(lines, 'Xscript', 'D') + call system($'{vimcmd} -S Xscript') + call assert_equal([], readfile('Xresult')) + call delete(rc4) - bw unlet $XDG_CONFIG_HOME endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 339, +/**/ 338, /**/ 337,