Skip to content

Commit

Permalink
patch 8.1.0144: the :cd command does not have good test coverage
Browse files Browse the repository at this point in the history
Problem:    The :cd command does not have good test coverage.
Solution:   Add more tests. (Dominique Pelle, closes #2972)
  • Loading branch information
brammool committed Jul 3, 2018
1 parent 3d1d647 commit b2e0c94
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
54 changes: 54 additions & 0 deletions src/testdir/test_cd.vim
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,60 @@ endfunc
func Test_cd_up_and_down()
let path = getcwd()
cd ..
call assert_notequal(path, getcwd())
exe 'cd ' . path
call assert_equal(path, getcwd())
endfunc

func Test_cd_no_arg()
if has('unix')
" Test that cd without argument goes to $HOME directory on Unix systems.
let path = getcwd()
cd
call assert_equal($HOME, getcwd())
call assert_notequal(path, getcwd())
exe 'cd ' . path
call assert_equal(path, getcwd())
else
" Test that cd without argument echoes cwd on non-Unix systems.
call assert_match(getcwd(), execute('cd'))
endif
endfunc

func Test_cd_minus()
" Test the :cd - goes back to the previous directory.
let path = getcwd()
cd ..
let path_dotdot = getcwd()
call assert_notequal(path, path_dotdot)
cd -
call assert_equal(path, getcwd())
cd -
call assert_equal(path_dotdot, getcwd())
cd -
call assert_equal(path, getcwd())
endfunc

func Test_cd_with_cpo_chdir()
e Xfoo
call setline(1, 'foo')
let path = getcwd()
set cpo+=.

" :cd should fail when buffer is modified and 'cpo' contains dot.
call assert_fails('cd ..', 'E747:')
call assert_equal(path, getcwd())

" :cd with exclamation mark should succeed.
cd! ..
call assert_notequal(path, getcwd())

" :cd should succeed when buffer has been written.
w!
exe 'cd ' . path
call assert_equal(path, getcwd())

call delete('Xfoo')
set cpo&
bw!
endfunc
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -789,6 +789,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
144,
/**/
143,
/**/
Expand Down

0 comments on commit b2e0c94

Please sign in to comment.