diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-05-18 19:19:03 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-05-18 19:19:03 +0200 |
commit | 485b62710004431a16feb4eb861365d082304a08 (patch) | |
tree | 16cf5ca03ba7957b4ba1bfad01621dfe3ce19590 | |
parent | cbe178e3dc4ad45d9b2ed5e713e7c4cc88bf8b8b (diff) | |
download | vim-git-485b62710004431a16feb4eb861365d082304a08.tar.gz |
patch 8.2.2869: using unified diff is not testedv8.2.2869
Problem: Using unified diff is not tested.
Solution: Test all cases also with unified diff. (issue #8197)
-rw-r--r-- | src/testdir/test_diffmode.vim | 28 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 27 insertions, 3 deletions
diff --git a/src/testdir/test_diffmode.vim b/src/testdir/test_diffmode.vim index d09d74149..4696456a2 100644 --- a/src/testdir/test_diffmode.vim +++ b/src/testdir/test_diffmode.vim @@ -624,7 +624,7 @@ func Test_diffexpr() CheckExecutable diff func DiffExpr() - " Prepent some text to check diff type detection + " Prepend some text to check diff type detection call writefile(['warning', ' message'], v:fname_out) silent exe '!diff ' . v:fname_in . ' ' . v:fname_new . '>>' . v:fname_out endfunc @@ -789,9 +789,15 @@ func VerifyBoth(buf, dumpfile, extra) for cmd in [":set diffopt=filler" . a:extra . "\<CR>:", ":set diffopt+=internal\<CR>:"] call term_sendkeys(a:buf, cmd) if VerifyScreenDump(a:buf, a:dumpfile, {}, cmd =~ 'internal' ? 'internal' : 'external') - break " don't let the next iteration overwrite the "failed" file. + " don't let the next iteration overwrite the "failed" file. + return endif endfor + + " also test unified diff + call term_sendkeys(a:buf, ":call SetupUnified()\<CR>:") + call VerifyScreenDump(a:buf, a:dumpfile, {}, 'unified') + call term_sendkeys(a:buf, ":call StopUnified()\<CR>:") endfunc " Verify a screendump with the internal diff only. @@ -807,13 +813,28 @@ func Test_diff_screen() CheckScreendump CheckFeature menu + let lines =<< trim END + func UnifiedDiffExpr() + " Prepend some text to check diff type detection + call writefile(['warning', ' message'], v:fname_out) + silent exe '!diff -u ' .. v:fname_in .. ' ' .. v:fname_new .. '>>' .. v:fname_out + endfunc + func SetupUnified() + set diffexpr=UnifiedDiffExpr() + endfunc + func StopUnified() + set diffexpr= + endfunc + END + call writefile(lines, 'XdiffSetup') + " clean up already existing swap files, just in case call delete('.Xfile1.swp') call delete('.Xfile2.swp') " Test 1: Add a line in beginning of file 2 call WriteDiffFiles(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) - let buf = RunVimInTerminal('-d Xfile1 Xfile2', {}) + let buf = RunVimInTerminal('-d -S XdiffSetup Xfile1 Xfile2', {}) " Set autoread mode, so that Vim won't complain once we re-write the test " files call term_sendkeys(buf, ":set autoread\<CR>\<c-w>w:set autoread\<CR>\<c-w>w") @@ -933,6 +954,7 @@ func Test_diff_screen() call StopVimInTerminal(buf) call delete('Xfile1') call delete('Xfile2') + call delete('XdiffSetup') endfunc func Test_diff_with_cursorline() diff --git a/src/version.c b/src/version.c index 48f755408..0b17d91af 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2869, +/**/ 2868, /**/ 2867, |