tests/test-movement.vim @ 7e3c84cb5eb4
Fix TypeError when using Python 3
The error shows up on :Gundo and looks like this:
Error detected while processing function gundo#GundoShow[1]..<SNR>116_GundoShow[4]..<SNR>116_GundoOpen[31]..<SNR>116_GundoRenderPreview:
line 2:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/mg/.vim/bundle/Gundo/autoload/gundo.py", line 474, in GundoRenderPreview
_output_preview_text(_generate_preview_diff(current, node_before, node_after))
File "/home/mg/.vim/bundle/Gundo/autoload/gundo.py", line 382, in _generate_preview_diff
before_time, after_time))
File "/usr/lib/python3.5/difflib.py", line 1177, in unified_diff
_check_types(a, b, fromfile, tofile, fromfiledate, tofiledate, lineterm)
File "/usr/lib/python3.5/difflib.py", line 1312, in _check_types
raise TypeError('all arguments must be str, not: %r' % (arg,))
TypeError: all arguments must be str, not: 46
author |
Marius Gedminas <marius@gedmin.as> |
date |
Thu, 24 Nov 2016 14:21:55 +0200 |
parents |
d1f332450ea3 |
children |
(none) |
UTSuite [Gundo] Testing Movement
function! s:Setup()"{{{
exec 'edit test'
call g:Goto('test')
endfunction"}}}
function! s:Teardown()"{{{
if bufwinnr(bufnr('__Gundo__')) != -1
exec bufwinnr(bufnr('__Gundo__')) . 'wincmd w'
quit
endif
if bufwinnr(bufnr('__Gundo_Preview__')) != -1
exec bufwinnr(bufnr('__Gundo_Preview__')) . 'wincmd w'
quit
endif
if bufnr('__Gundo__') != -1
exec 'bwipeout! ' . bufnr('__Gundo__')
endif
if bufnr('__Gundo_Preview__') != -1
exec 'bwipeout! ' . bufnr('__Gundo_Preview__')
endif
if bufnr('test') != -1
exec 'bwipeout! ' . bufnr('test')
endif
if bufnr('test2') != -1
exec 'bwipeout! ' . bufnr('test2')
endif
endfunction"}}}
function! s:TestMovementBasic()"{{{
" Make three linear changes
call g:TypeLineDone("ONE")
call g:TypeLineDone("TWO")
call g:TypeLineDone("THREE")
" Open Gundo
GundoToggle
" Make sure we're on the newest/current state
Assert g:CurrentLineContains("[3]")
" Move down
normal j
Assert g:CurrentLineContains("[2]")
" Move down
normal j
Assert g:CurrentLineContains("[1]")
" Move down
normal j
Assert g:CurrentLineContains("[0]")
" Move up
normal k
Assert g:CurrentLineContains("[1]")
" Move up
normal k
Assert g:CurrentLineContains("[2]")
" Move up
normal k
Assert g:CurrentLineContains("[3]")
" Test arrow mappings
" Move down
exec "normal \<down>"
Assert g:CurrentLineContains("[2]")
" Move down
exec "normal \<down>"
Assert g:CurrentLineContains("[1]")
" Move down
exec "normal \<down>"
Assert g:CurrentLineContains("[0]")
" Move up
exec "normal \<up>"
Assert g:CurrentLineContains("[1]")
" Move up
exec "normal \<up>"
Assert g:CurrentLineContains("[2]")
" Move up
exec "normal \<up>"
Assert g:CurrentLineContains("[3]")
endfunction"}}}
function! s:TestMovementLinear()"{{{
" Make four changes:
"
" o [4]
" |
" | o [3]
" | |
" o | [2]
" |/
" o [1]
" |
" o [0] (original)
call g:TypeLineDone("ONE")
call g:TypeLineDone("TWO")
silent! undo
call g:TypeLineDone("THREE")
silent! undo 2
call g:TypeLineDone("FOUR")
" Open Gundo
GundoToggle
" Make sure we're on the newest/current state
Assert g:CurrentLineContains("[4]")
" Move down
normal j
Assert g:CurrentLineContains("[3]")
" Move down
normal j
Assert g:CurrentLineContains("[2]")
" Move down
normal j
Assert g:CurrentLineContains("[1]")
" Move down
normal j
Assert g:CurrentLineContains("[0]")
" Move up
normal k
Assert g:CurrentLineContains("[1]")
" Move up
normal k
Assert g:CurrentLineContains("[2]")
" Move up
normal k
Assert g:CurrentLineContains("[3]")
" Move up
normal k
Assert g:CurrentLineContains("[4]")
endfunction"}}}