aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorMatthieu Coudron <mattator@gmail.com>2020-05-02 18:29:50 +0200
committerGitHub <noreply@github.com>2020-05-02 18:29:50 +0200
commit5951ed5d74fe80a4b6aea993d8c23000670b3f85 (patch)
tree04911b075f8778f53b250a4f13c53ed522a2e750 /src/nvim/testdir
parentea347b18d883999ed9a8d2e7c00068058135232f (diff)
parenta0a433dffc70f1ae6c9196dc4b1b504ed171a498 (diff)
downloadrneovim-5951ed5d74fe80a4b6aea993d8c23000670b3f85.tar.gz
rneovim-5951ed5d74fe80a4b6aea993d8c23000670b3f85.tar.bz2
rneovim-5951ed5d74fe80a4b6aea993d8c23000670b3f85.zip
Merge pull request #12229 from Billy4195/vim-8.1.0814
[RFC] vim-patch:8.1.{814,816}
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_mksession.vim30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_mksession.vim b/src/nvim/testdir/test_mksession.vim
index b7169444d1..0a8d52242a 100644
--- a/src/nvim/testdir/test_mksession.vim
+++ b/src/nvim/testdir/test_mksession.vim
@@ -2,7 +2,7 @@
scriptencoding latin1
-if !has('multi_byte') || !has('mksession')
+if !has('mksession')
finish
endif
@@ -122,6 +122,34 @@ func Test_mksession_large_winheight()
call delete('Xtest_mks_winheight.out')
endfunc
+func Test_mksession_rtp()
+ if has('win32')
+ " TODO: fix problem with backslashes
+ return
+ endif
+ new
+ set sessionoptions+=options
+ let _rtp=&rtp
+ " Make a real long (invalid) runtimepath value,
+ " that should exceed PATH_MAX (hopefully)
+ let newrtp=&rtp.',~'.repeat('/foobar', 1000)
+ let newrtp.=",".expand("$HOME")."/.vim"
+ let &rtp=newrtp
+
+ " determine expected value
+ let expected=split(&rtp, ',')
+ let expected = map(expected, '"set runtimepath+=".v:val')
+ let expected = ['set runtimepath='] + expected
+ let expected = map(expected, {v,w -> substitute(w, $HOME, "~", "g")})
+
+ mksession! Xtest_mks.out
+ let &rtp=_rtp
+ let li = filter(readfile('Xtest_mks.out'), 'v:val =~# "runtimepath"')
+ call assert_equal(expected, li)
+
+ call delete('Xtest_mks.out')
+endfunc
+
" Verify that arglist is stored correctly to the session file.
func Test_mksession_arglist()
argdel *