Mercurial > vim
view src/testdir/test_filter_cmd.vim @ 10062:103d874ebb96 v7.4.2302
commit https://github.com/vim/vim/commit/f1b512a0b62d0fa47ee9b2612556f375e1f22fc2
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 1 20:50:54 2016 +0200
patch 7.4.2302
Problem: Default interface versions for MS-Windows are outdated.
Solution: Use Active Perl 5.24, Python 3.5.2. Could only make it work with
Ruby 1.9.2.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 01 Sep 2016 21:00:08 +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