Mercurial > vim
annotate src/testdir/test_excmd.vim @ 25901:f48c435bd1df v8.2.3484
patch 8.2.3484: crash when going through spell suggestions
Commit: https://github.com/vim/vim/commit/e275ba4fc994474155fbafe8b87a6d3b477456ba
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Oct 6 13:41:07 2021 +0100
patch 8.2.3484: crash when going through spell suggestions
Problem: Crash when going through spell suggestions.
Solution: Limit the text length for finding suggestions to the original
length. Do not update buffers when exiting. (closes #8965)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 06 Oct 2021 14:45:03 +0200 |
parents | 826c36b4640b |
children | 485c7c4afeb7 |
rev | line source |
---|---|
17496
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Tests for various Ex commands. |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
3 source check.vim |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
4 |
17496
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 func Test_ex_delete() |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 new |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 call setline(1, ['a', 'b', 'c']) |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 2 |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 " :dl is :delete with the "l" flag, not :dlist |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 .dl |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 call assert_equal(['a', 'c'], getline(1, 2)) |
c8152af9fa33
patch 8.1.1746: ":dl" is seen as ":dlist" instead of ":delete"
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 endfunc |
17650
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
13 |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
14 func Test_range_error() |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
15 call assert_fails(':.echo 1', 'E481:') |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
16 call assert_fails(':$echo 1', 'E481:') |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
17 call assert_fails(':1,2echo 1', 'E481:') |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
18 call assert_fails(':+1echo 1', 'E481:') |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
19 call assert_fails(':/1/echo 1', 'E481:') |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
20 call assert_fails(':\/echo 1', 'E481:') |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
21 normal vv |
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
22 call assert_fails(":'<,'>echo 1", 'E481:') |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
23 call assert_fails(":\\xcenter", 'E10:') |
17650
a1437b8f2fac
patch 8.1.1822: confusing error message when range is not allowed
Bram Moolenaar <Bram@vim.org>
parents:
17496
diff
changeset
|
24 endfunc |
18463
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
25 |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
26 func Test_buffers_lastused() |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
27 call test_settime(localtime() - 2000) " middle |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
28 edit bufa |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
29 enew |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
30 call test_settime(localtime() - 10) " newest |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
31 edit bufb |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
32 enew |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
33 call test_settime(1550010000) " oldest |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
34 edit bufc |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
35 enew |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
36 call test_settime(0) |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
37 enew |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
38 |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
39 let ls = split(execute('buffers t', 'silent!'), '\n') |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
40 let bufs = ls->map({i,v->split(v, '"\s*')[1:2]}) |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
41 call assert_equal(['bufb', 'bufa', 'bufc'], bufs[1:]->map({i,v->v[0]})) |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
42 call assert_match('1[0-3] seconds ago', bufs[1][1]) |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
43 call assert_match('\d\d:\d\d:\d\d', bufs[2][1]) |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
44 call assert_match('2019/02/1\d \d\d:\d\d:00', bufs[3][1]) |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
45 |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
46 bwipeout bufa |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
47 bwipeout bufb |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
48 bwipeout bufc |
18d7337b6837
patch 8.1.2225: the "last used" info of a buffer is under used
Bram Moolenaar <Bram@vim.org>
parents:
17650
diff
changeset
|
49 endfunc |
19231
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
50 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
51 " Test for the :copy command |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
52 func Test_copy() |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
53 new |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
54 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
55 call setline(1, ['L1', 'L2', 'L3', 'L4']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
56 " copy lines in a range to inside the range |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
57 1,3copy 2 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
58 call assert_equal(['L1', 'L2', 'L1', 'L2', 'L3', 'L3', 'L4'], getline(1, 7)) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
59 |
19625
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19471
diff
changeset
|
60 " Specifying a count before using : to run an ex-command |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19471
diff
changeset
|
61 exe "normal! gg4:yank\<CR>" |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19471
diff
changeset
|
62 call assert_equal("L1\nL2\nL1\nL2\n", @") |
f70a3c1000bb
patch 8.2.0369: various Normal mode commands not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
19471
diff
changeset
|
63 |
19231
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
64 close! |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
65 endfunc |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
66 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
67 " Test for the :file command |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
68 func Test_file_cmd() |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
69 call assert_fails('3file', 'E474:') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
70 call assert_fails('0,0file', 'E474:') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
71 call assert_fails('0file abc', 'E474:') |
24814
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
72 if !has('win32') |
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
73 " Change the name of the buffer to the same name |
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
74 new Xfile1 |
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
75 file Xfile1 |
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
76 call assert_equal('Xfile1', @%) |
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
77 call assert_equal('Xfile1', @#) |
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
78 bw! |
4c5eec1ef612
patch 8.2.2945: some buffer related code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24596
diff
changeset
|
79 endif |
19231
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
80 endfunc |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
81 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
82 " Test for the :drop command |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
83 func Test_drop_cmd() |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
84 call writefile(['L1', 'L2'], 'Xfile') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
85 enew | only |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
86 drop Xfile |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
87 call assert_equal('L2', getline(2)) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
88 " Test for switching to an existing window |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
89 below new |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
90 drop Xfile |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
91 call assert_equal(1, winnr()) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
92 " Test for splitting the current window |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
93 enew | only |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
94 set modified |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
95 drop Xfile |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
96 call assert_equal(2, winnr('$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
97 " Check for setting the argument list |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
98 call assert_equal(['Xfile'], argv()) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
99 enew | only! |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
100 call delete('Xfile') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
101 endfunc |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
102 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
103 " Test for the :append command |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
104 func Test_append_cmd() |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
105 new |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
106 call setline(1, [' L1']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
107 call feedkeys(":append\<CR> L2\<CR> L3\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
108 call assert_equal([' L1', ' L2', ' L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
109 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
110 " append after a specific line |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
111 call setline(1, [' L1', ' L2', ' L3']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
112 call feedkeys(":2append\<CR> L4\<CR> L5\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
113 call assert_equal([' L1', ' L2', ' L4', ' L5', ' L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
114 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
115 " append with toggling 'autoindent' |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
116 call setline(1, [' L1']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
117 call feedkeys(":append!\<CR> L2\<CR> L3\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
118 call assert_equal([' L1', ' L2', ' L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
119 call assert_false(&autoindent) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
120 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
121 " append with 'autoindent' set and toggling 'autoindent' |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
122 set autoindent |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
123 call setline(1, [' L1']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
124 call feedkeys(":append!\<CR> L2\<CR> L3\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
125 call assert_equal([' L1', ' L2', ' L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
126 call assert_true(&autoindent) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
127 set autoindent& |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
128 close! |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
129 endfunc |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
130 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
131 " Test for the :insert command |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
132 func Test_insert_cmd() |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
133 new |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
134 call setline(1, [' L1']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
135 call feedkeys(":insert\<CR> L2\<CR> L3\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
136 call assert_equal([' L2', ' L3', ' L1'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
137 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
138 " insert before a specific line |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
139 call setline(1, [' L1', ' L2', ' L3']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
140 call feedkeys(":2insert\<CR> L4\<CR> L5\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
141 call assert_equal([' L1', ' L4', ' L5', ' L2', ' L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
142 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
143 " insert with toggling 'autoindent' |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
144 call setline(1, [' L1']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
145 call feedkeys(":insert!\<CR> L2\<CR> L3\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
146 call assert_equal([' L2', ' L3', ' L1'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
147 call assert_false(&autoindent) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
148 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
149 " insert with 'autoindent' set and toggling 'autoindent' |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
150 set autoindent |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
151 call setline(1, [' L1']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
152 call feedkeys(":insert!\<CR> L2\<CR> L3\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
153 call assert_equal([' L2', ' L3', ' L1'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
154 call assert_true(&autoindent) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
155 set autoindent& |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
156 close! |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
157 endfunc |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
158 |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
159 " Test for the :change command |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
160 func Test_change_cmd() |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
161 new |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
162 call setline(1, [' L1', 'L2', 'L3']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
163 call feedkeys(":change\<CR> L4\<CR> L5\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
164 call assert_equal([' L4', ' L5', 'L2', 'L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
165 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
166 " change a specific line |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
167 call setline(1, [' L1', ' L2', ' L3']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
168 call feedkeys(":2change\<CR> L4\<CR> L5\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
169 call assert_equal([' L1', ' L4', ' L5', ' L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
170 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
171 " change with toggling 'autoindent' |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
172 call setline(1, [' L1', 'L2', 'L3']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
173 call feedkeys(":change!\<CR> L4\<CR> L5\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
174 call assert_equal([' L4', ' L5', 'L2', 'L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
175 call assert_false(&autoindent) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
176 %delete _ |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
177 " change with 'autoindent' set and toggling 'autoindent' |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
178 set autoindent |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
179 call setline(1, [' L1', 'L2', 'L3']) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
180 call feedkeys(":change!\<CR> L4\<CR> L5\<CR>.\<CR>", 'xt') |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
181 call assert_equal([' L4', ' L5', 'L2', 'L3'], getline(1, '$')) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
182 call assert_true(&autoindent) |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
183 set autoindent& |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
184 close! |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
185 endfunc |
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
186 |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
187 " Test for the :language command |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
188 func Test_language_cmd() |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
189 CheckFeature multi_lang |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
190 |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
191 call assert_fails('language ctype non_existing_lang', 'E197:') |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
192 call assert_fails('language time non_existing_lang', 'E197:') |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
193 endfunc |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
194 |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
195 " Test for the :confirm command dialog |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
196 func Test_confirm_cmd() |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
197 CheckNotGui |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
198 CheckRunVimInTerminal |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
199 |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
200 call writefile(['foo1'], 'Xfoo') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
201 call writefile(['bar1'], 'Xbar') |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
202 |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
203 " Test for saving all the modified buffers |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
204 let lines =<< trim END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
205 set nomore |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
206 new Xfoo |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
207 call setline(1, 'foo2') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
208 new Xbar |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
209 call setline(1, 'bar2') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
210 wincmd b |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
211 END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
212 call writefile(lines, 'Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
213 let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
214 call term_sendkeys(buf, ":confirm qall\n") |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
215 call WaitForAssert({-> assert_match('\[Y\]es, (N)o, Save (A)ll, (D)iscard All, (C)ancel: ', term_getline(buf, 20))}, 1000) |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
216 call term_sendkeys(buf, "A") |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
217 call StopVimInTerminal(buf) |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
218 |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
219 call assert_equal(['foo2'], readfile('Xfoo')) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
220 call assert_equal(['bar2'], readfile('Xbar')) |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
221 |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
222 " Test for discarding all the changes to modified buffers |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
223 let lines =<< trim END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
224 set nomore |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
225 new Xfoo |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
226 call setline(1, 'foo3') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
227 new Xbar |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
228 call setline(1, 'bar3') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
229 wincmd b |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
230 END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
231 call writefile(lines, 'Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
232 let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
233 call term_sendkeys(buf, ":confirm qall\n") |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
234 call WaitForAssert({-> assert_match('\[Y\]es, (N)o, Save (A)ll, (D)iscard All, (C)ancel: ', term_getline(buf, 20))}, 1000) |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
235 call term_sendkeys(buf, "D") |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
236 call StopVimInTerminal(buf) |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
237 |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
238 call assert_equal(['foo2'], readfile('Xfoo')) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
239 call assert_equal(['bar2'], readfile('Xbar')) |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
240 |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
241 " Test for saving and discarding changes to some buffers |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
242 let lines =<< trim END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
243 set nomore |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
244 new Xfoo |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
245 call setline(1, 'foo4') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
246 new Xbar |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
247 call setline(1, 'bar4') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
248 wincmd b |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
249 END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
250 call writefile(lines, 'Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
251 let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
252 call term_sendkeys(buf, ":confirm qall\n") |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
253 call WaitForAssert({-> assert_match('\[Y\]es, (N)o, Save (A)ll, (D)iscard All, (C)ancel: ', term_getline(buf, 20))}, 1000) |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
254 call term_sendkeys(buf, "N") |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
255 call WaitForAssert({-> assert_match('\[Y\]es, (N)o, (C)ancel: ', term_getline(buf, 20))}, 1000) |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
256 call term_sendkeys(buf, "Y") |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
257 call StopVimInTerminal(buf) |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
258 |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
259 call assert_equal(['foo4'], readfile('Xfoo')) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
260 call assert_equal(['bar2'], readfile('Xbar')) |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
261 |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
262 call delete('Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
263 call delete('Xfoo') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
264 call delete('Xbar') |
19799
bde8020fb283
patch 8.2.0456: Test_confirm_cmd is flaky
Bram Moolenaar <Bram@vim.org>
parents:
19754
diff
changeset
|
265 endfunc |
bde8020fb283
patch 8.2.0456: Test_confirm_cmd is flaky
Bram Moolenaar <Bram@vim.org>
parents:
19754
diff
changeset
|
266 |
bde8020fb283
patch 8.2.0456: Test_confirm_cmd is flaky
Bram Moolenaar <Bram@vim.org>
parents:
19754
diff
changeset
|
267 func Test_confirm_cmd_cancel() |
19803
71911b1dc3f9
patch 8.2.0458: missing feature check in test function
Bram Moolenaar <Bram@vim.org>
parents:
19799
diff
changeset
|
268 CheckNotGui |
71911b1dc3f9
patch 8.2.0458: missing feature check in test function
Bram Moolenaar <Bram@vim.org>
parents:
19799
diff
changeset
|
269 CheckRunVimInTerminal |
71911b1dc3f9
patch 8.2.0458: missing feature check in test function
Bram Moolenaar <Bram@vim.org>
parents:
19799
diff
changeset
|
270 |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
271 " Test for closing a window with a modified buffer |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
272 let lines =<< trim END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
273 set nomore |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
274 new |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
275 call setline(1, 'abc') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
276 END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
277 call writefile(lines, 'Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
278 let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
279 call term_sendkeys(buf, ":confirm close\n") |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
280 call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
281 \ term_getline(buf, 20))}, 1000) |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
282 call term_sendkeys(buf, "C") |
19828
2dc8d3e6993e
patch 8.2.0470: Test_confirm_cmd_cancel() can fail on a slow system
Bram Moolenaar <Bram@vim.org>
parents:
19809
diff
changeset
|
283 call WaitForAssert({-> assert_equal('', term_getline(buf, 20))}, 1000) |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
284 call term_sendkeys(buf, ":confirm close\n") |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
285 call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
286 \ term_getline(buf, 20))}, 1000) |
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
287 call term_sendkeys(buf, "N") |
19809
c110bb3b15a8
patch 8.2.0461: confirm test fails on amd64 system
Bram Moolenaar <Bram@vim.org>
parents:
19803
diff
changeset
|
288 call WaitForAssert({-> assert_match('^ *0,0-1 All$', |
c110bb3b15a8
patch 8.2.0461: confirm test fails on amd64 system
Bram Moolenaar <Bram@vim.org>
parents:
19803
diff
changeset
|
289 \ term_getline(buf, 20))}, 1000) |
19435
8f8a5a15d00a
patch 8.2.0275: some Ex code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19425
diff
changeset
|
290 call StopVimInTerminal(buf) |
21192
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
291 call delete('Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
292 endfunc |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
293 |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
294 " The ":confirm" prompt was sometimes used with the terminal in cooked mode. |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
295 " This test verifies that a "\<CR>" character is NOT required to respond to a |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
296 " prompt from the ":conf q" and ":conf wq" commands. |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
297 func Test_confirm_q_wq() |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
298 CheckNotGui |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
299 CheckRunVimInTerminal |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
300 |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
301 call writefile(['foo'], 'Xfoo') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
302 |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
303 let lines =<< trim END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
304 set hidden nomore |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
305 call setline(1, 'abc') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
306 edit Xfoo |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
307 END |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
308 call writefile(lines, 'Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
309 let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
310 call term_sendkeys(buf, ":confirm q\n") |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
311 call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
312 \ term_getline(buf, 20))}, 1000) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
313 call term_sendkeys(buf, 'C') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
314 call WaitForAssert({-> assert_notmatch('^\[Y\]es, (N)o, (C)ancel: C*$', |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
315 \ term_getline(buf, 20))}, 1000) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
316 |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
317 call term_sendkeys(buf, ":edit Xfoo\n") |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
318 call term_sendkeys(buf, ":confirm wq\n") |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
319 call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$', |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
320 \ term_getline(buf, 20))}, 1000) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
321 call term_sendkeys(buf, 'C') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
322 call WaitForAssert({-> assert_notmatch('^\[Y\]es, (N)o, (C)ancel: C*$', |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
323 \ term_getline(buf, 20))}, 1000) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
324 call StopVimInTerminal(buf) |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
325 |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
326 call delete('Xscript') |
0016cba920ef
patch 8.2.1147: :confirm may happen in cooked mode
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
327 call delete('Xfoo') |
19289
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
328 endfunc |
2f0f308c069c
patch 8.2.0203: :helptags and some other functionality not tested
Bram Moolenaar <Bram@vim.org>
parents:
19231
diff
changeset
|
329 |
24572
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
330 func Test_confirm_write_ro() |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
331 CheckNotGui |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
332 CheckRunVimInTerminal |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
333 |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
334 call writefile(['foo'], 'Xconfirm_write_ro') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
335 let lines =<< trim END |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
336 set nobackup ff=unix cmdheight=2 |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
337 edit Xconfirm_write_ro |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
338 norm Abar |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
339 END |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
340 call writefile(lines, 'Xscript') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
341 let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
342 |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
343 " Try to write with 'ro' option. |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
344 call term_sendkeys(buf, ":set ro | confirm w\n") |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
345 call WaitForAssert({-> assert_match("^'readonly' option is set for \"Xconfirm_write_ro\"\. *$", |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
346 \ term_getline(buf, 18))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
347 call WaitForAssert({-> assert_match('^Do you wish to write anyway? *$', |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
348 \ term_getline(buf, 19))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
349 call WaitForAssert({-> assert_match('^(Y)es, \[N\]o: *$', term_getline(buf, 20))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
350 call term_sendkeys(buf, 'N') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
351 call WaitForAssert({-> assert_match('^ *$', term_getline(buf, 19))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
352 call WaitForAssert({-> assert_match('.* All$', term_getline(buf, 20))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
353 call assert_equal(['foo'], readfile('Xconfirm_write_ro')) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
354 |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
355 call term_sendkeys(buf, ":confirm w\n") |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
356 call WaitForAssert({-> assert_match("^'readonly' option is set for \"Xconfirm_write_ro\"\. *$", |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
357 \ term_getline(buf, 18))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
358 call WaitForAssert({-> assert_match('^Do you wish to write anyway? *$', |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
359 \ term_getline(buf, 19))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
360 call WaitForAssert({-> assert_match('^(Y)es, \[N\]o: *$', term_getline(buf, 20))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
361 call term_sendkeys(buf, 'Y') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
362 call WaitForAssert({-> assert_match('^"Xconfirm_write_ro" 1L, 7B written$', |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
363 \ term_getline(buf, 19))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
364 call assert_equal(['foobar'], readfile('Xconfirm_write_ro')) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
365 |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
366 " Try to write with read-only file permissions. |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
367 call setfperm('Xconfirm_write_ro', 'r--r--r--') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
368 call term_sendkeys(buf, ":set noro | undo | confirm w\n") |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
369 call WaitForAssert({-> assert_match("^File permissions of \"Xconfirm_write_ro\" are read-only\. *$", |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
370 \ term_getline(buf, 17))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
371 call WaitForAssert({-> assert_match('^It may still be possible to write it\. *$', |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
372 \ term_getline(buf, 18))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
373 call WaitForAssert({-> assert_match('^Do you wish to try? *$', term_getline(buf, 19))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
374 call WaitForAssert({-> assert_match('^(Y)es, \[N\]o: *$', term_getline(buf, 20))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
375 call term_sendkeys(buf, 'Y') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
376 call WaitForAssert({-> assert_match('^"Xconfirm_write_ro" 1L, 4B written$', |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
377 \ term_getline(buf, 19))}, 1000) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
378 call assert_equal(['foo'], readfile('Xconfirm_write_ro')) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
379 |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
380 call StopVimInTerminal(buf) |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
381 call delete('Xscript') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
382 call delete('Xconfirm_write_ro') |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
383 endfunc |
dcb3a856f515
patch 8.2.2825: code in checkreadonly() not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24172
diff
changeset
|
384 |
25569
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
385 func Test_confirm_write_partial_file() |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
386 CheckNotGui |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
387 CheckRunVimInTerminal |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
388 |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
389 call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial') |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
390 call writefile(['set nobackup ff=unix cmdheight=2', |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
391 \ 'edit Xwrite_partial'], 'Xscript') |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
392 let buf = RunVimInTerminal('-S Xscript', {'rows': 20}) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
393 |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
394 call term_sendkeys(buf, ":confirm 2,3w\n") |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
395 call WaitForAssert({-> assert_match('^Write partial file? *$', |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
396 \ term_getline(buf, 19))}, 1000) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
397 call WaitForAssert({-> assert_match('^(Y)es, \[N\]o: *$', |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
398 \ term_getline(buf, 20))}, 1000) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
399 call term_sendkeys(buf, 'N') |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
400 call WaitForAssert({-> assert_match('.* All$', term_getline(buf, 20))}, 1000) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
401 call assert_equal(['a', 'b', 'c', 'd'], readfile('Xwrite_partial')) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
402 call delete('Xwrite_partial') |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
403 |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
404 call term_sendkeys(buf, ":confirm 2,3w\n") |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
405 call WaitForAssert({-> assert_match('^Write partial file? *$', |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
406 \ term_getline(buf, 19))}, 1000) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
407 call WaitForAssert({-> assert_match('^(Y)es, \[N\]o: *$', |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
408 \ term_getline(buf, 20))}, 1000) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
409 call term_sendkeys(buf, 'Y') |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
410 call WaitForAssert({-> assert_match('^"Xwrite_partial" \[New\] 2L, 4B written *$', |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
411 \ term_getline(buf, 19))}, 1000) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
412 call WaitForAssert({-> assert_match('^Press ENTER or type command to continue *$', |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
413 \ term_getline(buf, 20))}, 1000) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
414 call assert_equal(['b', 'c'], readfile('Xwrite_partial')) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
415 |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
416 call StopVimInTerminal(buf) |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
417 call delete('Xwrite_partial') |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
418 call delete('Xscript') |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
419 endfunc |
8e9886ce88b3
patch 8.2.3321: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24914
diff
changeset
|
420 |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
421 " Test for the :print command |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
422 func Test_print_cmd() |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
423 call assert_fails('print', 'E749:') |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
424 endfunc |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
425 |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
426 " Test for the :winsize command |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
427 func Test_winsize_cmd() |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
428 call assert_fails('winsize 1', 'E465:') |
23855
a7098bc3810e
patch 8.2.2469: confusing error if :winsize has a wrong argument
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
429 call assert_fails('winsize 1 x', 'E465:') |
a7098bc3810e
patch 8.2.2469: confusing error if :winsize has a wrong argument
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
430 call assert_fails('win_getid(1)', 'E475: Invalid argument: _getid(1)') |
a7098bc3810e
patch 8.2.2469: confusing error if :winsize has a wrong argument
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
431 " Actually changing the window size would be flaky. |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
432 endfunc |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
433 |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
434 " Test for the :redir command |
24057
eeb5518a37aa
patch 8.2.2570: tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
23855
diff
changeset
|
435 " NOTE: if you run tests as root this will fail. Don't run tests as root! |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
436 func Test_redir_cmd() |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
437 call assert_fails('redir @@', 'E475:') |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
438 call assert_fails('redir abc', 'E475:') |
19689
da98d2ed8dc5
patch 8.2.0401: not enough test coverage for evalvars.c
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
439 call assert_fails('redir => 1abc', 'E474:') |
da98d2ed8dc5
patch 8.2.0401: not enough test coverage for evalvars.c
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
440 call assert_fails('redir => a b', 'E488:') |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21192
diff
changeset
|
441 call assert_fails('redir => abc[1]', 'E121:') |
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21192
diff
changeset
|
442 let b = 0zFF |
19689
da98d2ed8dc5
patch 8.2.0401: not enough test coverage for evalvars.c
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
443 call assert_fails('redir =>> b', 'E734:') |
da98d2ed8dc5
patch 8.2.0401: not enough test coverage for evalvars.c
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
444 unlet b |
da98d2ed8dc5
patch 8.2.0401: not enough test coverage for evalvars.c
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
445 |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
446 if has('unix') |
19689
da98d2ed8dc5
patch 8.2.0401: not enough test coverage for evalvars.c
Bram Moolenaar <Bram@vim.org>
parents:
19625
diff
changeset
|
447 " Redirecting to a directory name |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
448 call mkdir('Xdir') |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
449 call assert_fails('redir > Xdir', 'E17:') |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
450 call delete('Xdir', 'd') |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
451 endif |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
452 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
453 " Test for redirecting to a register |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
454 redir @q> | echon 'clean ' | redir END |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
455 redir @q>> | echon 'water' | redir END |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
456 call assert_equal('clean water', @q) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
457 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
458 " Test for redirecting to a variable |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
459 redir => color | echon 'blue ' | redir END |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
460 redir =>> color | echon 'sky' | redir END |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
461 call assert_equal('blue sky', color) |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
462 endfunc |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
463 |
24164
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
464 func Test_redir_cmd_readonly() |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
465 CheckNotRoot |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
466 |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
467 " Redirecting to a read-only file |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
468 call writefile([], 'Xfile') |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
469 call setfperm('Xfile', 'r--r--r--') |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
470 call assert_fails('redir! > Xfile', 'E190:') |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
471 call delete('Xfile') |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
472 endfunc |
2259c73cc1d9
patch 8.2.2623: some tests fail when run as root
Bram Moolenaar <Bram@vim.org>
parents:
24057
diff
changeset
|
473 |
19370
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
474 " Test for the :filetype command |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
475 func Test_filetype_cmd() |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
476 call assert_fails('filetype abc', 'E475:') |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
477 endfunc |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
478 |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
479 " Test for the :mode command |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
480 func Test_mode_cmd() |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
481 call assert_fails('mode abc', 'E359:') |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
482 endfunc |
02111977dd05
patch 8.2.0243: insufficient code coverage for ex_docmd.c functions
Bram Moolenaar <Bram@vim.org>
parents:
19289
diff
changeset
|
483 |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
484 " Test for the :sleep command |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
485 func Test_sleep_cmd() |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
486 call assert_fails('sleep x', 'E475:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
487 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
488 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
489 " Test for the :read command |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
490 func Test_read_cmd() |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
491 call writefile(['one'], 'Xfile') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
492 new |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
493 call assert_fails('read', 'E32:') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
494 edit Xfile |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
495 read |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
496 call assert_equal(['one', 'one'], getline(1, '$')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
497 close! |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
498 new |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
499 read Xfile |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
500 call assert_equal(['', 'one'], getline(1, '$')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
501 call deletebufline('', 1, '$') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
502 call feedkeys("Qr Xfile\<CR>visual\<CR>", 'xt') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
503 call assert_equal(['one'], getline(1, '$')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
504 close! |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
505 call delete('Xfile') |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
506 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
507 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
508 " Test for running Ex commands when text is locked. |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
509 " <C-\>e in the command line is used to lock the text |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
510 func Test_run_excmd_with_text_locked() |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
511 " :quit |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
512 let cmd = ":\<C-\>eexecute('quit')\<CR>\<C-C>" |
20118
252d2bb90394
patch 8.2.0614: get ml_get error when deleting a line in 'completefunc'
Bram Moolenaar <Bram@vim.org>
parents:
19852
diff
changeset
|
513 call assert_fails("call feedkeys(cmd, 'xt')", 'E565:') |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
514 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
515 " :qall |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
516 let cmd = ":\<C-\>eexecute('qall')\<CR>\<C-C>" |
20118
252d2bb90394
patch 8.2.0614: get ml_get error when deleting a line in 'completefunc'
Bram Moolenaar <Bram@vim.org>
parents:
19852
diff
changeset
|
517 call assert_fails("call feedkeys(cmd, 'xt')", 'E565:') |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
518 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
519 " :exit |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
520 let cmd = ":\<C-\>eexecute('exit')\<CR>\<C-C>" |
20118
252d2bb90394
patch 8.2.0614: get ml_get error when deleting a line in 'completefunc'
Bram Moolenaar <Bram@vim.org>
parents:
19852
diff
changeset
|
521 call assert_fails("call feedkeys(cmd, 'xt')", 'E565:') |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
522 |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
523 " :close - should be ignored |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
524 new |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
525 let cmd = ":\<C-\>eexecute('close')\<CR>\<C-C>" |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
526 call assert_equal(2, winnr('$')) |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
527 close |
19471
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
528 |
20118
252d2bb90394
patch 8.2.0614: get ml_get error when deleting a line in 'completefunc'
Bram Moolenaar <Bram@vim.org>
parents:
19852
diff
changeset
|
529 call assert_fails("call feedkeys(\":\<C-R>=execute('bnext')\<CR>\", 'xt')", 'E565:') |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20118
diff
changeset
|
530 |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20118
diff
changeset
|
531 " :tabfirst |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20118
diff
changeset
|
532 tabnew |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20118
diff
changeset
|
533 call assert_fails("call feedkeys(\":\<C-R>=execute('tabfirst')\<CR>\", 'xt')", 'E565:') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20118
diff
changeset
|
534 tabclose |
19471
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
535 endfunc |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
536 |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
537 " Test for the :verbose command |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
538 func Test_verbose_cmd() |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
539 call assert_equal([' verbose=1'], split(execute('verbose set vbs'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
540 call assert_equal([' verbose=0'], split(execute('0verbose set vbs'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
541 let l = execute("4verbose set verbose | set verbose") |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
542 call assert_equal([' verbose=4', ' verbose=0'], split(l, "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
543 endfunc |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
544 |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
545 " Test for the :delete command and the related abbreviated commands |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
546 func Test_excmd_delete() |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
547 new |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
548 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
549 call assert_equal(['^Ibar$'], split(execute('dl'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
550 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
551 call assert_equal(['^Ibar$'], split(execute('dell'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
552 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
553 call assert_equal(['^Ibar$'], split(execute('delel'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
554 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
555 call assert_equal(['^Ibar$'], split(execute('deletl'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
556 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
557 call assert_equal(['^Ibar$'], split(execute('deletel'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
558 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
559 call assert_equal([' bar'], split(execute('dp'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
560 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
561 call assert_equal([' bar'], split(execute('dep'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
562 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
563 call assert_equal([' bar'], split(execute('delp'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
564 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
565 call assert_equal([' bar'], split(execute('delep'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
566 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
567 call assert_equal([' bar'], split(execute('deletp'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
568 call setline(1, ['foo', "\tbar"]) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
569 call assert_equal([' bar'], split(execute('deletep'), "\n")) |
cb73f4ae6b7c
patch 8.2.0293: various Ex commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19435
diff
changeset
|
570 close! |
19425
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
571 endfunc |
67fbe280a502
patch 8.2.0270: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
19370
diff
changeset
|
572 |
19852
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
573 " Test for commands that are blocked in a sandbox |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
574 func Sandbox_tests() |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
575 call assert_fails("call histadd(':', 'ls')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
576 call assert_fails("call mkdir('Xdir')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
577 call assert_fails("call rename('a', 'b')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
578 call assert_fails("call setbufvar(1, 'myvar', 1)", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
579 call assert_fails("call settabvar(1, 'myvar', 1)", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
580 call assert_fails("call settabwinvar(1, 1, 'myvar', 1)", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
581 call assert_fails("call setwinvar(1, 'myvar', 1)", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
582 call assert_fails("call timer_start(100, '')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
583 if has('channel') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
584 call assert_fails("call prompt_setcallback(1, '')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
585 call assert_fails("call prompt_setinterrupt(1, '')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
586 call assert_fails("call prompt_setprompt(1, '')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
587 endif |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
588 call assert_fails("let $TESTVAR=1", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
589 call assert_fails("call feedkeys('ivim')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
590 call assert_fails("source! Xfile", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
591 call assert_fails("call delete('Xfile')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
592 call assert_fails("call writefile([], 'Xfile')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
593 call assert_fails('!ls', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
594 call assert_fails('shell', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
595 call assert_fails('stop', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
596 call assert_fails('exe "normal \<C-Z>"', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
597 set insertmode |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
598 call assert_fails('call feedkeys("\<C-Z>", "xt")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
599 set insertmode& |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
600 call assert_fails('suspend', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
601 call assert_fails('call system("ls")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
602 call assert_fails('call systemlist("ls")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
603 if has('clientserver') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
604 call assert_fails('let s=remote_expr("gvim", "2+2")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
605 if !has('win32') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
606 " remote_foreground() doesn't thrown an error message on MS-Windows |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
607 call assert_fails('call remote_foreground("gvim")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
608 endif |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
609 call assert_fails('let s=remote_peek("gvim")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
610 call assert_fails('let s=remote_read("gvim")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
611 call assert_fails('let s=remote_send("gvim", "abc")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
612 call assert_fails('let s=server2client("gvim", "abc")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
613 endif |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
614 if has('terminal') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
615 call assert_fails('terminal', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
616 call assert_fails('call term_start("vim")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
617 call assert_fails('call term_dumpwrite(1, "Xfile")', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
618 endif |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
619 if has('channel') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
620 call assert_fails("call ch_logfile('chlog')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
621 call assert_fails("call ch_open('localhost:8765')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
622 endif |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
623 if has('job') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
624 call assert_fails("call job_start('vim')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
625 endif |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
626 if has('unix') && has('libcall') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
627 call assert_fails("echo libcall('libc.so', 'getenv', 'HOME')", 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
628 endif |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
629 if has('unix') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
630 call assert_fails('cd `pwd`', 'E48:') |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
631 endif |
24882
4c1b6f3eb96b
patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24814
diff
changeset
|
632 " some options cannot be changed in a sandbox |
4c1b6f3eb96b
patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24814
diff
changeset
|
633 call assert_fails('set exrc', 'E48:') |
4c1b6f3eb96b
patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24814
diff
changeset
|
634 call assert_fails('set cdpath', 'E48:') |
24914
1186160ecf57
patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24882
diff
changeset
|
635 if has('xim') && has('gui_gtk') |
24882
4c1b6f3eb96b
patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24814
diff
changeset
|
636 call assert_fails('set imstyle', 'E48:') |
4c1b6f3eb96b
patch 8.2.2979: not all options code is covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24814
diff
changeset
|
637 endif |
19852
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
638 endfunc |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
639 |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
640 func Test_sandbox() |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
641 sandbox call Sandbox_tests() |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
642 endfunc |
12518b40c161
patch 8.2.0482: channel and sandbox code not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19828
diff
changeset
|
643 |
24596
acd9220bdd0b
patch 8.2.2837: various code lines not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24572
diff
changeset
|
644 func Test_command_not_implemented_E319() |
acd9220bdd0b
patch 8.2.2837: various code lines not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24572
diff
changeset
|
645 if !has('mzscheme') |
acd9220bdd0b
patch 8.2.2837: various code lines not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24572
diff
changeset
|
646 call assert_fails('mzscheme', 'E319:') |
acd9220bdd0b
patch 8.2.2837: various code lines not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24572
diff
changeset
|
647 endif |
acd9220bdd0b
patch 8.2.2837: various code lines not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24572
diff
changeset
|
648 endfunc |
acd9220bdd0b
patch 8.2.2837: various code lines not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24572
diff
changeset
|
649 |
25883
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
650 func Test_not_break_expression_register() |
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
651 call setreg('=', '1+1') |
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
652 if 0 |
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
653 put =1 |
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
654 endif |
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
655 call assert_equal('1+1', getreg('=', 1)) |
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
656 endfunc |
826c36b4640b
patch 8.2.3475: expression register set by not executed put command
Bram Moolenaar <Bram@vim.org>
parents:
25569
diff
changeset
|
657 |
19231
b8fd7364befd
patch 8.2.0174: various commands not completely tested
Bram Moolenaar <Bram@vim.org>
parents:
18463
diff
changeset
|
658 " vim: shiftwidth=2 sts=2 expandtab |