Skip to content

Commit

Permalink
patch 9.1.0339: tests: xdg test uses screen dumps
Browse files Browse the repository at this point in the history
Problem:  tests: xdg test uses screen dumps
Solution: Convert screen dump to normal test
          (Yegappan Lakshmanan)

closes: #14564

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
  • Loading branch information
yegappan authored and chrisbra committed Apr 16, 2024
1 parent 9a90179 commit 8560e6c
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 134 deletions.
20 changes: 0 additions & 20 deletions src/testdir/dumps/Test_xdg_1.dump

This file was deleted.

20 changes: 0 additions & 20 deletions src/testdir/dumps/Test_xdg_2.dump

This file was deleted.

20 changes: 0 additions & 20 deletions src/testdir/dumps/Test_xdg_3.dump

This file was deleted.

20 changes: 0 additions & 20 deletions src/testdir/dumps/Test_xdg_4.dump

This file was deleted.

112 changes: 58 additions & 54 deletions 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 = {
Expand Down Expand Up @@ -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:]\<cr>")
call WaitForAssert({-> assert_match('XfakeHOME/\.vimrc', term_getline(buf, rows))})
call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":redraw!\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":let g:\<cr>")
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:]\<cr>")
call WaitForAssert({-> assert_match('XfakeHOME/\.vim/vimrc', term_getline(buf, rows))})
call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":redraw!\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":let g:\<cr>")
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:]\<cr>")
call WaitForAssert({-> assert_match('XfakeHOME/\.config/vim/vimrc', term_getline(buf, rows))})
call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":redraw!\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":let g:\<cr>")
call VerifyScreenDump(buf, 'Test_xdg_3', {})
call StopVimInTerminal(buf)

" 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)
bw

" 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!\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":echo \$MYVIMRC[-30:]\<cr>")
call WaitForAssert({-> assert_match('XfakeHOME/xdg/vim/vimrc', term_getline(buf, rows))})
call term_sendkeys(buf, ":call filter(g:, {idx, _ -> idx =~ '^rc'})\<cr>")
call TermWait(buf)
call term_sendkeys(buf, ":let g:\<cr>")
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

Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
339,
/**/
338,
/**/
Expand Down

0 comments on commit 8560e6c

Please sign in to comment.