diff options
-rw-r--r-- | src/nvim/testdir/test101.in | 45 | ||||
-rw-r--r-- | src/nvim/testdir/test101.ok | 11 | ||||
-rw-r--r-- | test/functional/legacy/101_hlsearch_spec.lua | 62 |
3 files changed, 62 insertions, 56 deletions
diff --git a/src/nvim/testdir/test101.in b/src/nvim/testdir/test101.in deleted file mode 100644 index 04c934f2c5..0000000000 --- a/src/nvim/testdir/test101.in +++ /dev/null @@ -1,45 +0,0 @@ -Test for v:hlsearch vim: set ft=vim : - -STARTTEST -:" Last abc: Q -:so small.vim -:new -:call setline(1, repeat(['aaa'], 10)) -:set hlsearch nolazyredraw -:let r=[] -:command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch]) -/aaa -:AddR -:nohlsearch -:AddR -:let v:hlsearch=1 -:AddR -:let v:hlsearch=0 -:AddR -:set hlsearch -:AddR -:let v:hlsearch=0 -:AddR -n:AddR -:let v:hlsearch=0 -:AddR -/ -:AddR -:let r1=r[0][0] -:" I guess it is not guaranteed that screenattr outputs always the same character -:call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")') -:try -: let v:hlsearch=[] -:catch -: call add(r, matchstr(v:exception,'^Vim(let):E\d\+:')) -:endtry -:bwipeout! -:$put=r -:call garbagecollect(1) -:" -:/^start:/,$wq! test.out -:" vim: et ts=4 isk-=\: -:call getchar() -ENDTEST - -start: diff --git a/src/nvim/testdir/test101.ok b/src/nvim/testdir/test101.ok deleted file mode 100644 index 3ed7436cf7..0000000000 --- a/src/nvim/testdir/test101.ok +++ /dev/null @@ -1,11 +0,0 @@ -start: -1:highlighted -0:not highlighted -1:highlighted -0:not highlighted -1:highlighted -0:not highlighted -1:highlighted -0:not highlighted -1:highlighted -Vim(let):E706: diff --git a/test/functional/legacy/101_hlsearch_spec.lua b/test/functional/legacy/101_hlsearch_spec.lua new file mode 100644 index 0000000000..4a3abb19ce --- /dev/null +++ b/test/functional/legacy/101_hlsearch_spec.lua @@ -0,0 +1,62 @@ +-- Test for v:hlsearch + +local helpers = require('test.functional.helpers') +local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert +local execute, expect = helpers.execute, helpers.expect + +describe('v:hlsearch', function() + setup(clear) + + it('is working', function() + -- Last abc: Q + execute('new') + execute([[call setline(1, repeat(['aaa'], 10))]]) + execute('set hlsearch nolazyredraw') + execute('let r=[]') + execute('command -nargs=0 -bar AddR :call add(r, [screenattr(1, 1), v:hlsearch])') + execute('/aaa') + execute('AddR') + execute('nohlsearch') + execute('AddR') + execute('let v:hlsearch=1') + execute('AddR') + execute('let v:hlsearch=0') + execute('AddR') + execute('set hlsearch') + execute('AddR') + execute('let v:hlsearch=0') + execute('AddR') + feed('n:AddR<cr>') + execute('let v:hlsearch=0') + execute('AddR') + execute('/') + execute('AddR') + execute('let r1=r[0][0]') + + -- I guess it is not guaranteed that screenattr outputs always the same character + execute([[call map(r, 'v:val[1].":".(v:val[0]==r1?"highlighted":"not highlighted")')]]) + execute('try') + execute(' let v:hlsearch=[]') + execute('catch') + execute([[ call add(r, matchstr(v:exception,'^Vim(let):E\d\+:'))]]) + execute('endtry') + execute('bwipeout!') + execute('$put=r') + execute('call garbagecollect(1)') + execute('call getchar()') + execute('1d') + + -- Assert buffer contents. + expect([[ + 1:highlighted + 0:not highlighted + 1:highlighted + 0:not highlighted + 1:highlighted + 0:not highlighted + 1:highlighted + 0:not highlighted + 1:highlighted + Vim(let):E706:]]) + end) +end) |