diff src/testdir/test_packadd.vim @ 8526:981cc3bef9f3 v7.4.1553

commit https://github.com/vim/vim/commit/8dcf259d904cfb965d31841dc74a5cfaf5a351d9 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 12 22:47:14 2016 +0100 patch 7.4.1553 Problem: ":runtime" does not use 'packpath'. Solution: Add "what" argument.
author Christian Brabandt <cb@256bit.org>
date Sat, 12 Mar 2016 23:00:04 +0100
parents 2f57bbe870ea
children 630300c7a26c
line wrap: on
line diff
--- a/src/testdir/test_packadd.vim
+++ b/src/testdir/test_packadd.vim
@@ -134,3 +134,50 @@ func Test_colorscheme()
   colorscheme three
   call assert_equal(1, g:found_three)
 endfunc
+
+func Test_runtime()
+  let rundir = &packpath . '/runtime/extra'
+  let startdir = &packpath . '/pack/mine/start/foo/extra'
+  let optdir = &packpath . '/pack/mine/opt/bar/extra'
+  call mkdir(rundir, 'p')
+  call mkdir(startdir, 'p')
+  call mkdir(optdir, 'p')
+  call writefile(['let g:sequence .= "run"'], rundir . '/bar.vim')
+  call writefile(['let g:sequence .= "start"'], startdir . '/bar.vim')
+  call writefile(['let g:sequence .= "foostart"'], startdir . '/foo.vim')
+  call writefile(['let g:sequence .= "opt"'], optdir . '/bar.vim')
+  call writefile(['let g:sequence .= "xxxopt"'], optdir . '/xxx.vim')
+  exe 'set rtp=' . &packpath . '/runtime'
+
+  let g:sequence = ''
+  runtime extra/bar.vim
+  call assert_equal('run', g:sequence)
+  let g:sequence = ''
+  runtime START extra/bar.vim
+  call assert_equal('start', g:sequence)
+  let g:sequence = ''
+  runtime OPT extra/bar.vim
+  call assert_equal('opt', g:sequence)
+  let g:sequence = ''
+  runtime PACK extra/bar.vim
+  call assert_equal('start', g:sequence)
+  let g:sequence = ''
+  runtime! PACK extra/bar.vim
+  call assert_equal('startopt', g:sequence)
+  let g:sequence = ''
+  runtime PACK extra/xxx.vim
+  call assert_equal('xxxopt', g:sequence)
+
+  let g:sequence = ''
+  runtime ALL extra/bar.vim
+  call assert_equal('run', g:sequence)
+  let g:sequence = ''
+  runtime ALL extra/foo.vim
+  call assert_equal('foostart', g:sequence)
+  let g:sequence = ''
+  runtime! ALL extra/xxx.vim
+  call assert_equal('xxxopt', g:sequence)
+  let g:sequence = ''
+  runtime! ALL extra/bar.vim
+  call assert_equal('runstartopt', g:sequence)
+endfunc