Lines Matching refs:sort
1 " Tests for the "sort()" function and for the ":sort" command.
6 call sort(range(3), 'Compare2')
16 call assert_equal([1, 2, 3], sort([3, 2, 1]))
17 call assert_equal([13, 28, 3], sort([3, 28, 13]))
20 \ sort(['A', 'O', 'P', 'a', 'o', 'p', 'Ä', 'Ô', 'ä', 'ô', 'œ', 'Œ']))
23 \ sort(['A', 'a', 'o', 'O', 'œ', 'Œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'i'))
29 " 'Œ' is omitted because it can sort before or after 'œ'
31 \ sort(['A', 'a', 'o', 'O', 'œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'l'))
36 \ sort(['A', 'a', 'o', 'O', 'œ', 'Œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'l'))
41 \ sort(['A', 'a', 'o', 'O', 'œ', 'œ', 'p', 'P', 'Ä', 'ä', 'ô', 'Ô'], 'l'))
48 call assert_equal(['', 'a', 'b'], sort(['b', test_null_string(), 'a']))
52 call assert_equal([1, 2, 3], sort([3, 2, 1], 'n'))
53 call assert_equal([3, 13, 28], sort([13, 28, 3], 'n'))
55 call assert_equal(['13', '28', '3'], sort(['13', '28', '3'], 'n'))
59 call assert_equal([3, 13, 28], sort([13, 28, 3], 'N'))
60 call assert_equal(['3', '13', '28'], sort(['13', '28', '3'], 'N'))
61 call assert_equal([3997, 4996], sort([4996, 3997], 'Compare1'))
66 call assert_equal([0.28, 3, 13.5], sort([13.5, 0.28, 3], 'f'))
70 " test ability to call sort() from a compare function
71 call assert_equal([1, 3, 5], sort([3, 1, 5], 'Compare1'))
78 call assert_equal(['2', 'A', 'AA', 'a', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"]))
79 call assert_equal(['2', 'A', 'AA', 'a', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], ''))
80 call assert_equal(['2', 'A', 'AA', 'a', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], 0))
81 call assert_equal(['2', 'A', 'a', 'AA', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], 1))
82 call assert_fails('call sort([3.3, 1, "2"], 3)', "E474:")
85 " Tests for the ":sort" command.
89 \ 'name' : 'Alphabetical sort',
90 \ 'cmd' : '%sort',
125 \ 'name' : 'Numeric sort',
126 \ 'cmd' : '%sort n',
169 \ 'name' : 'Hexadecimal sort',
170 \ 'cmd' : '%sort x',
205 \ 'name' : 'Alphabetical unique sort',
206 \ 'cmd' : '%sort u',
240 \ 'name' : 'Alphabetical reverse sort',
241 \ 'cmd' : '%sort!',
276 \ 'name' : 'Numeric reverse sort',
277 \ 'cmd' : '%sort! n',
312 \ 'name' : 'Unique reverse sort',
313 \ 'cmd' : 'sort! u',
347 \ 'name' : 'Octal sort',
348 \ 'cmd' : 'sort o',
387 \ 'name' : 'Reverse hexadecimal sort',
388 \ 'cmd' : 'sort! x',
427 \ 'name' : 'Alpha (skip first character) sort',
428 \ 'cmd' : 'sort/./',
467 \ 'name' : 'Alpha (skip first 2 characters) sort',
468 \ 'cmd' : 'sort/../',
508 \ 'cmd' : 'sort/../u',
546 \ 'cmd' : 'sort/./n',
585 \ 'name' : 'alpha, sort on first character',
586 \ 'cmd' : 'sort/./r',
625 \ 'name' : 'alpha, sort on first 2 characters',
626 \ 'cmd' : 'sort/../r',
665 \ 'name' : 'numeric, sort on first character',
666 \ 'cmd' : 'sort/./rn',
706 \ 'cmd' : 'sort/\d/',
745 \ 'name' : 'alpha, sort on first digit',
746 \ 'cmd' : 'sort/\d/r',
786 \ 'cmd' : 'sort/\d/n',
825 \ 'name' : 'numeric, sort on first digit',
826 \ 'cmd' : 'sort/\d/rn',
866 \ 'cmd' : 'sort/\d\d/',
906 \ 'cmd' : 'sort/\d\d/n',
946 \ 'cmd' : 'sort/\d\d/x',
985 \ 'name' : 'alpha, sort on first 2 digits',
986 \ 'cmd' : 'sort/\d\d/r',
1025 \ 'name' : 'numeric, sort on first 2 digits',
1026 \ 'cmd' : 'sort/\d\d/rn',
1065 \ 'name' : 'hexadecimal, sort on first 2 digits',
1066 \ 'cmd' : 'sort/\d\d/rx',
1106 \ 'cmd' : 'sort b',
1146 \ 'cmd' : 'sort b',
1186 \ 'cmd' : 'sort',
1200 \ 'cmd' : 'sort u',
1214 \ 'name' : 'sort one line buffer',
1215 \ 'cmd' : 'sort',
1224 \ 'name' : 'sort ignoring case',
1225 \ 'cmd' : '%sort i',
1243 " 'Œ' is omitted because it can sort before or after 'œ'
1246 \ 'name' : 'sort with locale ' .. v:collate,
1247 \ 'cmd' : '%sort l',
1293 \ 'name' : 'sort with locale ' .. v:collate,
1294 \ 'cmd' : '%sort l',
1343 \ 'cmd' : 'sort f',
1377 " Previously, the ":sort" command would set 'modified' even if the buffer
1388 call assert_fails('sort no', 'E474:')
1389 call assert_fails('sort c', 'E475:')
1390 call assert_fails('sort #pat%', 'E654:')
1391 call assert_fails('sort /\%(/', 'E53:')
1413 " Numerical sort. Non-numeric lines are ordered before numerical lines.
1415 sort n
1447 sort n
1470 let res = execute('%sort u')
1478 let res = execute('%sort u')
1487 let res = execute('1g/^/%sort u')
1490 " the output comes from the :g command, not from the :sort
1495 " Test for a :sort command followed by another command
1500 %sort | let var = "sortcmdtest"
1503 " Test for :sort followed by a comment
1505 %sort /\d\+/ " sort alphabetically
1510 " Test for :sort using last search pattern
1515 sort //
1520 " Test for :sort with no last search pattern
1524 call assert_fails('sort //', 'E35:')
1536 " Test for retaining marks across a :sort
1543 %sort