From: Bram Moolenaar Date: Sun, 14 Aug 2016 13:32:11 +0000 (+0200) Subject: patch 7.4.2208 X-Git-Tag: v7.4.2208 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d1a248762f069e470acde389ff4686a45d2f817;p=vim patch 7.4.2208 Problem: Test for mappings is old style. Solution: Convert the test to new style. --- diff --git a/src/Makefile b/src/Makefile index dbfa90b5d..84ebdc61d 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 2692b7225..2762a398c 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 8dd698478..442ba2e4f 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 f900f421e..000000000 --- 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 -:cnoremap dummy -:cunmap -GA -TEST2: CTRL-C |A| - -:unmap -:unmap! -:" -:" mapping of ctrl-c in Visual mode -:vnoremap :$put ='vmap works' -GV -:vunmap -:" -:" langmap should not get remapped in insert mode -:inoremap { FAIL_ilangmap -:set langmap=+{ langnoremap -o+ -:" Insert-mode expr mapping with langmap -:inoremap { "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 { "FAIL_cexplangmap" -:call append(line('$'), '+') -:cunmap { -:" -:" issue #212 (feedkeys insert mapping at current position) -:nnoremap . :call feedkeys(".", "in") -:/^a b -0qqdw.ifooqj0@q:unmap . - -:" U works only within a single line -:imapclear -:imap ( ()U -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\U\new line here\\\." - - - -:/^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 b493cff2b..000000000 --- a/src/testdir/test_mapping.ok +++ /dev/null @@ -1,22 +0,0 @@ -test starts here: - -fooc d -fooc d -vim -TEST2: 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 000000000..d937565ce --- /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чкпр \", "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 + cnoremap dummy + cunmap + call feedkeys("GoTEST2: CTRL-C |\A|\", "xt") + call assert_equal('TEST2: CTRL-C |A|', getline('$')) + unmap! + set nomodified +endfunc + +func Test_map_ctrl_c_visual() + " mapping of ctrl-c in Visual mode + vnoremap :$put ='vmap works' + call feedkeys("GV\\", "xt") + call assert_equal('vmap works', getline('$')) + vunmap + set nomodified +endfunc + +func Test_map_langmap() + " langmap should not get remapped in insert mode + inoremap { FAIL_ilangmap + set langmap=+{ langnoremap + call feedkeys("Go+\", "xt") + call assert_equal('+', getline('$')) + + " Insert-mode expr mapping with langmap + inoremap { "FAIL_iexplangmap" + call feedkeys("Go+\", "xt") + call assert_equal('+', getline('$')) + iunmap { + + " langmap should not get remapped in Command-line mode + cnoremap { FAIL_clangmap + call feedkeys(":call append(line('$'), '+')\", "xt") + call assert_equal('+', getline('$')) + cunmap { + + " Command-line mode expr mapping with langmap + cnoremap { "FAIL_cexplangmap" + call feedkeys(":call append(line('$'), '+')\", "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") + call setline('$', ['a b c d', 'a b c d']) + $-1 + call feedkeys("0qqdw.ifoo\qj0@q\", "xt") + call assert_equal(['fooc d', 'fooc d'], getline(line('$') - 1, line('$'))) + unmap . + set nomodified +endfunc + +func Test_map_cursor() + " U works only within a single line + imapclear + imap ( ()U + call feedkeys("G2o\ki\Test1: text with a (here some more text\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\ki\Test2: text wit a (here some more text [und undo]\u\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\U\new line here\\\." + 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 6f571cfba..0f0aabc4c 100644 --- a/src/version.c +++ b/src/version.c @@ -763,6 +763,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2208, /**/ 2207, /**/