patch 8.2.0380: tiny popup when creating a terminal popup without minwidth
Problem: Tiny popup when creating a terminal popup without minwidth.
Solution: Use a default mininum size of 5 lines of 20 characters.
diff --git a/src/testdir/dumps/Test_terminal_popup_m1.dump b/src/testdir/dumps/Test_terminal_popup_m1.dump
new file mode 100644
index 0000000..05a78f2
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_popup_m1.dump
@@ -0,0 +1,15 @@
+|0+0&#ffffff0| @73
+|1| @73
+|2| @73
+|3| @73
+|4| @24|╔+0#0000001#ffd7ff255|═@19|╗| +0#0000000#ffffff0@26
+|5| @24|║+0#0000001#ffd7ff255|a|n|o|t|h|e|r| |t|e|x|t| @7|║| +0#0000000#ffffff0@26
+|6| @24|║+0#0000001#ffd7ff255|t|o| |s|h|o|w| @12|║| +0#0000000#ffffff0@26
+|7| @24|║+0#0000001#ffd7ff255|i|n| |a| |p|o|p|u|p| |w|i|n|d|o|w| @2|║| +0#0000000#ffffff0@26
+|8| @24|║+0#0000001#ffd7ff255| +0#4040ff13&> @18|║+0#0000001&| +0#0000000#ffffff0@26
+|9| @24|║+0#0000001#ffd7ff255| +0#4040ff13&@19|║+0#0000001&| +0#0000000#ffffff0@26
+|1|0| @23|╚+0#0000001#ffd7ff255|═@19|╝| +0#0000000#ffffff0@26
+|1@1| @72
+|1|2| @72
+|1|3| @72
+|:| @55|1|,|1| @10|T|o|p|
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index e452e45..88e433d 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -2400,6 +2400,43 @@
call term_wait(buf, 100) " wait for terminal to vanish
call StopVimInTerminal(buf)
+ call delete('Xtext')
+ call delete('XtermPopup')
+endfunc
+
+" Check a terminal in popup window uses the default mininum size.
+func Test_terminal_in_popup_min_size()
+ CheckRunVimInTerminal
+
+ let text =<< trim END
+ another text
+ to show
+ in a popup window
+ END
+ call writefile(text, 'Xtext')
+ let lines = [
+ \ 'set t_u7=',
+ \ 'call setline(1, range(20))',
+ \ 'hi PopTerm ctermbg=grey',
+ \ 'func OpenTerm()',
+ \ " let s:buf = term_start('cat Xtext', #{hidden: 1})",
+ \ ' let g:winid = popup_create(s:buf, #{ border: []})',
+ \ 'endfunc',
+ \ ]
+ call writefile(lines, 'XtermPopup')
+ let buf = RunVimInTerminal('-S XtermPopup', #{rows: 15})
+ call term_wait(buf, 100)
+ call term_sendkeys(buf, "\<C-L>")
+ call term_sendkeys(buf, ":call OpenTerm()\<CR>")
+ call term_wait(buf, 100)
+ call term_sendkeys(buf, ":\<CR>")
+ call VerifyScreenDump(buf, 'Test_terminal_popup_m1', {})
+
+ call term_wait(buf, 100)
+ call term_sendkeys(buf, ":q\<CR>")
+ call term_wait(buf, 100) " wait for terminal to vanish
+ call StopVimInTerminal(buf)
+ call delete('Xtext')
call delete('XtermPopup')
endfunc