46 lines
1.2 KiB
VimL
Executable file
46 lines
1.2 KiB
VimL
Executable file
let s:suite = themis#suite('uniq')
|
|
let s:assert = themis#helper('assert')
|
|
|
|
function! s:uniq(...)
|
|
try
|
|
return call(SID('uniq'), a:000)
|
|
catch
|
|
return call(function('uniq'), a:000)
|
|
endtry
|
|
endfunction
|
|
|
|
function! s:suite.nil()
|
|
call s:assert.equals(s:uniq([]), [])
|
|
endfunction
|
|
|
|
function! s:suite.one()
|
|
call s:assert.equals(s:uniq(['foo']), ['foo'])
|
|
endfunction
|
|
|
|
function! s:suite.two()
|
|
call s:assert.equals(s:uniq(['foo', 'bar']), ['foo', 'bar'])
|
|
endfunction
|
|
|
|
function! s:suite.three()
|
|
call s:assert.equals(s:uniq(['foo', 'bar', 'baz']), ['foo', 'bar', 'baz'])
|
|
endfunction
|
|
|
|
function! s:suite.two_duplicated()
|
|
call s:assert.equals(s:uniq(['foo', 'foo']), ['foo'])
|
|
endfunction
|
|
|
|
function! s:suite.three_duplicated()
|
|
call s:assert.equals(s:uniq(['foo', 'bar', 'foo']), ['foo', 'bar', 'foo'])
|
|
endfunction
|
|
|
|
function! s:suite.many1()
|
|
call s:assert.equals(s:uniq(['foo', 'foo', 'bar', 'baz', 'baz', 'qux', 'foo']), ['foo', 'bar', 'baz', 'qux', 'foo'])
|
|
endfunction
|
|
|
|
function! s:suite.many2()
|
|
call s:assert.equals(s:uniq(['foo', 'foo', 'foo', 'foo', 'bar', 'bar', 'bar']), ['foo', 'bar'])
|
|
endfunction
|
|
|
|
function! s:suite.many3()
|
|
call s:assert.equals(s:uniq(['foo', 'foo', 'bar', 'bar', 'bar', 'foo', 'foo', 'foo']), ['foo', 'bar', 'foo'])
|
|
endfunction
|