summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-08-14 15:32:11 +0200
committerBram Moolenaar <Bram@vim.org>2016-08-14 15:32:11 +0200
commit2d1a248762f069e470acde389ff4686a45d2f817 (patch)
treeb80084ad7d967850fb8d71e670a3310deaaaa77c /src
parentd58b0f982ad758c59abe47627216a15497e9c3c1 (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/Makefile2
-rw-r--r--src/testdir/Make_all.mak1
-rw-r--r--src/testdir/test_alot.vim1
-rw-r--r--src/testdir/test_mapping.in72
-rw-r--r--src/testdir/test_mapping.ok22
-rw-r--r--src/testdir/test_mapping.vim100
-rw-r--r--src/version.c2
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,