diff options
Diffstat (limited to 'test/old/testdir/test_textobjects.vim')
-rw-r--r-- | test/old/testdir/test_textobjects.vim | 132 |
1 files changed, 129 insertions, 3 deletions
diff --git a/test/old/testdir/test_textobjects.vim b/test/old/testdir/test_textobjects.vim index f21d6fcb99..3b86ae97da 100644 --- a/test/old/testdir/test_textobjects.vim +++ b/test/old/testdir/test_textobjects.vim @@ -402,7 +402,7 @@ func Test_paragraph() call assert_beeps("normal Vipip") exe "normal \<C-C>" - close! + bw! endfunc " Tests for text object aw @@ -608,7 +608,7 @@ func Test_textobj_quote() normal $hhyi" call assert_equal('bar', @") - close! + bw! endfunc " Test for i(, i<, etc. when cursor is in front of a block @@ -640,7 +640,133 @@ func Test_textobj_find_paren_forward() normal 0di) call assert_equal('foo ()', getline(1)) - close! + bw! +endfunc + +func Test_inner_block_empty_paren() + new + call setline(1, ["(text)()", "", "(text)(", ")", "", "()()", "", "text()"]) + + " Example 1 + call cursor(1, 1) + let @" = '' + call assert_beeps(':call feedkeys("0f(viby","xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('(', @") + + " Example 2 + call cursor(3, 1) + let @" = '' + call assert_beeps('call feedkeys("0f(viby", "xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('(', @") + + " Example 3 + call cursor(6, 1) + let @" = '' + call assert_beeps('call feedkeys("0f(viby", "xt")') + call assert_equal(3, getpos('.')[2]) + call assert_equal('(', @") + + " Change empty inner block + call cursor(8, 1) + call feedkeys("0cibtext", "xt") + call assert_equal("text(text)", getline('.')) + + bwipe! +endfunc + +func Test_inner_block_empty_bracket() + new + call setline(1, ["[text][]", "", "[text][", "]", "", "[][]", "", "text[]"]) + + " Example 1 + call cursor(1, 1) + let @" = '' + call assert_beeps(':call feedkeys("0f[viby","xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('[', @") + + " Example 2 + call cursor(3, 1) + let @" = '' + call assert_beeps('call feedkeys("0f[viby", "xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('[', @") + + " Example 3 + call cursor(6, 1) + let @" = '' + call assert_beeps('call feedkeys("0f[viby", "xt")') + call assert_equal(3, getpos('.')[2]) + call assert_equal('[', @") + + " Change empty inner block + call cursor(8, 1) + call feedkeys("0ci[text", "xt") + call assert_equal("text[text]", getline('.')) + + bwipe! +endfunc + +func Test_inner_block_empty_brace() + new + call setline(1, ["{text}{}", "", "{text}{", "}", "", "{}{}", "", "text{}"]) + + " Example 1 + call cursor(1, 1) + let @" = '' + call assert_beeps(':call feedkeys("0f{viby","xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('{', @") + + " Example 2 + call cursor(3, 1) + let @" = '' + call assert_beeps('call feedkeys("0f{viby", "xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('{', @") + + " Example 3 + call cursor(6, 1) + let @" = '' + call assert_beeps('call feedkeys("0f{viby", "xt")') + call assert_equal(3, getpos('.')[2]) + call assert_equal('{', @") + + " Change empty inner block + call cursor(8, 1) + call feedkeys("0ciBtext", "xt") + call assert_equal("text{text}", getline('.')) + + bwipe! +endfunc + +func Test_inner_block_empty_lessthan() + new + call setline(1, ["<text><>", "", "<text><", ">", "", "<><>"]) + + " Example 1 + call cursor(1, 1) + let @" = '' + call assert_beeps(':call feedkeys("0f<viby","xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('<', @") + + " Example 2 + call cursor(3, 1) + let @" = '' + call assert_beeps('call feedkeys("0f<viby", "xt")') + call assert_equal(7, getpos('.')[2]) + call assert_equal('<', @") + + " Example 3 + call cursor(6, 1) + let @" = '' + call assert_beeps('call feedkeys("0f<viby", "xt")') + call assert_equal(3, getpos('.')[2]) + call assert_equal('<', @") + bwipe! endfunc " vim: shiftwidth=2 sts=2 expandtab |