diff options
author | Daniel Hahler <git@thequod.de> | 2019-08-13 22:16:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-13 22:16:41 +0200 |
commit | c649e18131acce55e4e6cab251517dd6543bc04c (patch) | |
tree | 0546bc19489d05217adcb16ed1e3ceca96513e4e | |
parent | 947bd293c98eda680c0e89b2d453b91eeda54272 (diff) | |
parent | db41d02e48d9391f7f4ea944e27a46af05731822 (diff) | |
download | rneovim-c649e18131acce55e4e6cab251517dd6543bc04c.tar.gz rneovim-c649e18131acce55e4e6cab251517dd6543bc04c.tar.bz2 rneovim-c649e18131acce55e4e6cab251517dd6543bc04c.zip |
Merge pull request #10752 from blueyed/vim-8.0.1179
-rw-r--r-- | src/nvim/testdir/runtest.vim | 1 | ||||
-rw-r--r-- | src/nvim/testdir/shared.vim | 22 | ||||
-rw-r--r-- | src/nvim/testdir/test_popup.vim | 6 | ||||
-rw-r--r-- | src/nvim/testdir/test_syntax.vim | 35 |
4 files changed, 57 insertions, 7 deletions
diff --git a/src/nvim/testdir/runtest.vim b/src/nvim/testdir/runtest.vim index c8161b1f9b..e0c40181e4 100644 --- a/src/nvim/testdir/runtest.vim +++ b/src/nvim/testdir/runtest.vim @@ -269,7 +269,6 @@ let s:flaky_tests = [ \ 'Test_oneshot()', \ 'Test_out_cb()', \ 'Test_paused()', - \ 'Test_popup_and_window_resize()', \ 'Test_quoteplus()', \ 'Test_quotestar()', \ 'Test_reltime()', diff --git a/src/nvim/testdir/shared.vim b/src/nvim/testdir/shared.vim index 6cc2d06a36..ab0a4fd706 100644 --- a/src/nvim/testdir/shared.vim +++ b/src/nvim/testdir/shared.vim @@ -196,16 +196,26 @@ func s:feedkeys(timer) call feedkeys('x', 'nt') endfunc +" Get $VIMPROG to run Vim executable. +" The Makefile writes it as the first line in the "vimcmd" file. +" Nvim: uses $NVIM_TEST_ARG0. +func GetVimProg() + if empty($NVIM_TEST_ARG0) + " Assume the script was sourced instead of running "make". + return '../../../build/bin/nvim' + endif + return $NVIM_TEST_ARG0 +endfunc + " Get the command to run Vim, with -u NONE and --headless arguments. " If there is an argument use it instead of "NONE". -" Returns an empty string on error. func GetVimCommand(...) if a:0 == 0 let name = 'NONE' else let name = a:1 endif - let cmd = v:progpath + let cmd = GetVimProg() let cmd = substitute(cmd, '-u \f\+', '-u ' . name, '') if cmd !~ '-u '. name let cmd = cmd . ' -u ' . name @@ -215,6 +225,14 @@ func GetVimCommand(...) return cmd endfunc +" Get the command to run Vim, with --clean. +func GetVimCommandClean() + let cmd = GetVimCommand() + let cmd = substitute(cmd, '-u NONE', '--clean', '') + let cmd = substitute(cmd, '--headless', '', '') + return cmd +endfunc + " Run Vim, using the "vimcmd" file and "-u NORC". " "before" is a list of Vim commands to be executed before loading plugins. " "after" is a list of Vim commands to be executed after loading plugins. diff --git a/src/nvim/testdir/test_popup.vim b/src/nvim/testdir/test_popup.vim index 7d844e055c..0027a0a52e 100644 --- a/src/nvim/testdir/test_popup.vim +++ b/src/nvim/testdir/test_popup.vim @@ -669,10 +669,10 @@ func Test_popup_and_window_resize() if h < 15 return endif - let g:buf = term_start([$NVIM_PRG, '--clean', '-c', 'set noswapfile'], {'term_rows': h / 3}) - call term_sendkeys(g:buf, (h / 3 - 1)."o\<esc>G") - call term_sendkeys(g:buf, "i\<c-x>") + let g:buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': h / 3}) + call term_sendkeys(g:buf, (h / 3 - 1)."o\<esc>") call term_wait(g:buf, 200) + call term_sendkeys(g:buf, "Gi\<c-x>") call term_sendkeys(g:buf, "\<c-v>") call term_wait(g:buf, 100) " popup first entry "!" must be at the top diff --git a/src/nvim/testdir/test_syntax.vim b/src/nvim/testdir/test_syntax.vim index a3de879b2a..f75c295a1e 100644 --- a/src/nvim/testdir/test_syntax.vim +++ b/src/nvim/testdir/test_syntax.vim @@ -470,7 +470,7 @@ func Test_bg_detection() hi Normal ctermbg=NONE endfunc -fun Test_synstack_synIDtrans() +func Test_synstack_synIDtrans() new setfiletype c syntax on @@ -494,6 +494,39 @@ fun Test_synstack_synIDtrans() bw! endfunc +" Check highlighting for a small piece of C code with a screen dump. +func Test_syntax_c() + if !has('terminal') + return + endif + call writefile([ + \ '/* comment line at the top */', + \ ' int', + \ 'main(int argc, char **argv)// another comment', + \ '{', + \ '#if 0', + \ ' int not_used;', + \ '#else', + \ ' int used;', + \ '#endif', + \ ' printf("Just an example piece of C code\n");', + \ ' return 0x0ff;', + \ '}', + \ ' static void', + \ 'myFunction(const double count, struct nothing, long there) {', + \ ' // 123: nothing to read here', + \ ' for (int i = 0; i < count; ++i) {', + \ ' break;', + \ ' }', + \ '}', + \ ], 'Xtest.c') + let buf = RunVimInTerminal('Xtest.c', {}) + call VerifyScreenDump(buf, 'Test_syntax_c_01') + call StopVimInTerminal(buf) + + call delete('Xtest.c') +endfun + " Using \z() in a region with NFA failing should not crash. func Test_syn_wrong_z_one() new |