comparison src/testdir/test_scrollbind.vim @ 16710:687ab2b5252b v8.1.1357

patch 8.1.1357: test 37 is old style commit https://github.com/vim/vim/commit/999dc14644b8a9530ce0da22e90ca402c95c9c5a Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 19 21:44:08 2019 +0200 patch 8.1.1357: test 37 is old style Problem: Test 37 is old style. Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/4398)
author Bram Moolenaar <Bram@vim.org>
date Sun, 19 May 2019 21:45:06 +0200
parents 0240e7e3d736
children 08940efa6b4e
comparison
equal deleted inserted replaced
16709:db35ca302be3 16710:687ab2b5252b
28 setl noscrollbind 28 setl noscrollbind
29 wincmd p 29 wincmd p
30 setl noscrollbind 30 setl noscrollbind
31 call assert_equal(0, topLineLeft - topLineRight) 31 call assert_equal(0, topLineLeft - topLineRight)
32 endfunc 32 endfunc
33
34 " Test for 'scrollbind'
35 func Test_scrollbind_opt()
36 new | only
37 set noscrollbind
38 set scrollopt=ver,jump scrolloff=2 nowrap noequalalways splitbelow
39
40 " Insert the text used for the test
41 append
42
43
44 start of window 1
45 . line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01
46 . line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02
47 . line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03
48 . line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04
49 . line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05
50 . line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06
51 . line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07
52 . line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08
53 . line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09
54 . line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10
55 . line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11
56 . line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12
57 . line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13
58 . line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14
59 . line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15
60 end of window 1
61
62
63 start of window 2
64 . line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01
65 . line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02
66 . line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03
67 . line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04
68 . line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05
69 . line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06
70 . line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07
71 . line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08
72 . line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09
73 . line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10
74 . line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11
75 . line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12
76 . line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13
77 . line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14
78 . line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15
79 . line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16
80 end of window 2
81
82 .
83
84 " Test using two windows open to one buffer, one extra empty window
85 split
86 new
87 wincmd t
88 resize 8
89 call search('^start of window 1$')
90 normal zt
91 set scrollbind
92 wincmd j
93 resize 7
94 call search('^start of window 2$')
95 normal zt
96 set scrollbind
97
98 " -- start of tests --
99 " Test scrolling down
100 normal L5jHyy
101 wincmd b | normal pr0
102 wincmd t | normal Hyy
103 wincmd b | normal pr1
104 wincmd t | normal L6jHyy
105 wincmd b | normal pr2
106 wincmd k | normal Hyy
107 wincmd b | normal pr3
108
109 " Test scrolling up
110 wincmd t | normal H4k
111 wincmd j | normal H
112 wincmd t | normal Hyy
113 wincmd b | normal pr4
114 wincmd k | normal Hyy
115 wincmd b | normal pr5
116 wincmd k | normal 3k
117 wincmd t | normal H
118 wincmd j | normal Hyy
119 wincmd b | normal pr6
120 wincmd t | normal Hyy
121 wincmd b | normal pr7
122
123 " Test horizontal scrolling
124 set scrollopt+=hor
125 normal gg"zyyG"zpG
126 wincmd t | normal 015zly$
127 wincmd b | normal p"zpG
128 wincmd k | normal y$
129 wincmd b | normal p"zpG
130 wincmd k | normal 10jH7zhg0y$
131 wincmd b | normal p"zpG
132 wincmd t | normal Hg0y$
133 wincmd b | normal p"zpG
134 set scrollopt-=hor
135
136 wincmd b
137 call assert_equal([
138 \ '',
139 \ '0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05',
140 \ '1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05',
141 \ '2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
142 \ '3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
143 \ '4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06',
144 \ '5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06',
145 \ '6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02',
146 \ '7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
147 \ '56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
148 \ 'UTSRQPONMLKJIHGREDCBA9876543210 02',
149 \ '. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
150 \ '. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
151 \ ''], getline(1, '$'))
152 enew!
153
154 " ****** tests using two different buffers *****
155 wincmd t | wincmd j | close
156 wincmd t | set noscrollbind
157 /start of window 2$/,/^end of window 2$/y
158 new
159 wincmd t | wincmd j | normal 4"zpGp
160 wincmd t
161 call search('^start of window 1$')
162 normal zt
163 set scrollbind
164 wincmd j
165 call search('^start of window 2$')
166 normal zt
167 set scrollbind
168
169 " -- start of tests --
170 " Test scrolling down
171 normal L5jHyy
172 wincmd b | normal pr0
173 wincmd t | normal Hyy
174 wincmd b | normal pr1
175 wincmd t | normal L6jHyy
176 wincmd b | normal pr2
177 wincmd k | normal Hyy
178 wincmd b | normal pr3
179
180 " Test scrolling up
181 wincmd t | normal H4k
182 wincmd j | normal H
183 wincmd t | normal Hyy
184 wincmd b | normal pr4
185 wincmd k | normal Hyy
186 wincmd b | normal pr5
187 wincmd k | normal 3k
188 wincmd t | normal H
189 wincmd j | normal Hyy
190 wincmd b | normal pr6
191 wincmd t | normal Hyy
192 wincmd b | normal pr7
193
194 " Test horizontal scrolling
195 set scrollopt+=hor
196 normal gg"zyyG"zpG
197 wincmd t | normal 015zly$
198 wincmd b | normal p"zpG
199 wincmd k | normal y$
200 wincmd b | normal p"zpG
201 wincmd k | normal 10jH7zhg0y$
202 wincmd b | normal p"zpG
203 wincmd t | normal Hg0y$
204 wincmd b | normal p"zpG
205 set scrollopt-=hor
206
207 wincmd b
208 call assert_equal([
209 \ '',
210 \ '0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05',
211 \ '1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05',
212 \ '2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
213 \ '3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
214 \ '4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06',
215 \ '5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06',
216 \ '6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02',
217 \ '7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
218 \ '56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02',
219 \ 'UTSRQPONMLKJIHGREDCBA9876543210 02',
220 \ '. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11',
221 \ '. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11',
222 \ ''], getline(1, '$'))
223 enew!
224
225 " Test 'syncbind'
226 wincmd t | set noscrollbind | normal ggL
227 wincmd j | set noscrollbind | normal ggL
228 set scrollbind
229 wincmd t | set scrollbind | normal G
230 wincmd j | normal G
231 syncbind
232 normal Hk
233 wincmd t | normal H
234 wincmd j | normal Hyy
235 wincmd b | normal p
236 wincmd t | normal yy
237 wincmd b | normal p
238 wincmd t | set noscrollbind | normal ggL
239 wincmd j | set noscrollbind
240 normal ggL
241 set scrollbind
242 wincmd t | set scrollbind
243 wincmd t | normal G
244 wincmd j | normal G
245 wincmd t | syncbind | normal Hk
246 wincmd j | normal H
247 wincmd t | normal Hyy
248 wincmd b | normal p
249 wincmd t | wincmd j | normal yy
250 wincmd b | normal p
251 wincmd t | normal H3k
252 wincmd j | normal H
253 wincmd t | normal Hyy
254 wincmd b | normal p
255 wincmd t | wincmd j | normal yy
256 wincmd b | normal p
257
258 wincmd b
259 call assert_equal([
260 \ '',
261 \ '. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16',
262 \ 'start of window 2',
263 \ 'start of window 2',
264 \ '. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16',
265 \ '. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15',
266 \ '. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12',
267 \ ], getline(1, '$'))
268 enew!
269
270 new | only!
271 set scrollbind& scrollopt& scrolloff& wrap& equalalways& splitbelow&
272 endfunc