diff src/testdir/test_terminal.vim @ 15022:f3b4cd98944c v8.1.0522

patch 8.1.0522: :terminal does not show trailing empty lines commit https://github.com/vim/vim/commit/f3aea59afa23304266dfd0dd26b5d8cc70a21331 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Nov 11 22:18:21 2018 +0100 patch 8.1.0522: :terminal does not show trailing empty lines Problem: :terminal does not show trailing empty lines. Solution: Add empty lines. (Hirohito Higashi, closes https://github.com/vim/vim/issues/3605)
author Bram Moolenaar <Bram@vim.org>
date Sun, 11 Nov 2018 22:30:05 +0100
parents bc0f3c4fb992
children 4f679be36482
line wrap: on
line diff
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -1658,3 +1658,25 @@ func Test_terminal_hidden_and_close()
   call WaitForAssert({-> assert_false(bufexists(bnr))})
   call assert_equal(1, winnr('$'))
 endfunc
+
+func Test_terminal_does_not_truncate_last_newlines()
+  let cmd = has('win32') ? 'type' : 'cat'
+  let contents = [
+  \   [ 'One', '', 'X' ],
+  \   [ 'Two', '', '' ],
+  \   [ 'Three' ] + repeat([''], 30)
+  \ ]
+
+  for c in contents
+    call writefile(c, 'Xfile')
+    exec 'term' cmd 'Xfile'
+    let bnr = bufnr('$')
+    call assert_equal('terminal', getbufvar(bnr, '&buftype'))
+    call WaitForAssert({-> assert_equal('finished', term_getstatus(bnr))})
+    sleep 50m
+    call assert_equal(c, getline(1, line('$')))
+    quit
+  endfor
+
+  call delete('Xfile')
+endfunc