Mercurial > vim
comparison src/testdir/test_textobjects.vim @ 34090:f425f4870873 v9.1.0012
patch 9.1.0012: regression with empty inner blocks introduced
Commit: https://github.com/vim/vim/commit/3779516988f14f2070d827514c79383334a0946b
Author: Maxim Kim <habamax@gmail.com>
Date: Fri Jan 5 17:52:49 2024 +0100
patch 9.1.0012: regression with empty inner blocks introduced
Problem: regression with empty inner blocks introduced
(after v9.1.0007)
Solution: Set correct cursor position, Check for visual mode
being active (Maxim Kim)
relates: #13514
closes: #13819
Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 05 Jan 2024 18:00:04 +0100 |
parents | 21fc3f1676be |
children |
comparison
equal
deleted
inserted
replaced
34089:bb385e5f64fe | 34090:f425f4870873 |
---|---|
641 bw! | 641 bw! |
642 endfunc | 642 endfunc |
643 | 643 |
644 func Test_inner_block_empty_paren() | 644 func Test_inner_block_empty_paren() |
645 new | 645 new |
646 call setline(1, ["(text)()", "", "(text)(", ")", "", "()()"]) | 646 call setline(1, ["(text)()", "", "(text)(", ")", "", "()()", "", "text()"]) |
647 | 647 |
648 " Example 1 | 648 " Example 1 |
649 call cursor(1, 1) | 649 call cursor(1, 1) |
650 let @" = '' | 650 let @" = '' |
651 call assert_beeps(':call feedkeys("0f(viby","xt")') | 651 call assert_beeps(':call feedkeys("0f(viby","xt")') |
663 call cursor(6, 1) | 663 call cursor(6, 1) |
664 let @" = '' | 664 let @" = '' |
665 call assert_beeps('call feedkeys("0f(viby", "xt")') | 665 call assert_beeps('call feedkeys("0f(viby", "xt")') |
666 call assert_equal(3, getpos('.')[2]) | 666 call assert_equal(3, getpos('.')[2]) |
667 call assert_equal('(', @") | 667 call assert_equal('(', @") |
668 | |
669 " Change empty inner block | |
670 call cursor(8, 1) | |
671 call feedkeys("0cibtext", "xt") | |
672 call assert_equal("text(text)", getline('.')) | |
673 | |
668 bwipe! | 674 bwipe! |
669 endfunc | 675 endfunc |
670 | 676 |
671 func Test_inner_block_empty_bracket() | 677 func Test_inner_block_empty_bracket() |
672 new | 678 new |
673 call setline(1, ["[text][]", "", "[text][", "]", "", "[][]"]) | 679 call setline(1, ["[text][]", "", "[text][", "]", "", "[][]", "", "text[]"]) |
674 | 680 |
675 " Example 1 | 681 " Example 1 |
676 call cursor(1, 1) | 682 call cursor(1, 1) |
677 let @" = '' | 683 let @" = '' |
678 call assert_beeps(':call feedkeys("0f[viby","xt")') | 684 call assert_beeps(':call feedkeys("0f[viby","xt")') |
690 call cursor(6, 1) | 696 call cursor(6, 1) |
691 let @" = '' | 697 let @" = '' |
692 call assert_beeps('call feedkeys("0f[viby", "xt")') | 698 call assert_beeps('call feedkeys("0f[viby", "xt")') |
693 call assert_equal(3, getpos('.')[2]) | 699 call assert_equal(3, getpos('.')[2]) |
694 call assert_equal('[', @") | 700 call assert_equal('[', @") |
701 | |
702 " Change empty inner block | |
703 call cursor(8, 1) | |
704 call feedkeys("0ci[text", "xt") | |
705 call assert_equal("text[text]", getline('.')) | |
706 | |
695 bwipe! | 707 bwipe! |
696 endfunc | 708 endfunc |
697 | 709 |
698 func Test_inner_block_empty_brace() | 710 func Test_inner_block_empty_brace() |
699 new | 711 new |
700 call setline(1, ["{text}{}", "", "{text}{", "}", "", "{}{}"]) | 712 call setline(1, ["{text}{}", "", "{text}{", "}", "", "{}{}", "", "text{}"]) |
701 | 713 |
702 " Example 1 | 714 " Example 1 |
703 call cursor(1, 1) | 715 call cursor(1, 1) |
704 let @" = '' | 716 let @" = '' |
705 call assert_beeps(':call feedkeys("0f{viby","xt")') | 717 call assert_beeps(':call feedkeys("0f{viby","xt")') |
717 call cursor(6, 1) | 729 call cursor(6, 1) |
718 let @" = '' | 730 let @" = '' |
719 call assert_beeps('call feedkeys("0f{viby", "xt")') | 731 call assert_beeps('call feedkeys("0f{viby", "xt")') |
720 call assert_equal(3, getpos('.')[2]) | 732 call assert_equal(3, getpos('.')[2]) |
721 call assert_equal('{', @") | 733 call assert_equal('{', @") |
734 | |
735 " Change empty inner block | |
736 call cursor(8, 1) | |
737 call feedkeys("0ciBtext", "xt") | |
738 call assert_equal("text{text}", getline('.')) | |
739 | |
722 bwipe! | 740 bwipe! |
723 endfunc | 741 endfunc |
724 | 742 |
725 func Test_inner_block_empty_lessthan() | 743 func Test_inner_block_empty_lessthan() |
726 new | 744 new |