Bram Moolenaar | 5c71994 | 2016-07-09 23:40:45 +0200 | [diff] [blame] | 1 | " Test 'autochdir' behavior |
| 2 | |
Bram Moolenaar | 8c5a278 | 2019-08-07 23:07:07 +0200 | [diff] [blame] | 3 | source check.vim |
| 4 | CheckOption autochdir |
Bram Moolenaar | 5c71994 | 2016-07-09 23:40:45 +0200 | [diff] [blame] | 5 | |
| 6 | func Test_set_filename() |
Bram Moolenaar | cf1ba35 | 2017-10-27 00:55:04 +0200 | [diff] [blame] | 7 | let cwd = getcwd() |
Bram Moolenaar | 5c71994 | 2016-07-09 23:40:45 +0200 | [diff] [blame] | 8 | call test_autochdir() |
| 9 | set acd |
Bram Moolenaar | 2caad3f | 2018-12-16 15:38:02 +0100 | [diff] [blame] | 10 | |
| 11 | let s:li = [] |
| 12 | autocmd DirChanged auto call add(s:li, "autocd") |
| 13 | autocmd DirChanged auto call add(s:li, expand("<afile>")) |
| 14 | |
Bram Moolenaar | 5c71994 | 2016-07-09 23:40:45 +0200 | [diff] [blame] | 15 | new |
| 16 | w samples/Xtest |
| 17 | call assert_equal("Xtest", expand('%')) |
| 18 | call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', '')) |
Bram Moolenaar | 2caad3f | 2018-12-16 15:38:02 +0100 | [diff] [blame] | 19 | call assert_equal(["autocd", getcwd()], s:li) |
| 20 | |
Bram Moolenaar | 5c71994 | 2016-07-09 23:40:45 +0200 | [diff] [blame] | 21 | bwipe! |
Bram Moolenaar | 2caad3f | 2018-12-16 15:38:02 +0100 | [diff] [blame] | 22 | au! DirChanged |
Bram Moolenaar | 5c71994 | 2016-07-09 23:40:45 +0200 | [diff] [blame] | 23 | set noacd |
Bram Moolenaar | 3503d7c | 2019-11-09 20:10:17 +0100 | [diff] [blame] | 24 | call chdir(cwd) |
Bram Moolenaar | 5c71994 | 2016-07-09 23:40:45 +0200 | [diff] [blame] | 25 | call delete('samples/Xtest') |
| 26 | endfunc |
Bram Moolenaar | 6d91bcb | 2020-08-12 18:50:36 +0200 | [diff] [blame] | 27 | |
Bram Moolenaar | 0526815 | 2021-11-18 18:53:45 +0000 | [diff] [blame] | 28 | func Test_verbose_pwd() |
| 29 | let cwd = getcwd() |
| 30 | call test_autochdir() |
| 31 | |
| 32 | edit global.txt |
| 33 | call assert_match('\[global\].*testdir$', execute('verbose pwd')) |
| 34 | |
| 35 | call mkdir('Xautodir') |
| 36 | split Xautodir/local.txt |
| 37 | lcd Xautodir |
| 38 | call assert_match('\[window\].*testdir[/\\]Xautodir', execute('verbose pwd')) |
| 39 | |
| 40 | set acd |
| 41 | wincmd w |
| 42 | call assert_match('\[autochdir\].*testdir$', execute('verbose pwd')) |
zeertzjq | 64be6aa | 2021-11-19 11:59:08 +0000 | [diff] [blame] | 43 | execute 'lcd' cwd |
| 44 | call assert_match('\[window\].*testdir$', execute('verbose pwd')) |
| 45 | execute 'tcd' cwd |
| 46 | call assert_match('\[tabpage\].*testdir$', execute('verbose pwd')) |
| 47 | execute 'cd' cwd |
| 48 | call assert_match('\[global\].*testdir$', execute('verbose pwd')) |
| 49 | edit |
| 50 | call assert_match('\[autochdir\].*testdir$', execute('verbose pwd')) |
Bram Moolenaar | 0526815 | 2021-11-18 18:53:45 +0000 | [diff] [blame] | 51 | wincmd w |
| 52 | call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd')) |
| 53 | set noacd |
| 54 | call assert_match('\[autochdir\].*testdir[/\\]Xautodir', execute('verbose pwd')) |
| 55 | wincmd w |
| 56 | call assert_match('\[global\].*testdir', execute('verbose pwd')) |
| 57 | wincmd w |
| 58 | call assert_match('\[window\].*testdir[/\\]Xautodir', execute('verbose pwd')) |
| 59 | |
| 60 | bwipe! |
| 61 | call chdir(cwd) |
| 62 | call delete('Xautodir', 'rf') |
| 63 | endfunc |
| 64 | |
Bram Moolenaar | 6d91bcb | 2020-08-12 18:50:36 +0200 | [diff] [blame] | 65 | " vim: shiftwidth=2 sts=2 expandtab |