mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.1.2125: fnamemodify() fails when repeating :e
Problem: Fnamemodify() fails when repeating :e.
Solution: Do not go before the tail. (Rob Pilling, closes vim/vim#5024)
b189295b72
This commit is contained in:
parent
5f60861f5a
commit
401398bc4b
@ -45,3 +45,31 @@ func Test_fnamemodify()
|
||||
let $HOME = save_home
|
||||
let &shell = save_shell
|
||||
endfunc
|
||||
|
||||
func Test_fnamemodify_er()
|
||||
call assert_equal("with", fnamemodify("path/to/file.with.extensions", ':e:e:r:r'))
|
||||
|
||||
call assert_equal('c', fnamemodify('a.c', ':e'))
|
||||
call assert_equal('c', fnamemodify('a.c', ':e:e'))
|
||||
call assert_equal('c', fnamemodify('a.c', ':e:e:r'))
|
||||
call assert_equal('c', fnamemodify('a.c', ':e:e:r:r'))
|
||||
|
||||
call assert_equal('rb', fnamemodify('a.spec.rb', ':e:r'))
|
||||
call assert_equal('rb', fnamemodify('a.spec.rb', ':e:r'))
|
||||
call assert_equal('spec.rb', fnamemodify('a.spec.rb', ':e:e'))
|
||||
call assert_equal('spec', fnamemodify('a.spec.rb', ':e:e:r'))
|
||||
call assert_equal('spec', fnamemodify('a.spec.rb', ':e:e:r:r'))
|
||||
call assert_equal('spec', fnamemodify('a.b.spec.rb', ':e:e:r'))
|
||||
call assert_equal('b.spec', fnamemodify('a.b.spec.rb', ':e:e:e:r'))
|
||||
call assert_equal('b', fnamemodify('a.b.spec.rb', ':e:e:e:r:r'))
|
||||
|
||||
call assert_equal('spec', fnamemodify('a.b.spec.rb', ':r:e'))
|
||||
call assert_equal('b', fnamemodify('a.b.spec.rb', ':r:r:e'))
|
||||
|
||||
call assert_equal('c', fnamemodify('a.b.c.d.e', ':r:r:e'))
|
||||
call assert_equal('b.c', fnamemodify('a.b.c.d.e', ':r:r:e:e'))
|
||||
|
||||
" :e never includes the whole filename, so "a.b":e:e:e --> "b"
|
||||
call assert_equal('b.c', fnamemodify('a.b.c.d.e', ':r:r:e:e:e'))
|
||||
call assert_equal('b.c', fnamemodify('a.b.c.d.e', ':r:r:e:e:e:e'))
|
||||
endfunc
|
||||
|
Loading…
Reference in New Issue
Block a user