File: //home/btminers/.vim/bundle/conflict-marker.vim/test/test_syntax.vimspec
let s:lines = [
\ '<<<<<<< HEAD',
\ 'ourselves1',
\ '=======',
\ 'themselves1',
\ '>>>>>>> 8374eabc232',
\ '',
\ '',
\ '<<<<<<< HEAD',
\ 'ourselves2',
\ '=======',
\ 'themselves2',
\ '>>>>>>> 8374eabc232',
\ '',
\ '',
\ '<<<<<<< HEAD',
\ 'ourselves3',
\ '=======',
\ 'themselves3',
\ '>>>>>>> 8374eabc232',
\ ]
lockvar s:lines
function! GetHighlight(line, col)
return synIDattr(synID(a:line,a:col,1),'name')
endfunction
Describe Conflict marker
Before
new
for l in range(1, len(s:lines))
call setline(l, s:lines[l-1])
endfor
End
After
close!
End
It is highlighted
doautocmd BufReadPost
for l in [1, 8, 15]
Assert Equals(GetHighlight(l, 1), 'ConflictMarkerBegin')
Assert Equals(GetHighlight(l+1, 2), 'ConflictMarkerOurs')
Assert Equals(GetHighlight(l+2, 3), 'ConflictMarkerSeparator')
Assert Equals(GetHighlight(l+3, 4), 'ConflictMarkerTheirs')
Assert Equals(GetHighlight(l+4, 5), 'ConflictMarkerEnd')
endfor
End
It is not highlighted if no marker is detected at BufReadPost
for l in [1, 8, 15]
Assert NotEquals(GetHighlight(l, 1), 'ConflictMarkerBegin')
Assert NotEquals(GetHighlight(l+1, 2), 'ConflictMarkerOurs')
Assert NotEquals(GetHighlight(l+2, 3), 'ConflictMarkerSeparator')
Assert NotEquals(GetHighlight(l+3, 4), 'ConflictMarkerTheirs')
Assert NotEquals(GetHighlight(l+4, 5), 'ConflictMarkerEnd')
endfor
End
Describe g:conflict_marker_enable_detect
Before
let saved = g:conflict_marker_enable_detect
End
After
let g:conflict_marker_enable_detect = saved
End
It disables detection when 0 is set (#18)
let g:conflict_marker_enable_detect = 0
doautocmd BufReadPost
for l in [1, 8, 15]
Assert NotEquals(GetHighlight(l, 1), 'ConflictMarkerBegin')
Assert NotEquals(GetHighlight(l+1, 2), 'ConflictMarkerOurs')
Assert NotEquals(GetHighlight(l+2, 3), 'ConflictMarkerSeparator')
Assert NotEquals(GetHighlight(l+3, 4), 'ConflictMarkerTheirs')
Assert NotEquals(GetHighlight(l+4, 5), 'ConflictMarkerEnd')
endfor
End
End
End