Merge #4303 'vim-patch:7.4.{951,1143,1144}'.

This commit is contained in:
Justin M. Keyes
2016-04-25 03:56:33 -04:00
9 changed files with 209 additions and 55 deletions

View File

@@ -668,4 +668,22 @@ describe(':sort', function()
b0b101100
b0b111000]])
end)
it('float', function()
insert([[
1.234
0.88
123.456
1.15e-6
-1.1e3
-1.01e3]])
execute([[sort f]])
expect([[
-1.1e3
-1.01e3
1.15e-6
0.88
1.234
123.456]])
end)
end)

View File

@@ -0,0 +1,29 @@
local helpers = require('test.functional.helpers')
local clear = helpers.clear
local eq = helpers.eq
local eval = helpers.eval
describe('sort', function()
before_each(clear)
it('numbers compared as strings', function()
eq({1, 2, 3}, eval('sort([3, 2, 1])'))
eq({13, 28, 3}, eval('sort([3, 28, 13])'))
end)
it('numbers compared as numeric', function()
eq({1, 2, 3}, eval("sort([3, 2, 1], 'n')"))
eq({3, 13, 28}, eval("sort([3, 28, 13], 'n')"))
-- Strings are not sorted.
eq({'13', '28', '3'}, eval("sort(['13', '28', '3'], 'n')"))
end)
it('numbers compared as numbers', function()
eq({3, 13, 28}, eval("sort([13, 28, 3], 'N')"))
eq({'3', '13', '28'}, eval("sort(['13', '28', '3'], 'N')"))
end)
it('numbers compared as float', function()
eq({0.28, 3, 13.5}, eval("sort([13.5, 0.28, 3], 'f')"))
end)
end)