Patch 8.0.0414
Problem:    Balloon eval is not tested.
Solution:   Add a few balloon tests. (Kazunobu Kuriyama)
Files:      src/testdir/test_gui.vim


*** ../vim-8.0.0413/src/testdir/test_gui.vim    2017-03-04 13:32:06.967801328 
+0100
--- src/testdir/test_gui.vim    2017-03-05 13:25:24.010083703 +0100
***************
*** 22,27 ****
--- 22,35 ----
    call assert_equal(1, has('gui_running'))
  endfunc
  
+ " As for non-GUI, a balloon_show() test was already added with patch 8.0.0401
+ func Test_balloon_show()
+   if has('balloon_eval')
+     " This won't do anything but must not crash either.
+     call balloon_show('hi!')
+   endif
+ endfunc
+ 
  func Test_getfontname_with_arg()
    let skipped = ''
  
***************
*** 117,122 ****
--- 125,253 ----
    endif
  endfunc
  
+ func Test_set_balloondelay()
+   if !exists('+balloondelay')
+     return
+   endif
+ 
+   let balloondelay_saved = &balloondelay
+ 
+   " Check if the default value is identical to that described in the manual.
+   set balloondelay&
+   call assert_equal(600, &balloondelay)
+ 
+   " Edge cases
+ 
+   " XXX This fact should be hidden so that people won't be tempted to write
+   " plugin/TimeMachine.vim.  TODO Add reasonable range checks to the source
+   " code.
+   set balloondelay=-1
+   call assert_equal(-1, &balloondelay)
+ 
+   " Though it's possible to interpret the zero delay to be 'as soon as
+   " possible' or even 'indefinite', its actual meaning depends on the GUI
+   " toolkit in use after all.
+   set balloondelay=0
+   call assert_equal(0, &balloondelay)
+ 
+   set balloondelay=1
+   call assert_equal(1, &balloondelay)
+ 
+   " Since p_bdelay is of type long currently, the upper bound can be
+   " impractically huge and machine-dependent.  Practically, it's sufficient
+   " to check if balloondelay works with 0xffffffff (32 bits) for now.
+   set balloondelay=4294967295
+   call assert_equal(4294967295, &balloondelay)
+ 
+   let &balloondelay = balloondelay_saved
+ endfunc
+ 
+ func Test_set_ballooneval()
+   if !exists('+ballooneval')
+     return
+   endif
+ 
+   let ballooneval_saved = &ballooneval
+ 
+   set ballooneval&
+   call assert_equal(0, &ballooneval)
+ 
+   set ballooneval
+   call assert_notequal(0, &ballooneval)
+ 
+   set noballooneval
+   call assert_equal(0, &ballooneval)
+ 
+   let &ballooneval = ballooneval_saved
+ endfunc
+ 
+ func Test_set_balloonexpr()
+   if !exists('+balloonexpr')
+     return
+   endif
+ 
+   let balloonexpr_saved = &balloonexpr
+ 
+   " Default value
+   set balloonexpr&
+   call assert_equal('', &balloonexpr)
+ 
+   " User-defined function
+   new
+   func MyBalloonExpr()
+       return 'Cursor is at line ' . v:beval_lnum .
+             \', column ' . v:beval_col .
+             \ ' of file ' .  bufname(v:beval_bufnr) .
+             \ ' on word "' . v:beval_text . '"' .
+             \ ' in window ' . v:beval_winid . ' (#' . v:beval_winnr . ')'
+   endfunc
+   setl balloonexpr=MyBalloonExpr()
+   setl ballooneval
+   call assert_equal('MyBalloonExpr()', &balloonexpr)
+   " TODO Read non-empty text, place the pointer at a character of a word,
+   " and check if the content of the balloon is the smae as what is expected.
+   " Also, check if textlock works as expected.
+   setl balloonexpr&
+   call assert_equal('', &balloonexpr)
+   delfunc MyBalloonExpr
+   bwipe!
+ 
+   " Multiline support
+   if has('balloon_multiline')
+     " Multiline balloon using NL
+     new
+     func MyBalloonFuncForMultilineUsingNL()
+       return "Multiline\nSuppported\nBalloon\nusing NL"
+     endfunc
+     setl balloonexpr=MyBalloonFuncForMultilineUsingNL()
+     setl ballooneval
+     call assert_equal('MyBalloonFuncForMultilineUsingNL()', &balloonexpr)
+     " TODO Read non-empty text, place the pointer at a character of a word,
+     " and check if the content of the balloon is the smae as what is
+     " expected.  Also, check if textlock works as expected.
+     setl balloonexpr&
+     delfunc MyBalloonFuncForMultilineUsingNL
+     bwipe!
+ 
+     " Multiline balloon using List
+     new
+     func MyBalloonFuncForMultilineUsingList()
+       return [ 'Multiline', 'Suppported', 'Balloon', 'using List' ]
+     endfunc
+     setl balloonexpr=MyBalloonFuncForMultilineUsingList()
+     setl ballooneval
+     call assert_equal('MyBalloonFuncForMultilineUsingList()', &balloonexpr)
+     " TODO Read non-empty text, place the pointer at a character of a word,
+     " and check if the content of the balloon is the smae as what is
+     " expected.  Also, check if textlock works as expected.
+     setl balloonexpr&
+     delfunc MyBalloonFuncForMultilineUsingList
+     bwipe!
+   endif
+ 
+   let &balloonexpr = balloonexpr_saved
+ endfunc
+ 
  func Test_set_guifont()
    let skipped = ''
  
*** ../vim-8.0.0413/src/version.c       2017-03-04 21:40:56.393176702 +0100
--- src/version.c       2017-03-05 13:26:31.101580474 +0100
***************
*** 766,767 ****
--- 766,769 ----
  {   /* Add new patch number below this line */
+ /**/
+     414,
  /**/

-- 
Never go to the toilet in a paperless office.

 /// 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.

Raspunde prin e-mail lui