Patch 8.0.1140

17 views
Skip to first unread message

Bram Moolenaar

unread,
Sep 23, 2017, 1:26:25 PM9/23/17
to vim...@googlegroups.com

Patch 8.0.1140
Problem: Still old style tests.
Solution: Convert two tests to new style. (Yegappan Lakshmanan)
Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
src/testdir/test56.in, src/testdir/test56.ok,
src/testdir/test57.in, src/testdir/test57.ok,
src/testdir/test_sort.vim, src/testdir/test_vimscript.vim


*** ../vim-8.0.1139/src/Makefile 2017-09-17 23:02:17.168074448 +0200
--- src/Makefile 2017-09-23 19:07:39.468863252 +0200
***************
*** 2105,2111 ****
test20 test25 test28 test29 \
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
test40 test41 test42 test43 test44 test45 test48 test49 \
! test50 test52 test53 test54 test55 test56 test57 test59 \
test60 test64 test66 test68 test69 \
test70 test72 test73 test77 test78 test79 \
test83 test85 test86 test87 test88 \
--- 2106,2112 ----
test20 test25 test28 test29 \
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
test40 test41 test42 test43 test44 test45 test48 test49 \
! test50 test52 test53 test54 test55 test59 \
test60 test64 test66 test68 test69 \
test70 test72 test73 test77 test78 test79 \
test83 test85 test86 test87 test88 \
*** ../vim-8.0.1139/src/testdir/Make_all.mak 2017-09-17 23:02:17.172074424 +0200
--- src/testdir/Make_all.mak 2017-09-23 18:58:18.068229369 +0200
***************
*** 40,47 ****
test48.out \
test53.out \
test55.out \
- test56.out \
- test57.out \
test60.out \
test64.out \
test66.out \
--- 40,45 ----
*** ../vim-8.0.1139/src/testdir/Make_vms.mms 2017-08-30 20:21:54.254963240 +0200
--- src/testdir/Make_vms.mms 2017-09-23 18:58:18.068229369 +0200
***************
*** 82,88 ****
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out \
test48.out test49.out test53.out test54.out \
! test55.out test56.out test57.out test60.out \
test64.out \
test66.out test68.out test69.out \
test72.out \
--- 82,88 ----
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out \
test48.out test49.out test53.out test54.out \
! test55.out test60.out \
test64.out \
test66.out test68.out test69.out \
test72.out \
*** ../vim-8.0.1139/src/testdir/test56.in 2010-05-15 13:04:10.000000000 +0200
--- src/testdir/test56.in 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,21 ****
- Test for script-local function. vim: set ft=vim :
-
- STARTTEST
- :so small.vim
- :"
- :set nocp viminfo+=nviminfo
- :/^start:/+1,/^end:/-1w! Xtest.vim
- :source Xtest.vim
- _x
- :$-1,$wq! test.out
- ENDTEST
-
- start:
- fun <SID>DoLast()
- call append(line('$'), "last line")
- endfun
- fun s:DoNothing()
- call append(line('$'), "nothing line")
- endfun
- nnoremap <buffer> _x :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
- end:
--- 0 ----
*** ../vim-8.0.1139/src/testdir/test56.ok 2010-05-15 13:04:10.000000000 +0200
--- src/testdir/test56.ok 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,2 ****
- nothing line
- last line
--- 0 ----
*** ../vim-8.0.1139/src/testdir/test57.in 2016-01-19 23:25:02.000000000 +0100
--- src/testdir/test57.in 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,545 ****
- Tests for :sort command. vim: set ft=vim :
-
- STARTTEST
- :so small.vim
- :"
- :/^t01:/+1,/^t02/-1sort
- :/^t02:/+1,/^t03/-1sort n
- :/^t03:/+1,/^t04/-1sort x
- :/^t04:/+1,/^t05/-1sort u
- :/^t05:/+1,/^t06/-1sort!
- :/^t06:/+1,/^t07/-1sort! n
- :/^t07:/+1,/^t08/-1sort! u
- :/^t08:/+1,/^t09/-1sort o
- :/^t09:/+1,/^t10/-1sort! x
- :/^t10:/+1,/^t11/-1sort/./
- :/^t11:/+1,/^t12/-1sort/../
- :/^t12:/+1,/^t13/-1sort/../u
- :/^t13:/+1,/^t14/-1sort/./n
- :/^t14:/+1,/^t15/-1sort/./r
- :/^t15:/+1,/^t16/-1sort/../r
- :/^t16:/+1,/^t17/-1sort/./rn
- :/^t17:/+1,/^t18/-1sort/\d/
- :/^t18:/+1,/^t19/-1sort/\d/r
- :/^t19:/+1,/^t20/-1sort/\d/n
- :/^t20:/+1,/^t21/-1sort/\d/rn
- :/^t21:/+1,/^t22/-1sort/\d\d/
- :/^t22:/+1,/^t23/-1sort/\d\d/n
- :/^t23:/+1,/^t24/-1sort/\d\d/x
- :/^t24:/+1,/^t25/-1sort/\d\d/r
- :/^t25:/+1,/^t26/-1sort/\d\d/rn
- :/^t26:/+1,/^t27/-1sort/\d\d/rx
- :/^t27:/+1,/^t28/-1sort no
- :/^t28:/+1,/^t29/-1sort b
- :/^t29:/+1,/^t30/-1sort b
- :/^t30:/+1,/^t31/-1sort f
- :/^t01:/,$wq! test.out
- ENDTEST
-
- t01: alphebetical
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t02: numeric
- abc
- ab
- a321
- a123
- a122
- a
- x-22
- b321
- b123
-
- c123d
- -24
- 123b
- c321d
- 0
- b322b
- b321
- b321b
-
-
- t03: hexadecimal
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t04: alpha, unique
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t05: alpha, reverse
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t06: numeric, reverse
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t07: unique, reverse
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t08: octal
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t09: reverse, hexadecimal
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t10: alpha, skip first character
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t11: alpha, skip first 2 characters
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t12: alpha, unique, skip first 2 characters
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t13: numeric, skip first character
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t14: alpha, sort on first character
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t15: alpha, sort on first 2 characters
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t16: numeric, sort on first character
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t17: alpha, skip past first digit
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t18: alpha, sort on first digit
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t19: numeric, skip past first digit
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t20: numeric, sort on first digit
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t21: alpha, skip past first 2 digits
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t22: numeric, skip past first 2 digits
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t23: hexadecimal, skip past first 2 digits
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t24: alpha, sort on first 2 digits
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t25: numeric, sort on first 2 digits
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t26: hexadecimal, sort on first 2 digits
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t27: wrong arguments
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t28: binary
- 0b111000
- 0b101100
- 0b101001
- 0b101001
- 0b101000
- 0b000000
- 0b001000
- 0b010000
- 0b101000
- 0b100000
- 0b101010
- 0b100010
- 0b100100
- 0b100010
-
-
- t29: binary with leading characters
- 0b100010
- 0b010000
- 0b101001
- b0b101100
- 0b100010
- 0b100100
- a0b001000
- 0b101000
- 0b101000
- a0b101001
- ab0b100000
- 0b101010
- 0b000000
- b0b111000
-
-
- t30: float
- 1.234
- 0.88
- 123.456
- 1.15e-6
- -1.1e3
- -1.01e3
-
-
- t31: done
--- 0 ----
*** ../vim-8.0.1139/src/testdir/test57.ok 2016-01-19 23:26:02.000000000 +0100
--- src/testdir/test57.ok 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,501 ****
- t01: alphebetical
-
-
- 123b
- a
- a122
- a123
- a321
- ab
- abc
- b123
- b321
- b321
- b321b
- b322b
- c123d
- c321d
- t02: numeric
- abc
- ab
- a
-
-
-
- -24
- x-22
- 0
- a122
- a123
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b321
- b321b
- b322b
- t03: hexadecimal
-
-
- a
- ab
- abc
- 123b
- a122
- a123
- a321
- b123
- b321
- b321
- b321b
- b322b
- c123d
- c321d
- t04: alpha, unique
-
- 123b
- a
- a122
- a123
- a321
- ab
- abc
- b123
- b321
- b321b
- b322b
- c123d
- c321d
- t05: alpha, reverse
- c321d
- c123d
- b322b
- b321b
- b321
- b321
- b123
- abc
- ab
- a321
- a123
- a122
- a
- 123b
-
-
- t06: numeric, reverse
- b322b
- b321b
- b321
- c321d
- b321
- a321
- 123b
- c123d
- b123
- a123
- a122
-
-
- a
- ab
- abc
- t07: unique, reverse
- c321d
- c123d
- b322b
- b321b
- b321
- b123
- abc
- ab
- a321
- a123
- a122
- a
- 123b
-
- t08: octal
- abc
- ab
- a
-
-
- a122
- a123
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b321
- b321b
- b322b
- t09: reverse, hexadecimal
- c321d
- c123d
- b322b
- b321b
- b321
- b321
- b123
- a321
- a123
- a122
- 123b
- abc
- ab
- a
-
-
- t10: alpha, skip first character
- a
-
-
- a122
- a123
- b123
- 123b
- c123d
- a321
- b321
- b321
- b321b
- c321d
- b322b
- ab
- abc
- t11: alpha, skip first 2 characters
- ab
- a
-
-
- a321
- b321
- b321
- b321b
- c321d
- a122
- b322b
- a123
- b123
- 123b
- c123d
- abc
- t12: alpha, unique, skip first 2 characters
- ab
- a
-
- a321
- b321
- b321b
- c321d
- a122
- b322b
- a123
- b123
- 123b
- c123d
- abc
- t13: numeric, skip first character
- abc
- ab
- a
-
-
- a122
- a123
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b321
- b321b
- b322b
- t14: alpha, sort on first character
-
-
- 123b
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- b322b
- b321
- b321b
- c123d
- c321d
- t15: alpha, sort on first 2 characters
- a
-
-
- 123b
- a123
- a122
- a321
- abc
- ab
- b123
- b321
- b322b
- b321
- b321b
- c123d
- c321d
- t16: numeric, sort on first character
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t17: alpha, skip past first digit
- abc
- ab
- a
-
-
- a321
- b321
- b321
- b321b
- c321d
- a122
- b322b
- a123
- b123
- 123b
- c123d
- t18: alpha, sort on first digit
- abc
- ab
- a
-
-
- a123
- a122
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b322b
- b321
- b321b
- t19: numeric, skip past first digit
- abc
- ab
- a
-
-
- a321
- b321
- c321d
- b321
- b321b
- a122
- b322b
- a123
- b123
- c123d
- 123b
- t20: numeric, sort on first digit
- abc
- ab
- a
-
-
- a123
- a122
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b322b
- b321
- b321b
- t21: alpha, skip past first 2 digits
- abc
- ab
- a
-
-
- a321
- b321
- b321
- b321b
- c321d
- a122
- b322b
- a123
- b123
- 123b
- c123d
- t22: numeric, skip past first 2 digits
- abc
- ab
- a
-
-
- a321
- b321
- c321d
- b321
- b321b
- a122
- b322b
- a123
- b123
- c123d
- 123b
- t23: hexadecimal, skip past first 2 digits
- abc
- ab
- a
-
-
- a321
- b321
- b321
- a122
- a123
- b123
- b321b
- c321d
- b322b
- 123b
- c123d
- t24: alpha, sort on first 2 digits
- abc
- ab
- a
-
-
- a123
- a122
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b322b
- b321
- b321b
- t25: numeric, sort on first 2 digits
- abc
- ab
- a
-
-
- a123
- a122
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b322b
- b321
- b321b
- t26: hexadecimal, sort on first 2 digits
- abc
- ab
- a
-
-
- a123
- a122
- b123
- c123d
- 123b
- a321
- b321
- c321d
- b322b
- b321
- b321b
- t27: wrong arguments
- abc
- ab
- a
- a321
- a123
- a122
- b321
- b123
- c123d
- 123b
- c321d
- b322b
- b321
- b321b
-
-
- t28: binary
-
-
- 0b000000
- 0b001000
- 0b010000
- 0b100000
- 0b100010
- 0b100010
- 0b100100
- 0b101000
- 0b101000
- 0b101001
- 0b101001
- 0b101010
- 0b101100
- 0b111000
- t29: binary with leading characters
-
-
- 0b000000
- a0b001000
- 0b010000
- ab0b100000
- 0b100010
- 0b100010
- 0b100100
- 0b101000
- 0b101000
- 0b101001
- a0b101001
- 0b101010
- b0b101100
- b0b111000
- t30: float
-
-
- -1.1e3
- -1.01e3
- 1.15e-6
- 0.88
- 1.234
- 123.456
- t31: done
--- 0 ----
*** ../vim-8.0.1139/src/testdir/test_sort.vim 2016-03-01 22:47:49.000000000 +0100
--- src/testdir/test_sort.vim 2017-09-23 18:58:18.072229346 +0200
***************
*** 44,46 ****
--- 44,1184 ----
call assert_equal(['2', 'A', 'a', 'AA', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], 1))
call assert_fails('call sort([3.3, 1, "2"], 3)', "E474")
endfunc
+
+ " Tests for the :sort command
+ func Test_sort_cmd()
+ let tests = [
+ \ {
+ \ 'name' : 'Alphabetical sort',
+ \ 'cmd' : '%sort',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ],
+ \ 'expected' : [
+ \ ' 123b',
+ \ 'a',
+ \ 'a122',
+ \ 'a123',
+ \ 'a321',
+ \ 'ab',
+ \ 'abc',
+ \ 'b123',
+ \ 'b321',
+ \ 'b321',
+ \ 'b321b',
+ \ 'b322b',
+ \ 'c123d',
+ \ 'c321d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Numeric sort',
+ \ 'cmd' : '%sort n',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'a',
+ \ 'x-22',
+ \ 'b321',
+ \ 'b123',
+ \ '',
+ \ 'c123d',
+ \ '-24',
+ \ ' 123b',
+ \ 'c321d',
+ \ '0',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '-24',
+ \ 'x-22',
+ \ '0',
+ \ 'a122',
+ \ 'a123',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b321',
+ \ 'b321b',
+ \ 'b322b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Hexadecimal sort',
+ \ 'cmd' : '%sort x',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ],
+ \ 'expected' : [
+ \ 'a',
+ \ 'ab',
+ \ 'abc',
+ \ ' 123b',
+ \ 'a122',
+ \ 'a123',
+ \ 'a321',
+ \ 'b123',
+ \ 'b321',
+ \ 'b321',
+ \ 'b321b',
+ \ 'b322b',
+ \ 'c123d',
+ \ 'c321d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Alphabetical unique sort',
+ \ 'cmd' : '%sort u',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ],
+ \ 'expected' : [
+ \ ' 123b',
+ \ 'a',
+ \ 'a122',
+ \ 'a123',
+ \ 'a321',
+ \ 'ab',
+ \ 'abc',
+ \ 'b123',
+ \ 'b321',
+ \ 'b321b',
+ \ 'b322b',
+ \ 'c123d',
+ \ 'c321d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Alphabetical reverse sort',
+ \ 'cmd' : '%sort!',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ],
+ \ 'expected' : [
+ \ 'c321d',
+ \ 'c123d',
+ \ 'b322b',
+ \ 'b321b',
+ \ 'b321',
+ \ 'b321',
+ \ 'b123',
+ \ 'abc',
+ \ 'ab',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'a',
+ \ ' 123b',
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Numeric reverse sort',
+ \ 'cmd' : '%sort! n',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ],
+ \ 'expected' : [
+ \ 'b322b',
+ \ 'b321b',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b321',
+ \ 'a321',
+ \ ' 123b',
+ \ 'c123d',
+ \ 'b123',
+ \ 'a123',
+ \ 'a122',
+ \ 'a',
+ \ 'ab',
+ \ 'abc'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Unique reverse sort',
+ \ 'cmd' : 'sort! u',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ],
+ \ 'expected' : [
+ \ 'c321d',
+ \ 'c123d',
+ \ 'b322b',
+ \ 'b321b',
+ \ 'b321',
+ \ 'b123',
+ \ 'abc',
+ \ 'ab',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'a',
+ \ ' 123b',
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Octal sort',
+ \ 'cmd' : 'sort o',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a122',
+ \ 'a123',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b321',
+ \ 'b321b',
+ \ 'b322b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Reverse hexadecimal sort',
+ \ 'cmd' : 'sort! x',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'c321d',
+ \ 'c123d',
+ \ 'b322b',
+ \ 'b321b',
+ \ 'b321',
+ \ 'b321',
+ \ 'b123',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ ' 123b',
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ ''
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Alpha (skip first character) sort',
+ \ 'cmd' : 'sort/./',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a122',
+ \ 'a123',
+ \ 'b123',
+ \ ' 123b',
+ \ 'c123d',
+ \ 'a321',
+ \ 'b321',
+ \ 'b321',
+ \ 'b321b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'ab',
+ \ 'abc'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'Alpha (skip first 2 characters) sort',
+ \ 'cmd' : 'sort/../',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a321',
+ \ 'b321',
+ \ 'b321',
+ \ 'b321b',
+ \ 'c321d',
+ \ 'a122',
+ \ 'b322b',
+ \ 'a123',
+ \ 'b123',
+ \ ' 123b',
+ \ 'c123d',
+ \ 'abc'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'alpha, unique, skip first 2 characters',
+ \ 'cmd' : 'sort/../u',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ 'a321',
+ \ 'b321',
+ \ 'b321b',
+ \ 'c321d',
+ \ 'a122',
+ \ 'b322b',
+ \ 'a123',
+ \ 'b123',
+ \ ' 123b',
+ \ 'c123d',
+ \ 'abc'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'numeric, skip first character',
+ \ 'cmd' : 'sort/./n',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a122',
+ \ 'a123',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b321',
+ \ 'b321b',
+ \ 'b322b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'alpha, sort on first character',
+ \ 'cmd' : 'sort/./r',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ '',
+ \ '',
+ \ ' 123b',
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ 'c123d',
+ \ 'c321d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'alpha, sort on first 2 characters',
+ \ 'cmd' : 'sort/../r',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'a',
+ \ '',
+ \ '',
+ \ ' 123b',
+ \ 'a123',
+ \ 'a122',
+ \ 'a321',
+ \ 'abc',
+ \ 'ab',
+ \ 'b123',
+ \ 'b321',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ 'c123d',
+ \ 'c321d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'numeric, sort on first character',
+ \ 'cmd' : 'sort/./rn',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'alpha, skip past first digit',
+ \ 'cmd' : 'sort/\d/',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a321',
+ \ 'b321',
+ \ 'b321',
+ \ 'b321b',
+ \ 'c321d',
+ \ 'a122',
+ \ 'b322b',
+ \ 'a123',
+ \ 'b123',
+ \ ' 123b',
+ \ 'c123d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'alpha, sort on first digit',
+ \ 'cmd' : 'sort/\d/r',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a123',
+ \ 'a122',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'numeric, skip past first digit',
+ \ 'cmd' : 'sort/\d/n',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b321',
+ \ 'b321b',
+ \ 'a122',
+ \ 'b322b',
+ \ 'a123',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'numeric, sort on first digit',
+ \ 'cmd' : 'sort/\d/rn',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a123',
+ \ 'a122',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'alpha, skip past first 2 digits',
+ \ 'cmd' : 'sort/\d\d/',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a321',
+ \ 'b321',
+ \ 'b321',
+ \ 'b321b',
+ \ 'c321d',
+ \ 'a122',
+ \ 'b322b',
+ \ 'a123',
+ \ 'b123',
+ \ ' 123b',
+ \ 'c123d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'numeric, skip past first 2 digits',
+ \ 'cmd' : 'sort/\d\d/n',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b321',
+ \ 'b321b',
+ \ 'a122',
+ \ 'b322b',
+ \ 'a123',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'hexadecimal, skip past first 2 digits',
+ \ 'cmd' : 'sort/\d\d/x',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a321',
+ \ 'b321',
+ \ 'b321',
+ \ 'a122',
+ \ 'a123',
+ \ 'b123',
+ \ 'b321b',
+ \ 'c321d',
+ \ 'b322b',
+ \ ' 123b',
+ \ 'c123d'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'alpha, sort on first 2 digits',
+ \ 'cmd' : 'sort/\d\d/r',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a123',
+ \ 'a122',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'numeric, sort on first 2 digits',
+ \ 'cmd' : 'sort/\d\d/rn',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a123',
+ \ 'a122',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'hexadecimal, sort on first 2 digits',
+ \ 'cmd' : 'sort/\d\d/rx',
+ \ 'input' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ 'a321',
+ \ 'a123',
+ \ 'a122',
+ \ 'b321',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ 'abc',
+ \ 'ab',
+ \ 'a',
+ \ '',
+ \ '',
+ \ 'a123',
+ \ 'a122',
+ \ 'b123',
+ \ 'c123d',
+ \ ' 123b',
+ \ 'a321',
+ \ 'b321',
+ \ 'c321d',
+ \ 'b322b',
+ \ 'b321',
+ \ 'b321b'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'binary',
+ \ 'cmd' : 'sort b',
+ \ 'input' : [
+ \ '0b111000',
+ \ '0b101100',
+ \ '0b101001',
+ \ '0b101001',
+ \ '0b101000',
+ \ '0b000000',
+ \ '0b001000',
+ \ '0b010000',
+ \ '0b101000',
+ \ '0b100000',
+ \ '0b101010',
+ \ '0b100010',
+ \ '0b100100',
+ \ '0b100010',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ '',
+ \ '',
+ \ '0b000000',
+ \ '0b001000',
+ \ '0b010000',
+ \ '0b100000',
+ \ '0b100010',
+ \ '0b100010',
+ \ '0b100100',
+ \ '0b101000',
+ \ '0b101000',
+ \ '0b101001',
+ \ '0b101001',
+ \ '0b101010',
+ \ '0b101100',
+ \ '0b111000'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'binary with leading characters',
+ \ 'cmd' : 'sort b',
+ \ 'input' : [
+ \ '0b100010',
+ \ '0b010000',
+ \ ' 0b101001',
+ \ 'b0b101100',
+ \ '0b100010',
+ \ ' 0b100100',
+ \ 'a0b001000',
+ \ '0b101000',
+ \ '0b101000',
+ \ 'a0b101001',
+ \ 'ab0b100000',
+ \ '0b101010',
+ \ '0b000000',
+ \ 'b0b111000',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ '',
+ \ '',
+ \ '0b000000',
+ \ 'a0b001000',
+ \ '0b010000',
+ \ 'ab0b100000',
+ \ '0b100010',
+ \ '0b100010',
+ \ ' 0b100100',
+ \ '0b101000',
+ \ '0b101000',
+ \ ' 0b101001',
+ \ 'a0b101001',
+ \ '0b101010',
+ \ 'b0b101100',
+ \ 'b0b111000'
+ \ ]
+ \ },
+ \ {
+ \ 'name' : 'float',
+ \ 'cmd' : 'sort f',
+ \ 'input' : [
+ \ '1.234',
+ \ '0.88',
+ \ '123.456',
+ \ '1.15e-6',
+ \ '-1.1e3',
+ \ '-1.01e3',
+ \ '',
+ \ ''
+ \ ],
+ \ 'expected' : [
+ \ '',
+ \ '',
+ \ '-1.1e3',
+ \ '-1.01e3',
+ \ '1.15e-6',
+ \ '0.88',
+ \ '1.234',
+ \ '123.456'
+ \ ]
+ \ }
+ \ ]
+
+ for t in tests
+ enew!
+ call append(0, t.input)
+ $delete _
+ exe t.cmd
+ call assert_equal(t.expected, getline(1, '$'), t.name)
+ endfor
+
+ call assert_fails('sort no', 'E474')
+
+ enew!
+ endfunc
*** ../vim-8.0.1139/src/testdir/test_vimscript.vim 2017-06-24 14:48:07.215493177 +0200
--- src/testdir/test_vimscript.vim 2017-09-23 18:58:18.072229346 +0200
***************
*** 1421,1426 ****
--- 1421,1446 ----
delcommand Nieuw
endfunc

+ " Test for script-local function
+ func <SID>DoLast()
+ call append(line('$'), "last line")
+ endfunc
+
+ func s:DoNothing()
+ call append(line('$'), "nothing line")
+ endfunc
+
+ func Test_script_local_func()
+ set nocp viminfo+=nviminfo
+ new
+ nnoremap <buffer> _x :call <SID>DoNothing()<bar>call <SID>DoLast()<bar>delfunc <SID>DoNothing<bar>delfunc <SID>DoLast<cr>
+
+ normal _x
+ call assert_equal('nothing line', getline(2))
+ call assert_equal('last line', getline(3))
+ enew! | close
+ endfunc
+
"-------------------------------------------------------------------------------
" Modelines {{{1
" vim: ts=8 sw=4 tw=80 fdm=marker
*** ../vim-8.0.1139/src/version.c 2017-09-23 16:33:40.857195233 +0200
--- src/version.c 2017-09-23 19:10:58.775666957 +0200
***************
*** 763,764 ****
--- 763,766 ----
{ /* Add new patch number below this line */
+ /**/
+ 1140,
/**/

--
hundred-and-one symptoms of being an internet addict:
179. You wonder why your household garbage can doesn't have an
"empty recycle bin" button.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages