91 lines
3.3 KiB
VimL
91 lines
3.3 KiB
VimL
|
let s:suite = themis#suite('concatenate')
|
||
|
let s:assert = themis#helper('assert')
|
||
|
|
||
|
function! s:suite.before_each()
|
||
|
let g:lightline = { 'subseparator': { 'left': '>', 'right': '<' } }
|
||
|
call lightline#init()
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.nil()
|
||
|
call s:assert.equals(lightline#concatenate([], 0), '')
|
||
|
call s:assert.equals(lightline#concatenate([], 1), '')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.one()
|
||
|
call s:assert.equals(lightline#concatenate(['foo'], 0), 'foo')
|
||
|
call s:assert.equals(lightline#concatenate(['foo'], 1), 'foo')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.two()
|
||
|
call s:assert.equals(lightline#concatenate(['foo', 'bar'], 0), 'foo > bar')
|
||
|
call s:assert.equals(lightline#concatenate(['foo', 'bar'], 1), 'foo < bar')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three()
|
||
|
call s:assert.equals(lightline#concatenate(['foo', 'bar', 'baz'], 0), 'foo > bar > baz')
|
||
|
call s:assert.equals(lightline#concatenate(['foo', 'bar', 'baz'], 1), 'foo < bar < baz')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.one_empty()
|
||
|
call s:assert.equals(lightline#concatenate([''], 0), '')
|
||
|
call s:assert.equals(lightline#concatenate([''], 1), '')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.two_empty_left()
|
||
|
call s:assert.equals(lightline#concatenate(['', 'bar'], 0), 'bar')
|
||
|
call s:assert.equals(lightline#concatenate(['', 'bar'], 1), 'bar')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.two_empty_right()
|
||
|
call s:assert.equals(lightline#concatenate(['foo', ''], 0), 'foo')
|
||
|
call s:assert.equals(lightline#concatenate(['foo', ''], 1), 'foo')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.two_empty_both()
|
||
|
call s:assert.equals(lightline#concatenate(['', ''], 0), '')
|
||
|
call s:assert.equals(lightline#concatenate(['', ''], 1), '')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three_empty_left()
|
||
|
call s:assert.equals(lightline#concatenate(['', 'bar', 'baz'], 0), 'bar > baz')
|
||
|
call s:assert.equals(lightline#concatenate(['', 'bar', 'baz'], 1), 'bar < baz')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three_empty_middle()
|
||
|
call s:assert.equals(lightline#concatenate(['foo', '', 'baz'], 0), 'foo > baz')
|
||
|
call s:assert.equals(lightline#concatenate(['foo', '', 'baz'], 1), 'foo < baz')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three_empty_right()
|
||
|
call s:assert.equals(lightline#concatenate(['foo', 'bar', ''], 0), 'foo > bar')
|
||
|
call s:assert.equals(lightline#concatenate(['foo', 'bar', ''], 1), 'foo < bar')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three_empty_middle_right()
|
||
|
call s:assert.equals(lightline#concatenate(['foo', '', ''], 0), 'foo')
|
||
|
call s:assert.equals(lightline#concatenate(['foo', '', ''], 1), 'foo')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three_empty_left_right()
|
||
|
call s:assert.equals(lightline#concatenate(['', 'bar', ''], 0), 'bar')
|
||
|
call s:assert.equals(lightline#concatenate(['', 'bar', ''], 1), 'bar')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three_empty_left_middle()
|
||
|
call s:assert.equals(lightline#concatenate(['', '', 'baz'], 0), 'baz')
|
||
|
call s:assert.equals(lightline#concatenate(['', '', 'baz'], 1), 'baz')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.three_empty_all()
|
||
|
call s:assert.equals(lightline#concatenate(['', '', ''], 0), '')
|
||
|
call s:assert.equals(lightline#concatenate(['', '', ''], 1), '')
|
||
|
endfunction
|
||
|
|
||
|
function! s:suite.keep_original()
|
||
|
let xs = ['', 'bar', '']
|
||
|
call s:assert.equals(lightline#concatenate(xs, 0), 'bar')
|
||
|
call s:assert.equals(xs, ['', 'bar', ''])
|
||
|
call s:assert.equals(lightline#concatenate(xs, 1), 'bar')
|
||
|
call s:assert.equals(xs, ['', 'bar', ''])
|
||
|
endfunction
|