diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/ui/float_spec.lua | 190 | ||||
-rw-r--r-- | test/functional/ui/popupmenu_spec.lua | 20 |
2 files changed, 210 insertions, 0 deletions
diff --git a/test/functional/ui/float_spec.lua b/test/functional/ui/float_spec.lua index a567fbb941..3c7418167c 100644 --- a/test/functional/ui/float_spec.lua +++ b/test/functional/ui/float_spec.lua @@ -3764,6 +3764,196 @@ describe('floating windows', function() end end) end) + + it("'winblend' option", function() + screen:try_resize(50,9) + screen:set_default_attr_ids({ + [1] = {background = Screen.colors.LightMagenta}, + [2] = {foreground = Screen.colors.Grey0, background = tonumber('0xffcfff')}, + [3] = {foreground = tonumber('0xb282b2'), background = tonumber('0xffcfff')}, + [4] = {foreground = Screen.colors.Red, background = Screen.colors.LightMagenta}, + [5] = {foreground = tonumber('0x990000'), background = tonumber('0xfff1ff')}, + [6] = {foreground = tonumber('0x332533'), background = tonumber('0xfff1ff')}, + }) + insert([[ + Lorem ipsum dolor sit amet, consectetur + adipisicing elit, sed do eiusmod tempor + incididunt ut labore et dolore magna aliqua. + Ut enim ad minim veniam, quis nostrud + exercitation ullamco laboris nisi ut aliquip ex + ea commodo consequat. Duis aute irure dolor in + reprehenderit in voluptate velit esse cillum + dolore eu fugiat nulla pariatur. Excepteur sint + occaecat cupidatat non proident, sunt in culpa + qui officia deserunt mollit anim id est + laborum.]]) + local buf = meths.create_buf(false,false) + meths.buf_set_lines(buf, 0, -1, true, {"test", "", "popup text"}) + local win = meths.open_win(buf, false, {relative='editor', width=15, height=3, row=2, col=5}) + if multigrid then + screen:expect{grid=[[ + ## grid 1 + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + | + ## grid 2 + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea commodo consequat. Duis aute irure dolor in | + reprehenderit in voluptate velit esse cillum | + dolore eu fugiat nulla pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + ## grid 4 + {1:test }| + {1: }| + {1:popup text }| + ]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}} + else + screen:expect([[ + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea co{1:test }. Duis aute irure dolor in | + repre{1: }uptate velit esse cillum | + dolor{1:popup text }la pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + | + ]]) + end + + meths.win_set_option(win, "winblend", 30) + if multigrid then + screen:expect{grid=[[ + ## grid 1 + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + | + ## grid 2 + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea commodo consequat. Duis aute irure dolor in | + reprehenderit in voluptate velit esse cillum | + dolore eu fugiat nulla pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + ## grid 4 + {1:test }| + {1: }| + {1:popup text }| + ]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}, unchanged=true} + else + screen:expect([[ + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea co{2:test}{3:o consequat}. Duis aute irure dolor in | + repre{3:henderit in vol}uptate velit esse cillum | + dolor{2:popup}{3:fugi}{2:text}{3:ul}la pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + | + ]]) + end + + command('hi SpecialRegion guifg=Red blend=0') + meths.buf_add_highlight(buf, -1, "SpecialRegion", 2, 0, -1) + if multigrid then + screen:expect{grid=[[ + ## grid 1 + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + | + ## grid 2 + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea commodo consequat. Duis aute irure dolor in | + reprehenderit in voluptate velit esse cillum | + dolore eu fugiat nulla pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + ## grid 4 + {1:test }| + {1: }| + {4:popup text}{1: }| + ]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}} + else + screen:expect([[ + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea co{2:test}{3:o consequat}. Duis aute irure dolor in | + repre{3:henderit in vol}uptate velit esse cillum | + dolor{4:popup text}{3:ul}la pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + | + ]]) + end + + command('hi SpecialRegion guifg=Red blend=80') + if multigrid then + screen:expect{grid=[[ + ## grid 1 + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + [2:--------------------------------------------------]| + | + ## grid 2 + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea commodo consequat. Duis aute irure dolor in | + reprehenderit in voluptate velit esse cillum | + dolore eu fugiat nulla pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + ## grid 4 + {1:test }| + {1: }| + {4:popup text}{1: }| + ]], float_pos={[4] = {{id = 1002}, "NW", 1, 2, 5, true}}, unchanged=true} + else + screen:expect([[ + Ut enim ad minim veniam, quis nostrud | + exercitation ullamco laboris nisi ut aliquip ex | + ea co{2:test}{3:o consequat}. Duis aute irure dolor in | + repre{3:henderit in vol}uptate velit esse cillum | + dolor{5:popup}{6:fugi}{5:text}{3:ul}la pariatur. Excepteur sint | + occaecat cupidatat non proident, sunt in culpa | + qui officia deserunt mollit anim id est | + laborum^. | + | + ]]) + end + end) end describe('with ext_multigrid', function() diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua index b457ebebab..466e078277 100644 --- a/test/functional/ui/popupmenu_spec.lua +++ b/test/functional/ui/popupmenu_spec.lua @@ -1662,6 +1662,26 @@ describe('builtin popupmenu', function() {20:-- Keyword Local completion (^N^P) }{21:match 1 of 65} | ]]) + -- can disable blending for indiviual attribute. For instance current + -- selected item. (also tests that `hi Pmenu*` take immediate effect) + command('hi PMenuSel blend=0') + screen:expect([[ + Lorem ipsum d{1:ol}or sit amet, consectetur | + adipisicing elit, sed do eiusmod tempor | + bla bla incididunt^ | + incidid{22: incididunt }{27: }d{1:ol}ore magna aliqua. | + Ut enim{28: }{29:ut}{28: minim veniam}{25:,} quis nostrud | + exercit{28:a}{29:labore}{28:llamco la}{25:b}oris nisi ut aliquip ex | + {2:[No Nam}{30:e}{43:et}{30:[+] }{32: }{2: }| + incidid{28:u}{29:dol}{41:or}{29:e}{28:labore et}{25: }d{1:ol}ore magna aliqua. | + Ut enim{28: }{29:magna}{28:nim veniam}{25:,} quis nostrud | + exercit{28:a}{29:aliqua}{28:llamco la}{25:b}oris nisi {4:ut} aliquip ex | + ea comm{28:o}{29:Ut}{28: consequat. D}{25:u}is a{4:ut}e irure d{1:ol}or in | + reprehe{28:n}{29:enim}{28:t in v}{34:ol}{28:upt}{25:a}te v{3:el}it esse cillum | + {5:[No Nam}{38:e}{44:ad}{38:[+] }{40: }{5: }| + {20:-- Keyword Local completion (^N^P) }{21:match 1 of 65} | + ]]) + feed('<c-e>') screen:expect([[ Lorem ipsum d{1:ol}or sit amet, consectetur | |