diff --git a/autoload/tablemode/utils.vim b/autoload/tablemode/utils.vim index af9495d..e275c7d 100644 --- a/autoload/tablemode/utils.vim +++ b/autoload/tablemode/utils.vim @@ -52,9 +52,7 @@ function! tablemode#utils#strlen(text) return strlen(substitute(a:text, '.', 'x', 'g')) endfunction -" Return the number of bytes in a string after expanding tabs to spaces. {{{2 -" This expansion is done based on the current value of 'tabstop' -function! tablemode#utils#StrDisplayWidth(string) +function! tablemode#utils#StrDisplayWidth(string) "{{{2 if exists('*strdisplaywidth') return strdisplaywidth(a:string) else @@ -77,4 +75,3 @@ function! tablemode#utils#StrDisplayWidth(string) return rv endif endfunction - diff --git a/t/utils.vim b/t/utils.vim index 676cf4c..57b9ea3 100644 --- a/t/utils.vim +++ b/t/utils.vim @@ -3,31 +3,45 @@ source t/config/options.vim call vspec#hint({'scope': 'tablemode#utils#scope()', 'sid': 'tablemode#utils#sid()'}) -describe 'line' - it 'should return the current line number' - Expect tablemode#utils#line('.') == line('.') +describe 'utils' + describe 'line' + it 'should return the current line number' + Expect tablemode#utils#line('.') == line('.') + end + + it 'should return the line number itself if it is a number' + Expect tablemode#utils#line(1) == 1 + end end - it 'should return the line number itself if it is a number' - Expect tablemode#utils#line(1) == 1 - end -end - -describe 'strip' - it 'should strip all initial or trailing whitespace from a string' - let string = ' This is awesome ' - Expect tablemode#utils#strip(string) == 'This is awesome' - end -end - -describe 'strlen' - it 'should return the length of a string correctly' - let string = 'this is a test' - Expect tablemode#utils#strlen(string) == 14 - end - - it 'should return the length of a unicode string correctly' - let string = '測試 is good.' - Expect tablemode#utils#strlen(string) == 11 + describe 'strip' + it 'should strip all initial or trailing whitespace from a string' + let string = ' This is awesome ' + Expect tablemode#utils#strip(string) == 'This is awesome' + end + end + + describe 'strlen' + it 'should return the length of a string correctly' + let string = 'this is a test' + Expect tablemode#utils#strlen(string) == 14 + end + + it 'should return the length of a unicode string correctly' + let string = '測試 is good.' + Expect tablemode#utils#strlen(string) == 11 + end + end + + describe 'strdisplaywidth' + it 'should return the display width of a string correctly' + let string = 'this is a test' + Expect tablemode#utils#StrDisplayWidth(string) == 14 + end + + it 'should return the display width of a unicode string correctly' + let string = '測試 is good.' + Expect tablemode#utils#StrDisplayWidth(string) == 13 + end end end