let s:suite = themis#suite('parser')
let s:assert = themis#helper('assert')
function! s:suite.sort() abort
let candidates = []
for i in range(1, 100)
call add(candidates, { 'vimfiler__filename' : 'foo'.i.'.txt'.i })
endfor
" Benchmark.
let start = reltime()
call vimfiler#helper#_sort_human(copy(candidates), 0)
echomsg reltimestr(reltime(start))
let g:start = reltime()
call vimfiler#helper#_sort_human(copy(candidates), 1)
echomsg reltimestr(reltime(start))
call s:assert.equals(vimfiler#helper#_sort_human(copy(candidates), 0),
\ vimfiler#helper#_sort_human(copy(candidates), 1))
let candidates = []
call add(candidates, { 'vimfiler__filename' : 'foo1.txt' })
call add(candidates, { 'vimfiler__filename' : 'foo10.txt' })
call add(candidates, { 'vimfiler__filename' : 'foo2.txt' })
call s:assert.equals(vimfiler#helper#_sort_human(copy(candidates), 0), [
\ { 'vimfiler__filename' : 'foo1.txt' },
\ { 'vimfiler__filename' : 'foo2.txt' },
\ { 'vimfiler__filename' : 'foo10.txt' }
\ ])
call s:assert.equals(vimfiler#helper#_sort_human(copy(candidates), 1), [
\ { 'vimfiler__filename' : 'foo1.txt' },
\ { 'vimfiler__filename' : 'foo2.txt' },
\ { 'vimfiler__filename' : 'foo10.txt' }
\ ])
endfunction
" vim:foldmethod=marker:fen: