Improved test for utils

This commit is contained in:
Dhruva Sagar
2014-04-30 23:04:27 +05:30
parent 53da3fb4c2
commit fa568fe91b
2 changed files with 39 additions and 28 deletions

View File

@@ -52,9 +52,7 @@ function! tablemode#utils#strlen(text)
return strlen(substitute(a:text, '.', 'x', 'g')) return strlen(substitute(a:text, '.', 'x', 'g'))
endfunction endfunction
" Return the number of bytes in a string after expanding tabs to spaces. {{{2 function! tablemode#utils#StrDisplayWidth(string) "{{{2
" This expansion is done based on the current value of 'tabstop'
function! tablemode#utils#StrDisplayWidth(string)
if exists('*strdisplaywidth') if exists('*strdisplaywidth')
return strdisplaywidth(a:string) return strdisplaywidth(a:string)
else else
@@ -77,4 +75,3 @@ function! tablemode#utils#StrDisplayWidth(string)
return rv return rv
endif endif
endfunction endfunction

View File

@@ -3,6 +3,7 @@ source t/config/options.vim
call vspec#hint({'scope': 'tablemode#utils#scope()', 'sid': 'tablemode#utils#sid()'}) call vspec#hint({'scope': 'tablemode#utils#scope()', 'sid': 'tablemode#utils#sid()'})
describe 'utils'
describe 'line' describe 'line'
it 'should return the current line number' it 'should return the current line number'
Expect tablemode#utils#line('.') == line('.') Expect tablemode#utils#line('.') == line('.')
@@ -31,3 +32,16 @@ describe 'strlen'
Expect tablemode#utils#strlen(string) == 11 Expect tablemode#utils#strlen(string) == 11
end end
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