Testing date functions

This commit is contained in:
Leandro Freitas
2015-04-12 11:42:29 -03:00
parent 95ed508741
commit b8a5bd64ca
3 changed files with 52 additions and 1 deletions

View File

@@ -10,6 +10,12 @@ let s:save_cpo = &cpo
set cpo&vim set cpo&vim
" Export Context Dictionary for unit testing {{{1 " Export Context Dictionary for unit testing {{{1
function! s:get_SID()
return matchstr(expand('<sfile>'), '<SNR>\d\+_')
endfunction
let s:SID = s:get_SID()
delfunction s:get_SID
function! todo#__context__() function! todo#__context__()
return { 'sid': s:SID, 'scope': s: } return { 'sid': s:SID, 'scope': s: }
endfunction endfunction
@@ -26,8 +32,12 @@ function! s:TodoTxtRemovePriority()
:s/^(\w)\s\+//ge :s/^(\w)\s\+//ge
endfunction endfunction
function! s:TodoTxtGetCurrentDate()
return strftime('%Y-%m-%d')
endfunction
function! TodoTxtPrependDate() function! TodoTxtPrependDate()
normal! 0"=strftime("%Y-%m-%d ") execute 'normal! 0"='.string(s:TodoTxtGetCurrentDate().' ').'
P' P'
endfunction endfunction

3
test/tc_date.todo.txt Normal file
View File

@@ -0,0 +1,3 @@
# lorem_ipsum
example task
# end_lorem_ipsum

38
test/tc_date.vim Normal file
View File

@@ -0,0 +1,38 @@
let s:here = expand('<sfile>:p:h')
let s:context = todo#__context__()
let s:context['data'] = s:here . '/tc_date.todo.txt'
let s:tc = unittest#testcase#new('Date', s:context)
let s:LEADER = mapleader
let s:TODAY = strftime("%Y-%m-%d")
function! s:tc.test_current_date()
call self.assert_equal(s:TODAY, self.call('s:TodoTxtGetCurrentDate', []))
endfunction
let s:DATE_INSERTED = [
\ s:TODAY . ' example task',
\ ]
let s:DATE_INSERTED_VISUAL = [
\ s:TODAY . ' example task',
\ ]
function! s:tc.test_insert_date_normal_mode()
call self.data.goto('lorem_ipsum')
execute 'normal ' . s:LEADER . 'd'
call self.assert_equal(s:DATE_INSERTED, self.data.get('lorem_ipsum'))
endfunction
function! s:tc.test_insert_date_insert_mode()
call self.data.goto('lorem_ipsum')
execute 'normal idate '
call self.assert_equal(s:DATE_INSERTED_VISUAL, self.data.get('lorem_ipsum'))
endfunction
function! s:tc.test_insert_date_visual_mode()
call self.data.visual_execute('call TodoTxtPrependDate()', 'lorem_ipsum')
call self.assert_equal(s:DATE_INSERTED_VISUAL, self.data.get('lorem_ipsum'))
endfunction
unlet s:tc