Mercurial > vim
view src/testdir/test_messages.vim @ 12248:f9de19f981a4 v8.0.1004
patch 8.0.1004: matchstrpos() without a match returns too many items
commit https://github.com/vim/vim/commit/8d9f0ef5c6a6f6d19c3d02690e1ee347a70b8452
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 27 13:51:01 2017 +0200
patch 8.0.1004: matchstrpos() without a match returns too many items
Problem: Matchstrpos() without a match returns too many items.
Solution: Also remove the second item when the position is beyond the end of
the string. (Hirohito Higashi) Use an enum for the type.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 27 Aug 2017 14:00:05 +0200 |
parents | 9200836eee15 |
children | d111462e0173 |
line wrap: on
line source
" Tests for :messages function Test_messages() let oldmore = &more try set nomore " Avoid the "message maintainer" line. let $LANG = '' let arr = map(range(10), '"hello" . v:val') for s in arr echomsg s | redraw endfor let result = '' " get last two messages redir => result 2messages | redraw redir END let msg_list = split(result, "\n") call assert_equal(["hello8", "hello9"], msg_list) " clear messages without last one 1messages clear redir => result redraw | messages redir END let msg_list = split(result, "\n") call assert_equal(['hello9'], msg_list) " clear all messages messages clear redir => result redraw | messages redir END call assert_equal('', result) finally let &more = oldmore endtry endfunction