Patch 7.4.2123
Problem: No new style test for diff mode.
Solution: Add a test. Check that folds are in sync.
Files: src/Makefile, src/testdir/test_diffmode.vim,
src/testdir/Make_all.mak, src/testdir/test47.in,
src/testdir/test47.ok
*** ../vim-7.4.2122/src/Makefile 2016-07-29 18:13:29.132175672 +0200
--- src/Makefile 2016-07-30 16:13:00.860268878 +0200
***************
*** 2042,2048 ****
test11 test12 test13 test14 test15 test16 test17 test18 test19 \
test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
! test40 test41 test42 test43 test44 test45 test46 test47 test48 test49 \
test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \
test60 test62 test63 test64 test65 test66 test67 test68 test69 \
test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
--- 2042,2048 ----
test11 test12 test13 test14 test15 test16 test17 test18 test19 \
test20 test21 test22 test23 test24 test25 test26 test27 test28 test29 \
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
! test40 test41 test42 test43 test44 test45 test46 test48 test49 \
test50 test51 test52 test53 test54 test55 test56 test57 test58 test59 \
test60 test62 test63 test64 test65 test66 test67 test68 test69 \
test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
***************
*** 2064,2069 ****
--- 2064,2070 ----
test_cscope \
test_cursor_func \
test_delete \
+ test_diffmode \
test_digraph \
test_ex_undo \
test_execute_func \
*** ../vim-7.4.2122/src/testdir/test_diffmode.vim 2016-07-30
16:15:41.826727869 +0200
--- src/testdir/test_diffmode.vim 2016-07-30 16:11:56.780882692 +0200
***************
*** 0 ****
--- 1,165 ----
+ " Tests for diff mode
+
+ func Test_diff_fold_sync()
+ enew!
+ let l = range(50)
+ call setline(1, l)
+ diffthis
+ let winone = win_getid()
+ new
+ let l[25] = 'diff'
+ call setline(1, l)
+ diffthis
+ let wintwo = win_getid()
+ " line 15 is inside the closed fold
+ call assert_equal(19, foldclosedend(10))
+ call win_gotoid(winone)
+ call assert_equal(19, foldclosedend(10))
+ " open the fold
+ normal zv
+ call assert_equal(-1, foldclosedend(10))
+ " fold in other window must have opened too
+ call win_gotoid(wintwo)
+ call assert_equal(-1, foldclosedend(10))
+
+ " cursor position is in sync
+ normal 23G
+ call win_gotoid(winone)
+ call assert_equal(23, getcurpos()[1])
+
+ windo diffoff
+ close!
+ set nomodified
+ endfunc
+
+ func Test_vert_split()
+ " Disable the title to avoid xterm keeping the wrong one.
+ set notitle noicon
+ new
+ let l = ['1 aa', '2 bb', '3 cc', '4 dd', '5 ee']
+ call setline(1, l)
+ w! Xtest
+ normal dd
+ $
+ put
+ normal kkrXoxxx
+ w! Xtest2
+ file Nop
+ normal ggoyyy jjjozzzz
+ set foldmethod=marker foldcolumn=4
+ call assert_equal(0, &diff)
+ call assert_equal('marker', &foldmethod)
+ call assert_equal(4, &foldcolumn)
+ call assert_equal(0, &scrollbind)
+ call assert_equal(0, &cursorbind)
+ call assert_equal(1, &wrap)
+
+ vert diffsplit Xtest
+ vert diffsplit Xtest2
+ call assert_equal(1, &diff)
+ call assert_equal('diff', &foldmethod)
+ call assert_equal(2, &foldcolumn)
+ call assert_equal(1, &scrollbind)
+ call assert_equal(1, &cursorbind)
+ call assert_equal(0, &wrap)
+
+ let diff_fdm = &fdm
+ let diff_fdc = &fdc
+ " repeat entering diff mode here to see if this saves the wrong settings
+ diffthis
+ " jump to second window for a moment to have filler line appear at start of
+ " first window
+ wincmd w
+ normal gg
+ wincmd p
+ normal gg
+ call assert_equal(2, winline())
+ normal j
+ call assert_equal(4, winline())
+ normal j
+ call assert_equal(5, winline())
+ normal j
+ call assert_equal(6, winline())
+ normal j
+ call assert_equal(8, winline())
+ normal j
+ call assert_equal(9, winline())
+
+ wincmd w
+ normal gg
+ call assert_equal(1, winline())
+ normal j
+ call assert_equal(2, winline())
+ normal j
+ call assert_equal(4, winline())
+ normal j
+ call assert_equal(5, winline())
+ normal j
+ call assert_equal(8, winline())
+
+ wincmd w
+ normal gg
+ call assert_equal(2, winline())
+ normal j
+ call assert_equal(3, winline())
+ normal j
+ call assert_equal(4, winline())
+ normal j
+ call assert_equal(5, winline())
+ normal j
+ call assert_equal(6, winline())
+ normal j
+ call assert_equal(7, winline())
+ normal j
+ call assert_equal(8, winline())
+
+ " Test diffoff
+ diffoff!
+ 1wincmd 2
+ let &diff = 1
+ let &fdm = diff_fdm
+ let &fdc = diff_fdc
+ 4wincmd w
+ diffoff!
+ 1wincmd w
+ call assert_equal(0, &diff)
+ call assert_equal('marker', &foldmethod)
+ call assert_equal(4, &foldcolumn)
+ call assert_equal(0, &scrollbind)
+ call assert_equal(0, &cursorbind)
+ call assert_equal(1, &wrap)
+
+ wincmd w
+ call assert_equal(0, &diff)
+ call assert_equal('marker', &foldmethod)
+ call assert_equal(4, &foldcolumn)
+ call assert_equal(0, &scrollbind)
+ call assert_equal(0, &cursorbind)
+ call assert_equal(1, &wrap)
+
+ wincmd w
+ call assert_equal(0, &diff)
+ call assert_equal('marker', &foldmethod)
+ call assert_equal(4, &foldcolumn)
+ call assert_equal(0, &scrollbind)
+ call assert_equal(0, &cursorbind)
+ call assert_equal(1, &wrap)
+
+ windo bw!
+ endfunc
+
+ func Test_filler_lines()
+ " Test that diffing shows correct filler lines
+ enew!
+ put =range(4,10)
+ 1d _
+ vnew
+ put =range(1,10)
+ 1d _
+ windo diffthis
+ wincmd h
+ call assert_equal(1, line('w0'))
+ unlet! diff_fdm diff_fdc
+
+ windo bw!
+ endfunc
*** ../vim-7.4.2122/src/testdir/Make_all.mak 2016-07-29 18:13:29.136175634
+0200
--- src/testdir/Make_all.mak 2016-07-30 15:22:22.149043091 +0200
***************
*** 43,49 ****
test44.out \
test45.out \
test46.out \
- test47.out \
test48.out \
test51.out \
test53.out \
--- 43,48 ----
***************
*** 168,173 ****
--- 167,173 ----
test_channel.res \
test_cmdline.res \
test_cscope.res \
+ test_diffmode.res \
test_digraph.res \
test_farsi.res \
test_gn.res \
*** ../vim-7.4.2122/src/testdir/test47.in 2015-07-28 14:42:41.177971415
+0200
--- src/testdir/test47.in 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,103 ****
- Tests for vertical splits and filler lines in diff mode
-
- Also tests restoration of saved options by :diffoff.
-
- STARTTEST
- :so small.vim
- :" Disable the title to avoid xterm keeping the wrong one.
- :set notitle noicon
- /^1
- yG:new
- pkdd:w! Xtest
- ddGpkkrXoxxx :w! Xtest2
- :file Nop
- ggoyyy jjjozzzz
- :set foldmethod=marker foldcolumn=4
- :redir => nodiffsettings
- :silent! :set diff? fdm? fdc? scb? crb? wrap?
- :redir END
- :vert diffsplit Xtest
- :vert diffsplit Xtest2
- :redir => diffsettings
- :silent! :set diff? fdm? fdc? scb? crb? wrap?
- :redir END
- :let diff_fdm = &fdm
- :let diff_fdc = &fdc
- :" repeat entering diff mode here to see if this saves the wrong settings
- :diffthis
- :" jump to second window for a moment to have filler line appear at start of
- :" first window
- gg pgg:let one = winline()
- j:let one = one . "-" . winline()
- j:let one = one . "-" . winline()
- j:let one = one . "-" . winline()
- j:let one = one . "-" . winline()
- j:let one = one . "-" . winline()
- gg:let two = winline()
- j:let two = two . "-" . winline()
- j:let two = two . "-" . winline()
- j:let two = two . "-" . winline()
- j:let two = two . "-" . winline()
- gg:let three = winline()
- j:let three = three . "-" . winline()
- j:let three = three . "-" . winline()
- j:let three = three . "-" . winline()
- j:let three = three . "-" . winline()
- j:let three = three . "-" . winline()
- j:let three = three . "-" . winline()
- :call append("$", one)
- :call append("$", two)
- :call append("$", three)
- :$-2,$w! test.out
- :"
- :" Test diffoff
- :diffoff!
- 1
- :let &diff = 1
- :let &fdm = diff_fdm
- :let &fdc = diff_fdc
- 4
- :diffoff!
- :$put =nodiffsettings
- :$put =diffsettings
- 1
- :redir => nd1
- :silent! :set diff? fdm? fdc? scb? crb? wrap?
- :redir END
-
- :redir => nd2
- :silent! :set diff? fdm? fdc? scb? crb? wrap?
- :redir END
-
- :redir => nd3
- :silent! :set diff? fdm? fdc? scb? crb? wrap?
- :redir END
-
- :$put =nd1
- :$put =nd2
- :$put =nd3
- :$-39,$w >> test.out
- :"
- :" Test that diffing shows correct filler lines
- :windo :bw!
- :enew
- :put =range(4,10)
- :1d _
- :vnew
- :put =range(1,10)
- :1d _
- :windo :diffthis
- :wincmd h
- :let w0=line('w0')
- :enew
- :put =w0
- :.w >> test.out
- :unlet! one two three nodiffsettings diffsettings diff_fdm diff_fdc nd1 nd2
nd3 w0
- :qa!
- ENDTEST
-
- 1 aa
- 2 bb
- 3 cc
- 4 dd
- 5 ee
--- 0 ----
*** ../vim-7.4.2122/src/testdir/test47.ok 2015-07-04 15:05:08.606736259
+0200
--- src/testdir/test47.ok 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,44 ****
- 2-4-5-6-8-9
- 1-2-4-5-8
- 2-3-4-5-6-7-8
-
-
- nodiff
- foldmethod=marker
- foldcolumn=4
- noscrollbind
- nocursorbind
- wrap
-
-
- diff
- foldmethod=diff
- foldcolumn=2
- scrollbind
- cursorbind
- nowrap
-
-
- nodiff
- foldmethod=marker
- foldcolumn=4
- noscrollbind
- nocursorbind
- wrap
-
-
- nodiff
- foldmethod=marker
- foldcolumn=4
- noscrollbind
- nocursorbind
- wrap
-
-
- nodiff
- foldmethod=marker
- foldcolumn=4
- noscrollbind
- nocursorbind
- wrap
- 1
--- 0 ----
*** ../vim-7.4.2122/src/version.c 2016-07-30 14:12:19.475812375 +0200
--- src/version.c 2016-07-30 16:13:30.495985067 +0200
***************
*** 765,766 ****
--- 765,768 ----
{ /* Add new patch number below this line */
+ /**/
+ 2123,
/**/
--
Zen Microsystems: we're the om in .commmmmmmmm
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.