view src/testdir/test_display.vim @ 10522:7232cd9f8a7c v8.0.0151

commit https://github.com/vim/vim/commit/12c4492dd35e0cd83c8816be2ec849b836109882 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 8 13:26:03 2017 +0100 patch 8.0.0151: passing buffer content to system() is clumsy Problem: To pass buffer content to system() and systemlist() one has to first create a string or list. Solution: Allow passing a buffer number. (LemonBoy, closes #1240)
author Christian Brabandt <cb@256bit.org>
date Sun, 08 Jan 2017 13:30:04 +0100
parents 232a0d1d8f24
children b25895ab67be
line wrap: on
line source

" Test for displaying stuff
if !has('gui_running') && has('unix')
  set term=ansi
endif

function! s:screenline(lnum, nr) abort
  let line = []
  for j in range(a:nr)
    for c in range(1, winwidth(0))
        call add(line, nr2char(screenchar(a:lnum+j, c)))
    endfor
    call add(line, "\n")
  endfor
  return join(line, '')
endfunction

function! Test_display_foldcolumn()
  new
  vnew
  vert resize 25
  call assert_equal(25, winwidth(winnr()))
  set isprint=@

  1put='e more noise blah blah‚ more stuff here'

  let expect = "e more noise blah blah<82\n> more stuff here        \n"

  call cursor(2, 1)
  norm! zt
  redraw!
  call assert_equal(expect, s:screenline(1,2))
  set fdc=2
  redraw!
  let expect = "  e more noise blah blah<\n  82> more stuff here    \n"
  call assert_equal(expect, s:screenline(1,2))

  quit!
  quit!
endfunction