patch 8.0.1790: 'winfixwidth' is not always respected by :close

Problem:    'winfixwidth' is not always respected by :close.
Solution:   Prefer a frame without 'winfixwidth' or 'winfixheight'. (Jason
            Franklin)
diff --git a/src/testdir/test_winbuf_close.vim b/src/testdir/test_winbuf_close.vim
index ed64dd7..e461861 100644
--- a/src/testdir/test_winbuf_close.vim
+++ b/src/testdir/test_winbuf_close.vim
@@ -122,3 +122,39 @@
   call delete('Xtest2')
   call delete('Xtest3')
 endfunc
+
+" Test that ":close" will respect 'winfixheight' when possible.
+func Test_winfixheight_on_close()
+  set nosplitbelow nosplitright
+
+  split | split | vsplit
+
+  $wincmd w
+  setlocal winfixheight
+  let l:height = winheight(0)
+
+  3close
+
+  call assert_equal(l:height, winheight(0))
+
+  %bwipeout!
+  setlocal nowinfixheight splitbelow& splitright&
+endfunc
+
+" Test that ":close" will respect 'winfixwidth' when possible.
+func Test_winfixwidth_on_close()
+  set nosplitbelow nosplitright
+
+  vsplit | vsplit | split
+
+  $wincmd w
+  setlocal winfixwidth
+  let l:width = winwidth(0)
+
+  3close
+
+  call assert_equal(l:width, winwidth(0))
+
+  %bwipeout!
+  setlocal nowinfixwidth splitbelow& splitright&
+endfunction