annotate src/testdir/test_hlsearch.vim @ 24462:7c4f50c02e18 v8.2.2771

patch 8.2.2771: Vim9: assignment not recognized if declaration was skipped Commit: https://github.com/vim/vim/commit/aa1959bd5e82350bb4a82d9a5188c29d70706ec4 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Apr 15 22:13:39 2021 +0200 patch 8.2.2771: Vim9: assignment not recognized if declaration was skipped Problem: Vim9: assignment not recognized if declaration was skipped. Solution: Also recognized an assignment if the variable does not exist. (closes #8108)
author Bram Moolenaar <Bram@vim.org>
date Thu, 15 Apr 2021 22:15:03 +0200
parents ff21e2962490
children b90bca860b5a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Test for v:hlsearch
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
3 source check.vim
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
4
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 14662
diff changeset
5 func Test_hlsearch()
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 new
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 call setline(1, repeat(['aaa'], 10))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 set hlsearch nolazyredraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 " redraw is needed to make hlsearch highlight the matches
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 exe "normal! /aaa\<CR>" | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 let r1 = screenattr(1, 1)
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 nohlsearch | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 call assert_notequal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 let v:hlsearch=1 | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 call assert_equal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 let v:hlsearch=0 | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 call assert_notequal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 set hlsearch | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 call assert_equal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 let v:hlsearch=0 | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 call assert_notequal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 exe "normal! n" | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 call assert_equal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 let v:hlsearch=0 | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 call assert_notequal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 exe "normal! /\<CR>" | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 call assert_equal(r1, screenattr(1,1))
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 set nohls
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 exe "normal! /\<CR>" | redraw
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 call assert_notequal(r1, screenattr(1,1))
22087
ff21e2962490 patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
31 call assert_fails('let v:hlsearch=[]', 'E745:')
10145
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 call garbagecollect(1)
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 call getchar(1)
eb9a7296ae9f commit https://github.com/vim/vim/commit/53f1673cd909eb1c809c6a9086e3d104a0df9bed
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 enew!
15406
63b02fcf1361 patch 8.1.0711: test files still use function!
Bram Moolenaar <Bram@vim.org>
parents: 14662
diff changeset
35 endfunc
11523
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
36
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
37 func Test_hlsearch_hangs()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
38 CheckFunction reltimefloat
11523
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
39
11525
14b6b79d685b patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents: 11523
diff changeset
40 " This pattern takes a long time to match, it should timeout.
11527
ac20f71e8aa4 patch 8.0.0646: the hlsearch test fails on fast systems
Christian Brabandt <cb@256bit.org>
parents: 11525
diff changeset
41 new
ac20f71e8aa4 patch 8.0.0646: the hlsearch test fails on fast systems
Christian Brabandt <cb@256bit.org>
parents: 11525
diff changeset
42 call setline(1, ['aaa', repeat('abc ', 1000), 'ccc'])
11523
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
43 let start = reltime()
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
44 set hlsearch nolazyredraw redrawtime=101
11525
14b6b79d685b patch 8.0.0645: no error for illegal back reference in NFA engine
Christian Brabandt <cb@256bit.org>
parents: 11523
diff changeset
45 let @/ = '\%#=1a*.*X\@<=b*'
11523
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
46 redraw
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
47 let elapsed = reltimefloat(reltime(start))
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
48 call assert_true(elapsed > 0.1)
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
49 call assert_true(elapsed < 1.0)
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
50 set nohlsearch redrawtime&
11527
ac20f71e8aa4 patch 8.0.0646: the hlsearch test fails on fast systems
Christian Brabandt <cb@256bit.org>
parents: 11525
diff changeset
51 bwipe!
11523
aad2c2ca0774 patch 8.0.0644: the timeout for 'hlsearch' is not tested
Christian Brabandt <cb@256bit.org>
parents: 10145
diff changeset
52 endfunc
14662
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
53
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
54 func Test_hlsearch_eol_highlight()
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
55 new
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
56 call append(1, repeat([''], 9))
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
57 set hlsearch nolazyredraw
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
58 exe "normal! /$\<CR>" | redraw
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
59 let attr = screenattr(1, 1)
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
60 for row in range(2, 10)
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
61 call assert_equal(attr, screenattr(row, 1), 'in line ' . row)
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
62 endfor
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
63 set nohlsearch
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
64 bwipe!
04c168a6d998 patch 8.1.0344: 'hlsearch' highlighting has a gap after /$
Christian Brabandt <cb@256bit.org>
parents: 11527
diff changeset
65 endfunc
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
66
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 15406
diff changeset
67 " vim: shiftwidth=2 sts=2 expandtab