165 lines
4.2 KiB
Diff
165 lines
4.2 KiB
Diff
From af631f61bc42d0dddafe1bc0c06872cf3aaeb239 Mon Sep 17 00:00:00 2001
|
|
From: Dominique Pelle <dominique.pelle@gmail.com>
|
|
Date: Fri, 3 Sep 2021 16:50:16 +0200
|
|
Subject: [PATCH] patch 8.2.3398: html text objects are not fully tested
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Problem: Html text objects are not fully tested.
|
|
Solution: Add tests for dbcs encoding and different number of backslashes.
|
|
(Dominique Pellé, closes #8831)
|
|
---
|
|
src/testdir/test_textobjects.vim | 135 ++++++++++++++++++++-------------------
|
|
1 file changed, 70 insertions(+), 65 deletions(-)
|
|
|
|
diff --git a/src/testdir/test_textobjects.vim b/src/testdir/test_textobjects.vim
|
|
index 042c534..49fc9c8 100644
|
|
--- a/src/testdir/test_textobjects.vim
|
|
+++ b/src/testdir/test_textobjects.vim
|
|
@@ -88,71 +88,76 @@ endfunc
|
|
|
|
" Tests for string and html text objects
|
|
func Test_string_html_objects()
|
|
- enew!
|
|
-
|
|
- let t = '"wo\"rd\\" foo'
|
|
- put =t
|
|
- normal! da"
|
|
- call assert_equal('foo', getline('.'))
|
|
-
|
|
- let t = "'foo' 'bar' 'piep'"
|
|
- put =t
|
|
- normal! 0va'a'rx
|
|
- call assert_equal("xxxxxxxxxxxx'piep'", getline('.'))
|
|
-
|
|
- let t = "bla bla `quote` blah"
|
|
- put =t
|
|
- normal! 02f`da`
|
|
- call assert_equal("bla bla blah", getline('.'))
|
|
-
|
|
- let t = 'out " in "noXno"'
|
|
- put =t
|
|
- normal! 0fXdi"
|
|
- call assert_equal('out " in ""', getline('.'))
|
|
-
|
|
- let t = "\"'\" 'blah' rep 'buh'"
|
|
- put =t
|
|
- normal! 03f'vi'ry
|
|
- call assert_equal("\"'\" 'blah'yyyyy'buh'", getline('.'))
|
|
-
|
|
- set quoteescape=+*-
|
|
- let t = "bla `s*`d-`+++`l**` b`la"
|
|
- put =t
|
|
- normal! di`
|
|
- call assert_equal("bla `` b`la", getline('.'))
|
|
-
|
|
- let t = 'voo "nah" sdf " asdf" sdf " sdf" sd'
|
|
- put =t
|
|
- normal! $F"va"oha"i"rz
|
|
- call assert_equal('voo "zzzzzzzzzzzzzzzzzzzzzzzzzzzzsd', getline('.'))
|
|
-
|
|
- let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
|
|
- put =t
|
|
- normal! fXdit
|
|
- call assert_equal('-<b>asdf<i></i>asdf</b>-', getline('.'))
|
|
-
|
|
- let t = "-<b>asdX<i>a<i />sdf</i>asdf</b>-"
|
|
- put =t
|
|
- normal! 0fXdit
|
|
- call assert_equal('-<b></b>-', getline('.'))
|
|
-
|
|
- let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
|
|
- put =t
|
|
- normal! fXdat
|
|
- call assert_equal('-<b>asdfasdf</b>-', getline('.'))
|
|
-
|
|
- let t = "-<b>asdX<i>as<b />df</i>asdf</b>-"
|
|
- put =t
|
|
- normal! 0fXdat
|
|
- call assert_equal('--', getline('.'))
|
|
-
|
|
- let t = "-<b>\ninnertext object\n</b>"
|
|
- put =t
|
|
- normal! dit
|
|
- call assert_equal('-<b></b>', getline('.'))
|
|
-
|
|
- set quoteescape&
|
|
- enew!
|
|
+ for e in ['utf-8', 'latin1', 'cp932']
|
|
+ enew!
|
|
+ exe 'set enc=' .. e
|
|
+
|
|
+ let t = '"wo\"rd\\" foo'
|
|
+ put =t
|
|
+ normal! da"
|
|
+ call assert_equal('foo', getline('.'), e)
|
|
+
|
|
+ let t = "'foo' 'bar' 'piep'"
|
|
+ put =t
|
|
+ normal! 0va'a'rx
|
|
+ call assert_equal("xxxxxxxxxxxx'piep'", getline('.'), e)
|
|
+
|
|
+ let t = "bla bla `quote` blah"
|
|
+ put =t
|
|
+ normal! 02f`da`
|
|
+ call assert_equal("bla bla blah", getline('.'), e)
|
|
+
|
|
+ let t = 'out " in "noXno"'
|
|
+ put =t
|
|
+ normal! 0fXdi"
|
|
+ call assert_equal('out " in ""', getline('.'), e)
|
|
+
|
|
+ let t = "\"'\" 'blah' rep 'buh'"
|
|
+ put =t
|
|
+ normal! 03f'vi'ry
|
|
+ call assert_equal("\"'\" 'blah'yyyyy'buh'", getline('.'), e)
|
|
+
|
|
+ set quoteescape=+*-
|
|
+ let t = "bla `s*`d-`+++`l**` b`la"
|
|
+ put =t
|
|
+ normal! di`
|
|
+ call assert_equal("bla `` b`la", getline('.'), e)
|
|
+
|
|
+ let t = 'voo "nah" sdf " asdf" sdf " sdf" sd'
|
|
+ put =t
|
|
+ normal! $F"va"oha"i"rz
|
|
+ call assert_equal('voo "zzzzzzzzzzzzzzzzzzzzzzzzzzzzsd', getline('.'), e)
|
|
+
|
|
+ let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
|
|
+ put =t
|
|
+ normal! fXdit
|
|
+ call assert_equal('-<b>asdf<i></i>asdf</b>-', getline('.'), e)
|
|
+
|
|
+ let t = "-<b>asdX<i>a<i />sdf</i>asdf</b>-"
|
|
+ put =t
|
|
+ normal! 0fXdit
|
|
+ call assert_equal('-<b></b>-', getline('.'), e)
|
|
+
|
|
+ let t = "-<b>asdf<i>Xasdf</i>asdf</b>-"
|
|
+ put =t
|
|
+ normal! fXdat
|
|
+ call assert_equal('-<b>asdfasdf</b>-', getline('.'), e)
|
|
+
|
|
+ let t = "-<b>asdX<i>as<b />df</i>asdf</b>-"
|
|
+ put =t
|
|
+ normal! 0fXdat
|
|
+ call assert_equal('--', getline('.'), e)
|
|
+
|
|
+ let t = "-<b>\ninnertext object\n</b>"
|
|
+ put =t
|
|
+ normal! dit
|
|
+ call assert_equal('-<b></b>', getline('.'), e)
|
|
+
|
|
+ set quoteescape&
|
|
+ endfor
|
|
+
|
|
+ set enc=utf-8
|
|
+ bwipe!
|
|
endfunc
|
|
|
|
func Test_empty_html_tag()
|
|
--
|
|
1.8.3.1
|
|
|