annotate src/testdir/test_paste.vim @ 24914:1186160ecf57 v8.2.2994

patch 8.2.2994: various code is not fully tested Commit: https://github.com/vim/vim/commit/2d6d718dde7163c971d37b8f4f1ed8f2d25de130 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Jun 13 21:52:48 2021 +0200 patch 8.2.2994: various code is not fully tested Problem: Various code is not fully tested. Solution: Add a few more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8378)
author Bram Moolenaar <Bram@vim.org>
date Sun, 13 Jun 2021 22:00:04 +0200
parents 72e9b861bc92
children a5a772dace5b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13425
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
1 " Tests for bracketed paste and other forms of pasting.
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
16074
fa133cd14f87 patch 8.1.1042: the paste test doesn't work properly in the Windows console
Bram Moolenaar <Bram@vim.org>
parents: 13460
diff changeset
3 " Bracketed paste only works with "xterm". Not in GUI or Windows console.
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
4 source check.vim
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
5 CheckNotMSWindows
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
6 CheckNotGui
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
7
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 set term=xterm
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9
13460
aa6ecb272236 patch 8.0.1604: paste test may fail if $DISPLAY is not set
Christian Brabandt <cb@256bit.org>
parents: 13425
diff changeset
10 source shared.vim
aa6ecb272236 patch 8.0.1604: paste test may fail if $DISPLAY is not set
Christian Brabandt <cb@256bit.org>
parents: 13425
diff changeset
11
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 func Test_paste_normal_mode()
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 new
10813
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
14 " In first column text is inserted
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 call setline(1, ['a', 'b', 'c'])
10813
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
16 call cursor(2, 1)
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
10813
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
18 call assert_equal('foo', getline(2))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
19 call assert_equal('barb', getline(3))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
20 call assert_equal('c', getline(4))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
21
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
22 " When repeating text is appended
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
23 normal .
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
24 call assert_equal('barfoo', getline(3))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
25 call assert_equal('barb', getline(4))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
26 call assert_equal('c', getline(5))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
27 bwipe!
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
28
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
29 " In second column text is appended
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
30 call setline(1, ['a', 'bbb', 'c'])
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
31 call cursor(2, 2)
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
32 call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
33 call assert_equal('bbfoo', getline(2))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
34 call assert_equal('barb', getline(3))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
35 call assert_equal('c', getline(4))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
36
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
37 " In last column text is appended
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
38 call setline(1, ['a', 'bbb', 'c'])
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
39 call cursor(2, 3)
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
40 call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
41 call assert_equal('bbbfoo', getline(2))
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 call assert_equal('bar', getline(3))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 call assert_equal('c', getline(4))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
44 endfunc
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46 func Test_paste_insert_mode()
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 new
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
48 call setline(1, ['a', 'b', 'c'])
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 2
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50 call feedkeys("i\<Esc>[200~foo\<CR>bar\<Esc>[201~ done\<Esc>", 'xt')
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 call assert_equal('foo', getline(2))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
52 call assert_equal('bar doneb', getline(3))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
53 call assert_equal('c', getline(4))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
54
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
55 normal .
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56 call assert_equal('bar donfoo', getline(3))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57 call assert_equal('bar doneeb', getline(4))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
58 call assert_equal('c', getline(5))
10696
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
59
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
60 set ai et tw=10
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
61 call setline(1, ['a', ' b', 'c'])
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
62 2
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
63 call feedkeys("A\<Esc>[200~foo\<CR> bar bar bar\<Esc>[201~\<Esc>", 'xt')
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
64 call assert_equal(' bfoo', getline(2))
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
65 call assert_equal(' bar bar bar', getline(3))
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
66 call assert_equal('c', getline(4))
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
67
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
68 set ai& et& tw=0
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
69 bwipe!
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
70 endfunc
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71
13425
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
72 func Test_paste_clipboard()
17686
853afcc375b2 patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
73 CheckFeature clipboard_working
853afcc375b2 patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
74
13425
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
75 let @+ = "nasty\<Esc>:!ls\<CR>command"
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
76 new
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
77 exe "normal i\<C-R>+\<Esc>"
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
78 call assert_equal("nasty\<Esc>:!ls\<CR>command", getline(1))
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
79 bwipe!
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
80 endfunc
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
81
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
82 " bracketed paste in command line
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
83 func Test_paste_cmdline()
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84 call feedkeys(":a\<Esc>[200~foo\<CR>bar\<Esc>[201~b\<Home>\"\<CR>", 'xt')
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85 call assert_equal("\"afoo\<CR>barb", getreg(':'))
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 endfunc
10827
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
87
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
88 " bracketed paste in Ex-mode
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
89 func Test_paste_ex_mode()
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
90 unlet! foo
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
91 call feedkeys("Qlet foo=\"\<Esc>[200~foo\<CR>bar\<Esc>[201~\"\<CR>vi\<CR>", 'xt')
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
92 call assert_equal("foo\rbar", foo)
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
93 endfunc
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
94
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
95 func Test_paste_onechar()
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
96 new
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
97 let @f='abc'
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
98 call feedkeys("i\<C-R>\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
99 call assert_equal("abc", getline(1))
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
100 close!
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
101 endfunc
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
102
10827
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
103 func Test_paste_visual_mode()
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
104 new
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
105 call setline(1, 'here are some words')
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
106 call feedkeys("0fsve\<Esc>[200~more\<Esc>[201~", 'xt')
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
107 call assert_equal('here are more words', getline(1))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
108 call assert_equal('some', getreg('-'))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
109
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
110 " include last char in the line
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
111 call feedkeys("0fwve\<Esc>[200~noises\<Esc>[201~", 'xt')
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
112 call assert_equal('here are more noises', getline(1))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
113 call assert_equal('words', getreg('-'))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
114
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
115 " exclude last char in the line
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
116 call setline(1, 'some words!')
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
117 call feedkeys("0fwve\<Esc>[200~noises\<Esc>[201~", 'xt')
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
118 call assert_equal('some noises!', getline(1))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
119 call assert_equal('words', getreg('-'))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
120
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
121 " multi-line selection
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
122 call setline(1, ['some words', 'and more'])
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
123 call feedkeys("0fwvj0fd\<Esc>[200~letters\<Esc>[201~", 'xt')
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
124 call assert_equal('some letters more', getline(1))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
125 call assert_equal("words\nand", getreg('1'))
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
126
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
127 bwipe!
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
128 endfunc
16608
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
129
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
130 func CheckCopyPaste()
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
131 call setline(1, ['copy this', ''])
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
132 normal 1G0"*y$
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
133 normal j"*p
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
134 call assert_equal('copy this', getline(2))
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
135 endfunc
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
136
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
137 func Test_xrestore()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 20941
diff changeset
138 CheckFeature xterm_clipboard
16608
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
139 let display = $DISPLAY
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
140 new
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
141 call CheckCopyPaste()
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
142
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
143 xrestore
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
144 call CheckCopyPaste()
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
145
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
146 exe "xrestore " .. display
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
147 call CheckCopyPaste()
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
148
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
149 bwipe!
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
150 endfunc
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
151
24134
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
152 " Test for 'pastetoggle'
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
153 func Test_pastetoggle()
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
154 new
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
155 set pastetoggle=<F4>
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
156 set nopaste
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
157 call feedkeys("iHello\<F4>", 'xt')
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
158 call assert_true(&paste)
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
159 call feedkeys("i\<F4>", 'xt')
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
160 call assert_false(&paste)
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
161 call assert_equal('Hello', getline(1))
24914
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
162 " command-line completion for 'pastetoggle' value
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
163 call feedkeys(":set pastetoggle=\<Tab>\<C-B>\"\<CR>", 'xt')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
164 call assert_equal('"set pastetoggle=<F4>', @:)
24134
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
165 set pastetoggle&
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
166 bwipe!
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
167 endfunc
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
168
24914
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
169 " Test for restoring option values when 'paste' is disabled
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
170 func Test_paste_opt_restore()
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
171 set autoindent expandtab ruler showmatch
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
172 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
173 set revins hkmap
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
174 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
175 set smarttab softtabstop=3 textwidth=27 wrapmargin=12
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
176 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
177 set varsofttabstop=10,20
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
178 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
179
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
180 " enabling 'paste' should reset the above options
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
181 set paste
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
182 call assert_false(&autoindent)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
183 call assert_false(&expandtab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
184 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
185 call assert_false(&revins)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
186 call assert_false(&hkmap)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
187 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
188 call assert_false(&ruler)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
189 call assert_false(&showmatch)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
190 call assert_false(&smarttab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
191 call assert_equal(0, &softtabstop)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
192 call assert_equal(0, &textwidth)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
193 call assert_equal(0, &wrapmargin)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
194 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
195 call assert_equal('', &varsofttabstop)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
196 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
197
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
198 " disabling 'paste' should restore the option values
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
199 set nopaste
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
200 call assert_true(&autoindent)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
201 call assert_true(&expandtab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
202 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
203 call assert_true(&revins)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
204 call assert_true(&hkmap)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
205 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
206 call assert_true(&ruler)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
207 call assert_true(&showmatch)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
208 call assert_true(&smarttab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
209 call assert_equal(3, &softtabstop)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
210 call assert_equal(27, &textwidth)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
211 call assert_equal(12, &wrapmargin)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
212 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
213 call assert_equal('10,20', &varsofttabstop)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
214 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
215
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
216 set autoindent& expandtab& ruler& showmatch&
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
217 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
218 set revins& hkmap&
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
219 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
220 set smarttab& softtabstop& textwidth& wrapmargin&
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
221 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
222 set varsofttabstop&
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
223 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
224 endfunc
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
225
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
226 " vim: shiftwidth=2 sts=2 expandtab