diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-08-14 15:32:11 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-08-14 15:32:11 +0200 |
commit | 2d1a248762f069e470acde389ff4686a45d2f817 (patch) | |
tree | b80084ad7d967850fb8d71e670a3310deaaaa77c /src | |
parent | d58b0f982ad758c59abe47627216a15497e9c3c1 (diff) |
patch 7.4.2208v7.4.2208
Problem: Test for mappings is old style.
Solution: Convert the test to new style.
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 2 | ||||
-rw-r--r-- | src/testdir/Make_all.mak | 1 | ||||
-rw-r--r-- | src/testdir/test_alot.vim | 1 | ||||
-rw-r--r-- | src/testdir/test_mapping.in | 72 | ||||
-rw-r--r-- | src/testdir/test_mapping.ok | 22 | ||||
-rw-r--r-- | src/testdir/test_mapping.vim | 100 | ||||
-rw-r--r-- | src/version.c | 2 |
7 files changed, 104 insertions, 96 deletions
diff --git a/src/Makefile b/src/Makefile index dbfa90b5d3..84ebdc61da 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2028,7 +2028,6 @@ test1 \ test_listchars \ test_listlbr \ test_listlbr_utf8 \ - test_mapping \ test_marks \ test_nested_function \ test_search_mbyte \ @@ -2094,6 +2093,7 @@ test_arglist \ test_largefile \ test_lispwords \ test_man \ + test_mapping \ test_match \ test_matchadd_conceal \ test_matchadd_conceal_utf8 \ diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index 2692b72250..2762a398c1 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -98,7 +98,6 @@ SCRIPTS_ALL = \ test_insertcount.out \ test_listchars.out \ test_listlbr.out \ - test_mapping.out \ test_marks.out \ test_nested_function.out \ test_search_mbyte.out \ diff --git a/src/testdir/test_alot.vim b/src/testdir/test_alot.vim index 8dd698478d..442ba2e4f5 100644 --- a/src/testdir/test_alot.vim +++ b/src/testdir/test_alot.vim @@ -23,6 +23,7 @@ source test_lambda.vim source test_lispwords.vim source test_match.vim source test_menu.vim +source test_mapping.vim source test_messages.vim source test_partial.vim source test_popup.vim diff --git a/src/testdir/test_mapping.in b/src/testdir/test_mapping.in deleted file mode 100644 index f900f421e2..0000000000 --- a/src/testdir/test_mapping.in +++ /dev/null @@ -1,72 +0,0 @@ -Test for mappings and abbreviations - -STARTTEST -:so small.vim -:so mbyte.vim -:set encoding=utf-8 -: " abbreviations with р (0x80) should work -:inoreab чкпр vim -GAчкпр - -:" mapping of ctrl-c in Insert mode -:set cpo-=< cpo-=k -:inoremap <c-c> <ctrl-c> -:cnoremap <c-c> dummy -:cunmap <c-c> -GA -TEST2: CTRL-C |A| - -:unmap <c-c> -:unmap! <c-c> -:" -:" mapping of ctrl-c in Visual mode -:vnoremap <c-c> :<C-u>$put ='vmap works' -GV -:vunmap <c-c> -:" -:" langmap should not get remapped in insert mode -:inoremap { FAIL_ilangmap -:set langmap=+{ langnoremap -o+ -:" Insert-mode expr mapping with langmap -:inoremap <expr> { "FAIL_iexplangmap" -o+ -:" langmap should not get remapped in Command-line mode -:cnoremap { FAIL_clangmap -:call append(line('$'), '+') -:cunmap { -:" Command-line mode expr mapping with langmap -:cnoremap <expr> { "FAIL_cexplangmap" -:call append(line('$'), '+') -:cunmap { -:" -:" issue #212 (feedkeys insert mapping at current position) -:nnoremap . :call feedkeys(".", "in")<cr> -:/^a b -0qqdw.ifooqj0@q:unmap . - -:" <c-g>U<cursor> works only within a single line -:imapclear -:imap ( ()<c-g>U<left> -G2oki -Test1: text with a (here some more textk. -:" test undo -G2oki -Test2: text wit a (here some more text [und undo]uk.u -:" -:imapclear -:set whichwrap=<,>,[,] -G3o2k -:exe ":norm! iTest3: text with a (parenthesis here\<C-G>U\<Right>new line here\<esc>\<up>\<up>." - - - -:/^test/,$w! test.out -:qa! -ENDTEST - -test starts here: - -a b c d -a b c d - diff --git a/src/testdir/test_mapping.ok b/src/testdir/test_mapping.ok deleted file mode 100644 index b493cff2b1..0000000000 --- a/src/testdir/test_mapping.ok +++ /dev/null @@ -1,22 +0,0 @@ -test starts here: - -fooc d -fooc d -vim -TEST2: CTRL-C |<ctrl-c>A| - -vmap works -+ -+ -+ -+ - -Test1: text with a (here some more text) -Test1: text with a (here some more text) - - -Test2: text wit a (here some more text [und undo]) - -new line here -Test3: text with a (parenthesis here -new line here diff --git a/src/testdir/test_mapping.vim b/src/testdir/test_mapping.vim new file mode 100644 index 0000000000..d937565ce5 --- /dev/null +++ b/src/testdir/test_mapping.vim @@ -0,0 +1,100 @@ +" Tests for mappings and abbreviations + +if !has('multi_byte') + finish +endif + +func Test_abbreviation() + " abbreviation with 0x80 should work + inoreab чкпр vim + call feedkeys("Goчкпр \<Esc>", "xt") + call assert_equal('vim ', getline('$')) + iunab чкпр + set nomodified +endfunc + +func Test_map_ctrl_c_insert() + " mapping of ctrl-c in Insert mode + set cpo-=< cpo-=k + inoremap <c-c> <ctrl-c> + cnoremap <c-c> dummy + cunmap <c-c> + call feedkeys("GoTEST2: CTRL-C |\<C-C>A|\<Esc>", "xt") + call assert_equal('TEST2: CTRL-C |<ctrl-c>A|', getline('$')) + unmap! <c-c> + set nomodified +endfunc + +func Test_map_ctrl_c_visual() + " mapping of ctrl-c in Visual mode + vnoremap <c-c> :<C-u>$put ='vmap works' + call feedkeys("GV\<C-C>\<CR>", "xt") + call assert_equal('vmap works', getline('$')) + vunmap <c-c> + set nomodified +endfunc + +func Test_map_langmap() + " langmap should not get remapped in insert mode + inoremap { FAIL_ilangmap + set langmap=+{ langnoremap + call feedkeys("Go+\<Esc>", "xt") + call assert_equal('+', getline('$')) + + " Insert-mode expr mapping with langmap + inoremap <expr> { "FAIL_iexplangmap" + call feedkeys("Go+\<Esc>", "xt") + call assert_equal('+', getline('$')) + iunmap <expr> { + + " langmap should not get remapped in Command-line mode + cnoremap { FAIL_clangmap + call feedkeys(":call append(line('$'), '+')\<CR>", "xt") + call assert_equal('+', getline('$')) + cunmap { + + " Command-line mode expr mapping with langmap + cnoremap <expr> { "FAIL_cexplangmap" + call feedkeys(":call append(line('$'), '+')\<CR>", "xt") + call assert_equal('+', getline('$')) + cunmap { + set nomodified +endfunc + +func Test_map_feedkeys() + " issue #212 (feedkeys insert mapping at current position) + nnoremap . :call feedkeys(".", "in")<cr> + call setline('$', ['a b c d', 'a b c d']) + $-1 + call feedkeys("0qqdw.ifoo\<Esc>qj0@q\<Esc>", "xt") + call assert_equal(['fooc d', 'fooc d'], getline(line('$') - 1, line('$'))) + unmap . + set nomodified +endfunc + +func Test_map_cursor() + " <c-g>U<cursor> works only within a single line + imapclear + imap ( ()<c-g>U<left> + call feedkeys("G2o\<Esc>ki\<CR>Test1: text with a (here some more text\<Esc>k.", "xt") + call assert_equal('Test1: text with a (here some more text)', getline(line('$') - 2)) + call assert_equal('Test1: text with a (here some more text)', getline(line('$') - 1)) + + " test undo + call feedkeys("G2o\<Esc>ki\<CR>Test2: text wit a (here some more text [und undo]\<C-G>u\<Esc>k.u", "xt") + call assert_equal('', getline(line('$') - 2)) + call assert_equal('Test2: text wit a (here some more text [und undo])', getline(line('$') - 1)) + set nomodified + imapclear +endfunc + +" This isn't actually testing a mapping, but similar use of CTRL-G U as above. +func Test_break_undo() + :set whichwrap=<,>,[,] + call feedkeys("G4o2k", "xt") + exe ":norm! iTest3: text with a (parenthesis here\<C-G>U\<Right>new line here\<esc>\<up>\<up>." + call assert_equal('new line here', getline(line('$') - 3)) + call assert_equal('Test3: text with a (parenthesis here', getline(line('$') - 2)) + call assert_equal('new line here', getline(line('$') - 1)) + set nomodified +endfunc diff --git a/src/version.c b/src/version.c index 6f571cfba4..0f0aabc4c9 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2208, +/**/ 2207, /**/ 2206, |