summaryrefslogtreecommitdiff
path: root/src/testdir/test_scriptnames.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-11-30 22:48:32 +0100
committerBram Moolenaar <Bram@vim.org>2018-11-30 22:48:32 +0100
commit07dc18ffa4e7ed202f219fe2fd3d6f58246f71f9 (patch)
treecff51538c1e68b208e06b278f4b675dbe00380a0 /src/testdir/test_scriptnames.vim
parent01a060da74b756b161e595b39a7877cb7612120a (diff)
downloadvim-git-07dc18ffa4e7ed202f219fe2fd3d6f58246f71f9.tar.gz
patch 8.1.0553: it is not easy to edit a script that was sourcedv8.1.0553
Problem: It is not easy to edit a script that was sourced. Solution: Add a count to ":scriptnames", so that ":script 40" edits the script with script ID 40.
Diffstat (limited to 'src/testdir/test_scriptnames.vim')
-rw-r--r--src/testdir/test_scriptnames.vim26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/testdir/test_scriptnames.vim b/src/testdir/test_scriptnames.vim
new file mode 100644
index 000000000..fc6c910bf
--- /dev/null
+++ b/src/testdir/test_scriptnames.vim
@@ -0,0 +1,26 @@
+" Test for :scriptnames
+
+func Test_scriptnames()
+ call writefile(['let did_load_script = 123'], 'Xscripting')
+ source Xscripting
+ call assert_equal(123, g:did_load_script)
+
+ let scripts = split(execute('scriptnames'), "\n")
+ let last = scripts[-1]
+ call assert_match('\<Xscripting\>', last)
+ let lastnr = substitute(last, '\D*\(\d\+\):.*', '\1', '')
+ exe 'script ' . lastnr
+ call assert_equal('Xscripting', expand('%:t'))
+
+ call assert_fails('script ' . (lastnr + 1), 'E474:')
+ call assert_fails('script 0', 'E939:')
+
+ new
+ call setline(1, 'nothing')
+ call assert_fails('script ' . lastnr, 'E37:')
+ exe 'script! ' . lastnr
+ call assert_equal('Xscripting', expand('%:t'))
+
+ bwipe
+ call delete('Xscripting')
+endfunc