]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.1.0721: conceal mode is not sufficiently tested v8.1.0721
authorBram Moolenaar <Bram@vim.org>
Fri, 11 Jan 2019 14:54:45 +0000 (15:54 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 11 Jan 2019 14:54:45 +0000 (15:54 +0100)
Problem:    Conceal mode is not sufficiently tested.
Solution:   Add screendump tests.  Check all 'concealcursor' values.

25 files changed:
src/Make_all.mak
src/testdir/Make_all.mak
src/testdir/dumps/Test_conceal_two_windows_01.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_02.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_03.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_04.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_05.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_06c.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_06i.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_06n.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_06v.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_07c.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_07i.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_07n.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_07v.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_08c.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_08i.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_08n.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_08v.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_09c.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_09i.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_09n.dump [new file with mode: 0644]
src/testdir/dumps/Test_conceal_two_windows_09v.dump [new file with mode: 0644]
src/testdir/test_conceal.vim [new file with mode: 0644]
src/version.c

index 949d0a31a78d1687b2b75e919809e64628a0198e..7b858115ec31a13965410b14eac4c8f5bfcd59ca 100644 (file)
@@ -33,6 +33,7 @@ NEW_TESTS = \
        test_command_count \
        test_comparators \
        test_compiler \
+       test_conceal \
        test_crypt \
        test_cscope \
        test_cursor_func \
index 941cbd399f0c9e0907bda64c3aaa043cf3bfd33e..cdf87565b606ce20ca34e025bb48cab43678a1bc 100644 (file)
@@ -84,6 +84,7 @@ NEW_TESTS = test_arabic.res \
            test_cmdline.res \
            test_command_count.res \
            test_comparators.res \
+           test_conceal.res \
            test_crypt.res \
            test_cscope.res \
            test_curswant.res \
diff --git a/src/testdir/dumps/Test_conceal_two_windows_01.dump b/src/testdir/dumps/Test_conceal_two_windows_01.dump
new file mode 100644 (file)
index 0000000..0a70677
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1>h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|/+0&&|h|e|r|e| @69
diff --git a/src/testdir/dumps/Test_conceal_two_windows_02.dump b/src/testdir/dumps/Test_conceal_two_windows_02.dump
new file mode 100644 (file)
index 0000000..367149f
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o>n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|1|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|/+0&&|h|e|r|e| @69
diff --git a/src/testdir/dumps/Test_conceal_two_windows_03.dump b/src/testdir/dumps/Test_conceal_two_windows_03.dump
new file mode 100644 (file)
index 0000000..27242eb
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=| @55
diff --git a/src/testdir/dumps/Test_conceal_two_windows_04.dump b/src/testdir/dumps/Test_conceal_two_windows_04.dump
new file mode 100644 (file)
index 0000000..ff52320
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| |||h|i|d@1|e|n>|| |t|h|r|e@1| @54
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=| @55
diff --git a/src/testdir/dumps/Test_conceal_two_windows_05.dump b/src/testdir/dumps/Test_conceal_two_windows_05.dump
new file mode 100644 (file)
index 0000000..68904d0
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=| @55
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06c.dump b/src/testdir/dumps/Test_conceal_two_windows_06c.dump
new file mode 100644 (file)
index 0000000..b3869f9
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h|e+1&&|r+0&&|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06i.dump b/src/testdir/dumps/Test_conceal_two_windows_06i.dump
new file mode 100644 (file)
index 0000000..c2325b9
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h>e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06n.dump b/src/testdir/dumps/Test_conceal_two_windows_06n.dump
new file mode 100644 (file)
index 0000000..a147249
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1>h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|n| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_06v.dump b/src/testdir/dumps/Test_conceal_two_windows_06v.dump
new file mode 100644 (file)
index 0000000..7456625
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07c.dump b/src/testdir/dumps/Test_conceal_two_windows_07c.dump
new file mode 100644 (file)
index 0000000..b3869f9
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h|e+1&&|r+0&&|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07i.dump b/src/testdir/dumps/Test_conceal_two_windows_07i.dump
new file mode 100644 (file)
index 0000000..f1cd232
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h>e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07n.dump b/src/testdir/dumps/Test_conceal_two_windows_07n.dump
new file mode 100644 (file)
index 0000000..9ed71a6
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|i| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_07v.dump b/src/testdir/dumps/Test_conceal_two_windows_07v.dump
new file mode 100644 (file)
index 0000000..7456625
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08c.dump b/src/testdir/dumps/Test_conceal_two_windows_08c.dump
new file mode 100644 (file)
index 0000000..2d12a9c
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e+1&&|r+0&&|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08i.dump b/src/testdir/dumps/Test_conceal_two_windows_08i.dump
new file mode 100644 (file)
index 0000000..c2325b9
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h>e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08n.dump b/src/testdir/dumps/Test_conceal_two_windows_08n.dump
new file mode 100644 (file)
index 0000000..13e8141
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|c| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_08v.dump b/src/testdir/dumps/Test_conceal_two_windows_08v.dump
new file mode 100644 (file)
index 0000000..7456625
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09c.dump b/src/testdir/dumps/Test_conceal_two_windows_09c.dump
new file mode 100644 (file)
index 0000000..b3869f9
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h|e+1&&|r+0&&|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|/+0&&|e> @72
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09i.dump b/src/testdir/dumps/Test_conceal_two_windows_09i.dump
new file mode 100644 (file)
index 0000000..c2325b9
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| |h>e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|5| @10|A|l@1
+|-+2&&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09n.dump b/src/testdir/dumps/Test_conceal_two_windows_09n.dump
new file mode 100644 (file)
index 0000000..e00c814
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| |||h|i|d@1|e|n||| >h|e|r|e| @57
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|:+0&&|s|e|t| |c|o|n|c|e|a|l|c|u|r|s|o|r|=|v| @54
diff --git a/src/testdir/dumps/Test_conceal_two_windows_09v.dump b/src/testdir/dumps/Test_conceal_two_windows_09v.dump
new file mode 100644 (file)
index 0000000..8d6cb4b
--- /dev/null
@@ -0,0 +1,20 @@
+|o+0&#ffffff0|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1|h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|S|e|c|o|n|d| |w|i|n|d|o|w| @61
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|3|,|1|4| @10|A|l@1
+|o+0&&|n|e| |o|n|e| |o|n|e| |o|n|e| |o|n|e| @55
+|t|w|o| @1>h|e|r|e| @65
+|t|h|r|e@1| @1|t|h|r|e@1| @62
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|[+3#0000000&|N|o| |N|a|m|e|]| |[|+|]| @43|2|,|1|4| @10|A|l@1
+|-+2&&@1| |V|I|S|U|A|L| |-@1| +0&&@51|1| @9
diff --git a/src/testdir/test_conceal.vim b/src/testdir/test_conceal.vim
new file mode 100644 (file)
index 0000000..53bd51e
--- /dev/null
@@ -0,0 +1,97 @@
+" Tests for 'conceal'.
+" Also see test88.in (should be converted to a test function here).
+
+if !has('conceal')
+  finish
+endif
+
+source screendump.vim
+if !CanRunVimInTerminal()
+  finish
+endif
+
+func Test_conceal_two_windows()
+  call writefile([
+       \ 'let lines = ["one one one one one", "two |hidden| here", "three |hidden| three"]',
+       \ 'call setline(1, lines)',
+       \ 'syntax match test /|hidden|/ conceal',
+       \ 'set conceallevel=2',
+       \ 'set concealcursor=',
+       \ 'exe "normal /here\r"',
+       \ 'new',
+       \ 'call setline(1, lines)',
+       \ 'call setline(4, "Second window")',
+       \ 'syntax match test /|hidden|/ conceal',
+       \ 'set conceallevel=2',
+       \ 'set concealcursor=nc',
+       \ 'exe "normal /here\r"',
+       \ ], 'XTest_conceal')
+  " Check that cursor line is concealed
+  let buf = RunVimInTerminal('-S XTest_conceal', {})
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_01', {})
+
+  " Check that with concealed text vertical cursor movement is correct.
+  call term_sendkeys(buf, "k")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_02', {})
+
+  " Check that with cursor line is not concealed
+  call term_sendkeys(buf, "j")
+  call term_sendkeys(buf, ":set concealcursor=\r")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_03', {})
+
+  " Check that with cursor line is not concealed when moving cursor down
+  call term_sendkeys(buf, "j")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_04', {})
+
+  " Check that with cursor line is not concealed when switching windows
+  call term_sendkeys(buf, "\<C-W>\<C-W>")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_05', {})
+
+  " Check that with cursor line is only concealed in Normal mode
+  call term_sendkeys(buf, ":set concealcursor=n\r")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_06n', {})
+  call term_sendkeys(buf, "a")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_06i', {})
+  call term_sendkeys(buf, "\<Esc>/e")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_06c', {})
+  call term_sendkeys(buf, "\<Esc>v")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_06v', {})
+  call term_sendkeys(buf, "\<Esc>")
+
+  " Check that with cursor line is only concealed in Insert mode
+  call term_sendkeys(buf, ":set concealcursor=i\r")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_07n', {})
+  call term_sendkeys(buf, "a")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_07i', {})
+  call term_sendkeys(buf, "\<Esc>/e")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_07c', {})
+  call term_sendkeys(buf, "\<Esc>v")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_07v', {})
+  call term_sendkeys(buf, "\<Esc>")
+
+  " Check that with cursor line is only concealed in Command mode
+  call term_sendkeys(buf, ":set concealcursor=c\r")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_08n', {})
+  call term_sendkeys(buf, "a")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_08i', {})
+  call term_sendkeys(buf, "\<Esc>/e")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_08c', {})
+  call term_sendkeys(buf, "\<Esc>v")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_08v', {})
+  call term_sendkeys(buf, "\<Esc>")
+
+  " Check that with cursor line is only concealed in Visual mode
+  call term_sendkeys(buf, ":set concealcursor=v\r")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_09n', {})
+  call term_sendkeys(buf, "a")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_09i', {})
+  call term_sendkeys(buf, "\<Esc>/e")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_09c', {})
+  call term_sendkeys(buf, "\<Esc>v")
+  call VerifyScreenDump(buf, 'Test_conceal_two_windows_09v', {})
+  call term_sendkeys(buf, "\<Esc>")
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('XTest_conceal')
+endfunc
index 60dadf14294efef1264257d8a0c89480ecdfac3e..4b216f3d136562b8f3e903b0b15f85890e00de73 100644 (file)
@@ -795,6 +795,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    721,
 /**/
     720,
 /**/