diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-03-08 09:50:52 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-03-08 09:50:52 +0100 |
commit | 9d7fdd403a3a9ee0d008b6dcbcd2ecc9ec0f57b7 (patch) | |
tree | 347df294a69be91eb4e837883f28889f5873c5e8 /src/testdir/test_registers.vim | |
parent | 19a66858a5e3fedadc371321834507c34e2dfb18 (diff) |
patch 8.1.0999: use register one too often and not properly testedv8.1.0999
Problem: Use register one too often and not properly tested.
Solution: Do not always use register one when specifying a register.
(closes #4085) Add more tests.
Diffstat (limited to 'src/testdir/test_registers.vim')
-rw-r--r-- | src/testdir/test_registers.vim | 85 |
1 files changed, 84 insertions, 1 deletions
diff --git a/src/testdir/test_registers.vim b/src/testdir/test_registers.vim index d7b6de5652..1ed0a66d1e 100644 --- a/src/testdir/test_registers.vim +++ b/src/testdir/test_registers.vim @@ -42,7 +42,6 @@ func Test_display_registers() call assert_match('^\n--- Registers ---\n' \ . '"" a\n' \ . '"0 ba\n' - \ . '"1 b\n' \ . '"a b\n' \ . '.*' \ . '"- a\n' @@ -63,3 +62,87 @@ func Test_display_registers() bwipe! endfunc + +func Test_register_one() + " delete a line goes into register one + new + call setline(1, "one") + normal dd + call assert_equal("one\n", @1) + + " delete a word does not change register one, does change "- + call setline(1, "two") + normal de + call assert_equal("one\n", @1) + call assert_equal("two", @-) + + " delete a word with a register does not change register one + call setline(1, "three") + normal "ade + call assert_equal("three", @a) + call assert_equal("one\n", @1) + + " delete a word with register DOES change register one with one of a list of + " operators + " % + call setline(1, ["(12)3"]) + normal "ad% + call assert_equal("(12)", @a) + call assert_equal("(12)", @1) + + " ( + call setline(1, ["first second"]) + normal $"ad( + call assert_equal("first secon", @a) + call assert_equal("first secon", @1) + + " ) + call setline(1, ["First Second."]) + normal gg0"ad) + call assert_equal("First Second.", @a) + call assert_equal("First Second.", @1) + + " ` + call setline(1, ["start here."]) + normal gg0fhmx0"ad`x + call assert_equal("start ", @a) + call assert_equal("start ", @1) + + " / + call setline(1, ["searchX"]) + exe "normal gg0\"ad/X\<CR>" + call assert_equal("search", @a) + call assert_equal("search", @1) + + " ? + call setline(1, ["Ysearch"]) + exe "normal gg$\"ad?Y\<CR>" + call assert_equal("Ysearc", @a) + call assert_equal("Ysearc", @1) + + " n + call setline(1, ["Ynext"]) + normal gg$"adn + call assert_equal("Ynex", @a) + call assert_equal("Ynex", @1) + + " N + call setline(1, ["prevY"]) + normal gg0"adN + call assert_equal("prev", @a) + call assert_equal("prev", @1) + + " } + call setline(1, ["one", ""]) + normal gg0"ad} + call assert_equal("one\n", @a) + call assert_equal("one\n", @1) + + " { + call setline(1, ["", "two"]) + normal 2G$"ad{ + call assert_equal("\ntw", @a) + call assert_equal("\ntw", @1) + + bwipe! +endfunc |