blob: 5f235358b8fbb43c94ac603701ffbfcb385e0bf1 [file] [log] [blame]
Bram Moolenaar5c06f8b2005-05-31 22:14:58 +00001Tests for :sort command. vim: set ft=vim :
2
3STARTTEST
4:so small.vim
5:"
Bram Moolenaar4c3f5362006-04-11 21:38:50 +00006:/^t01:/+1,/^t02/-1sort
7:/^t02:/+1,/^t03/-1sort n
8:/^t03:/+1,/^t04/-1sort x
9:/^t04:/+1,/^t05/-1sort u
10:/^t05:/+1,/^t06/-1sort!
11:/^t06:/+1,/^t07/-1sort! n
12:/^t07:/+1,/^t08/-1sort! u
13:/^t08:/+1,/^t09/-1sort o
14:/^t09:/+1,/^t10/-1sort! x
15:/^t10:/+1,/^t11/-1sort/./
16:/^t11:/+1,/^t12/-1sort/../
17:/^t12:/+1,/^t13/-1sort/../u
18:/^t13:/+1,/^t14/-1sort/./n
19:/^t14:/+1,/^t15/-1sort/./r
20:/^t15:/+1,/^t16/-1sort/../r
21:/^t16:/+1,/^t17/-1sort/./rn
22:/^t17:/+1,/^t18/-1sort/\d/
23:/^t18:/+1,/^t19/-1sort/\d/r
24:/^t19:/+1,/^t20/-1sort/\d/n
25:/^t20:/+1,/^t21/-1sort/\d/rn
26:/^t21:/+1,/^t22/-1sort/\d\d/
27:/^t22:/+1,/^t23/-1sort/\d\d/n
28:/^t23:/+1,/^t24/-1sort/\d\d/x
29:/^t24:/+1,/^t25/-1sort/\d\d/r
30:/^t25:/+1,/^t26/-1sort/\d\d/rn
31:/^t26:/+1,/^t27/-1sort/\d\d/rx
32:/^t27:/+1,/^t28/-1sort no
Bram Moolenaar887c1fe2016-01-02 17:56:35 +010033:/^t28:/+1,/^t29/-1sort b
34:/^t29:/+1,/^t30/-1sort b
Bram Moolenaarf7edf402016-01-19 23:36:15 +010035:/^t30:/+1,/^t31/-1sort f
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000036:/^t01:/,$wq! test.out
Bram Moolenaar5c06f8b2005-05-31 22:14:58 +000037ENDTEST
38
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000039t01: alphebetical
40abc
41ab
42a
43a321
44a123
45a122
46b321
47b123
48c123d
49 123b
50c321d
51b322b
52b321
53b321b
54
55
56t02: numeric
57abc
58ab
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000059a321
60a123
61a122
Bram Moolenaarf75d4982010-10-15 20:20:05 +020062a
63x-22
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000064b321
65b123
Bram Moolenaarf75d4982010-10-15 20:20:05 +020066
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000067c123d
Bram Moolenaarf75d4982010-10-15 20:20:05 +020068-24
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000069 123b
70c321d
Bram Moolenaarf75d4982010-10-15 20:20:05 +0200710
Bram Moolenaar4c3f5362006-04-11 21:38:50 +000072b322b
73b321
74b321b
75
76
77t03: hexadecimal
78abc
79ab
80a
81a321
82a123
83a122
84b321
85b123
86c123d
87 123b
88c321d
89b322b
90b321
91b321b
92
93
94t04: alpha, unique
95abc
96ab
97a
98a321
99a123
100a122
101b321
102b123
103c123d
104 123b
105c321d
106b322b
107b321
108b321b
109
110
111t05: alpha, reverse
112abc
113ab
114a
115a321
116a123
117a122
118b321
119b123
120c123d
121 123b
122c321d
123b322b
124b321
125b321b
126
127
128t06: numeric, reverse
129abc
130ab
131a
132a321
133a123
134a122
135b321
136b123
137c123d
138 123b
139c321d
140b322b
141b321
142b321b
143
144
145t07: unique, reverse
146abc
147ab
148a
149a321
150a123
151a122
152b321
153b123
154c123d
155 123b
156c321d
157b322b
158b321
159b321b
160
161
162t08: octal
163abc
164ab
165a
166a321
167a123
168a122
169b321
170b123
171c123d
172 123b
173c321d
174b322b
175b321
176b321b
177
178
179t09: reverse, hexadecimal
180abc
181ab
182a
183a321
184a123
185a122
186b321
187b123
188c123d
189 123b
190c321d
191b322b
192b321
193b321b
194
195
196t10: alpha, skip first character
197abc
198ab
199a
200a321
201a123
202a122
203b321
204b123
205c123d
206 123b
207c321d
208b322b
209b321
210b321b
211
212
213t11: alpha, skip first 2 characters
214abc
215ab
216a
217a321
218a123
219a122
220b321
221b123
222c123d
223 123b
224c321d
225b322b
226b321
227b321b
228
229
230t12: alpha, unique, skip first 2 characters
231abc
232ab
233a
234a321
235a123
236a122
237b321
238b123
239c123d
240 123b
241c321d
242b322b
243b321
244b321b
245
246
247t13: numeric, skip first character
248abc
249ab
250a
251a321
252a123
253a122
254b321
255b123
256c123d
257 123b
258c321d
259b322b
260b321
261b321b
262
263
264t14: alpha, sort on first character
265abc
266ab
267a
268a321
269a123
270a122
271b321
272b123
273c123d
274 123b
275c321d
276b322b
277b321
278b321b
279
280
281t15: alpha, sort on first 2 characters
282abc
283ab
284a
285a321
286a123
287a122
288b321
289b123
290c123d
291 123b
292c321d
293b322b
294b321
295b321b
296
297
298t16: numeric, sort on first character
299abc
300ab
301a
302a321
303a123
304a122
305b321
306b123
307c123d
308 123b
309c321d
310b322b
311b321
312b321b
313
314
315t17: alpha, skip past first digit
316abc
317ab
318a
319a321
320a123
321a122
322b321
323b123
324c123d
325 123b
326c321d
327b322b
328b321
329b321b
330
331
332t18: alpha, sort on first digit
333abc
334ab
335a
336a321
337a123
338a122
339b321
340b123
341c123d
342 123b
343c321d
344b322b
345b321
346b321b
347
348
349t19: numeric, skip past first digit
350abc
351ab
352a
353a321
354a123
355a122
356b321
357b123
358c123d
359 123b
360c321d
361b322b
362b321
363b321b
364
365
366t20: numeric, sort on first digit
367abc
368ab
369a
370a321
371a123
372a122
373b321
374b123
375c123d
376 123b
377c321d
378b322b
379b321
380b321b
381
382
383t21: alpha, skip past first 2 digits
384abc
385ab
386a
387a321
388a123
389a122
390b321
391b123
392c123d
393 123b
394c321d
395b322b
396b321
397b321b
398
399
400t22: numeric, skip past first 2 digits
401abc
402ab
403a
404a321
405a123
406a122
407b321
408b123
409c123d
410 123b
411c321d
412b322b
413b321
414b321b
415
416
417t23: hexadecimal, skip past first 2 digits
418abc
419ab
420a
421a321
422a123
423a122
424b321
425b123
426c123d
427 123b
428c321d
429b322b
430b321
431b321b
432
433
434t24: alpha, sort on first 2 digits
435abc
436ab
437a
438a321
439a123
440a122
441b321
442b123
443c123d
444 123b
445c321d
446b322b
447b321
448b321b
449
450
451t25: numeric, sort on first 2 digits
452abc
453ab
454a
455a321
456a123
457a122
458b321
459b123
460c123d
461 123b
462c321d
463b322b
464b321
465b321b
466
467
468t26: hexadecimal, sort on first 2 digits
469abc
470ab
471a
472a321
473a123
474a122
475b321
476b123
477c123d
478 123b
479c321d
480b322b
481b321
482b321b
483
484
485t27: wrong arguments
486abc
487ab
488a
489a321
490a123
491a122
492b321
493b123
494c123d
495 123b
496c321d
497b322b
498b321
499b321b
Bram Moolenaarf7edf402016-01-19 23:36:15 +0100500
501
Bram Moolenaar887c1fe2016-01-02 17:56:35 +0100502t28: binary
Bram Moolenaar887c1fe2016-01-02 17:56:35 +01005030b111000
5040b101100
5050b101001
5060b101001
5070b101000
5080b000000
5090b001000
5100b010000
5110b101000
5120b100000
5130b101010
5140b100010
5150b100100
5160b100010
Bram Moolenaarf7edf402016-01-19 23:36:15 +0100517
518
Bram Moolenaar887c1fe2016-01-02 17:56:35 +0100519t29: binary with leading characters
Bram Moolenaar887c1fe2016-01-02 17:56:35 +01005200b100010
5210b010000
522 0b101001
523b0b101100
5240b100010
525 0b100100
526a0b001000
5270b101000
5280b101000
529a0b101001
530ab0b100000
5310b101010
5320b000000
533b0b111000
Bram Moolenaarf7edf402016-01-19 23:36:15 +0100534
535
536t30: float
5371.234
5380.88
539123.456
5401.15e-6
541-1.1e3
542-1.01e3
543
544
545t31: done