view src/testdir/test_autochdir.vim @ 17352:b2616a8be8a6 v8.1.1675

patch 8.1.1675: listener list not correctly updated on listener_remove() commit https://github.com/vim/vim/commit/7b73f914c4fc5a3f7ad97b678cc8137f964e3d62 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jul 13 13:03:02 2019 +0200 patch 8.1.1675: listener list not correctly updated on listener_remove() Problem: Listener list not correctly updated on listener_remove(). Solution: Only set "prev" when not removing a listener. Return one if the listener was found and removed.
author Bram Moolenaar <Bram@vim.org>
date Sat, 13 Jul 2019 13:15:05 +0200
parents ebdf6cd89910
children 0da9bc55c31a
line wrap: on
line source

" Test 'autochdir' behavior

if !exists("+autochdir")
  throw 'Skipped: autochdir feature missing'
endif

func Test_set_filename()
  let cwd = getcwd()
  call test_autochdir()
  set acd

  let s:li = []
  autocmd DirChanged auto call add(s:li, "autocd")
  autocmd DirChanged auto call add(s:li, expand("<afile>"))

  new
  w samples/Xtest
  call assert_equal("Xtest", expand('%'))
  call assert_equal("samples", substitute(getcwd(), '.*/\(\k*\)', '\1', ''))
  call assert_equal(["autocd", getcwd()], s:li)

  bwipe!
  au! DirChanged
  set noacd
  exe 'cd ' . cwd
  call delete('samples/Xtest')
endfunc