Mercurial > vim
annotate src/testdir/test_scroll_opt.vim @ 32100:fcc497515cce v9.0.1381
patch 9.0.1381: ACCESS_ names have a conflict with on some systems
Commit: https://github.com/vim/vim/commit/d8742476d11e75e3b733f21d9aeac1cbd2a02c6f
Author: =?UTF-8?q?Ola=20S=C3=B6der?= <rolfkopman@gmail.com>
Date: Sun Mar 5 13:12:32 2023 +0000
patch 9.0.1381: ACCESS_ names have a conflict with on some systems
Problem: ACCESS_ names have a conflict with on some systems.
Solution: Rename by prepending VIM_. (Ola S?der, closes https://github.com/vim/vim/issues/12105)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 05 Mar 2023 14:15:05 +0100 |
parents | d8fdafc4b390 |
children | 8323e235ff44 |
rev | line source |
---|---|
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
1 " Test for reset 'scroll' and 'smoothscroll' |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
2 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
3 source check.vim |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
4 source screendump.vim |
31154
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
5 source mouse.vim |
12718
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func Test_reset_scroll() |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 let scr = &l:scroll |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 setlocal scroll& |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 setlocal scroll=0 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 try |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 execute 'setlocal scroll=' . (winheight(0) + 1) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 " not reached |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 call assert_false(1) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 catch |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 call assert_exception('E49:') |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 endtry |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 split |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 let scr = &l:scroll |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 setlocal scroll& |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 setlocal scroll=0 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 quit! |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
12718
diff
changeset
|
40 |
31954
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
41 func Test_scolloff_even_line_count() |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
42 new |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
43 resize 6 |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
44 setlocal scrolloff=3 |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
45 call setline(1, range(20)) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
46 normal 2j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
47 call assert_equal(1, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
48 normal j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
49 call assert_equal(1, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
50 normal j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
51 call assert_equal(2, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
52 normal j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
53 call assert_equal(3, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
54 |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
55 bwipe! |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
56 endfunc |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
57 |
30620
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
58 func Test_CtrlE_CtrlY_stop_at_end() |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
59 enew |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
60 call setline(1, ['one', 'two']) |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
61 set number |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
62 exe "normal \<C-Y>" |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
63 call assert_equal([" 1 one "], ScreenLines(1, 10)) |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
64 exe "normal \<C-E>\<C-E>\<C-E>" |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
65 call assert_equal([" 2 two "], ScreenLines(1, 10)) |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
66 |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
67 bwipe! |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
68 set nonumber |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
69 endfunc |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
70 |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
71 func Test_smoothscroll_CtrlE_CtrlY() |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
72 CheckScreendump |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
73 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
74 let lines =<< trim END |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
75 vim9script |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
76 setline(1, [ |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
77 'line one', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
78 'word '->repeat(20), |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
79 'line three', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
80 'long word '->repeat(7), |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
81 'line', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
82 'line', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
83 'line', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
84 ]) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
85 set smoothscroll |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
86 :5 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
87 END |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
88 call writefile(lines, 'XSmoothScroll', 'D') |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
89 let buf = RunVimInTerminal('-S XSmoothScroll', #{rows: 12, cols: 40}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
90 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
91 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
92 call VerifyScreenDump(buf, 'Test_smoothscroll_1', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
93 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
94 call VerifyScreenDump(buf, 'Test_smoothscroll_2', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
95 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
96 call VerifyScreenDump(buf, 'Test_smoothscroll_3', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
97 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
98 call VerifyScreenDump(buf, 'Test_smoothscroll_4', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
99 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
100 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
101 call VerifyScreenDump(buf, 'Test_smoothscroll_5', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
102 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
103 call VerifyScreenDump(buf, 'Test_smoothscroll_6', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
104 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
105 call VerifyScreenDump(buf, 'Test_smoothscroll_7', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
106 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
107 call VerifyScreenDump(buf, 'Test_smoothscroll_8', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
108 |
30622
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
109 if has('folding') |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
110 call term_sendkeys(buf, ":set foldmethod=indent\<CR>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
111 " move the cursor so we can reuse the same dumps |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
112 call term_sendkeys(buf, "5G") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
113 call term_sendkeys(buf, "\<C-E>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
114 call VerifyScreenDump(buf, 'Test_smoothscroll_1', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
115 call term_sendkeys(buf, "\<C-E>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
116 call VerifyScreenDump(buf, 'Test_smoothscroll_2', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
117 call term_sendkeys(buf, "7G") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
118 call term_sendkeys(buf, "\<C-Y>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
119 call VerifyScreenDump(buf, 'Test_smoothscroll_7', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
120 call term_sendkeys(buf, "\<C-Y>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
121 call VerifyScreenDump(buf, 'Test_smoothscroll_8', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
122 endif |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
123 |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
124 call StopVimInTerminal(buf) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
125 endfunc |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
126 |
30635
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
127 func Test_smoothscroll_number() |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
128 CheckScreendump |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
129 |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
130 let lines =<< trim END |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
131 vim9script |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
132 setline(1, [ |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
133 'one ' .. 'word '->repeat(20), |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
134 'two ' .. 'long word '->repeat(7), |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
135 'line', |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
136 'line', |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
137 'line', |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
138 ]) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
139 set smoothscroll |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
140 set number cpo+=n |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
141 :3 |
30845
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
142 |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
143 def g:DoRel() |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
144 set number relativenumber scrolloff=0 |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
145 :%del |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
146 setline(1, [ |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
147 'one', |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
148 'very long text '->repeat(12), |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
149 'three', |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
150 ]) |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
151 exe "normal 2Gzt\<C-E>" |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
152 enddef |
30635
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
153 END |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
154 call writefile(lines, 'XSmoothNumber', 'D') |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
155 let buf = RunVimInTerminal('-S XSmoothNumber', #{rows: 12, cols: 40}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
156 |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
157 call VerifyScreenDump(buf, 'Test_smooth_number_1', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
158 call term_sendkeys(buf, "\<C-E>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
159 call VerifyScreenDump(buf, 'Test_smooth_number_2', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
160 call term_sendkeys(buf, "\<C-E>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
161 call VerifyScreenDump(buf, 'Test_smooth_number_3', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
162 |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
163 call term_sendkeys(buf, ":set cpo-=n\<CR>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
164 call VerifyScreenDump(buf, 'Test_smooth_number_4', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
165 call term_sendkeys(buf, "\<C-Y>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
166 call VerifyScreenDump(buf, 'Test_smooth_number_5', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
167 call term_sendkeys(buf, "\<C-Y>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
168 call VerifyScreenDump(buf, 'Test_smooth_number_6', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
169 |
30845
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
170 call term_sendkeys(buf, ":call DoRel()\<CR>") |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
171 call VerifyScreenDump(buf, 'Test_smooth_number_7', {}) |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
172 |
30635
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
173 call StopVimInTerminal(buf) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
174 endfunc |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
175 |
30847
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
176 func Test_smoothscroll_list() |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
177 CheckScreendump |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
178 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
179 let lines =<< trim END |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
180 vim9script |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
181 set smoothscroll scrolloff=0 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
182 set list |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
183 setline(1, [ |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
184 'one', |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
185 'very long text '->repeat(12), |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
186 'three', |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
187 ]) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
188 exe "normal 2Gzt\<C-E>" |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
189 END |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
190 call writefile(lines, 'XSmoothList', 'D') |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
191 let buf = RunVimInTerminal('-S XSmoothList', #{rows: 8, cols: 40}) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
192 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
193 call VerifyScreenDump(buf, 'Test_smooth_list_1', {}) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
194 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
195 call term_sendkeys(buf, ":set listchars+=precedes:#\<CR>") |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
196 call VerifyScreenDump(buf, 'Test_smooth_list_2', {}) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
197 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
198 call StopVimInTerminal(buf) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
199 endfunc |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
200 |
30673
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
201 func Test_smoothscroll_diff_mode() |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
202 CheckScreendump |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
203 |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
204 let lines =<< trim END |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
205 vim9script |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
206 var text = 'just some text here' |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
207 setline(1, text) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
208 set smoothscroll |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
209 diffthis |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
210 new |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
211 setline(1, text) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
212 set smoothscroll |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
213 diffthis |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
214 END |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
215 call writefile(lines, 'XSmoothDiff', 'D') |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
216 let buf = RunVimInTerminal('-S XSmoothDiff', #{rows: 8}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
217 |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
218 call VerifyScreenDump(buf, 'Test_smooth_diff_1', {}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
219 call term_sendkeys(buf, "\<C-Y>") |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
220 call VerifyScreenDump(buf, 'Test_smooth_diff_1', {}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
221 call term_sendkeys(buf, "\<C-E>") |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
222 call VerifyScreenDump(buf, 'Test_smooth_diff_1', {}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
223 |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
224 call StopVimInTerminal(buf) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
225 endfunc |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
226 |
30675
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
227 func Test_smoothscroll_wrap_scrolloff_zero() |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
228 CheckScreendump |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
229 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
230 let lines =<< trim END |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
231 vim9script |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
232 setline(1, ['Line' .. (' with some text'->repeat(7))]->repeat(7)) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
233 set smoothscroll scrolloff=0 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
234 :3 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
235 END |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
236 call writefile(lines, 'XSmoothWrap', 'D') |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
237 let buf = RunVimInTerminal('-S XSmoothWrap', #{rows: 8, cols: 40}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
238 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
239 call VerifyScreenDump(buf, 'Test_smooth_wrap_1', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
240 |
30677
a345ad853b08
patch 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30675
diff
changeset
|
241 " moving cursor down - whole bottom line shows |
30675
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
242 call term_sendkeys(buf, "j") |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
243 call VerifyScreenDump(buf, 'Test_smooth_wrap_2', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
244 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
245 call term_sendkeys(buf, "\<C-E>j") |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
246 call VerifyScreenDump(buf, 'Test_smooth_wrap_3', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
247 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
248 call term_sendkeys(buf, "G") |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
249 call VerifyScreenDump(buf, 'Test_smooth_wrap_4', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
250 |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
251 " moving cursor up right after the >>> marker - no need to show whole line |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
252 call term_sendkeys(buf, "2gj3l2k") |
30677
a345ad853b08
patch 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30675
diff
changeset
|
253 call VerifyScreenDump(buf, 'Test_smooth_wrap_5', {}) |
a345ad853b08
patch 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30675
diff
changeset
|
254 |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
255 " moving cursor up where the >>> marker is - whole top line shows |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
256 call term_sendkeys(buf, "2j02k") |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
257 call VerifyScreenDump(buf, 'Test_smooth_wrap_6', {}) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
258 |
30675
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
259 call StopVimInTerminal(buf) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
260 endfunc |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
261 |
30733
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
262 func Test_smoothscroll_wrap_long_line() |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
263 CheckScreendump |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
264 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
265 let lines =<< trim END |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
266 vim9script |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
267 setline(1, ['one', 'two', 'Line' .. (' with lots of text'->repeat(30)) .. ' end', 'four']) |
30733
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
268 set smoothscroll scrolloff=0 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
269 normal 3G10|zt |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
270 END |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
271 call writefile(lines, 'XSmoothWrap', 'D') |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
272 let buf = RunVimInTerminal('-S XSmoothWrap', #{rows: 6, cols: 40}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
273 call VerifyScreenDump(buf, 'Test_smooth_long_1', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
274 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
275 " scrolling up, cursor moves screen line down |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
276 call term_sendkeys(buf, "\<C-E>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
277 call VerifyScreenDump(buf, 'Test_smooth_long_2', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
278 call term_sendkeys(buf, "5\<C-E>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
279 call VerifyScreenDump(buf, 'Test_smooth_long_3', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
280 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
281 " scrolling down, cursor moves screen line up |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
282 call term_sendkeys(buf, "5\<C-Y>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
283 call VerifyScreenDump(buf, 'Test_smooth_long_4', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
284 call term_sendkeys(buf, "\<C-Y>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
285 call VerifyScreenDump(buf, 'Test_smooth_long_5', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
286 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
287 " 'scrolloff' set to 1, scrolling up, cursor moves screen line down |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
288 call term_sendkeys(buf, ":set scrolloff=1\<CR>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
289 call term_sendkeys(buf, "10|\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
290 call VerifyScreenDump(buf, 'Test_smooth_long_6', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
291 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
292 " 'scrolloff' set to 1, scrolling down, cursor moves screen line up |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
293 call term_sendkeys(buf, "\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
294 call term_sendkeys(buf, "gjgj") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
295 call term_sendkeys(buf, "\<C-Y>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
296 call VerifyScreenDump(buf, 'Test_smooth_long_7', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
297 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
298 " 'scrolloff' set to 2, scrolling up, cursor moves screen line down |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
299 call term_sendkeys(buf, ":set scrolloff=2\<CR>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
300 call term_sendkeys(buf, "10|\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
301 call VerifyScreenDump(buf, 'Test_smooth_long_8', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
302 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
303 " 'scrolloff' set to 2, scrolling down, cursor moves screen line up |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
304 call term_sendkeys(buf, "\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
305 call term_sendkeys(buf, "gj") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
306 call term_sendkeys(buf, "\<C-Y>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
307 call VerifyScreenDump(buf, 'Test_smooth_long_9', {}) |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
308 |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
309 " 'scrolloff' set to 0, move cursor down one line. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
310 " Cursor should move properly, and since this is a really long line, it will |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
311 " be put on top of the screen. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
312 call term_sendkeys(buf, ":set scrolloff=0\<CR>") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
313 call term_sendkeys(buf, "0j") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
314 call VerifyScreenDump(buf, 'Test_smooth_long_10', {}) |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
315 |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
316 " Test zt/zz/zb that they work properly when a long line is above it |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
317 call term_sendkeys(buf, "zb") |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
318 call VerifyScreenDump(buf, 'Test_smooth_long_11', {}) |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
319 call term_sendkeys(buf, "zz") |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
320 call VerifyScreenDump(buf, 'Test_smooth_long_12', {}) |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
321 call term_sendkeys(buf, "zt") |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
322 call VerifyScreenDump(buf, 'Test_smooth_long_13', {}) |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
323 |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
324 " Repeat the step and move the cursor down again. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
325 " This time, use a shorter long line that is barely long enough to span more |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
326 " than one window. Note that the cursor is at the bottom this time because |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
327 " Vim prefers to do so if we are scrolling a few lines only. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
328 call term_sendkeys(buf, ":call setline(1, ['one', 'two', 'Line' .. (' with lots of text'->repeat(10)) .. ' end', 'four'])\<CR>") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
329 call term_sendkeys(buf, "3Gzt") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
330 call term_sendkeys(buf, "j") |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
331 call VerifyScreenDump(buf, 'Test_smooth_long_14', {}) |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
332 |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
333 " Repeat the step but this time start it when the line is smooth-scrolled by |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
334 " one line. This tests that the offset calculation is still correct and |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
335 " still end up scrolling down to the next line with cursor at bottom of |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
336 " screen. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
337 call term_sendkeys(buf, "3Gzt") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
338 call term_sendkeys(buf, "\<C-E>j") |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
339 call VerifyScreenDump(buf, 'Test_smooth_long_15', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
340 |
30733
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
341 call StopVimInTerminal(buf) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
342 endfunc |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
343 |
30799
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
344 func Test_smoothscroll_one_long_line() |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
345 CheckScreendump |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
346 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
347 let lines =<< trim END |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
348 vim9script |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
349 setline(1, 'with lots of text '->repeat(7)) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
350 set smoothscroll scrolloff=0 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
351 END |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
352 call writefile(lines, 'XSmoothOneLong', 'D') |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
353 let buf = RunVimInTerminal('-S XSmoothOneLong', #{rows: 6, cols: 40}) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
354 call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
355 |
30799
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
356 call term_sendkeys(buf, "\<C-E>") |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
357 call VerifyScreenDump(buf, 'Test_smooth_one_long_2', {}) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
358 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
359 call term_sendkeys(buf, "0") |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
360 call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
361 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
362 call StopVimInTerminal(buf) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
363 endfunc |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
364 |
31127
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
365 func Test_smoothscroll_long_line_showbreak() |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
366 CheckScreendump |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
367 |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
368 let lines =<< trim END |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
369 vim9script |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
370 # a line that spans four screen lines |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
371 setline(1, 'with lots of text in one line '->repeat(6)) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
372 set smoothscroll scrolloff=0 showbreak=+++\ |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
373 END |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
374 call writefile(lines, 'XSmoothLongShowbreak', 'D') |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
375 let buf = RunVimInTerminal('-S XSmoothLongShowbreak', #{rows: 6, cols: 40}) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
376 call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_1', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
377 |
31127
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
378 call term_sendkeys(buf, "\<C-E>") |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
379 call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_2', {}) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
380 |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
381 call term_sendkeys(buf, "0") |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
382 call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_1', {}) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
383 |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
384 call StopVimInTerminal(buf) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
385 endfunc |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
386 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
387 func s:check_col_calc(win_col, win_line, buf_col) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
388 call assert_equal(a:win_col, wincol()) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
389 call assert_equal(a:win_line, winline()) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
390 call assert_equal(a:buf_col, col('.')) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
391 endfunc |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
392 |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
393 " Test that if the current cursor is on a smooth scrolled line, we correctly |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
394 " reposition it. Also check that we don't miscalculate the values by checking |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
395 " the consistency between wincol() and col('.') as they are calculated |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
396 " separately in code. |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
397 func Test_smoothscroll_cursor_position() |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
398 call NewWindow(10, 20) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
399 setl smoothscroll wrap |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
400 call setline(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
401 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
402 call s:check_col_calc(1, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
403 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
404 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
405 " Move down another line to avoid blocking the <<< display |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
406 call s:check_col_calc(1, 2, 41) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
407 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
408 call s:check_col_calc(1, 3, 41) |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
409 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
410 normal gg3l |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
411 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
412 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
413 " Move down only 1 line when we are out of the range of the <<< display |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
414 call s:check_col_calc(4, 1, 24) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
415 exe "normal \<C-Y>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
416 call s:check_col_calc(4, 2, 24) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
417 normal ggg$ |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
418 exe "normal \<C-E>" |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
419 call s:check_col_calc(20, 1, 40) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
420 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
421 call s:check_col_calc(20, 2, 40) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
422 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
423 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
424 " Test number, where we have indented lines |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
425 setl number |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
426 call s:check_col_calc(5, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
427 exe "normal \<C-E>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
428 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
429 " Move down only 1 line when the <<< display is on the number column |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
430 call s:check_col_calc(5, 1, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
431 exe "normal \<C-Y>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
432 call s:check_col_calc(5, 2, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
433 normal ggg$ |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
434 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
435 call s:check_col_calc(20, 1, 32) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
436 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
437 call s:check_col_calc(20, 2, 32) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
438 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
439 |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
440 setl numberwidth=1 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
441 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
442 " Move down another line when numberwidth is too short to cover the whole |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
443 " <<< display |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
444 call s:check_col_calc(3, 1, 1) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
445 exe "normal \<C-E>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
446 call s:check_col_calc(3, 2, 37) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
447 exe "normal \<C-Y>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
448 call s:check_col_calc(3, 3, 37) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
449 normal ggl |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
450 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
451 " Only move 1 line down when we are just past the <<< display |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
452 call s:check_col_calc(4, 1, 2) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
453 exe "normal \<C-E>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
454 call s:check_col_calc(4, 1, 20) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
455 exe "normal \<C-Y>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
456 call s:check_col_calc(4, 2, 20) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
457 normal gg |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
458 setl numberwidth& |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
459 |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
460 " Test number + showbreak, so test that the additional indentation works |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
461 setl number showbreak=+++ |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
462 call s:check_col_calc(5, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
463 exe "normal \<C-E>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
464 call s:check_col_calc(8, 1, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
465 exe "normal \<C-Y>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
466 call s:check_col_calc(8, 2, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
467 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
468 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
469 " Test number + cpo+=n mode, where wrapped lines aren't indented |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
470 setl number cpo+=n showbreak= |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
471 call s:check_col_calc(5, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
472 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
473 call s:check_col_calc(1, 2, 37) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
474 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
475 call s:check_col_calc(1, 3, 37) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
476 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
477 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
478 bwipe! |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
479 endfunc |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
480 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
481 func Test_smoothscroll_cursor_scrolloff() |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
482 call NewWindow(10, 20) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
483 setl smoothscroll wrap |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
484 setl scrolloff=3 |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
485 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
486 " 120 chars are 6 screen lines |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
487 call setline(1, "abcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRST") |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
488 call setline(2, "below") |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
489 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
490 call s:check_col_calc(1, 1, 1) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
491 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
492 " CTRL-E shows "<<<DEFG...", cursor move four lines down |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
493 exe "normal \<C-E>" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
494 call s:check_col_calc(1, 4, 81) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
495 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
496 " cursor on start of second line, "gk" moves into first line, skipcol doesn't |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
497 " change |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
498 exe "normal G0gk" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
499 call s:check_col_calc(1, 5, 101) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
500 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
501 " move cursor left one window width worth, scrolls one screen line |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
502 exe "normal 20h" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
503 call s:check_col_calc(1, 5, 81) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
504 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
505 " move cursor left one window width worth, scrolls one screen line |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
506 exe "normal 20h" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
507 call s:check_col_calc(1, 4, 61) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
508 |
31333
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
509 " cursor on last line, "gk" should not cause a scroll |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
510 set scrolloff=0 |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
511 normal G0 |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
512 call s:check_col_calc(1, 7, 1) |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
513 normal gk |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
514 call s:check_col_calc(1, 6, 101) |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
515 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
516 bwipe! |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
517 endfunc |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
518 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
519 |
31154
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
520 " Test that mouse picking is still accurate when we have smooth scrolled lines |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
521 func Test_smoothscroll_mouse_pos() |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
522 CheckNotGui |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
523 CheckUnix |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
524 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
525 let save_mouse = &mouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
526 let save_term = &term |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
527 let save_ttymouse = &ttymouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
528 set mouse=a term=xterm ttymouse=xterm2 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
529 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
530 call NewWindow(10, 20) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
531 setl smoothscroll wrap |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
532 " First line will wrap to 3 physical lines. 2nd/3rd lines are short lines. |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
533 call setline(1, ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", "line 2", "line 3"]) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
534 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
535 func s:check_mouse_click(row, col, buf_row, buf_col) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
536 call MouseLeftClick(a:row, a:col) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
537 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
538 call assert_equal(a:col, wincol()) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
539 call assert_equal(a:row, winline()) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
540 call assert_equal(a:buf_row, line('.')) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
541 call assert_equal(a:buf_col, col('.')) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
542 endfunc |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
543 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
544 " Check that clicking without scroll works first. |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
545 call s:check_mouse_click(3, 5, 1, 45) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
546 call s:check_mouse_click(4, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
547 call s:check_mouse_click(4, 6, 2, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
548 call s:check_mouse_click(5, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
549 call s:check_mouse_click(5, 6, 3, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
550 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
551 " Smooth scroll, and checks that this didn't mess up mouse clicking |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
552 exe "normal \<C-E>" |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
553 call s:check_mouse_click(2, 5, 1, 45) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
554 call s:check_mouse_click(3, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
555 call s:check_mouse_click(3, 6, 2, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
556 call s:check_mouse_click(4, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
557 call s:check_mouse_click(4, 6, 3, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
558 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
559 exe "normal \<C-E>" |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
560 call s:check_mouse_click(1, 5, 1, 45) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
561 call s:check_mouse_click(2, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
562 call s:check_mouse_click(2, 6, 2, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
563 call s:check_mouse_click(3, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
564 call s:check_mouse_click(3, 6, 3, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
565 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
566 " Make a new first line 11 physical lines tall so it's taller than window |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
567 " height, to test overflow calculations with really long lines wrapping. |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
568 normal gg |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
569 call setline(1, "12345678901234567890"->repeat(11)) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
570 exe "normal 6\<C-E>" |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
571 call s:check_mouse_click(5, 1, 1, 201) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
572 call s:check_mouse_click(6, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
573 call s:check_mouse_click(7, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
574 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
575 let &mouse = save_mouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
576 let &term = save_term |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
577 let &ttymouse = save_ttymouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
578 endfunc |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
579 |
31829
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
580 " this was dividing by zero |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
581 func Test_smoothscrol_zero_width() |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
582 CheckScreendump |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
583 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
584 let lines =<< trim END |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
585 winsize 0 0 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
586 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
587 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
588 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
589 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
590 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
591 sil norm H |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
592 set wrap |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
593 set smoothscroll |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
594 set number |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
595 END |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
596 call writefile(lines, 'XSmoothScrollZero', 'D') |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
597 let buf = RunVimInTerminal('-u NONE -i NONE -n -m -X -Z -e -s -S XSmoothScrollZero', #{rows: 6, cols: 60, wait_for_ruler: 0}) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
598 call TermWait(buf, 3000) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
599 call VerifyScreenDump(buf, 'Test_smoothscroll_zero_1', {}) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
600 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
601 call term_sendkeys(buf, ":sil norm \<C-V>\<C-W>\<C-V>\<C-N>\<CR>") |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
602 call VerifyScreenDump(buf, 'Test_smoothscroll_zero_2', {}) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
603 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
604 call StopVimInTerminal(buf) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
605 endfunc |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
606 |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
607 |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
12718
diff
changeset
|
608 " vim: shiftwidth=2 sts=2 expandtab |