summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-05-20 14:11:10 +0200
committerBram Moolenaar <Bram@vim.org>2018-05-20 14:11:10 +0200
commit42ab17b8e32352210c4e273a4a4161a287d2c159 (patch)
tree9ba9ac4d1e53e13d3981a1c8d1fd73a87043714f
parent2e94976abd1cd6b94db38d4f2a1cfd71808b8100 (diff)
downloadvim-git-42ab17b8e32352210c4e273a4a4161a287d2c159.tar.gz
patch 8.1.0008: no test for strwidth()v8.1.0008
Problem: No test for strwidth(). Solution: Add a test. (Dominique Pelle, closes #2931)
-rw-r--r--src/testdir/test_functions.vim24
-rw-r--r--src/version.c2
2 files changed, 26 insertions, 0 deletions
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 49e5d1f1a..97e7e234a 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -96,6 +96,30 @@ func Test_min()
call assert_fails('call min(v:none)', 'E712:')
endfunc
+func Test_strwidth()
+ for aw in ['single', 'double']
+ exe 'set ambiwidth=' . aw
+ call assert_equal(0, strwidth(''))
+ call assert_equal(1, strwidth("\t"))
+ call assert_equal(3, strwidth('Vim'))
+ call assert_equal(4, strwidth(1234))
+ call assert_equal(5, strwidth(-1234))
+
+ if has('multi_byte')
+ call assert_equal(2, strwidth('😉'))
+ call assert_equal(17, strwidth('Eĥoŝanĝo ĉiuĵaŭde'))
+ call assert_equal((aw == 'single') ? 6 : 7, strwidth('Straße'))
+ endif
+
+ call assert_fails('call strwidth({->0})', 'E729:')
+ call assert_fails('call strwidth([])', 'E730:')
+ call assert_fails('call strwidth({})', 'E731:')
+ call assert_fails('call strwidth(1.2)', 'E806:')
+ endfor
+
+ set ambiwidth&
+endfunc
+
func Test_str2nr()
call assert_equal(0, str2nr(''))
call assert_equal(1, str2nr('1'))
diff --git a/src/version.c b/src/version.c
index f18e711fb..f2fa2a701 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 8,
+/**/
7,
/**/
6,