diff options
Diffstat (limited to 'test/functional/ui/embed_spec.lua')
-rw-r--r-- | test/functional/ui/embed_spec.lua | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/test/functional/ui/embed_spec.lua b/test/functional/ui/embed_spec.lua new file mode 100644 index 0000000000..10dbc68672 --- /dev/null +++ b/test/functional/ui/embed_spec.lua @@ -0,0 +1,82 @@ +local helpers = require('test.functional.helpers')(after_each) +local Screen = require('test.functional.ui.screen') + +local feed = helpers.feed +local eq = helpers.eq +local clear = helpers.clear + +local function test_embed(ext_linegrid) + local screen + local function startup(...) + clear{headless=false, args={...}} + + -- attach immediately after startup, for early UI + screen = Screen.new(60, 8) + screen:attach{ext_linegrid=ext_linegrid} + screen:set_default_attr_ids({ + [1] = {foreground = Screen.colors.Grey100, background = Screen.colors.Red}, + [2] = {bold = true, foreground = Screen.colors.SeaGreen4}, + [3] = {bold = true, foreground = Screen.colors.Blue1}, + [4] = {bold = true, foreground = Screen.colors.Green}, + }) + end + + it('can display errors', function() + startup('--cmd', 'echoerr invalid+') + screen:expect([[ + | + | + | + | + | + Error detected while processing pre-vimrc command line: | + E121: Undefined variable: invalid | + Press ENTER or type command to continue^ | + ]]) + + feed('<cr>') + screen:expect([[ + ^ | + {3:~ }| + {3:~ }| + {3:~ }| + {3:~ }| + {3:~ }| + {3:~ }| + | + ]]) + end) + + it("doesn't erase output when setting color scheme", function() + startup('--cmd', 'echoerr "foo"', '--cmd', 'color default', '--cmd', 'echoerr "bar"') + screen:expect([[ + | + | + | + | + Error detected while processing pre-vimrc command line: | + foo | + {1:bar} | + {4:Press ENTER or type command to continue}^ | + ]]) + end) + + it("doesn't erase output when setting Normal colors", function() + startup('--cmd', 'echoerr "foo"', '--cmd', 'hi Normal guibg=Green', '--cmd', 'echoerr "bar"') + screen:expect{grid=[[ + | + | + | + | + Error detected while processing pre-vimrc command line: | + foo | + bar | + Press ENTER or type command to continue^ | + ]], condition=function() + eq(Screen.colors.Green, screen.default_colors.rgb_bg) + end} + end) +end + +describe('--embed UI on startup (ext_linegrid=true)', function() test_embed(true) end) +describe('--embed UI on startup (ext_linegrid=false)', function() test_embed(false) end) |