Mercurial > vim
view src/testdir/test_filter_cmd.vim @ 10060:cf9e550f17f6 v7.4.2301
commit https://github.com/vim/vim/commit/641ad6c7ac7367f95fd927b8efa4bf74ddb9ccf3
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 1 18:32:11 2016 +0200
patch 7.4.2301
Problem: MS-Windows: some files remain after testing.
Solution: Close the channel output file. Wait for the file handle to be
closed before deleting the file.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 01 Sep 2016 18:45:07 +0200 |
parents | b222552cf0c4 |
children | 4b152b5f414f |
line wrap: on
line source
" Test the :filter command modifier func Test_filter() edit Xdoesnotmatch edit Xwillmatch call assert_equal('"Xwillmatch"', substitute(execute('filter willma ls'), '[^"]*\(".*"\)[^"]*', '\1', '')) bwipe Xdoesnotmatch bwipe Xwillmatch new call setline(1, ['foo1', 'foo2', 'foo3', 'foo4', 'foo5']) call assert_equal("\nfoo2\nfoo4", execute('filter /foo[24]/ 1,$print')) call assert_equal("\n 2 foo2\n 4 foo4", execute('filter /foo[24]/ 1,$number')) call assert_equal("\nfoo2$\nfoo4$", execute('filter /foo[24]/ 1,$list')) call assert_equal("\nfoo1$\nfoo3$\nfoo5$", execute('filter! /foo[24]/ 1,$list')) bwipe! command XTryThis echo 'this' command XTryThat echo 'that' command XDoThat echo 'that' let lines = split(execute('filter XTry command'), "\n") call assert_equal(3, len(lines)) call assert_match("XTryThat", lines[1]) call assert_match("XTryThis", lines[2]) delcommand XTryThis delcommand XTryThat delcommand XDoThat map f1 the first key map f2 the second key map f3 not a key let lines = split(execute('filter the map f'), "\n") call assert_equal(2, len(lines)) call assert_match("f2", lines[0]) call assert_match("f1", lines[1]) unmap f1 unmap f2 unmap f3 endfunc func Test_filter_fails() call assert_fails('filter', 'E471:') call assert_fails('filter pat', 'E476:') call assert_fails('filter /pat', 'E476:') call assert_fails('filter /pat/', 'E476:') call assert_fails('filter /pat/ asdf', 'E492:') call assert_fails('filter!', 'E471:') call assert_fails('filter! pat', 'E476:') call assert_fails('filter! /pat', 'E476:') call assert_fails('filter! /pat/', 'E476:') call assert_fails('filter! /pat/ asdf', 'E492:') endfunc