Mercurial > vim
annotate src/testdir/test_execute_func.vim @ 15691:a8ed064ed316 v8.1.0853
patch 8.1.0853: options test fails on Mac
commit https://github.com/vim/vim/commit/cbbd0f657803a9a3a9f5e2c66bce6e1ea1d6a64b
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jan 30 22:36:18 2019 +0100
patch 8.1.0853: options test fails on Mac
Problem: Options test fails on Mac.
Solution: Remove a trailing slash from $TMPDIR.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 30 Jan 2019 22:45:06 +0100 |
parents | 895abc8a5195 |
children | 6699c03347d2 |
rev | line source |
---|---|
9454
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " test execute() |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 func NestedEval() |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 let nested = execute('echo "nested\nlines"') |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 echo 'got: "' . nested . '"' |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 endfunc |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 func NestedRedir() |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 redir => var |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 echo 'broken' |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 redir END |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 endfunc |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 func Test_execute_string() |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 call assert_equal("\nnocompatible", execute('set compatible?')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 call assert_equal("\nsomething\nnice", execute('echo "something\nnice"')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 call assert_equal("noendofline", execute('echon "noendofline"')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 call assert_equal("", execute(123)) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 call assert_equal("\ngot: \"\nnested\nlines\"", execute('call NestedEval()')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 redir => redired |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 echo 'this' |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 let evaled = execute('echo "that"') |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 echo 'theend' |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 redir END |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 call assert_equal("\nthis\ntheend", redired) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 call assert_equal("\nthat", evaled) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 call assert_fails('call execute("doesnotexist")', 'E492:') |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 call assert_fails('call execute(3.4)', 'E806:') |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 call assert_fails('call execute("call NestedRedir()")', 'E930:') |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 call assert_equal("\nsomething", execute('echo "something"', '')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 call assert_equal("\nsomething", execute('echo "something"', 'silent')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 call assert_equal("\nsomething", execute('echo "something"', 'silent!')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 call assert_equal("", execute('burp', 'silent!')) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 call assert_fails('call execute("echo \"x\"", 3.4)', 'E806:') |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 call assert_equal("", execute(test_null_string())) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 endfunc |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 func Test_execute_list() |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 call assert_equal("\nsomething\nnice", execute(['echo "something"', 'echo "nice"'])) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 let l = ['for n in range(0, 3)', |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 \ 'echo n', |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 \ 'endfor'] |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 call assert_equal("\n0\n1\n2\n3", execute(l)) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 call assert_equal("", execute([])) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 call assert_equal("", execute(test_null_list())) |
9da0cb39cbee
commit https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 endfunc |
15117
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
52 |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
53 func Test_execute_does_not_change_col() |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
54 echo '' |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
55 echon 'abcd' |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
56 let x = execute('silent echo 234343') |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
57 echon 'xyz' |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
58 let text = '' |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
59 for col in range(1, 7) |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
60 let text .= nr2char(screenchar(&lines, col)) |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
61 endfor |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
62 call assert_equal('abcdxyz', text) |
2fed75dee954
patch 8.1.0569: execute() always resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
9454
diff
changeset
|
63 endfunc |
15121
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
64 |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
65 func Test_execute_not_silent() |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
66 echo '' |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
67 echon 'abcd' |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
68 let x = execute('echon 234', '') |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
69 echo 'xyz' |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
70 let text1 = '' |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
71 for col in range(1, 8) |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
72 let text1 .= nr2char(screenchar(&lines - 1, col)) |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
73 endfor |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
74 call assert_equal('abcd234 ', text1) |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
75 let text2 = '' |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
76 for col in range(1, 4) |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
77 let text2 .= nr2char(screenchar(&lines, col)) |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
78 endfor |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
79 call assert_equal('xyz ', text2) |
895abc8a5195
patch 8.1.0571: non-silent execute() resets display column to zero
Bram Moolenaar <Bram@vim.org>
parents:
15117
diff
changeset
|
80 endfunc |