Patch 8.2.0008
Problem:    Test72 is old style.
Solution:   Convert to new style test. (Yegappan Lakshmanan, closes #5362)
Files:      src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
            src/testdir/test72.in, src/testdir/test72.ok,
            src/testdir/test_undo.vim


*** ../vim-8.2.0007/src/Makefile        2019-12-14 13:09:13.658894314 +0100
--- src/Makefile        2019-12-14 20:29:59.471850545 +0100
***************
*** 2256,2262 ****
        test42 test44 test49 \
        test52 test59 \
        test64 test69 \
!       test70 test72 \
        test86 test87 \
        test95 test99:
        cd testdir; rm -f [email protected]; $(MAKE) -f Makefile [email protected] 
VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
--- 2256,2262 ----
        test42 test44 test49 \
        test52 test59 \
        test64 test69 \
!       test70 \
        test86 test87 \
        test95 test99:
        cd testdir; rm -f [email protected]; $(MAKE) -f Makefile [email protected] 
VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
*** ../vim-8.2.0007/src/testdir/Make_all.mak    2019-12-11 20:07:24.000000000 
+0100
--- src/testdir/Make_all.mak    2019-12-14 20:29:59.471850545 +0100
***************
*** 37,45 ****
  
  # Tests that run on most systems, but not on VMS
  SCRIPTS_MORE4 = \
!       test59.out \
!       test72.out \
! 
  
  # Tests specifically for MS-Windows.
  SCRIPTS_WIN32 =
--- 37,43 ----
  
  # Tests that run on most systems, but not on VMS
  SCRIPTS_MORE4 = \
!       test59.out
  
  # Tests specifically for MS-Windows.
  SCRIPTS_WIN32 =
*** ../vim-8.2.0007/src/testdir/Make_vms.mms    2019-12-11 20:07:24.000000000 
+0100
--- src/testdir/Make_vms.mms    2019-12-14 20:29:59.471850545 +0100
***************
*** 76,82 ****
  SCRIPT = test1.out \
         test42.out test44.out test49.out \
         test64.out test69.out \
!        test72.out test77a.out \
         test95.out test99.out \
         test_eval.out
  
--- 76,82 ----
  SCRIPT = test1.out \
         test42.out test44.out test49.out \
         test64.out test69.out \
!        test77a.out \
         test95.out test99.out \
         test_eval.out
  
***************
*** 85,91 ****
  # test59: Failed/Hangs - VMS does not support spell files (file names
  # with too many dots).
  #
- # test72: bug - Vim hangs at :rename (while rename works well otherwise)
  # test78: bug - Vim dies at :recover Xtest 
  # test89: bug - findfile() does not work on VMS (just in the current 
directory) 
  # test102: Just ODS-5 supports space and special chars in the filename.
