patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Problem: popup_hide() and popup_show() not implemented yet.
Solution: Implement the functions.
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 04c67a2..73efe0a 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -76,3 +76,41 @@
bwipe!
endfunc
+
+func Test_popup_hide()
+ topleft vnew
+ call setline(1, 'hello')
+
+ let winid = popup_create('world', {
+ \ 'line': 1,
+ \ 'col': 1,
+ \})
+ redraw
+ let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '')
+ call assert_equal('world', line)
+
+ call popup_hide(winid)
+ redraw
+ let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '')
+ call assert_equal('hello', line)
+
+ call popup_show(winid)
+ redraw
+ let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '')
+ call assert_equal('world', line)
+
+
+ call popup_close(winid)
+ redraw
+ let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '')
+ call assert_equal('hello', line)
+
+ " error is given for existing non-popup window
+ call assert_fails('call popup_hide(win_getid())', 'E993:')
+
+ " no error non-existing window
+ call popup_hide(1234234)
+ call popup_show(41234234)
+
+ bwipe!
+endfunc