comparison src/testdir/test_functions.vim @ 13980:a9e31b01366b v8.1.0008

patch 8.1.0008: no test for strwidth() commit https://github.com/vim/vim/commit/42ab17b8e32352210c4e273a4a4161a287d2c159 Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 20 14:11:10 2018 +0200 patch 8.1.0008: no test for strwidth() Problem: No test for strwidth(). Solution: Add a test. (Dominique Pelle, closes https://github.com/vim/vim/issues/2931)
author Christian Brabandt <cb@256bit.org>
date Sun, 20 May 2018 14:15:06 +0200
parents 4064f342bea4
children e124262d435e
comparison
equal deleted inserted replaced
13979:240fa79f3241 13980:a9e31b01366b
92 call assert_equal(0, min({})) 92 call assert_equal(0, min({}))
93 call assert_equal(1, min({'a':1, 'b':2})) 93 call assert_equal(1, min({'a':1, 'b':2}))
94 94
95 call assert_fails('call min(1)', 'E712:') 95 call assert_fails('call min(1)', 'E712:')
96 call assert_fails('call min(v:none)', 'E712:') 96 call assert_fails('call min(v:none)', 'E712:')
97 endfunc
98
99 func Test_strwidth()
100 for aw in ['single', 'double']
101 exe 'set ambiwidth=' . aw
102 call assert_equal(0, strwidth(''))
103 call assert_equal(1, strwidth("\t"))
104 call assert_equal(3, strwidth('Vim'))
105 call assert_equal(4, strwidth(1234))
106 call assert_equal(5, strwidth(-1234))
107
108 if has('multi_byte')
109 call assert_equal(2, strwidth('😉'))
110 call assert_equal(17, strwidth('Eĥoŝanĝo ĉiuĵaŭde'))
111 call assert_equal((aw == 'single') ? 6 : 7, strwidth('Straße'))
112 endif
113
114 call assert_fails('call strwidth({->0})', 'E729:')
115 call assert_fails('call strwidth([])', 'E730:')
116 call assert_fails('call strwidth({})', 'E731:')
117 call assert_fails('call strwidth(1.2)', 'E806:')
118 endfor
119
120 set ambiwidth&
97 endfunc 121 endfunc
98 122
99 func Test_str2nr() 123 func Test_str2nr()
100 call assert_equal(0, str2nr('')) 124 call assert_equal(0, str2nr(''))
101 call assert_equal(1, str2nr('1')) 125 call assert_equal(1, str2nr('1'))