aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/015_alignment_spec.lua
blob: ac90f3f98b1c24550834bb5b65475bb14b661a1d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
-- Tests for :right on text with embedded TAB.
-- Also test formatting a paragraph.
-- Also test undo after ":%s" and formatting.

local n = require('test.functional.testnvim')()

local feed, insert = n.feed, n.insert
local clear, feed_command, expect = n.clear, n.feed_command, n.expect

describe('alignment', function()
  setup(clear)

  -- luacheck: ignore 621 (Indentation)
  it('is working', function()
    insert([[
      	test for :left
      	  a		a
      	    fa		a
      	  dfa		a
      	        sdfa		a
      	  asdfa		a
      	        xasdfa		a
      asxxdfa		a

      	test for :center
      	  a		a
      	    fa		afd asdf
      	  dfa		a
      	        sdfa		afd asdf
      	  asdfa		a
      	        xasdfa		asdfasdfasdfasdfasdf
      asxxdfa		a

      	test for :right
      	a		a
      	fa		a
      	dfa		a
      	sdfa		a
      	asdfa		a
      	xasdfa		a
      	asxxdfa		a
      	asxa;ofa		a
      	asdfaqwer		a
      	a		ax
      	fa		ax
      	dfa		ax
      	sdfa		ax
      	asdfa		ax
      	xasdfa		ax
      	asxxdfa		ax
      	asxa;ofa		ax
      	asdfaqwer		ax
      	a		axx
      	fa		axx
      	dfa		axx
      	sdfa		axx
      	asdfa		axx
      	xasdfa		axx
      	asxxdfa		axx
      	asxa;ofa		axx
      	asdfaqwer		axx
      	a		axxx
      	fa		axxx
      	dfa		axxx
      	sdfa		axxx
      	asdfa		axxx
      	xasdfa		axxx
      	asxxdfa		axxx
      	asxa;ofa		axxx
      	asdfaqwer		axxx
      	a		axxxo
      	fa		axxxo
      	dfa		axxxo
      	sdfa		axxxo
      	asdfa		axxxo
      	xasdfa		axxxo
      	asxxdfa		axxxo
      	asxa;ofa		axxxo
      	asdfaqwer		axxxo
      	a		axxxoi
      	fa		axxxoi
      	dfa		axxxoi
      	sdfa		axxxoi
      	asdfa		axxxoi
      	xasdfa		axxxoi
      	asxxdfa		axxxoi
      	asxa;ofa		axxxoi
      	asdfaqwer		axxxoi
      	a		axxxoik
      	fa		axxxoik
      	dfa		axxxoik
      	sdfa		axxxoik
      	asdfa		axxxoik
      	xasdfa		axxxoik
      	asxxdfa		axxxoik
      	asxa;ofa		axxxoik
      	asdfaqwer		axxxoik
      	a		axxxoike
      	fa		axxxoike
      	dfa		axxxoike
      	sdfa		axxxoike
      	asdfa		axxxoike
      	xasdfa		axxxoike
      	asxxdfa		axxxoike
      	asxa;ofa		axxxoike
      	asdfaqwer		axxxoike
      	a		axxxoikey
      	fa		axxxoikey
      	dfa		axxxoikey
      	sdfa		axxxoikey
      	asdfa		axxxoikey
      	xasdfa		axxxoikey
      	asxxdfa		axxxoikey
      	asxa;ofa		axxxoikey
      	asdfaqwer		axxxoikey

      xxxxx xx xxxxxx
      xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
      xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx
      xx xxxxxxx. xxxx xxxx.

      > xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx
      > xxxxxx xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx

      aa aa aa aa
      bb bb bb bb
      cc cc cc cc]])

    feed_command('set tw=65')

    feed([[:/^\s*test for :left/,/^\s*test for :center/ left<cr>]])
    feed([[:/^\s*test for :center/,/^\s*test for :right/ center<cr>]])
    feed([[:/^\s*test for :right/,/^xxx/-1 right<cr>]])

    feed_command('set fo+=tcroql tw=72')

    feed('/xxxxxxxx$<cr>')
    feed('0gq6kk<cr>')

    -- Undo/redo here to make the next undo only work on the following changes.
    feed('u<cr>')
    feed_command('map gg :.,.+2s/^/x/<CR>kk:set tw=3<CR>gqq')
    feed_command('/^aa')
    feed('ggu<cr>')

    -- Assert buffer contents.
    expect([[
      test for :left
      a		a
      fa		a
      dfa		a
      sdfa		a
      asdfa		a
      xasdfa		a
      asxxdfa		a

      			test for :center
      			 a		a
      		      fa		afd asdf
      			 dfa		a
      		    sdfa		afd asdf
      			 asdfa		a
      	      xasdfa		asdfasdfasdfasdfasdf
      			asxxdfa		a

      						  test for :right
      						      a		a
      						     fa		a
      						    dfa		a
      						   sdfa		a
      						  asdfa		a
      						 xasdfa		a
      						asxxdfa		a
      					       asxa;ofa		a
      					      asdfaqwer		a
      					      a		ax
      					     fa		ax
      					    dfa		ax
      					   sdfa		ax
      					  asdfa		ax
      					 xasdfa		ax
      					asxxdfa		ax
      				       asxa;ofa		ax
      				      asdfaqwer		ax
      					      a		axx
      					     fa		axx
      					    dfa		axx
      					   sdfa		axx
      					  asdfa		axx
      					 xasdfa		axx
      					asxxdfa		axx
      				       asxa;ofa		axx
      				      asdfaqwer		axx
      					      a		axxx
      					     fa		axxx
      					    dfa		axxx
      					   sdfa		axxx
      					  asdfa		axxx
      					 xasdfa		axxx
      					asxxdfa		axxx
      				       asxa;ofa		axxx
      				      asdfaqwer		axxx
      					      a		axxxo
      					     fa		axxxo
      					    dfa		axxxo
      					   sdfa		axxxo
      					  asdfa		axxxo
      					 xasdfa		axxxo
      					asxxdfa		axxxo
      				       asxa;ofa		axxxo
      				      asdfaqwer		axxxo
      					      a		axxxoi
      					     fa		axxxoi
      					    dfa		axxxoi
      					   sdfa		axxxoi
      					  asdfa		axxxoi
      					 xasdfa		axxxoi
      					asxxdfa		axxxoi
      				       asxa;ofa		axxxoi
      				      asdfaqwer		axxxoi
      					      a		axxxoik
      					     fa		axxxoik
      					    dfa		axxxoik
      					   sdfa		axxxoik
      					  asdfa		axxxoik
      					 xasdfa		axxxoik
      					asxxdfa		axxxoik
      				       asxa;ofa		axxxoik
      				      asdfaqwer		axxxoik
      					      a		axxxoike
      					     fa		axxxoike
      					    dfa		axxxoike
      					   sdfa		axxxoike
      					  asdfa		axxxoike
      					 xasdfa		axxxoike
      					asxxdfa		axxxoike
      				       asxa;ofa		axxxoike
      				      asdfaqwer		axxxoike
      					      a		axxxoikey
      					     fa		axxxoikey
      					    dfa		axxxoikey
      					   sdfa		axxxoikey
      					  asdfa		axxxoikey
      					 xasdfa		axxxoikey
      					asxxdfa		axxxoikey
      				       asxa;ofa		axxxoikey
      				      asdfaqwer		axxxoikey

      xxxxx xx xxxxxx xxxxxxx xxxxxxxxx xxx xxxx xxxxx xxxxx xxx xx
      xxxxxxxxxxxxxxxxxx xxxxx xxxx, xxxx xxxx xxxx xxxx xxx xx xx xx xxxxxxx.
      xxxx xxxx.

      > xx xx, xxxx xxxx xxx xxxx xxx xxxxx xxx xxx xxxxxxx xxx xxxxx xxxxxx
      > xxxxxxx: xxxx xxxxxxx, xx xxxxxx xxxx xxxxxxxxxx

      aa aa aa aa
      bb bb bb bb
      cc cc cc cc]])
  end)
end)