Mercurial > vim
annotate src/testdir/test_hlsearch.vim @ 24766:29ed95687f74 v8.2.2921
patch 8.2.2921: E704 for script local variable is not backwards compatible
Commit: https://github.com/vim/vim/commit/b54abeeafb074248597878a874fed9a66b114c06
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 2 11:49:23 2021 +0200
patch 8.2.2921: E704 for script local variable is not backwards compatible
Problem: E704 for script local variable is not backwards compatible.
(Yasuhiro Matsumoto)
Solution: Only give the error in Vim9 script. Also check for function-local
variable.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 02 Jun 2021 12:00:06 +0200 |
parents | ff21e2962490 |
children | b90bca860b5a |
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 |