annotate src/testdir/test_functions.vim @ 10787:09926123316b v8.0.0283

patch 8.0.0283: mode() does not indicate Insert mode completion commit https://github.com/vim/vim/commit/e90858d0229444b3cd16b1cd3a8d61a24c435705 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Feb 1 17:24:34 2017 +0100 patch 8.0.0283: mode() does not indicate Insert mode completion Problem: The return value of mode() does not indicate that completion is active in Replace and Insert mode. (Zhen-Huan (Kenny) Hu) Solution: Add "c" or "x" for two kinds of completion. (Yegappan Lakshmanan, closes #1397) Test some more modes.
author Christian Brabandt <cb@256bit.org>
date Wed, 01 Feb 2017 17:30:05 +0100
parents 8779b4b2e958
children d66e5446cc48
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10555
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests for various functions.
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
10743
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
3 func Test_empty()
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
4 call assert_equal(1, empty(''))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
5 call assert_equal(0, empty('a'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
6
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
7 call assert_equal(1, empty(0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
8 call assert_equal(1, empty(-0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
9 call assert_equal(0, empty(1))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
10 call assert_equal(0, empty(-1))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
11
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
12 call assert_equal(1, empty(0.0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
13 call assert_equal(1, empty(-0.0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
14 call assert_equal(0, empty(1.0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
15 call assert_equal(0, empty(-1.0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
16 call assert_equal(0, empty(1.0/0.0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
17 call assert_equal(0, empty(0.0/0.0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
18
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
19 call assert_equal(1, empty([]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
20 call assert_equal(0, empty(['a']))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
21
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
22 call assert_equal(1, empty({}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
23 call assert_equal(0, empty({'a':1}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
24
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
25 call assert_equal(1, empty(v:null))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
26 call assert_equal(1, empty(v:none))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
27 call assert_equal(1, empty(v:false))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
28 call assert_equal(0, empty(v:true))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
29
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
30 call assert_equal(0, empty(function('Test_empty')))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
31 endfunc
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
32
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
33 func Test_len()
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
34 call assert_equal(1, len(0))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
35 call assert_equal(2, len(12))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
36
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
37 call assert_equal(0, len(''))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
38 call assert_equal(2, len('ab'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
39
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
40 call assert_equal(0, len([]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
41 call assert_equal(2, len([2, 1]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
42
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
43 call assert_equal(0, len({}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
44 call assert_equal(2, len({'a': 1, 'b': 2}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
45
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
46 call assert_fails('call len(v:none)', 'E701:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
47 call assert_fails('call len({-> 0})', 'E701:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
48 endfunc
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
49
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
50 func Test_max()
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
51 call assert_equal(0, max([]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
52 call assert_equal(2, max([2]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
53 call assert_equal(2, max([1, 2]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
54 call assert_equal(2, max([1, 2, v:null]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
55
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
56 call assert_equal(0, max({}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
57 call assert_equal(2, max({'a':1, 'b':2}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
58
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
59 call assert_fails('call max(1)', 'E712:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
60 call assert_fails('call max(v:none)', 'E712:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
61 endfunc
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
62
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
63 func Test_min()
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
64 call assert_equal(0, min([]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
65 call assert_equal(2, min([2]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
66 call assert_equal(1, min([1, 2]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
67 call assert_equal(0, min([1, 2, v:null]))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
68
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
69 call assert_equal(0, min({}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
70 call assert_equal(1, min({'a':1, 'b':2}))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
71
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
72 call assert_fails('call min(1)', 'E712:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
73 call assert_fails('call min(v:none)', 'E712:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
74 endfunc
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
75
10555
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
76 func Test_str2nr()
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
77 call assert_equal(0, str2nr(''))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
78 call assert_equal(1, str2nr('1'))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
79 call assert_equal(1, str2nr(' 1 '))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
81 call assert_equal(1, str2nr('+1'))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
82 call assert_equal(1, str2nr('+ 1'))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
83 call assert_equal(1, str2nr(' + 1 '))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85 call assert_equal(-1, str2nr('-1'))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 call assert_equal(-1, str2nr('- 1'))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87 call assert_equal(-1, str2nr(' - 1 '))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
88
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 call assert_equal(123456789, str2nr('123456789'))
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 call assert_equal(-123456789, str2nr('-123456789'))
10743
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
91
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
92 call assert_equal(5, str2nr('101', 2))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
93 call assert_equal(5, str2nr('0b101', 2))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
94 call assert_equal(5, str2nr('0B101', 2))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
95 call assert_equal(-5, str2nr('-101', 2))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
96 call assert_equal(-5, str2nr('-0b101', 2))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
97 call assert_equal(-5, str2nr('-0B101', 2))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
98
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
99 call assert_equal(65, str2nr('101', 8))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
100 call assert_equal(65, str2nr('0101', 8))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
101 call assert_equal(-65, str2nr('-101', 8))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
102 call assert_equal(-65, str2nr('-0101', 8))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
103
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
104 call assert_equal(11259375, str2nr('abcdef', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
105 call assert_equal(11259375, str2nr('ABCDEF', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
106 call assert_equal(-11259375, str2nr('-ABCDEF', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
107 call assert_equal(11259375, str2nr('0xabcdef', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
108 call assert_equal(11259375, str2nr('0Xabcdef', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
109 call assert_equal(11259375, str2nr('0XABCDEF', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
110 call assert_equal(-11259375, str2nr('-0xABCDEF', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
111
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
112 call assert_equal(0, str2nr('0x10'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
113 call assert_equal(0, str2nr('0b10'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
114 call assert_equal(1, str2nr('12', 2))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
115 call assert_equal(1, str2nr('18', 8))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
116 call assert_equal(1, str2nr('1g', 16))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
117
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
118 call assert_equal(0, str2nr(v:null))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
119 call assert_equal(0, str2nr(v:none))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
120
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
121 call assert_fails('call str2nr([])', 'E730:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
122 call assert_fails('call str2nr({->2})', 'E729:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
123 call assert_fails('call str2nr(1.2)', 'E806:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
124 call assert_fails('call str2nr(10, [])', 'E474:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
125 endfunc
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
126
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
127 func Test_strftime()
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
128 if !exists('*strftime')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
129 return
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
130 endif
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
131 " Format of strftime() depends on system. We assume
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
132 " that basic formats tested here are available and
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
133 " identical on all systems which support strftime().
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
134 "
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
135 " The 2nd parameter of strftime() is a local time, so the output day
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
136 " of strftime() can be 17 or 18, depending on timezone.
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
137 call assert_match('^2017-01-1[78]$', strftime('%Y-%m-%d', 1484695512))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
138 "
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
139 call assert_match('^\d\d\d\d-\(0\d\|1[012]\)-\([012]\d\|3[01]\) \([01]\d\|2[0-3]\):[0-5]\d:\([0-5]\d\|60\)$', strftime('%Y-%m-%d %H:%M:%S'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
140
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
141 call assert_fails('call strftime([])', 'E730:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
142 call assert_fails('call strftime("%Y", [])', 'E745:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
143 endfunc
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
144
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
145 func Test_simplify()
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
146 call assert_equal('', simplify(''))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
147 call assert_equal('/', simplify('/'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
148 call assert_equal('/', simplify('/.'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
149 call assert_equal('/', simplify('/..'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
150 call assert_equal('/...', simplify('/...'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
151 call assert_equal('./dir/file', simplify('./dir/file'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
152 call assert_equal('./dir/file', simplify('.///dir//file'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
153 call assert_equal('./dir/file', simplify('./dir/./file'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
154 call assert_equal('./file', simplify('./dir/../file'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
155 call assert_equal('../dir/file', simplify('dir/../../dir/file'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
156 call assert_equal('./file', simplify('dir/.././file'))
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
157
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
158 call assert_fails('call simplify({->0})', 'E729:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
159 call assert_fails('call simplify([])', 'E730:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
160 call assert_fails('call simplify({})', 'E731:')
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
161 call assert_fails('call simplify(1.2)', 'E806:')
10555
fff45421182b patch 8.0.0167: str2nr()/str2float() fail with negative values
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
162 endfunc
10706
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
163
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
164 func Test_tolower()
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
165 call assert_equal("", tolower(""))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
166
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
167 " Test with all printable ASCII characters.
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
168 call assert_equal(' !"#$%&''()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~',
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
169 \ tolower(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
170
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
171 if !has('multi_byte')
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
172 return
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
173 endif
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
174
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
175 " Test with a few uppercase diacritics.
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
176 call assert_equal("aàáâãäåāăąǎǟǡả", tolower("AÀÁÂÃÄÅĀĂĄǍǞǠẢ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
177 call assert_equal("bḃḇ", tolower("BḂḆ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
178 call assert_equal("cçćĉċč", tolower("CÇĆĈĊČ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
179 call assert_equal("dďđḋḏḑ", tolower("DĎĐḊḎḐ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
180 call assert_equal("eèéêëēĕėęěẻẽ", tolower("EÈÉÊËĒĔĖĘĚẺẼ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
181 call assert_equal("fḟ ", tolower("FḞ "))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
182 call assert_equal("gĝğġģǥǧǵḡ", tolower("GĜĞĠĢǤǦǴḠ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
183 call assert_equal("hĥħḣḧḩ", tolower("HĤĦḢḦḨ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
184 call assert_equal("iìíîïĩīĭįiǐỉ", tolower("IÌÍÎÏĨĪĬĮİǏỈ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
185 call assert_equal("jĵ", tolower("JĴ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
186 call assert_equal("kķǩḱḵ", tolower("KĶǨḰḴ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
187 call assert_equal("lĺļľŀłḻ", tolower("LĹĻĽĿŁḺ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
188 call assert_equal("mḿṁ", tolower("MḾṀ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
189 call assert_equal("nñńņňṅṉ", tolower("NÑŃŅŇṄṈ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
190 call assert_equal("oòóôõöøōŏőơǒǫǭỏ", tolower("OÒÓÔÕÖØŌŎŐƠǑǪǬỎ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
191 call assert_equal("pṕṗ", tolower("PṔṖ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
192 call assert_equal("q", tolower("Q"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
193 call assert_equal("rŕŗřṙṟ", tolower("RŔŖŘṘṞ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
194 call assert_equal("sśŝşšṡ", tolower("SŚŜŞŠṠ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
195 call assert_equal("tţťŧṫṯ", tolower("TŢŤŦṪṮ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
196 call assert_equal("uùúûüũūŭůűųưǔủ", tolower("UÙÚÛÜŨŪŬŮŰŲƯǓỦ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
197 call assert_equal("vṽ", tolower("VṼ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
198 call assert_equal("wŵẁẃẅẇ", tolower("WŴẀẂẄẆ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
199 call assert_equal("xẋẍ", tolower("XẊẌ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
200 call assert_equal("yýŷÿẏỳỷỹ", tolower("YÝŶŸẎỲỶỸ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
201 call assert_equal("zźżžƶẑẕ", tolower("ZŹŻŽƵẐẔ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
202
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
203 " Test with a few lowercase diacritics, which should remain unchanged.
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
204 call assert_equal("aàáâãäåāăąǎǟǡả", tolower("aàáâãäåāăąǎǟǡả"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
205 call assert_equal("bḃḇ", tolower("bḃḇ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
206 call assert_equal("cçćĉċč", tolower("cçćĉċč"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
207 call assert_equal("dďđḋḏḑ", tolower("dďđḋḏḑ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
208 call assert_equal("eèéêëēĕėęěẻẽ", tolower("eèéêëēĕėęěẻẽ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
209 call assert_equal("fḟ", tolower("fḟ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
210 call assert_equal("gĝğġģǥǧǵḡ", tolower("gĝğġģǥǧǵḡ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
211 call assert_equal("hĥħḣḧḩẖ", tolower("hĥħḣḧḩẖ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
212 call assert_equal("iìíîïĩīĭįǐỉ", tolower("iìíîïĩīĭįǐỉ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
213 call assert_equal("jĵǰ", tolower("jĵǰ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
214 call assert_equal("kķǩḱḵ", tolower("kķǩḱḵ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
215 call assert_equal("lĺļľŀłḻ", tolower("lĺļľŀłḻ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
216 call assert_equal("mḿṁ ", tolower("mḿṁ "))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
217 call assert_equal("nñńņňʼnṅṉ", tolower("nñńņňʼnṅṉ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
218 call assert_equal("oòóôõöøōŏőơǒǫǭỏ", tolower("oòóôõöøōŏőơǒǫǭỏ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
219 call assert_equal("pṕṗ", tolower("pṕṗ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
220 call assert_equal("q", tolower("q"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
221 call assert_equal("rŕŗřṙṟ", tolower("rŕŗřṙṟ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
222 call assert_equal("sśŝşšṡ", tolower("sśŝşšṡ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
223 call assert_equal("tţťŧṫṯẗ", tolower("tţťŧṫṯẗ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
224 call assert_equal("uùúûüũūŭůűųưǔủ", tolower("uùúûüũūŭůűųưǔủ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
225 call assert_equal("vṽ", tolower("vṽ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
226 call assert_equal("wŵẁẃẅẇẘ", tolower("wŵẁẃẅẇẘ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
227 call assert_equal("ẋẍ", tolower("ẋẍ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
228 call assert_equal("yýÿŷẏẙỳỷỹ", tolower("yýÿŷẏẙỳỷỹ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
229 call assert_equal("zźżžƶẑẕ", tolower("zźżžƶẑẕ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
230
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
231 " According to https://twitter.com/jifa/status/625776454479970304
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
232 " Ⱥ (U+023A) and Ⱦ (U+023E) are the *only* code points to increase
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
233 " in length (2 to 3 bytes) when lowercased. So let's test them.
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
234 call assert_equal("ⱥ ⱦ", tolower("Ⱥ Ⱦ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
235 endfunc
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
236
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
237 func Test_toupper()
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
238 call assert_equal("", toupper(""))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
239
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
240 " Test with all printable ASCII characters.
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
241 call assert_equal(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~',
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
242 \ toupper(' !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
243
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
244 if !has('multi_byte')
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
245 return
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
246 endif
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
247
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
248 " Test with a few lowercase diacritics.
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
249 call assert_equal("AÀÁÂÃÄÅĀĂĄǍǞǠẢ", toupper("aàáâãäåāăąǎǟǡả"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
250 call assert_equal("BḂḆ", toupper("bḃḇ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
251 call assert_equal("CÇĆĈĊČ", toupper("cçćĉċč"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
252 call assert_equal("DĎĐḊḎḐ", toupper("dďđḋḏḑ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
253 call assert_equal("EÈÉÊËĒĔĖĘĚẺẼ", toupper("eèéêëēĕėęěẻẽ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
254 call assert_equal("FḞ", toupper("fḟ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
255 call assert_equal("GĜĞĠĢǤǦǴḠ", toupper("gĝğġģǥǧǵḡ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
256 call assert_equal("HĤĦḢḦḨẖ", toupper("hĥħḣḧḩẖ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
257 call assert_equal("IÌÍÎÏĨĪĬĮǏỈ", toupper("iìíîïĩīĭįǐỉ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
258 call assert_equal("JĴǰ", toupper("jĵǰ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
259 call assert_equal("KĶǨḰḴ", toupper("kķǩḱḵ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
260 call assert_equal("LĹĻĽĿŁḺ", toupper("lĺļľŀłḻ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
261 call assert_equal("MḾṀ ", toupper("mḿṁ "))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
262 call assert_equal("NÑŃŅŇʼnṄṈ", toupper("nñńņňʼnṅṉ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
263 call assert_equal("OÒÓÔÕÖØŌŎŐƠǑǪǬỎ", toupper("oòóôõöøōŏőơǒǫǭỏ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
264 call assert_equal("PṔṖ", toupper("pṕṗ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
265 call assert_equal("Q", toupper("q"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
266 call assert_equal("RŔŖŘṘṞ", toupper("rŕŗřṙṟ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
267 call assert_equal("SŚŜŞŠṠ", toupper("sśŝşšṡ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
268 call assert_equal("TŢŤŦṪṮẗ", toupper("tţťŧṫṯẗ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
269 call assert_equal("UÙÚÛÜŨŪŬŮŰŲƯǓỦ", toupper("uùúûüũūŭůűųưǔủ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
270 call assert_equal("VṼ", toupper("vṽ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
271 call assert_equal("WŴẀẂẄẆẘ", toupper("wŵẁẃẅẇẘ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
272 call assert_equal("ẊẌ", toupper("ẋẍ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
273 call assert_equal("YÝŸŶẎẙỲỶỸ", toupper("yýÿŷẏẙỳỷỹ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
274 call assert_equal("ZŹŻŽƵẐẔ", toupper("zźżžƶẑẕ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
275
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
276 " Test that uppercase diacritics, which should remain unchanged.
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
277 call assert_equal("AÀÁÂÃÄÅĀĂĄǍǞǠẢ", toupper("AÀÁÂÃÄÅĀĂĄǍǞǠẢ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
278 call assert_equal("BḂḆ", toupper("BḂḆ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
279 call assert_equal("CÇĆĈĊČ", toupper("CÇĆĈĊČ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
280 call assert_equal("DĎĐḊḎḐ", toupper("DĎĐḊḎḐ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
281 call assert_equal("EÈÉÊËĒĔĖĘĚẺẼ", toupper("EÈÉÊËĒĔĖĘĚẺẼ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
282 call assert_equal("FḞ ", toupper("FḞ "))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
283 call assert_equal("GĜĞĠĢǤǦǴḠ", toupper("GĜĞĠĢǤǦǴḠ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
284 call assert_equal("HĤĦḢḦḨ", toupper("HĤĦḢḦḨ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
285 call assert_equal("IÌÍÎÏĨĪĬĮİǏỈ", toupper("IÌÍÎÏĨĪĬĮİǏỈ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
286 call assert_equal("JĴ", toupper("JĴ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
287 call assert_equal("KĶǨḰḴ", toupper("KĶǨḰḴ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
288 call assert_equal("LĹĻĽĿŁḺ", toupper("LĹĻĽĿŁḺ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
289 call assert_equal("MḾṀ", toupper("MḾṀ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
290 call assert_equal("NÑŃŅŇṄṈ", toupper("NÑŃŅŇṄṈ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
291 call assert_equal("OÒÓÔÕÖØŌŎŐƠǑǪǬỎ", toupper("OÒÓÔÕÖØŌŎŐƠǑǪǬỎ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
292 call assert_equal("PṔṖ", toupper("PṔṖ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
293 call assert_equal("Q", toupper("Q"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
294 call assert_equal("RŔŖŘṘṞ", toupper("RŔŖŘṘṞ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
295 call assert_equal("SŚŜŞŠṠ", toupper("SŚŜŞŠṠ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
296 call assert_equal("TŢŤŦṪṮ", toupper("TŢŤŦṪṮ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
297 call assert_equal("UÙÚÛÜŨŪŬŮŰŲƯǓỦ", toupper("UÙÚÛÜŨŪŬŮŰŲƯǓỦ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
298 call assert_equal("VṼ", toupper("VṼ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
299 call assert_equal("WŴẀẂẄẆ", toupper("WŴẀẂẄẆ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
300 call assert_equal("XẊẌ", toupper("XẊẌ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
301 call assert_equal("YÝŶŸẎỲỶỸ", toupper("YÝŶŸẎỲỶỸ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
302 call assert_equal("ZŹŻŽƵẐẔ", toupper("ZŹŻŽƵẐẔ"))
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
303
10743
8779b4b2e958 patch 8.0.0261: not enough test coverage for eval functions
Christian Brabandt <cb@256bit.org>
parents: 10706
diff changeset
304 call assert_equal("Ⱥ Ⱦ", toupper("ⱥ ⱦ"))
10706
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
305 endfunc
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
306
10787
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
307 " Tests for the mode() function
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
308 let current_modes = ''
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
309 func! Save_mode()
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
310 let g:current_modes = mode(0) . '-' . mode(1)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
311 return ''
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
312 endfunc
10706
056e32b99e93 patch 8.0.0243: tolower() does not work if the byte count changes
Christian Brabandt <cb@256bit.org>
parents: 10555
diff changeset
313
10787
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
314 func! Test_mode()
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
315 new
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
316 call append(0, ["Blue Ball Black", "Brown Band Bowl", ""])
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
317
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
318 inoremap <F2> <C-R>=Save_mode()<CR>
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
319
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
320 normal! 3G
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
321 exe "normal i\<F2>\<Esc>"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
322 call assert_equal('i-i', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
323 exe "normal i\<C-G>uBa\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
324 call assert_equal('i-ic', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
325 exe "normal iBro\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
326 call assert_equal('i-ic', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
327 exe "normal iBa\<C-X>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
328 call assert_equal('i-ix', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
329 exe "normal iBa\<C-X>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
330 call assert_equal('i-ic', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
331 exe "normal iBro\<C-X>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
332 call assert_equal('i-ic', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
333 exe "normal iBro\<C-X>\<C-P>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
334 call assert_equal('i-ic', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
335 exe "normal iCom\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
336 call assert_equal('i-ic', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
337 exe "normal iCom\<C-X>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
338 call assert_equal('i-ic', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
339
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
340 exe "normal RBa\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
341 call assert_equal('R-Rc', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
342 exe "normal RBro\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
343 call assert_equal('R-Rc', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
344 exe "normal RBa\<C-X>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
345 call assert_equal('R-Rx', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
346 exe "normal RBa\<C-X>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
347 call assert_equal('R-Rc', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
348 exe "normal RBro\<C-X>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
349 call assert_equal('R-Rc', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
350 exe "normal RBro\<C-X>\<C-P>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
351 call assert_equal('R-Rc', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
352 exe "normal RCom\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
353 call assert_equal('R-Rc', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
354 exe "normal RCom\<C-X>\<C-P>\<F2>\<Esc>u"
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
355 call assert_equal('R-Rc', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
356
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
357 call assert_equal('n', mode(0))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
358 call assert_equal('n', mode(1))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
359
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
360 " How to test operator-pending mode?
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
361
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
362 call feedkeys("v", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
363 call assert_equal('v', mode())
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
364 call assert_equal('v', mode(1))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
365 call feedkeys("\<Esc>V", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
366 call assert_equal('V', mode())
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
367 call assert_equal('V', mode(1))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
368 call feedkeys("\<Esc>\<C-V>", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
369 call assert_equal("\<C-V>", mode())
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
370 call assert_equal("\<C-V>", mode(1))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
371 call feedkeys("\<Esc>", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
372
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
373 call feedkeys("gh", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
374 call assert_equal('s', mode())
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
375 call assert_equal('s', mode(1))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
376 call feedkeys("\<Esc>gH", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
377 call assert_equal('S', mode())
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
378 call assert_equal('S', mode(1))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
379 call feedkeys("\<Esc>g\<C-H>", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
380 call assert_equal("\<C-S>", mode())
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
381 call assert_equal("\<C-S>", mode(1))
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
382 call feedkeys("\<Esc>", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
383
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
384 call feedkeys(":echo \<C-R>=Save_mode()\<C-U>\<CR>", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
385 call assert_equal('c-c', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
386 call feedkeys("gQecho \<C-R>=Save_mode()\<CR>\<CR>vi\<CR>", 'xt')
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
387 call assert_equal('c-cv', g:current_modes)
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
388 " How to test Ex mode?
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
389
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
390 bwipe!
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
391 iunmap <F2>
09926123316b patch 8.0.0283: mode() does not indicate Insert mode completion
Christian Brabandt <cb@256bit.org>
parents: 10743
diff changeset
392 endfunc