--- 85,90 ----
*** ../vim-8.2.0007/src/testdir/test72.in       2019-01-04 12:37:42.000000000 
+0100
--- src/testdir/test72.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,146 ****
- Tests for undo file.
- Since this script is sourced we need to explicitly break changes up in
- undo-able pieces.  Do that by setting 'undolevels'.
- 
- STARTTEST
- :so small.vim
- :set belloff=all
- :"
- :" Test 'undofile': first a simple one-line change.
- :set nocompatible viminfo+=nviminfo visualbell
- :set ul=100 undofile nomore
- :e! Xtestfile
- ggdGithis is one line :set ul=100
- :s/one/ONE/
- :set ul=100
- :w
- :bwipe!
- :e Xtestfile
- u:.w! test.out
- :"
- :" Test 'undofile', change in original file fails check
- :set noundofile
- :e! Xtestfile
- :s/line/Line/
- :w
- :set undofile
- :bwipe!
- :e Xtestfile
- u:.w >>test.out
- :"
- :" Test 'undofile', add 10 lines, delete 6 lines, undo 3
- :set undofile
- ggdGione
- two
- three
- four
- five
- six
- seven
- eight
- nine
- ten :set ul=100
- 3Gdd:set ul=100
- dd:set ul=100
- dd:set ul=100
- dd:set ul=100
- dd:set ul=100
- dd:set ul=100
- :w
- :bwipe!
- :e Xtestfile
- uuu:w >>test.out
- :"
- :" Test that reading the undofiles when setting undofile works
- :set noundofile ul=0
- i
-  u:e! Xtestfile
- :set undofile ul=100
- uuuuuu:w >>test.out
- :" And now with encryption, cryptmethod=zip
- :e! Xtestfile
- :set undofile cm=zip
- ggdGimonday
- tuesday
- wednesday
- thursday
- friday :set ul=100
- kkkdd:set ul=100
- dd:set ul=100
- dd:set ul=100
- :X
- foobar
- foobar
- :w!
- :bwipe!
- :e Xtestfile
- foobar
- :set key=
- uu:w >>test.out
- :"
- :"
- :" With encryption, cryptmethod=blowfish
- :e! Xtestfile
- rubbish
- :set undofile cm=blowfish ff&
- ggdGijan
- feb
- mar
- apr
- jun :set ul=100
- kk0ifoo  :set ul=100
- dd:set ul=100
- ibar  :set ul=100
- :X
- foobar
- foobar
- :w!
- :bwipe!
- :e Xtestfile
- foobar
- :set key=
- /bar
- :.w >>test.out
- u:.w >>test.out
- u:.w >>test.out
- u:.w >>test.out
- :"
- :" With encryption, cryptmethod=blowfish2
- :e! Xtestfile
- rubbish
- :set undofile cm=blowfish2 ff&
- ggdGijan
- feb
- mar
- apr
- jun :set ul=100
- kk0ifoo  :set ul=100
- dd:set ul=100
- ibar  :set ul=100
- :X
- foo2bar
- foo2bar
- :w!
- :bwipe!
- :e Xtestfile
- foo2bar
- :set key=
- /bar
- :.w >>test.out
- u:.w >>test.out
- u:.w >>test.out
- u:.w >>test.out
- :"
- :" Rename the undo file so that it gets cleaned up.
- :if has("vms")
- : call rename("_un_Xtestfile", "Xtestundo")
- :else
- : call rename(".Xtestfile.un~", "Xtestundo")
- :endif
- :qa!
- ENDTEST
- 
- 1111 -----
- 2222 -----
- 
- 123456789
--- 0 ----
*** ../vim-8.2.0007/src/testdir/test72.ok       2014-08-09 15:12:58.000000000 
+0200
--- src/testdir/test72.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,31 ****
- this is one line
- this is ONE Line
- one
- two
- six
- seven
- eight
- nine
- ten
- one
- two
- three
- four
- five
- six
- seven
- eight
- nine
- ten
- monday
- wednesday
- thursday
- friday
- bar apr
- apr
- foo mar
- mar
- bar apr
- apr
- foo mar
- mar
--- 0 ----
*** ../vim-8.2.0007/src/testdir/test_undo.vim   2019-10-28 00:33:37.000000000 
+0100
--- src/testdir/test_undo.vim   2019-12-14 20:29:59.471850545 +0100
***************
*** 469,471 ****
--- 469,655 ----
  
    set undodir&
  endfunc
