HEX
Server: nginx/1.24.0
System: Linux prod-btpayments-io 6.14.0-1018-aws #18~24.04.1-Ubuntu SMP Mon Nov 24 19:46:27 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.3.19
Disabled: NONE
Upload Files
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