# HG changeset patch # User Bram Moolenaar # Date 1547218808 -3600 # Node ID 8b78878311e07bcfa1a02ed2d6a936efe938bbc0 # Parent f96431b33513aed85b5a7e607bb058fdc96ad46e patch 8.1.0721: conceal mode is not sufficiently tested commit https://github.com/vim/vim/commit/429ab1761ea9123777c9540ddb35ffa497a7e349 Author: Bram Moolenaar Date: Fri Jan 11 15:54:45 2019 +0100 patch 8.1.0721: conceal mode is not sufficiently tested Problem: Conceal mode is not sufficiently tested. Solution: Add screendump tests. Check all 'concealcursor' values. diff --git a/src/Make_all.mak b/src/Make_all.mak --- a/src/Make_all.mak +++ b/src/Make_all.mak @@ -33,6 +33,7 @@ NEW_TESTS = \ test_command_count \ test_comparators \ test_compiler \ + test_conceal \ test_crypt \ test_cscope \ test_cursor_func \ diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_01.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_02.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_03.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_04.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_05.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_06c.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_06i.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_06n.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_06v.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_07c.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_07i.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_07n.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_07v.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_08c.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_08i.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_08n.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_08v.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_09c.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_09i.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_09n.dump @@ -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 --- /dev/null +++ b/src/testdir/dumps/Test_conceal_two_windows_09v.dump @@ -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 --- /dev/null +++ b/src/testdir/test_conceal.vim @@ -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, "\\") + 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, "\/e") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_06c', {}) + call term_sendkeys(buf, "\v") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_06v', {}) + call term_sendkeys(buf, "\") + + " 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, "\/e") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_07c', {}) + call term_sendkeys(buf, "\v") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_07v', {}) + call term_sendkeys(buf, "\") + + " 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, "\/e") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_08c', {}) + call term_sendkeys(buf, "\v") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_08v', {}) + call term_sendkeys(buf, "\") + + " 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, "\/e") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_09c', {}) + call term_sendkeys(buf, "\v") + call VerifyScreenDump(buf, 'Test_conceal_two_windows_09v', {}) + call term_sendkeys(buf, "\") + + " clean up + call StopVimInTerminal(buf) + call delete('XTest_conceal') +endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -796,6 +796,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 721, +/**/ 720, /**/ 719,