]> granicus.if.org Git - vim/commitdiff
patch 7.4.2208 v7.4.2208
authorBram Moolenaar <Bram@vim.org>
Sun, 14 Aug 2016 13:32:11 +0000 (15:32 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 14 Aug 2016 13:32:11 +0000 (15:32 +0200)
Problem:    Test for mappings is old style.
Solution:   Convert the test to new style.

src/Makefile
src/testdir/Make_all.mak
src/testdir/test_alot.vim
src/testdir/test_mapping.in [deleted file]
src/testdir/test_mapping.ok [deleted file]
src/testdir/test_mapping.vim [new file with mode: 0644]
src/version.c

index dbfa90b5d34eb8a17268af8a319e98e39dd3d956..84ebdc61da1ae9d2d80139e5eaa7551197ade4b6 100644 (file)
@@ -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 \
index 2692b722503830d2fdffdba5473059411658e5f9..2762a398c11587bea9dd3ebd9430fddf2486c6dd 100644 (file)
@@ -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 \
index 8dd698478d8264c414762cf2cb3224f6dfd3f95d..442ba2e4f5dc226184229393af7e0fcbe872e115 100644 (file)
@@ -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 (file)
index f900f42..0000000
+++ /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чкпр 
-\e
-:" 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 |\ 3A|
-\e
-:unmap <c-c>
-:unmap! <c-c>
-:"
-:" mapping of ctrl-c in Visual mode
-:vnoremap <c-c> :<C-u>$put ='vmap works'
-GV\ 3
-:vunmap <c-c>
-:"
-:" langmap should not get remapped in insert mode
-:inoremap { FAIL_ilangmap
-:set langmap=+{ langnoremap
-o+\e
-:" Insert-mode expr mapping with langmap
-:inoremap <expr> { "FAIL_iexplangmap"
-o+\e
-:" 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.ifoo\eqj0@q\e:unmap .
-
-:" <c-g>U<cursor> works only within a single line
-:imapclear
-:imap ( ()<c-g>U<left>
-G2o\eki
-Test1: text with a (here some more text\ek.
-:" test undo
-G2o\eki
-Test2: text wit a (here some more text [und undo]\au\ek.u
-:"
-:imapclear
-:set whichwrap=<,>,[,]
-G3o\e2k
-: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 (file)
index b493cff..0000000
+++ /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 (file)
index 0000000..d937565
--- /dev/null
@@ -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("G4o\e2k", "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
index 6f571cfba4d8bc680ec95992191cbf87ba8091ee..0f0aabc4c968673ec7473fc397c12e46a4f79862 100644 (file)
@@ -763,6 +763,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2208,
 /**/
     2207,
 /**/