annotate src/testdir/test_paste.vim @ 34336:d2ad8733db75 v9.1.0101

patch 9.1.0101: upper-case of German sharp s should be U+1E9E Commit: https://github.com/vim/vim/commit/bd1232a1faf56b614a1e74c4ce51bc6e0650ae00 Author: glepnir <glephunter@gmail.com> Date: Mon Feb 12 22:14:53 2024 +0100 patch 9.1.0101: upper-case of German sharp s should be U+1E9E Problem: upper-case of ? should be U+1E9E (CAPITAL LETTER SHARP S) (fenuks) Solution: Make gU, ~ and g~ convert the U+00DF LATIN SMALL LETTER SHARP S (?) to U+1E9E LATIN CAPITAL LETTER SHARP S (?), update tests (glepnir) This is part of Unicode 5.1.0 from April 2008, so should be fairly safe to use now and since 2017 is part of the German standard orthography, according to Wikipedia: https://en.wikipedia.org/wiki/Capital_%E1%BA%9E#cite_note-auto-12 There is however one exception: UnicodeData.txt for U+00DF LATIN SMALL LETTER SHARP S does NOT define U+1E9E LATIN CAPITAL LETTER SHARP S as its upper case version. Therefore, toupper() won't be able to convert from lower sharp s to upper case sharp s (the other way around however works, since U+00DF is considered the lower case character of U+1E9E and therefore tolower() works correctly for the upper case version). fixes: #5573 closes: #14018 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 12 Feb 2024 22:45:02 +0100
parents 457ea0570b6f
children 4f2e543e9e5a
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
28627
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
5 source term_util.vim
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
6 CheckNotMSWindows
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
7 CheckNotGui
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 17089
diff changeset
8
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 set term=xterm
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10
13460
aa6ecb272236 patch 8.0.1604: paste test may fail if $DISPLAY is not set
Christian Brabandt <cb@256bit.org>
parents: 13425
diff changeset
11 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
12
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 func Test_paste_normal_mode()
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 new
10813
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
15 " 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
16 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
17 call cursor(2, 1)
10682
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 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
19 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
20 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
21 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
22
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
23 " 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
24 normal .
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('barfoo', getline(3))
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('barb', getline(4))
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
27 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
28 bwipe!
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
29
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
30 " 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
31 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
32 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
33 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
34 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
35 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
36 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
37
09eb5fd275e0 patch 8.0.0296: bracketed paste can only append, not insert
Christian Brabandt <cb@256bit.org>
parents: 10696
diff changeset
38 " 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
39 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
40 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
41 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
42 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
43 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
44 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
45 endfunc
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 func Test_paste_insert_mode()
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
48 new
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 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
50 2
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 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
52 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
53 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
54 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
55
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56 normal .
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57 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
58 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
59 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
60
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
61 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
62 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
63 2
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
64 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
65 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
66 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
67 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
68
689e88afdd11 patch 8.0.0238: bracketed paste does not disable autoindent
Christian Brabandt <cb@256bit.org>
parents: 10686
diff changeset
69 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
70 bwipe!
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71 endfunc
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
72
13425
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
73 func Test_paste_clipboard()
17686
853afcc375b2 patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
74 CheckFeature clipboard_working
853afcc375b2 patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
75
13425
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
76 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
77 new
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
78 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
79 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
80 bwipe!
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
81 endfunc
bb789ed5113a patch 8.0.1587: inserting from the clipboard doesn't work literally
Christian Brabandt <cb@256bit.org>
parents: 10827
diff changeset
82
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
83 " 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
84 func Test_paste_cmdline()
d564e73ff9ee patch 8.0.0231: bracketed paste mode is not tested
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85 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
86 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
87 endfunc
10827
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
88
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
89 " 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
90 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
91 unlet! foo
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
92 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
93 call assert_equal("foo\rbar", foo)
27380
7c07681f8a05 patch 8.2.4218: illegal memory access with bracketed paste in Ex mode
Bram Moolenaar <Bram@vim.org>
parents: 25969
diff changeset
94
7c07681f8a05 patch 8.2.4218: illegal memory access with bracketed paste in Ex mode
Bram Moolenaar <Bram@vim.org>
parents: 25969
diff changeset
95 " pasting more than 40 bytes
7c07681f8a05 patch 8.2.4218: illegal memory access with bracketed paste in Ex mode
Bram Moolenaar <Bram@vim.org>
parents: 25969
diff changeset
96 exe "norm Q\<PasteStart>0000000000000000000000000000000000000000000000000000000000000000000000\<C-C>"
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
97 endfunc
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
98
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
99 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
100 new
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
101 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
102 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
103 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
104 close!
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
105 endfunc
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
106
10827
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
107 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
108 new
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
109 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
110 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
111 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
112 call assert_equal('some', getreg('-'))
28085
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
113 normal! u
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
114 call assert_equal('here are some words', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
115 exe "normal! \<C-R>"
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
116 call assert_equal('here are more words', getline(1))
10827
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
117
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
118 " 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
119 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
120 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
121 call assert_equal('words', getreg('-'))
28085
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
122 normal! u
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
123 call assert_equal('here are more words', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
124 exe "normal! \<C-R>"
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
125 call assert_equal('here are more noises', getline(1))
10827
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 " 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
128 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
129 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
130 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
131 call assert_equal('words', getreg('-'))
28085
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
132 normal! u
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
133 call assert_equal('some words!', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
134 exe "normal! \<C-R>"
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
135 call assert_equal('some noises!', getline(1))
10827
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
136
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
137 " 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
138 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
139 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
140 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
141 call assert_equal("words\nand", getreg('1'))
28085
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
142 normal! u
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
143 call assert_equal(['some words', 'and more'], getline(1, 2))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
144 exe "normal! \<C-R>"
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
145 call assert_equal('some letters more', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
146
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
147 " linewise non-last line, cursor at start of line
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
148 call setline(1, ['some words', 'and more'])
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
149 call feedkeys("0V\<Esc>[200~letters\<Esc>[201~", 'xt')
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
150 call assert_equal('lettersand more', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
151 call assert_equal("some words\n", getreg('1'))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
152 normal! u
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
153 call assert_equal(['some words', 'and more'], getline(1, 2))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
154 exe "normal! \<C-R>"
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
155 call assert_equal('lettersand more', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
156
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
157 " linewise non-last line, cursor in the middle of line
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
158 call setline(1, ['some words', 'and more'])
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
159 call feedkeys("0fwV\<Esc>[200~letters\<Esc>[201~", 'xt')
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
160 call assert_equal('lettersand more', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
161 call assert_equal("some words\n", getreg('1'))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
162 normal! u
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
163 call assert_equal(['some words', 'and more'], getline(1, 2))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
164 exe "normal! \<C-R>"
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
165 call assert_equal('lettersand more', getline(1))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
166
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
167 " linewise last line
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
168 call setline(1, ['some words', 'and more'])
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
169 call feedkeys("j0V\<Esc>[200~letters\<Esc>[201~", 'xt')
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
170 call assert_equal(['some words', 'letters'], getline(1, 2))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
171 call assert_equal("and more\n", getreg('1'))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
172 normal! u
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
173 call assert_equal(['some words', 'and more'], getline(1, 2))
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
174 exe "normal! \<C-R>"
7976d709c963 patch 8.2.4567: bracketed paste doesn't work well in Visual linewise mode
Bram Moolenaar <Bram@vim.org>
parents: 27380
diff changeset
175 call assert_equal(['some words', 'letters'], getline(1, 2))
10827
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
176
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
177 bwipe!
e366b968bf08 patch 8.0.0303: bracketed paste does not work in Visual mode
Christian Brabandt <cb@256bit.org>
parents: 10813
diff changeset
178 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
179
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
180 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
181 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
182 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
183 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
184 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
185 endfunc
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
186
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
187 func Test_xrestore()
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 20941
diff changeset
188 CheckFeature xterm_clipboard
25969
a5a772dace5b patch 8.2.3518: Test_xrestore sometimes fails
Bram Moolenaar <Bram@vim.org>
parents: 24914
diff changeset
189 let g:test_is_flaky = 1
a5a772dace5b patch 8.2.3518: Test_xrestore sometimes fails
Bram Moolenaar <Bram@vim.org>
parents: 24914
diff changeset
190
16608
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
191 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
192 new
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
193 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
194
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
195 xrestore
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
196 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
197
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
198 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
199 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
200
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
201 bwipe!
0422b14bce58 patch 8.1.1307: cannot reconnect to the X server after it restarted
Bram Moolenaar <Bram@vim.org>
parents: 16074
diff changeset
202 endfunc
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
203
24134
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
204 " Test for 'pastetoggle'
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
205 func Test_pastetoggle()
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
206 new
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
207 set pastetoggle=<F4>
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
208 set nopaste
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
209 call feedkeys("iHello\<F4>", 'xt')
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
210 call assert_true(&paste)
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
211 call feedkeys("i\<F4>", 'xt')
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
212 call assert_false(&paste)
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
213 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
214 " 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
215 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
216 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
217 set pastetoggle&
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
218 bwipe!
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
219 endfunc
72e9b861bc92 patch 8.2.2608: character input not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
220
28627
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
221 func Test_pastetoggle_timeout_no_typed_after_mapped()
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
222 CheckRunVimInTerminal
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
223
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
224 let lines =<< trim END
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
225 set pastetoggle=abc
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
226 set ttimeoutlen=10000
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
227 imap d a
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
228 END
30592
457ea0570b6f patch 9.0.0631: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28627
diff changeset
229 call writefile(lines, 'Xpastetoggle_no_typed_after_mapped.vim', 'D')
28627
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
230 let buf = RunVimInTerminal('-S Xpastetoggle_no_typed_after_mapped.vim', #{rows: 8})
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
231 call TermWait(buf)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
232 call term_sendkeys(buf, ":call feedkeys('id', 't')\<CR>")
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
233 call term_wait(buf, 200)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
234 call term_sendkeys(buf, 'bc')
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
235 " 'ttimeoutlen' should NOT apply
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
236 call WaitForAssert({-> assert_match('^-- INSERT --', term_getline(buf, 8))})
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
237
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
238 call StopVimInTerminal(buf)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
239 endfunc
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
240
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
241 func Test_pastetoggle_timeout_typed_after_mapped()
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
242 CheckRunVimInTerminal
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
243
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
244 let lines =<< trim END
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
245 set pastetoggle=abc
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
246 set ttimeoutlen=10000
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
247 imap d a
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
248 END
30592
457ea0570b6f patch 9.0.0631: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28627
diff changeset
249 call writefile(lines, 'Xpastetoggle_typed_after_mapped.vim', 'D')
28627
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
250 let buf = RunVimInTerminal('-S Xpastetoggle_typed_after_mapped.vim', #{rows: 8})
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
251 call TermWait(buf)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
252 call term_sendkeys(buf, ":call feedkeys('idb', 't')\<CR>")
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
253 call term_wait(buf, 200)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
254 call term_sendkeys(buf, 'c')
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
255 " 'ttimeoutlen' should apply
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
256 call WaitForAssert({-> assert_match('^-- INSERT (paste) --', term_getline(buf, 8))})
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
257
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
258 call StopVimInTerminal(buf)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
259 endfunc
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
260
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
261 func Test_pastetoggle_timeout_typed_after_noremap()
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
262 CheckRunVimInTerminal
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
263
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
264 let lines =<< trim END
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
265 set pastetoggle=abc
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
266 set ttimeoutlen=10000
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
267 inoremap d a
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
268 END
30592
457ea0570b6f patch 9.0.0631: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 28627
diff changeset
269 call writefile(lines, 'Xpastetoggle_typed_after_noremap.vim', 'D')
28627
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
270 let buf = RunVimInTerminal('-S Xpastetoggle_typed_after_noremap.vim', #{rows: 8})
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
271 call TermWait(buf)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
272 call term_sendkeys(buf, ":call feedkeys('idb', 't')\<CR>")
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
273 call term_wait(buf, 200)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
274 call term_sendkeys(buf, 'c')
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
275 " 'ttimeoutlen' should apply
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
276 call WaitForAssert({-> assert_match('^-- INSERT (paste) --', term_getline(buf, 8))})
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
277
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
278 call StopVimInTerminal(buf)
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
279 endfunc
da77eb586899 patch 8.2.4837: modifiers not simplified when timed out
Bram Moolenaar <Bram@vim.org>
parents: 28085
diff changeset
280
24914
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
281 " 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
282 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
283 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
284 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
285 set revins hkmap
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
286 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
287 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
288 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
289 set varsofttabstop=10,20
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
290 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
291
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
292 " 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
293 set paste
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
294 call assert_false(&autoindent)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
295 call assert_false(&expandtab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
296 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
297 call assert_false(&revins)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
298 call assert_false(&hkmap)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
299 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
300 call assert_false(&ruler)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
301 call assert_false(&showmatch)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
302 call assert_false(&smarttab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
303 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
304 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
305 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
306 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
307 call assert_equal('', &varsofttabstop)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
308 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
309
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
310 " 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
311 set nopaste
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
312 call assert_true(&autoindent)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
313 call assert_true(&expandtab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
314 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
315 call assert_true(&revins)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
316 call assert_true(&hkmap)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
317 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
318 call assert_true(&ruler)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
319 call assert_true(&showmatch)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
320 call assert_true(&smarttab)
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
321 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
322 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
323 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
324 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
325 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
326 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
327
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
328 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
329 if has('rightleft')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
330 set revins& hkmap&
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
331 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
332 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
333 if has('vartabs')
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
334 set varsofttabstop&
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
335 endif
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
336 endfunc
1186160ecf57 patch 8.2.2994: various code is not fully tested
Bram Moolenaar <Bram@vim.org>
parents: 24134
diff changeset
337
20941
505d97ea54da patch 8.2.1022: various parts of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 17686
diff changeset
338 " vim: shiftwidth=2 sts=2 expandtab