annotate src/testdir/test_tcl.vim @ 35172:c98f002b1fe4 default tip

runtime(doc): fix typo in usr_52.txt Commit: https://github.com/vim/vim/commit/b7258738f80f26be302a84a99f968b3bdc2f29bb Author: Christian Brabandt <cb@256bit.org> Date: Sun May 12 19:04:47 2024 +0200 runtime(doc): fix typo in usr_52.txt fixes: https://github.com/vim/vim/issues/14758 Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 12 May 2024 19:15:08 +0200
parents daaff6843090
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10763
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests for the Tcl interface.
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
17089
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
3 source check.vim
8e9e9124c7a2 patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents: 17049
diff changeset
4 CheckFeature tcl
10763
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
6 " Helper function as there is no builtin tcleval() function similar
17918
9606c0adc148 patch 8.1.1955: tests contain typos
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
7 " to perleval, luaeval(), pyeval(), etc.
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
8 func TclEval(tcl_expr)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
9 let s = split(execute('tcl ' . a:tcl_expr), "\n")
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
10 return (len(s) == 0) ? '' : s[-1]
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
11 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
12
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
13 func Test_tcldo()
34234
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
14 new
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
15
10763
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 " Check deleting lines does not trigger ml_get error.
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 call setline(1, ['one', 'two', 'three'])
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 tcldo ::vim::command %d_
34234
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
19 call assert_equal(['one'], getline(1, '$'))
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
20
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
21 call setline(1, ['one', 'two', 'three'])
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
22 tcldo ::vim::command 1,2d_
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
23 call assert_equal(['one'], getline(1, '$'))
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
24
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
25 call setline(1, ['one', 'two', 'three'])
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
26 tcldo ::vim::command 2,3d_ ; set line REPLACED
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
27 call assert_equal(['REPLACED'], getline(1, '$'))
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
28
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
29 call setline(1, ['one', 'two', 'three'])
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
30 2,3tcldo ::vim::command 1,2d_ ; set line REPLACED
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
31 call assert_equal(['three'], getline(1, '$'))
daaff6843090 patch 9.1.0062: Internal error when :luado/perldo/pydo etc delete lines
Christian Brabandt <cb@256bit.org>
parents: 31347
diff changeset
32
10763
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 bwipe!
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
35 " Check that switching to another buffer does not trigger ml_get error.
10763
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 new
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 let wincount = winnr('$')
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38 call setline(1, ['one', 'two', 'three'])
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39 tcldo ::vim::command new
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 call assert_equal(wincount + 1, winnr('$'))
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
41
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
42 " Try to run a command in a 'nomodifiable' buffer
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
43 call setline(1, ['one', 'two', 'three'])
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
44 set nomodifiable
21269
0a8322506058 patch 8.2.1185: some other tests fail
Bram Moolenaar <Bram@vim.org>
parents: 21228
diff changeset
45 call assert_fails('tcldo set line "abc"',
0a8322506058 patch 8.2.1185: some other tests fail
Bram Moolenaar <Bram@vim.org>
parents: 21228
diff changeset
46 \ ['E21:', 'cannot save undo information'])
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
47 set modifiable
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
48
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
49 %bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
50 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
51
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
52 " Test :tcldo with a range
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
53 func Test_tcldo_range()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
54 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
55 call setline(1, ['line1', 'line2', 'line3', 'line4'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
56 2,3tcldo set line [string toupper $line]
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
57 call assert_equal(['line1', 'LINE2', 'LINE3', 'line4'], getline(1, '$'))
10763
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
58 bwipe!
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
59 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
60
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
61 " Test ::vim::beep
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
62 func Test_vim_beep()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
63 call assert_beeps('tcl ::vim::beep')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
64 call assert_fails('tcl ::vim::beep x', 'wrong # args: should be "::vim::beep"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
65 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
66
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
67 " Test ::vim::buffer
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
68 func Test_vim_buffer()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
69 " Test ::vim::buffer {nr}
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
70 e Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
71 call setline(1, ['foobar'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
72 let bn1 = bufnr('%')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
73 let b1 = TclEval('::vim::buffer ' . bn1)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
74 call assert_equal(b1, TclEval('set ::vim::current(buffer)'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
75
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
76 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
77 call setline(1, ['barfoo'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
78 let bn2 = bufnr('%')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
79 let b2 = TclEval('::vim::buffer ' . bn2)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
80 call assert_equal(b2, TclEval('set ::vim::current(buffer)'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
81
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
82 call assert_match('Xfoo1$', TclEval(b1 . ' name'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
83 call assert_match('Xfoo2$', TclEval(b2 . ' name'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
84
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
85 " Test ::vim::buffer exists {nr}
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
86 call assert_match('^[1-9]\d*$', TclEval('::vim::buffer exists ' . bn1))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
87 call assert_match('^[1-9]\d*$', TclEval('::vim::buffer exists ' . bn2))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
88 call assert_equal('0', TclEval('::vim::buffer exists 54321'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
89
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
90 " Test ::vim::buffer list
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
91 call assert_equal('2', TclEval('llength [::vim::buffer list]'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
92 call assert_equal(b1.' '.b2, TclEval('::vim::buffer list'))
20045
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
93 tcl << trim EOF
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
94 proc eachbuf { cmd } {
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
95 foreach b [::vim::buffer list] { $b command $cmd }
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
96 }
20045
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
97 EOF
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
98 tcl eachbuf %s/foo/FOO/g
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
99 b! Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
100 call assert_equal(['FOObar'], getline(1, '$'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
101 b! Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
102 call assert_equal(['barFOO'], getline(1, '$'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
103
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
104 call assert_fails('tcl ::vim::buffer',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
105 \ 'wrong # args: should be "::vim::buffer option"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
106 call assert_fails('tcl ::vim::buffer ' . bn1 . ' x',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
107 \ 'wrong # args: should be "::vim::buffer bufNumber"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
108 call assert_fails('tcl ::vim::buffer 4321', 'invalid buffer number')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
109 call assert_fails('tcl ::vim::buffer x',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
110 \ 'bad option "x": must be exists or list')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
111 call assert_fails('tcl ::vim::buffer exists',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
112 \ 'wrong # args: should be "::vim::buffer exists bufNumber"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
113 call assert_fails('tcl ::vim::buffer exists x',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
114 \ 'expected integer but got "x"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
115 call assert_fails('tcl ::vim::buffer list x',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
116 \ 'wrong # args: should be "::vim::buffer list "')
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
117 " Invalid buffer command
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
118 call assert_fails('tcl $::vim::current(buffer) abcd',
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
119 \ 'bad option "abcd":')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
120
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
121 tcl rename eachbuf ""
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
122 %bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
123 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
124
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
125 " Test ::vim::option
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
126 func Test_vim_option()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
127 set cc=3,5
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
128
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
129 " Test getting option 'cc'
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
130 call assert_equal('3,5', TclEval('::vim::option cc'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
131 call assert_equal('3,5', &cc)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
132
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
133 " Test setting option 'cc' (it returns the old option value)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
134 call assert_equal('3,5', TclEval('::vim::option cc +4'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
135 call assert_equal('+4', &cc)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
136 call assert_equal('+4', TclEval('::vim::option cc'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
137
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
138 " Test boolean option with 'toggle', 'on' and 'off' keywords.
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
139 call assert_equal('0', TclEval('::vim::option nu toggle'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
140 call assert_equal(1, &nu)
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
141 call assert_equal('1', TclEval('::vim::option nu toggle'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
142 call assert_equal(0, &nu)
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
143 call assert_equal('0', TclEval('::vim::option nu on'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
144 call assert_equal(1, &nu)
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
145 call assert_equal('1', TclEval('::vim::option nu off'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
146 call assert_equal(0, &nu)
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
147
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
148 call assert_fails('tcl ::vim::option nu x', 'expected integer but got "x"')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
149 call assert_fails('tcl ::vim::option xxx', 'unknown vimOption')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
150 call assert_fails('tcl ::vim::option',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
151 \ 'wrong # args: should be "::vim::option vimOption ?value?"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
152
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
153 set cc&
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
154 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
155
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
156 " Test ::vim::expr
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
157 func Test_vim_expr()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
158 call assert_equal(string(char2nr('X')),
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
159 \ TclEval('::vim::expr char2nr("X")'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
160
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
161 call assert_fails('tcl ::vim::expr x y',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
162 \ 'wrong # args: should be "::vim::expr vimExpr"')
24641
000568dd900a patch 8.2.2859: Tcl test fails because of changed error message
Bram Moolenaar <Bram@vim.org>
parents: 21269
diff changeset
163 call assert_fails('tcl ::vim::expr 1-', 'E15: Invalid expression: "1-"')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
164 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
165
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
166 " Test ::vim::command
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
167 func Test_vim_command()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
168 call assert_equal('hello world',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
169 \ TclEval('::vim::command {echo "hello world"}'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
170
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
171 " Check that if ::vim::command created a new Tcl interpreter, it is removed.
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
172 tcl set foo 123
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
173 call assert_equal('321', TclEval('::vim::command "tcl set foo 321"'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
174 call assert_equal('123', TclEval('set foo'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
175
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
176 " With the -quiet option, the error should silently be ignored.
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
177 call assert_equal('', TclEval('::vim::command -quiet xyz'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
178
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
179 call assert_fails('tcl ::vim::command',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
180 \ 'wrong # args: should be "::vim::command ?-quiet? exCommand"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
181 call assert_fails('tcl ::vim::command -foo xyz', 'unknown flag: -foo')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
182 call assert_fails('tcl ::vim::command xyz',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
183 \ 'E492: Not an editor command: xyz')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
184
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
185 " With the -quiet option, the error should silently be ignored.
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
186 call assert_equal('', TclEval('::vim::command -quiet xyz'))
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
187
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
188 tcl unset foo
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
189 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
190
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
191 " Test ::vim::window list
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
192 func Test_vim_window_list()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
193 e Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
194 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
195 let w2 = TclEval('set ::vim::current(window)')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
196 wincmd j
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
197 let w1 = TclEval('set ::vim::current(window)')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
198
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
199 call assert_equal('2', TclEval('llength [::vim::window list]'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
200 call assert_equal(w2.' '.w1, TclEval('::vim::window list'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
201
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
202 call assert_fails('tcl ::vim::window x', 'unknown option')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
203 call assert_fails('tcl ::vim::window list x',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
204 \ 'wrong # args: should be "::vim::window option"')
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
205 call assert_fails('tcl $::vim::current(window) abcd',
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
206 \ 'bad option "abcd":')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
207
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
208 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
209 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
210
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
211 " Test output messages
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
212 func Test_output()
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
213 call assert_fails('tcl puts vimerr "error #1"', 'error #1')
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
214 call assert_fails('tcl puts stderr "error #2"', 'error #2')
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
215 tcl puts vimout "message #1"
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
216 tcl puts stdout "message #2"
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
217 tcl puts "message #3"
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
218 let messages = split(execute('message'), "\n")
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
219 call assert_equal('message #3', messages[-1])
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
220 call assert_equal('message #2', messages[-2])
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
221 call assert_equal('message #1', messages[-3])
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
222
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
223 call assert_fails('tcl puts',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
224 \ 'wrong # args: should be "puts ?-nonewline? ?channelId? string"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
225 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
226
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
227 " Test $win height (get and set window height)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
228 func Test_window_height()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
229 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
230
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
231 " Test setting window height
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
232 tcl $::vim::current(window) height 2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
233 call assert_equal(2, winheight(0))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
234
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
235 " Test getting window height
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
236 call assert_equal('2', TclEval('$::vim::current(window) height'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
237
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
238 call assert_fails('tcl $::vim::current(window) height 2 2', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
239 call assert_fails('tcl $::vim::current(window) height x',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
240 \ 'expected integer but got "x"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
241 bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
242 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
243
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
244 " Test $win cursor (get and set cursor)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
245 func Test_window_cursor()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
246 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
247 call setline(1, ['line1', 'line2', 'line3', 'line5'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
248 tcl set win $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
249
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
250 tcl $win cursor 2 4
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
251 call assert_equal([0, 2, 4, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
252 call assert_equal('row 2 column 4', TclEval('$win cursor'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
253
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
254 " When setting ::vim::lbase to 0, line/col are counted from 0
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
255 " instead of 1.
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
256 tcl set ::vim::lbase 0
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
257 call assert_equal([0, 2, 4, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
258 call assert_equal('row 1 column 3', TclEval('$win cursor'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
259 tcl $win cursor 2 4
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
260 call assert_equal([0, 3, 5, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
261 call assert_equal('row 2 column 4', TclEval('$win cursor'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
262 tcl set ::vim::lbase 1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
263 call assert_equal('row 3 column 5', TclEval('$win cursor'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
264 call assert_equal([0, 3, 5, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
265
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
266 " test $win cursor {$var}
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
267 call cursor(2, 3)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
268 tcl array set here [$win cursor]
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
269 call assert_equal([0, 2, 3, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
270 call cursor(3, 1)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
271 call assert_equal([0, 3, 1, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
272 tcl $win cursor here
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
273 call assert_equal([0, 2, 3, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
274 call cursor(3, 1)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
275 call assert_equal([0, 3, 1, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
276 tcl $win cursor $here(row) $here(column)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
277 call assert_equal([0, 2, 3, 0], getpos('.'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
278
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
279 " Invalid values for the row and column
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
280 tcl array set pos {1 2}
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
281 call assert_fails('tcl $win cursor pos', "can't read \"pos(row)\":")
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
282 tcl array set pos {row '' abc 2}
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
283 call assert_fails('tcl $win cursor pos', "expected integer but got \"''\"")
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
284 tcl array set pos {row 1 abc 2}
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
285 call assert_fails('tcl $win cursor pos', "can't read \"pos(column)\":")
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
286 tcl array set pos {row 1 column ''}
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
287 call assert_fails('tcl $win cursor pos', "expected integer but got \"''\"")
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
288
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
289 call assert_fails("tcl $win cursor '' 2", "expected integer but got \"''\"")
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
290 call assert_fails("tcl $win cursor 1 ''", "expected integer but got \"''\"")
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
291
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
292 call assert_fails('tcl $win cursor 1 1 1', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
293
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
294 tcl unset win here
10763
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
295 bwipe!
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
296 endfunc
ae0bbbbe2a38 patch 8.0.0271: may get ml_get error when :tcldo deletes lines
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
297
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
298 " Test $win buffer
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
299 func Test_window_buffer()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
300 new Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
301 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
302 tcl set b2 $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
303 tcl set w2 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
304 wincmd j
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
305 tcl set b1 $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
306 tcl set w1 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
307
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
308 call assert_equal(TclEval('set b1'), TclEval('$w1 buffer'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
309 call assert_equal(TclEval('set b2'), TclEval('$w2 buffer'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
310 call assert_equal(string(bufnr('Xfoo1')), TclEval('[$w1 buffer] number'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
311 call assert_equal(string(bufnr('Xfoo2')), TclEval('[$w2 buffer] number'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
312
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
313 call assert_fails('tcl $w1 buffer x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
314
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
315 tcl unset b1 b2 w1 w2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
316 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
317 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
318
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
319 " Test $win command
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
320 func Test_window_command()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
321 new Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
322 call setline(1, ['FOObar'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
323 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
324 call setline(1, ['fooBAR'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
325 tcl set w2 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
326 wincmd j
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
327 tcl set w1 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
328
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
329 tcl $w1 command "norm VU"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
330 tcl $w2 command "norm Vu"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
331 b! Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
332 call assert_equal('FOOBAR', getline(1))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
333 b! Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
334 call assert_equal('foobar', getline(1))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
335
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
336 call assert_fails('tcl $w1 command xyz',
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
337 \ 'E492: Not an editor command: xyz')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
338 tcl $w1 command -quiet xyz
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
339
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
340 tcl unset w1 w2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
341 %bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
342 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
343
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
344 " Test $win expr
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
345 func Test_window_expr()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
346 new Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
347 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
348 tcl set w2 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
349 wincmd j
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
350 tcl set w1 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
351
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
352 call assert_equal('Xfoo1', TclEval('$w1 expr bufname("%")'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
353 call assert_equal('Xfoo2', TclEval('$w2 expr bufname("%")'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
354
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
355 call assert_fails('tcl $w1 expr', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
356 call assert_fails('tcl $w1 expr x x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
357
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
358 tcl unset w1 w2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
359 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
360 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
361
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
362 " Test $win option
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
363 func Test_window_option()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
364 new Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
365 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
366 tcl set w2 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
367 wincmd j
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
368 tcl set w1 $::vim::current(window)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
369
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
370 " Test setting window option
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
371 tcl $w1 option syntax java
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
372 tcl $w2 option syntax rust
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
373
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
374 call assert_equal('java', &syntax)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
375 wincmd k
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
376 call assert_equal('rust', &syntax)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
377
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
378 " Test getting window option
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
379 call assert_equal('java', TclEval('$w1 option syntax'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
380 call assert_equal('rust', TclEval('$w2 option syntax'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
381
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
382 tcl unset w1 w2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
383 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
384 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
385
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
386 " Test $win delcmd {cmd}
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
387 func Test_window_delcmd()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
388 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
389 tcl $::vim::current(window) delcmd [list set msg "window deleted"]
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
390 call assert_fails('tcl set msg', "can't read \"msg\": no such variable")
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
391 q
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
392 call assert_equal('window deleted', TclEval('set msg'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
393
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
394 call assert_fails('tcl $::vim::current(window) delcmd', 'wrong # args')
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
395 call assert_fails('tcl $::vim::current(window) delcmd x x', 'wrong # args')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
396
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
397 tcl unset msg
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
398 bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
399 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
400
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
401 " Test $buf name
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
402 func Test_buffer_name()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
403 " Test buffer name with a named buffer
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
404 new Xfoo
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
405 call assert_equal(expand('%:p'), TclEval('$::vim::current(buffer) name'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
406 bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
407
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
408 " Test buffer name with an unnamed buffer
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
409 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
410 call assert_equal('', TclEval('$::vim::current(buffer) name'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
411
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
412 call assert_fails('tcl $::vim::current(buffer) name x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
413
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
414 bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
415 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
416
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
417 " Test $buf number
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
418 func Test_buffer_number()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
419 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
420 call assert_equal(string(bufnr('%')), TclEval('$::vim::current(buffer) number'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
421 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
422 call assert_equal(string(bufnr('%')), TclEval('$::vim::current(buffer) number'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
423
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
424 call assert_fails('tcl $::vim::current(buffer) number x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
425
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
426 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
427 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
428
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
429 " Test $buf count and $buf last
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
430 func Test_buffer_count()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
431 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
432 call setline(1, ['one', 'two', 'three'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
433 call assert_equal('3', TclEval('$::vim::current(buffer) count'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
434 call assert_equal('3', TclEval('$::vim::current(buffer) last'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
435
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
436 " Check that $buf count and $buf last differ when ::vim::lbase is 0.
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
437 tcl set ::vim::lbase 0
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
438 call assert_equal('3', TclEval('$::vim::current(buffer) count'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
439 call assert_equal('2', TclEval('$::vim::current(buffer) last'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
440
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
441 call assert_fails('tcl $::vim::current(buffer) count x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
442 call assert_fails('tcl $::vim::current(buffer) last x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
443
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
444 tcl set ::vim::lbase 1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
445 bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
446 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
447
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
448 " Test $buf delete (delete line(s) in buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
449 func Test_buffer_delete()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
450 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
451 call setline(1, ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
452 tcl $::vim::current(buffer) delete 4 6
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
453 tcl $::vim::current(buffer) delete 2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
454 call assert_equal(['one', 'three', 'seven', 'eight'], getline(1, '$'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
455
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
456 call assert_fails('tcl $::vim::current(buffer) delete -1', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
457 call assert_fails('tcl $::vim::current(buffer) delete 0', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
458 call assert_fails('tcl $::vim::current(buffer) delete 5', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
459
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
460 call assert_fails('tcl $::vim::current(buffer) delete', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
461 call assert_fails('tcl $::vim::current(buffer) delete 1 2 3', 'wrong # args:')
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
462 call assert_fails('tcl $::vim::current(buffer) delete 1 abc',
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
463 \ 'expected integer but got "abc"')
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
464
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
465 " Try to delete lines from an 'nomodifiable' buffer
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
466 set nomodifiable
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
467 call assert_fails('tcl $::vim::current(buffer) delete 2 1',
21269
0a8322506058 patch 8.2.1185: some other tests fail
Bram Moolenaar <Bram@vim.org>
parents: 21228
diff changeset
468 \ ['E21:', 'cannot save undo information'])
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
469 set modifiable
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
470
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
471 bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
472 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
473
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
474 " Test $buf insert (insert line(s) in buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
475 func Test_buffer_insert()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
476 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
477 tcl set buf $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
478 tcl $buf insert 1 "first"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
479 tcl $buf insert 2 "second"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
480 tcl $buf insert 2 "third"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
481 tcl $buf insert 4 "fourth"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
482 tcl $buf insert 1 "fifth"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
483 call assert_equal(['fifth', 'first', 'third', 'second', 'fourth', ''], getline(1, '$'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
484
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
485 call assert_fails('tcl $buf insert -1 "x"', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
486 call assert_fails('tcl $buf insert 0 "x"', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
487 call assert_fails('tcl $buf insert 7 "x"', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
488
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
489 tcl unset buf
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
490 bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
491 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
492
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
493 " Test $buf append (append line in buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
494 func Test_buffer_append()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
495 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
496 tcl set buf $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
497 tcl $buf append 1 "first"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
498 tcl $buf append 2 "second"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
499 tcl $buf append 2 "third"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
500 tcl $buf append 4 "fourth"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
501 tcl $buf append 1 "fifth"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
502 call assert_equal(['', 'fifth', 'first', 'third', 'second', 'fourth'], getline(1, '$'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
503
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
504 call assert_fails('tcl $buf append -1 "x"', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
505 call assert_fails('tcl $buf append 0 "x"', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
506 call assert_fails('tcl $buf append 7 "x"', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
507
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
508 call assert_fails('tcl $buf append', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
509 call assert_fails('tcl $buf append 1 x x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
510
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
511 " Try to append lines to a 'nomodifiable' buffer
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
512 set nomodifiable
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
513 call assert_fails('tcl $buf append 1 "first"',
21269
0a8322506058 patch 8.2.1185: some other tests fail
Bram Moolenaar <Bram@vim.org>
parents: 21228
diff changeset
514 \ ['E21:', 'cannot save undo information'])
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
515 set modifiable
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
516
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
517 tcl unset buf
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
518 bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
519 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
520
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
521 " Test $buf set (replacing line(s) in a buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
522 func Test_buffer_set()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
523 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
524 call setline(1, ['line1', 'line2', 'line3', 'line4', 'line5'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
525 tcl $::vim::current(buffer) set 2 a
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
526 call assert_equal(['line1', 'a', 'line3', 'line4', 'line5'], getline(1, '$'))
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
527
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
528 " Test with fewer replacing lines than replaced lines: lines get deleted.
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
529 tcl $::vim::current(buffer) set 3 4 b
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
530 call assert_equal(['line1', 'a', 'b', 'line5'], getline(1, '$'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
531 tcl $::vim::current(buffer) set 4 3 c
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
532 call assert_equal(['line1', 'a', 'c'], getline(1, '$'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
533
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
534 " Test with more replacing lines than replaced lines: lines get added.
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
535 tcl $::vim::current(buffer) set 2 3 {x y z}
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
536 call assert_equal(['line1', 'x', 'y', 'z'], getline(1, '$'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
537 tcl $::vim::current(buffer) set 3 2 {X Y Z}
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
538 call assert_equal(['line1', 'X', 'Y', 'Z', 'z'], getline(1, '$'))
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
539
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
540 call assert_fails('tcl $::vim::current(buffer) set 0 "x"', 'line number out of range')
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
541 call assert_fails('tcl $::vim::current(buffer) set 6 "x"', 'line number out of range')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
542
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
543 call assert_fails('tcl $::vim::current(buffer) set', 'wrong # args:')
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
544 call assert_fails('tcl $::vim::current(buffer) set 1 2 {[list "a" "b"]}',
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
545 \ 'list element in quotes followed by "]" instead of space')
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
546
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
547 " Try to modify a 'nomodifiable' buffer
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
548 set nomodifiable
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
549 call assert_fails('tcl $::vim::current(buffer) set 1 "x"',
21269
0a8322506058 patch 8.2.1185: some other tests fail
Bram Moolenaar <Bram@vim.org>
parents: 21228
diff changeset
550 \ ['E21:', 'cannot save undo information'])
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
551 call assert_fails('tcl $::vim::current(buffer) set 1 {a b}',
21269
0a8322506058 patch 8.2.1185: some other tests fail
Bram Moolenaar <Bram@vim.org>
parents: 21228
diff changeset
552 \ ['E21:', 'cannot save undo information'])
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
553 call assert_fails('tcl $::vim::current(buffer) set 1 2 {a b}',
21269
0a8322506058 patch 8.2.1185: some other tests fail
Bram Moolenaar <Bram@vim.org>
parents: 21228
diff changeset
554 \ ['E21:', 'cannot save undo information'])
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
555 set modifiable
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
556 bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
557 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
558
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
559 " Test $buf get (get line(s) from buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
560 func Test_buffer_get()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
561 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
562 call setline(1, ['first line', 'two', 'three', 'last line'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
563 tcl set buf $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
564
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
565 call assert_equal('first line', TclEval('$buf get top'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
566 call assert_equal('first line', TclEval('$buf get begin'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
567 call assert_equal('last line', TclEval('$buf get bottom'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
568 call assert_equal('last line', TclEval('$buf get last'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
569
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
570 call assert_equal('first line', TclEval('$buf get 1'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
571 call assert_equal('two', TclEval('$buf get 2'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
572 call assert_equal('three', TclEval('$buf get 3'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
573 call assert_equal('last line', TclEval('$buf get 4'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
574
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
575 call assert_equal('two three', TclEval('$buf get 2 3'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
576 call assert_equal('two three', TclEval('$buf get 3 2'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
577 call assert_equal('three {last line}', TclEval('$buf get 3 last'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
578
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
579 call assert_fails('tcl $buf get -1', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
580 call assert_fails('tcl $buf get 0', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
581 call assert_fails('tcl $buf get 5', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
582 call assert_fails('tcl $buf get 0 1', 'line number out of range')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
583
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
584 call assert_fails('tcl $::vim::current(buffer) get x', 'expected integer but got "x"')
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
585 call assert_fails('tcl $::vim::current(buffer) get 1 x', 'expected integer but got "x"')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
586 call assert_fails('tcl $::vim::current(buffer) get 1 1 1', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
587
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
588 tcl unset buf
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
589 bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
590 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
591
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
592 " Test $buf mark (get position of a mark)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
593 func Test_buffer_mark()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
594 new
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
595 call setline(1, ['one', 'two', 'three', 'four'])
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
596 /three
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
597 norm! ma
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
598 norm! jllmB
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
599
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
600 call assert_equal('row 3 column 1', TclEval('$::vim::current(buffer) mark a'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
601 call assert_equal('row 4 column 3', TclEval('$::vim::current(buffer) mark B'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
602
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
603 call assert_fails('tcl $::vim::current(buffer) mark /', 'invalid mark name')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
604 call assert_fails('tcl $::vim::current(buffer) mark z', 'mark not set')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
605 call assert_fails('tcl $::vim::current(buffer) mark', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
606
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
607 delmarks aB
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
608 bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
609 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
610
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
611 " Test $buf option (test and set option in context of a buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
612 func Test_buffer_option()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
613 new Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
614 tcl set b1 $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
615 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
616 tcl set b2 $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
617
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
618 tcl $b1 option foldcolumn 2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
619 tcl $b2 option foldcolumn 3
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
620
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
621 call assert_equal(3, &foldcolumn)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
622 wincmd j
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
623 call assert_equal(2, &foldcolumn)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
624
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
625 call assert_equal('2', TclEval('$b1 option foldcolumn'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
626 call assert_equal('3', TclEval('$b2 option foldcolumn'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
627
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
628 call assert_fails('tcl $::vim::current(buffer) option', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
629
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
630 set foldcolumn&
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
631 tcl unset b1 b2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
632 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
633 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
634
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
635 " Test $buf expr (evaluate vim expression)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
636 func Test_buffer_expr()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
637 new Xfoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
638 norm ifoo1
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
639 tcl set b1 $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
640
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
641 new Xfoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
642 norm ifoo2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
643 tcl set b2 $::vim::current(buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
644
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
645 call assert_equal('foo1', TclEval('$b1 expr getline(1)'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
646 call assert_equal('foo2', TclEval('$b2 expr getline(1)'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
647
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
648 call assert_fails('tcl expr', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
649
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
650 tcl unset b1 b2
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
651 %bwipe!
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
652 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
653
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
654 " Test $buf delcmd {cmd} (command executed when buffer is deleted)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
655 func Test_buffer_delcmd()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
656 new Xfoo
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
657 split
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
658 tcl $::vim::current(buffer) delcmd [list set msg "buffer deleted"]
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
659 q
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
660 call assert_fails('tcl set msg', "can't read \"msg\": no such variable")
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
661 q
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
662 call assert_equal('buffer deleted', TclEval('set msg'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
663
21228
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
664 call assert_fails('tcl $::vim::current(buffer) delcmd', 'wrong # args')
91b1047d4aa4 patch 8.2.1165: insufficient testing for the Tcl interface
Bram Moolenaar <Bram@vim.org>
parents: 20045
diff changeset
665 call assert_fails('tcl $::vim::current(buffer) delcmd x x', 'wrong # args')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
666
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
667 tcl unset msg
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
668 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
669 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
670
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
671 func Test_vim_current()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
672 " Only test errors as ::vim::current(...) is already indirectly
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
673 " tested by many other tests.
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
674 call assert_fails('tcl $::vim::current(buffer)', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
675 call assert_fails('tcl $::vim::current(window)', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
676 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
677
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
678 " Test $buf windows (windows list of a buffer)
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
679 func Test_buffer_windows()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
680 new Xfoo
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
681 split
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
682 new Xbar
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
683 split
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
684 vsplit
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
685
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
686 tcl set bar_wl [$::vim::current(buffer) windows]
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
687 2wincmd j
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
688 tcl set foo_wl [$::vim::current(buffer) windows]
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
689
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
690 call assert_equal('2', TclEval('llength $foo_wl'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
691 call assert_equal('3', TclEval('llength $bar_wl'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
692
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
693 call assert_fails('tcl $::vim::current(buffer) windows x', 'wrong # args:')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
694
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
695 tcl unset bar_wl foo_wl
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
696 %bwipe
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
697 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
698
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
699 " Test :tclfile
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
700 func Test_tclfile()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
701 call delete('Xtcl_file')
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28735
diff changeset
702 call writefile(['set pi [format "%.2f" [expr acos(-1.0)]]'], 'Xtcl_file', 'D')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
703 call setfperm('Xtcl_file', 'r-xr-xr-x')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
704
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
705 tclfile Xtcl_file
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
706 call assert_equal('3.14', TclEval('set pi'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
707
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
708 tcl unset pi
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
709 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
710
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
711 " Test :tclfile with syntax error in tcl script
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
712 func Test_tclfile_error()
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
713 call delete('Xtcl_file')
30865
c8ebe35b2475 patch 9.0.0767: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28735
diff changeset
714 call writefile(['xyz'], 'Xtcl_file', 'D')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
715 call setfperm('Xtcl_file', 'r-xr-xr-x')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
716
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
717 call assert_fails('tclfile Xtcl_file', 'invalid command name "xyz"')
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
718 endfunc
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
719
14294
6c5c8de48152 patch 8.1.0163: insufficient testing for Tcl
Christian Brabandt <cb@256bit.org>
parents: 14268
diff changeset
720 " Test exiting current Tcl interpreter and re-creating one.
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
721 func Test_tcl_exit()
19740
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 17918
diff changeset
722 call assert_fails('tcl exit 1 1', 'wrong # args: should be "exit ?returnCode?"')
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 17918
diff changeset
723 call assert_fails('tcl exit x', 'expected integer but got "x"')
a653d1a165ef patch 8.2.0426: some errors were not tested for
Bram Moolenaar <Bram@vim.org>
parents: 17918
diff changeset
724
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
725 tcl set foo "foo"
28735
c428a4e53b9c patch 8.2.4892: test failures because of changed error messages
Bram Moolenaar <Bram@vim.org>
parents: 24641
diff changeset
726 call assert_fails('tcl exit 3', 'E572: Exit code 3')
14268
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
727
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
728 " The Tcl interpreter should have been deleted and a new one
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
729 " is re-created with the next :tcl command.
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
730 call assert_fails('tcl set foo', "can't read \"foo\": no such variable")
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
731 tcl set bar "bar"
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
732 call assert_equal('bar', TclEval('set bar'))
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
733
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
734 tcl unset bar
c80acf74e7df patch 8.1.0150: insufficient test coverage for Tcl
Christian Brabandt <cb@256bit.org>
parents: 10763
diff changeset
735 endfunc
14395
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
736
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
737 func Test_set_cursor()
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
738 " Check that setting the cursor position works.
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
739 new
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
740 call setline(1, ['first line', 'second line'])
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
741 normal gg
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
742 tcldo $::vim::current(window) cursor 1 5
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
743 call assert_equal([1, 5], [line('.'), col('.')])
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
744
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
745 " Check that movement after setting cursor position keeps current column.
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
746 normal j
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
747 call assert_equal([2, 5], [line('.'), col('.')])
c15bef307de6 patch 8.1.0212: preferred cursor column not set in interfaces
Christian Brabandt <cb@256bit.org>
parents: 14294
diff changeset
748 endfunc
20045
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
749
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
750 " Test for different syntax for ruby heredoc
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
751 func Test_tcl_heredoc()
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
752 tcl << END
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
753 ::vim::command {let s = "A"}
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
754 END
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
755 tcl <<
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
756 ::vim::command {let s ..= "B"}
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
757 .
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
758 tcl << trim END
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
759 ::vim::command {let s ..= "C"}
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
760 END
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
761 tcl << trim
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
762 ::vim::command {let s ..= "D"}
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
763 .
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
764 call assert_equal('ABCD', s)
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
765 endfunc
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
766
04ef2ccf2519 patch 8.2.0578: heredoc for interfaces does not support "trim"
Bram Moolenaar <Bram@vim.org>
parents: 19740
diff changeset
767 " vim: shiftwidth=2 sts=2 expandtab