Mercurial > vim
comparison src/testdir/test_listdict.vim @ 27851:86e8c92c3f65 v8.2.4451
patch 8.2.4451: sort() fails when ignoring case
Commit: https://github.com/vim/vim/commit/9cd4c0fb98cb4fe6164e4e1751c21a5a5229b9cc
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Feb 22 22:53:10 2022 +0000
patch 8.2.4451: sort() fails when ignoring case
Problem: sort() fails when ignoring case.
Solution: Accept a number one argument in sort().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 23 Feb 2022 00:00:02 +0100 |
parents | efbce802c0df |
children | 3cb1a109e987 |
comparison
equal
deleted
inserted
replaced
27850:7fab9ff1619b | 27851:86e8c92c3f65 |
---|---|
932 call s:arg_list_test(1, 2, [3, 4], {5: 6}) | 932 call s:arg_list_test(1, 2, [3, 4], {5: 6}) |
933 endfunc | 933 endfunc |
934 | 934 |
935 " Tests for reverse(), sort(), uniq() | 935 " Tests for reverse(), sort(), uniq() |
936 func Test_reverse_sort_uniq() | 936 func Test_reverse_sort_uniq() |
937 func g:RetOne() | |
938 return 1 | |
939 endfunc | |
940 let lines =<< trim END | 937 let lines =<< trim END |
941 VAR l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5] | 938 VAR l = ['-0', 'A11', 2, 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5] |
942 call assert_equal(['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5], uniq(copy(l))) | 939 call assert_equal(['-0', 'A11', 2, 'xaaa', 4, 'foo', 'foo6', 'foo', [0, 1, 2], 'x8', [0, 1, 2], 1.5], uniq(copy(l))) |
943 call assert_equal([1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0'], reverse(l)) | 940 call assert_equal([1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0'], reverse(l)) |
944 call assert_equal([1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0'], reverse(reverse(l))) | 941 call assert_equal([1.5, [0, 1, 2], 'x8', [0, 1, 2], 'foo', 'foo6', 'foo', 4, 'xaaa', 2, 2, 'A11', '-0'], reverse(reverse(l))) |
950 | 947 |
951 LET l = [7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xff, 0.22, 'four'] | 948 LET l = [7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xff, 0.22, 'four'] |
952 call assert_equal([-1, 'one', 'two', 'three', 'four', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255], sort(copy(l), 'n')) | 949 call assert_equal([-1, 'one', 'two', 'three', 'four', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255], sort(copy(l), 'n')) |
953 | 950 |
954 LET l = [7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []] | 951 LET l = [7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []] |
955 call assert_equal(['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}], sort(copy(l), g:RetOne())) | 952 call assert_equal(['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}], sort(copy(l), 1)) |
956 call assert_equal(['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}], sort(copy(l), 'i')) | 953 call assert_equal(['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}], sort(copy(l), 'i')) |
957 call assert_equal(['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}], sort(copy(l))) | 954 call assert_equal(['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}], sort(copy(l))) |
958 endif | 955 endif |
959 END | 956 END |
960 call v9.CheckLegacyAndVim9Success(lines) | 957 call v9.CheckLegacyAndVim9Success(lines) |
961 delfunc g:RetOne | |
962 | 958 |
963 call assert_fails('call reverse("")', 'E899:') | 959 call assert_fails('call reverse("")', 'E899:') |
964 call assert_fails('call uniq([1, 2], {x, y -> []})', 'E745:') | 960 call assert_fails('call uniq([1, 2], {x, y -> []})', 'E745:') |
965 call assert_fails("call sort([1, 2], function('min'), 1)", "E715:") | 961 call assert_fails("call sort([1, 2], function('min'), 1)", "E715:") |
966 call assert_fails("call sort([1, 2], function('invalid_func'))", "E700:") | 962 call assert_fails("call sort([1, 2], function('invalid_func'))", "E700:") |