view src/testdir/test_messages.vim @ 8897:a410390e340b v7.4.1735

commit https://github.com/vim/vim/commit/451f849fd6282a4facd4f0f58af62837443fb5a6 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Apr 14 17:16:22 2016 +0200 patch 7.4.1735 Problem: It is not possible to only see part of the message history. It is not possible to clear messages. Solution: Add a count to ":messages" and a clear argument. (Yasuhiro Matsumoto)
author Christian Brabandt <cb@256bit.org>
date Thu, 14 Apr 2016 17:30:07 +0200
parents
children 9200836eee15
line wrap: on
line source

" Tests for :messages

function Test_messages()
  let oldmore = &more
  try
    set nomore

    let arr = map(range(10), '"hello" . v:val')
    for s in arr
      echomsg s | redraw
    endfor
    let result = ''

    redir => result
    2messages | redraw
    redir END

    " get last two messages
    let msg = split(result, "\n")[1:][-2:]
    call assert_equal(["hello8", "hello9"], msg)

    " clear messages without last one
    1messages clear
    redir => result
    redraw | 1messages
    redir END
    " get last last message
    let msg = split(result, "\n")[1:][-1:]
    call assert_equal(['hello9'], msg)

    " clear all messages
    messages clear
    redir => result
    redraw | 1messages
    redir END
    " get last last message
    let msg = split(result, "\n")[1:][-1:]
    call assert_equal([], msg)
  finally
    let &more = oldmore
  endtry
endfunction