patch 8.1.1303: not possible to hide a balloon

Problem:    Not possible to hide a balloon.
Solution:   Hide the balloon when balloon_show() is called with an empty
            string or list.  Add balloon_gettext().
diff --git a/src/testdir/test_balloon.vim b/src/testdir/test_balloon.vim
index 966587c..57d8dcc 100644
--- a/src/testdir/test_balloon.vim
+++ b/src/testdir/test_balloon.vim
@@ -1,8 +1,7 @@
 " Tests for 'balloonevalterm'.
 
-if !has('balloon_eval_term') || has('gui_running')
-  finish
-endif
+" Tests that only work in the terminal.
+if has('balloon_eval_term') && !has('gui_running')
 
 source screendump.vim
 if !CanRunVimInTerminal()
@@ -53,3 +52,24 @@
   call StopVimInTerminal(buf)
   call delete('XTest_beval_visual')
 endfunc
+
+endif
+
+" Tests that only work in the GUI
+if has('gui_running')
+
+func Test_balloon_show_gui()
+  let msg = 'this this this this'
+  call balloon_show(msg)
+  call assert_equal(msg, balloon_gettext())
+  sleep 10m
+  call balloon_show('')
+
+  let msg = 'that that'
+  call balloon_show(msg)
+  call assert_equal(msg, balloon_gettext())
+  sleep 10m
+  call balloon_show('')
+endfunc
+
+endif