Mercurial > vim
annotate src/testdir/test_scriptnames.vim @ 29810:761631155a90 v9.0.0244
patch 9.0.0244: cannot easily get the list of sourced scripts
Commit: https://github.com/vim/vim/commit/f768c3d19c518822d89dec4cc3947ddeea249316
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Mon Aug 22 13:15:13 2022 +0100
patch 9.0.0244: cannot easily get the list of sourced scripts
Problem: Cannot easily get the list of sourced scripts.
Solution: Add the getscriptinfo() function. (Yegappan Lakshmanan,
closes #10957)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 22 Aug 2022 14:30:04 +0200 |
parents | fa09602eae48 |
children | 8dca33bca038 |
rev | line source |
---|---|
15085
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 |
29810
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
2 " Test for the :scriptnames command |
15085
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 func Test_scriptnames() |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 call writefile(['let did_load_script = 123'], 'Xscripting') |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 source Xscripting |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 call assert_equal(123, g:did_load_script) |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 let scripts = split(execute('scriptnames'), "\n") |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 let last = scripts[-1] |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 call assert_match('\<Xscripting\>', last) |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 let lastnr = substitute(last, '\D*\(\d\+\):.*', '\1', '') |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 exe 'script ' . lastnr |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 call assert_equal('Xscripting', expand('%:t')) |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 call assert_fails('script ' . (lastnr + 1), 'E474:') |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 call assert_fails('script 0', 'E939:') |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 new |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 call setline(1, 'nothing') |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 call assert_fails('script ' . lastnr, 'E37:') |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 exe 'script! ' . lastnr |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 call assert_equal('Xscripting', expand('%:t')) |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 bwipe |
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 call delete('Xscripting') |
27209
fa09602eae48
patch 8.2.4133: output of ":scriptnames" goes into the message history
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
26 |
fa09602eae48
patch 8.2.4133: output of ":scriptnames" goes into the message history
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
27 let msgs = execute('messages') |
fa09602eae48
patch 8.2.4133: output of ":scriptnames" goes into the message history
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
28 scriptnames |
fa09602eae48
patch 8.2.4133: output of ":scriptnames" goes into the message history
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
29 call assert_equal(msgs, execute('messages')) |
15085
1783c0b6bc2e
patch 8.1.0553: it is not easy to edit a script that was sourced
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
15085
diff
changeset
|
31 |
29810
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
32 " Test for the getscriptinfo() function |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
33 func Test_getscriptinfo() |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
34 call writefile(['let loaded_script_id = expand("<SID>")'], 'Xscript') |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
35 source Xscript |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
36 let l = getscriptinfo() |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
37 call assert_match('Xscript$', l[-1].name) |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
38 call assert_equal(g:loaded_script_id, $"<SNR>{l[-1].sid}_") |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
39 call delete('Xscript') |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
40 endfunc |
761631155a90
patch 9.0.0244: cannot easily get the list of sourced scripts
Bram Moolenaar <Bram@vim.org>
parents:
27209
diff
changeset
|
41 |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
15085
diff
changeset
|
42 " vim: shiftwidth=2 sts=2 expandtab |