mirror of
https://github.com/neovim/neovim.git
synced 2025-10-01 23:48:32 +00:00
vim-patch:8.1.2013: more functions can be used as methods
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
f92e58cadb
Cherry-pick s:normalize_fname for tolower test from v8.1.0894 and v8.1.1417 (even though it is
unused for now).
Fix header for win_id2tabwin in eval.txt.
This commit is contained in:
@@ -385,47 +385,47 @@ return {
|
||||
termopen={args={1, 2}},
|
||||
test_garbagecollect_now={},
|
||||
test_write_list_log={args=1},
|
||||
timer_info={args={0,1}},
|
||||
timer_pause={args=2},
|
||||
timer_start={args={2,3}},
|
||||
timer_stop={args=1},
|
||||
timer_info={args={0, 1}, base=1},
|
||||
timer_pause={args=2, base=1},
|
||||
timer_start={args={2, 3}, base=1},
|
||||
timer_stop={args=1, base=1},
|
||||
timer_stopall={args=0},
|
||||
tolower={args=1},
|
||||
toupper={args=1},
|
||||
tr={args=3},
|
||||
trim={args={1,3}},
|
||||
tolower={args=1, base=1},
|
||||
toupper={args=1, base=1},
|
||||
tr={args=3, base=1},
|
||||
trim={args={1, 3}, base=1},
|
||||
trunc={args=1, base=1, func="float_op_wrapper", data="&trunc"},
|
||||
type={args=1, base=1},
|
||||
undofile={args=1},
|
||||
undofile={args=1, base=1},
|
||||
undotree={},
|
||||
uniq={args={1, 3}, base=1},
|
||||
values={args=1, base=1},
|
||||
virtcol={args=1},
|
||||
virtcol={args=1, base=1},
|
||||
visualmode={args={0, 1}},
|
||||
wait={args={2,3}},
|
||||
wildmenumode={},
|
||||
win_execute={args={2, 3}},
|
||||
win_findbuf={args=1},
|
||||
win_getid={args={0,2}},
|
||||
win_execute={args={2, 3}, base=2},
|
||||
win_findbuf={args=1, base=1},
|
||||
win_getid={args={0, 2}, base=1},
|
||||
win_gettype={args={0,1}},
|
||||
win_gotoid={args=1},
|
||||
win_id2tabwin={args=1},
|
||||
win_id2win={args=1},
|
||||
win_screenpos={args=1},
|
||||
win_gotoid={args=1, base=1},
|
||||
win_id2tabwin={args=1, base=1},
|
||||
win_id2win={args=1, base=1},
|
||||
win_screenpos={args=1, base=1},
|
||||
win_splitmove={args={2, 3}},
|
||||
winbufnr={args=1, base=1},
|
||||
wincol={},
|
||||
windowsversion={},
|
||||
winheight={args=1},
|
||||
winlayout={args={0, 1}},
|
||||
winheight={args=1, base=1},
|
||||
winlayout={args={0, 1}, base=1},
|
||||
winline={},
|
||||
winnr={args={0, 1}},
|
||||
winnr={args={0, 1}, base=1},
|
||||
winrestcmd={},
|
||||
winrestview={args=1},
|
||||
winrestview={args=1, base=1},
|
||||
winsaveview={},
|
||||
winwidth={args=1},
|
||||
winwidth={args=1, base=1},
|
||||
wordcount={},
|
||||
writefile={args={2, 3}},
|
||||
writefile={args={2, 3}, base=1},
|
||||
xor={args=2, base=1},
|
||||
},
|
||||
}
|
||||
|
@@ -82,7 +82,7 @@ func Test_screenpos()
|
||||
call assert_equal({'row': winrow,
|
||||
\ 'col': wincol + 0,
|
||||
\ 'curscol': wincol + 7,
|
||||
\ 'endcol': wincol + 7}, screenpos(winid, 1, 1))
|
||||
\ 'endcol': wincol + 7}, winid->screenpos(1, 1))
|
||||
call assert_equal({'row': winrow,
|
||||
\ 'col': wincol + 13,
|
||||
\ 'curscol': wincol + 13,
|
||||
|
@@ -99,7 +99,7 @@ func Test_win_execute()
|
||||
if has('textprop')
|
||||
let popupwin = popup_create('the popup win', {'line': 2, 'col': 3})
|
||||
redraw
|
||||
let line = win_execute(popupwin, 'echo getline(1)')
|
||||
let line = 'echo getline(1)'->win_execute(popupwin)
|
||||
call assert_match('the popup win', line)
|
||||
|
||||
call popup_close(popupwin)
|
||||
|
@@ -307,6 +307,12 @@ func Test_resolve_unix()
|
||||
call assert_equal('/', resolve('/'))
|
||||
endfunc
|
||||
|
||||
func s:normalize_fname(fname)
|
||||
let ret = substitute(a:fname, '\', '/', 'g')
|
||||
let ret = substitute(ret, '//', '/', 'g')
|
||||
return ret->tolower()
|
||||
endfunc
|
||||
|
||||
func Test_simplify()
|
||||
call assert_equal('', simplify(''))
|
||||
call assert_equal('/', simplify('/'))
|
||||
@@ -469,7 +475,7 @@ func Test_toupper()
|
||||
\ toupper(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'))
|
||||
|
||||
" Test with a few lowercase diacritics.
|
||||
call assert_equal("AÀÁÂÃÄÅĀĂĄǍǞǠẢ", toupper("aàáâãäåāăąǎǟǡả"))
|
||||
call assert_equal("AÀÁÂÃÄÅĀĂĄǍǞǠẢ", "aàáâãäåāăąǎǟǡả"->toupper())
|
||||
call assert_equal("BḂḆ", toupper("bḃḇ"))
|
||||
call assert_equal("CÇĆĈĊČ", toupper("cçćĉċč"))
|
||||
call assert_equal("DĎĐḊḎḐ", toupper("dďđḋḏḑ"))
|
||||
@@ -532,6 +538,11 @@ func Test_toupper()
|
||||
call toupper("123\xC0\x80\xC0")
|
||||
endfunc
|
||||
|
||||
func Test_tr()
|
||||
call assert_equal('foo', tr('bar', 'bar', 'foo'))
|
||||
call assert_equal('zxy', 'cab'->tr('abc', 'xyz'))
|
||||
endfunc
|
||||
|
||||
" Tests for the mode() function
|
||||
let current_modes = ''
|
||||
func Save_mode()
|
||||
@@ -1293,7 +1304,7 @@ endfunc
|
||||
|
||||
func Test_trim()
|
||||
call assert_equal("Testing", trim(" \t\r\r\x0BTesting \t\n\r\n\t\x0B\x0B"))
|
||||
call assert_equal("Testing", trim(" \t \r\r\n\n\x0BTesting \t\n\r\n\t\x0B\x0B"))
|
||||
call assert_equal("Testing", " \t \r\r\n\n\x0BTesting \t\n\r\n\t\x0B\x0B"->trim())
|
||||
call assert_equal("RESERVE", trim("xyz \twwRESERVEzyww \t\t", " wxyz\t"))
|
||||
call assert_equal("wRE \tSERVEzyww", trim("wRE \tSERVEzyww"))
|
||||
call assert_equal("abcd\t xxxx tail", trim(" \tabcd\t xxxx tail"))
|
||||
@@ -1560,7 +1571,7 @@ func Test_bufadd_bufload()
|
||||
call assert_equal([''], getbufline(buf, 1, '$'))
|
||||
|
||||
let curbuf = bufnr('')
|
||||
call writefile(['some', 'text'], 'XotherName')
|
||||
eval ['some', 'text']->writefile('XotherName')
|
||||
let buf = 'XotherName'->bufadd()
|
||||
call assert_notequal(0, buf)
|
||||
eval 'XotherName'->bufexists()->assert_equal(1)
|
||||
|
@@ -25,7 +25,7 @@ func Test_listchars()
|
||||
redraw!
|
||||
for i in range(1, 5)
|
||||
call cursor(i, 1)
|
||||
call assert_equal([expected[i - 1]], ScreenLines(i, virtcol('$')))
|
||||
call assert_equal([expected[i - 1]], ScreenLines(i, '$'->virtcol()))
|
||||
endfor
|
||||
|
||||
set listchars-=trail:<
|
||||
|
@@ -77,7 +77,7 @@ endfunc
|
||||
|
||||
func Test_info()
|
||||
let id = timer_start(1000, 'MyHandler')
|
||||
let info = timer_info(id)
|
||||
let info = id->timer_info()
|
||||
call assert_equal(id, info[0]['id'])
|
||||
call assert_equal(1000, info[0]['time'])
|
||||
call assert_equal("function('MyHandler')", string(info[0]['callback']))
|
||||
@@ -113,7 +113,7 @@ func Test_paused()
|
||||
let info = timer_info(id)
|
||||
call assert_equal(0, info[0]['paused'])
|
||||
|
||||
call timer_pause(id, 1)
|
||||
eval id->timer_pause(1)
|
||||
let info = timer_info(id)
|
||||
call assert_equal(1, info[0]['paused'])
|
||||
sleep 200m
|
||||
@@ -148,7 +148,7 @@ func Test_delete_myself()
|
||||
endfunc
|
||||
|
||||
func StopTimer1(timer)
|
||||
let g:timer2 = timer_start(10, 'StopTimer2')
|
||||
let g:timer2 = 10->timer_start('StopTimer2')
|
||||
" avoid maxfuncdepth error
|
||||
call timer_pause(g:timer1, 1)
|
||||
sleep 40m
|
||||
@@ -251,7 +251,7 @@ func Test_peek_and_get_char()
|
||||
let intr = timer_start(100, 'Interrupt')
|
||||
let c = getchar()
|
||||
call assert_equal(char2nr('a'), c)
|
||||
call timer_stop(intr)
|
||||
eval intr->timer_stop()
|
||||
endfunc
|
||||
|
||||
func Test_getchar_zero()
|
||||
|
@@ -490,7 +490,7 @@ funct Test_undofile()
|
||||
call delete('Xundodir', 'd')
|
||||
|
||||
" Test undofile() with 'undodir' set to a non-existing directory.
|
||||
" call assert_equal('', undofile('Xundofoo'))
|
||||
" call assert_equal('', 'Xundofoo'->undofile())
|
||||
|
||||
if isdirectory('/tmp')
|
||||
set undodir=/tmp
|
||||
|
@@ -72,7 +72,7 @@ endfunc
|
||||
func Test_window_quit()
|
||||
e Xa
|
||||
split Xb
|
||||
call assert_equal(2, winnr('$'))
|
||||
call assert_equal(2, '$'->winnr())
|
||||
call assert_equal('Xb', bufname(winbufnr(1)))
|
||||
call assert_equal('Xa', bufname(winbufnr(2)))
|
||||
|
||||
@@ -88,7 +88,7 @@ func Test_window_horizontal_split()
|
||||
3wincmd s
|
||||
call assert_equal(2, winnr('$'))
|
||||
call assert_equal(3, winheight(0))
|
||||
call assert_equal(winwidth(1), winwidth(2))
|
||||
call assert_equal(winwidth(1), 2->winwidth())
|
||||
|
||||
call assert_fails('botright topleft wincmd s', 'E442:')
|
||||
bw
|
||||
@@ -267,7 +267,7 @@ func Test_window_height()
|
||||
|
||||
wincmd +
|
||||
call assert_equal(wh1, winheight(1))
|
||||
call assert_equal(wh2, winheight(2))
|
||||
call assert_equal(wh2, 2->winheight())
|
||||
|
||||
2wincmd _
|
||||
call assert_equal(2, winheight(1))
|
||||
@@ -824,6 +824,18 @@ func Test_winnr()
|
||||
only | tabonly
|
||||
endfunc
|
||||
|
||||
func Test_winrestview()
|
||||
split runtest.vim
|
||||
normal 50%
|
||||
let view = winsaveview()
|
||||
close
|
||||
split runtest.vim
|
||||
eval view->winrestview()
|
||||
call assert_equal(view, winsaveview())
|
||||
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_win_splitmove()
|
||||
edit a
|
||||
leftabove split b
|
||||
|
@@ -67,7 +67,7 @@ func Test_win_getid()
|
||||
|
||||
call win_gotoid(id2)
|
||||
call assert_equal("two", expand("%"))
|
||||
call win_gotoid(id4)
|
||||
eval id4->win_gotoid()
|
||||
call assert_equal("four", expand("%"))
|
||||
call win_gotoid(id1)
|
||||
call assert_equal("one", expand("%"))
|
||||
@@ -75,17 +75,17 @@ func Test_win_getid()
|
||||
call assert_equal("five", expand("%"))
|
||||
|
||||
call assert_equal(0, win_id2win(9999))
|
||||
call assert_equal(nr5, win_id2win(id5))
|
||||
call assert_equal(nr5, id5->win_id2win())
|
||||
call assert_equal(0, win_id2win(id1))
|
||||
tabnext
|
||||
call assert_equal(nr1, win_id2win(id1))
|
||||
|
||||
call assert_equal([0, 0], win_id2tabwin(9999))
|
||||
call assert_equal([1, nr2], win_id2tabwin(id2))
|
||||
call assert_equal([1, nr2], id2->win_id2tabwin())
|
||||
call assert_equal([2, nr4], win_id2tabwin(id4))
|
||||
|
||||
call assert_equal([], win_findbuf(9999))
|
||||
call assert_equal([id2], win_findbuf(bufnr2))
|
||||
call assert_equal([id2], bufnr2->win_findbuf())
|
||||
call win_gotoid(id5)
|
||||
split
|
||||
call assert_equal(sort([id5, win_getid()]), sort(win_findbuf(bufnr5)))
|
||||
@@ -98,7 +98,7 @@ func Test_win_getid_curtab()
|
||||
tabfirst
|
||||
copen
|
||||
only
|
||||
call assert_equal(win_getid(1), win_getid(1, 1))
|
||||
call assert_equal(win_getid(1), 1->win_getid( 1))
|
||||
tabclose!
|
||||
endfunc
|
||||
|
||||
@@ -120,4 +120,11 @@ func Test_winlayout()
|
||||
call assert_equal(['col', [['leaf', w3], ['row', [['leaf', w4], ['leaf', w2]]], ['leaf', w1]]], winlayout())
|
||||
|
||||
only!
|
||||
|
||||
let w1 = win_getid()
|
||||
call assert_equal(['leaf', w1], winlayout(1))
|
||||
tabnew
|
||||
let w2 = win_getid()
|
||||
call assert_equal(['leaf', w2], 2->winlayout())
|
||||
tabclose
|
||||
endfunc
|
||||
|
Reference in New Issue
Block a user