From: Bram Moolenaar Date: Sun, 20 May 2018 12:11:10 +0000 (+0200) Subject: patch 8.1.0008: no test for strwidth() X-Git-Tag: v8.1.0008 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=42ab17b8e32352210c4e273a4a4161a287d2c159;p=thirdparty%2Fvim.git patch 8.1.0008: no test for strwidth() Problem: No test for strwidth(). Solution: Add a test. (Dominique Pelle, closes #2931) --- diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index 49e5d1f1a6..97e7e234ad 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 f18e711fba..f2fa2a701a 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 8, /**/ 7, /**/