diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2018-08-26 21:20:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-26 21:20:22 +0200 |
commit | cd1d9d8a7cd70f1413875c376edc4194b66c681d (patch) | |
tree | 266209f22c69e45430c13ecf179e02a21653470c | |
parent | fa285bde45d0a1230c2f5aae5b80d7e9271a1a96 (diff) | |
parent | 246fa3e81dbece622c8c244e383d21db8a332523 (diff) | |
download | rneovim-cd1d9d8a7cd70f1413875c376edc4194b66c681d.tar.gz rneovim-cd1d9d8a7cd70f1413875c376edc4194b66c681d.tar.bz2 rneovim-cd1d9d8a7cd70f1413875c376edc4194b66c681d.zip |
Merge #8916 from janlazo/vim-8.1.0144
-rw-r--r-- | src/nvim/testdir/test_cd.vim | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_cd.vim b/src/nvim/testdir/test_cd.vim index e573419bd0..770ed55b8d 100644 --- a/src/nvim/testdir/test_cd.vim +++ b/src/nvim/testdir/test_cd.vim @@ -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 |