+ 
+ " Tests for the undo file
+ " Explicitly break changes up in undo-able pieces by setting 'undolevels'.
+ func Test_undofile_2()
+   set undolevels=100 undofile
+   edit Xtestfile
+   call append(0, 'this is one line')
+   call cursor(1, 1)
+ 
+   " first a simple one-line change.
+   set undolevels=100
+   s/one/ONE/
+   set undolevels=100
+   write
+   bwipe!
+   edit Xtestfile
+   undo
+   call assert_equal('this is one line', getline(1))
+ 
+   " change in original file fails check
+   set noundofile
+   edit! Xtestfile
+   s/line/Line/
+   write
+   set undofile
+   bwipe!
+   edit Xtestfile
+   undo
+   call assert_equal('this is ONE Line', getline(1))
+ 
+   " add 10 lines, delete 6 lines, undo 3
+   set undofile
+   call setbufline(0, 1, ['one', 'two', 'three', 'four', 'five', 'six',
+             \ 'seven', 'eight', 'nine', 'ten'])
+   set undolevels=100
+   normal 3Gdd
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   write
+   bwipe!
+   edit Xtestfile
+   normal uuu
+   call assert_equal(['one', 'two', 'six', 'seven', 'eight', 'nine', 'ten'],
+             \ getline(1, '$'))
+ 
+   " Test that reading the undofiles when setting undofile works
+   set noundofile undolevels=0
+   exe "normal i\n"
+   undo
+   edit! Xtestfile
+   set undofile undolevels=100
+   normal uuuuuu
+   call assert_equal(['one', 'two', 'three', 'four', 'five', 'six', 'seven',
+             \ 'eight', 'nine', 'ten'], getline(1, '$'))
+ 
+   bwipe!
+   call delete('Xtestfile')
+   let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~'
+   call delete(ufile)
+   set undofile& undolevels&
+ endfunc
+ 
+ " Test 'undofile' using a file encrypted with 'zip' crypt method
+ func Test_undofile_cryptmethod_zip()
+   edit Xtestfile
+   set undofile cryptmethod=zip
+   call append(0, ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'])
+   call cursor(5, 1)
+ 
+   set undolevels=100
+   normal kkkdd
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   " encrypt the file using key 'foobar'
+   call feedkeys("foobar\nfoobar\n")
+   X
+   write!
+   bwipe!
+ 
+   call feedkeys("foobar\n")
+   edit Xtestfile
+   set key=
+   normal uu
+   call assert_equal(['monday', 'wednesday', 'thursday', 'friday', ''],
+                     \ getline(1, '$'))
+ 
+   bwipe!
+   call delete('Xtestfile')
+   let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~'
+   call delete(ufile)
+   set undofile& undolevels& cryptmethod&
+ endfunc
+ 
+ " Test 'undofile' using a file encrypted with 'blowfish' crypt method
+ func Test_undofile_cryptmethod_blowfish()
+   edit Xtestfile
+   set undofile cryptmethod=blowfish
+   call append(0, ['jan', 'feb', 'mar', 'apr', 'jun'])
+   call cursor(5, 1)
+ 
+   set undolevels=100
+   exe 'normal kk0ifoo '
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   exe 'normal ibar '
+   set undolevels=100
+   " encrypt the file using key 'foobar'
+   call feedkeys("foobar\nfoobar\n")
+   X
+   write!
+   bwipe!
+ 
+   call feedkeys("foobar\n")
+   edit Xtestfile
+   set key=
+   call search('bar')
+   call assert_equal('bar apr', getline('.'))
+   undo
+   call assert_equal('apr', getline('.'))
+   undo
+   call assert_equal('foo mar', getline('.'))
+   undo
+   call assert_equal('mar', getline('.'))
+ 
+   bwipe!
+   call delete('Xtestfile')
+   let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~'
+   call delete(ufile)
+   set undofile& undolevels& cryptmethod&
+ endfunc
+ 
+ " Test 'undofile' using a file encrypted with 'blowfish2' crypt method
+ func Test_undofile_cryptmethod_blowfish2()
+   edit Xtestfile
+   set undofile cryptmethod=blowfish2
+   call append(0, ['jan', 'feb', 'mar', 'apr', 'jun'])
+   call cursor(5, 1)
+ 
+   set undolevels=100
+   exe 'normal kk0ifoo '
+   set undolevels=100
+   normal dd
+   set undolevels=100
+   exe 'normal ibar '
+   set undolevels=100
+   " encrypt the file using key 'foo2bar'
+   call feedkeys("foo2bar\nfoo2bar\n")
+   X
+   write!
+   bwipe!
+ 
+   call feedkeys("foo2bar\n")
+   edit Xtestfile
+   set key=
+   call search('bar')
+   call assert_equal('bar apr', getline('.'))
+   normal u
+   call assert_equal('apr', getline('.'))
+   normal u
+   call assert_equal('foo mar', getline('.'))
+   normal u
+   call assert_equal('mar', getline('.'))
+ 
+   bwipe!
+   call delete('Xtestfile')
+   let ufile = has('vms') ? '_un_Xtestfile' : '.Xtestfile.un~'
+   call delete(ufile)
+   set undofile& undolevels& cryptmethod&
+ endfunc
+ 
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.0007/src/version.c       2019-12-14 18:41:52.155639334 +0100
--- src/version.c       2019-12-14 20:31:15.427659376 +0100
***************
*** 744,745 ****
--- 744,747 ----
  {   /* Add new patch number below this line */
+ /**/
+     8,
  /**/

-- 
       In war we're tough and able.
       Quite indefatigable
       Between our quests
       We sequin vests
       And impersonate Clark Gable
       It's a busy life in Camelot.
       I have to push the pram a lot.
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201912141935.xBEJZUoU001218%40masaka.moolenaar.net.

Raspunde prin e-mail lui