diff options
Diffstat (limited to 'test/functional/ui/mouse_spec.lua')
| -rw-r--r-- | test/functional/ui/mouse_spec.lua | 64 | 
1 files changed, 64 insertions, 0 deletions
diff --git a/test/functional/ui/mouse_spec.lua b/test/functional/ui/mouse_spec.lua index f1973f60ba..30f37a7463 100644 --- a/test/functional/ui/mouse_spec.lua +++ b/test/functional/ui/mouse_spec.lua @@ -57,6 +57,33 @@ describe('Mouse input', function()      ]])    end) +  it('left click in tabline switches to tab', function() +    local tab_attrs = { +      tab  = { background=Screen.colors.LightGrey, underline=true }, +      sel  = { bold=true }, +      fill = { reverse=true } +    } +    execute('%delete') +    insert('this is foo') +    execute('silent file foo | tabnew | file bar') +    insert('this is bar') +    screen:expect([[ +      {tab: + foo }{sel: + bar }{fill:          }{tab:X}| +      this is ba^r              | +      ~                        | +      ~                        | +                               | +    ]], tab_attrs) +    feed('<LeftMouse><4,0>') +    screen:expect([[ +      {sel: + foo }{tab: + bar }{fill:          }{tab:X}| +      this is fo^o              | +      ~                        | +      ~                        | +                               | +    ]], tab_attrs) +  end) +    it('left drag changes visual selection', function()      -- drag events must be preceded by a click      feed('<LeftMouse><2,1>') @@ -93,6 +120,43 @@ describe('Mouse input', function()      ]])    end) +  it('left drag changes visual selection after tab click', function() +    local tab_attrs = { +      tab  = { background=Screen.colors.LightGrey, underline=true }, +      sel  = { bold=true }, +      fill = { reverse=true }, +      vis  = { background=Screen.colors.LightGrey } +    } +    execute('silent file foo | tabnew | file bar') +    insert('this is bar') +    execute('tabprevious')  -- go to first tab +    screen:expect([[ +      {sel: + foo }{tab: + bar }{fill:          }{tab:X}| +      mouse                    | +      support and selectio^n    | +      ~                        | +                               | +    ]], tab_attrs) +    feed('<LeftMouse><10,0><LeftRelease>')  -- go to second tab +    helpers.wait() +    feed('<LeftMouse><0,1>') +    screen:expect([[ +      {tab: + foo }{sel: + bar }{fill:          }{tab:X}| +      ^this is bar              | +      ~                        | +      ~                        | +                               | +    ]], tab_attrs) +    feed('<LeftDrag><4,1>') +    screen:expect([[ +      {tab: + foo }{sel: + bar }{fill:          }{tab:X}| +      {vis:this}^ is bar              | +      ~                        | +      ~                        | +      {sel:-- VISUAL --}             | +    ]], tab_attrs) +  end) +    it('two clicks will select the word and enter VISUAL', function()      feed('<LeftMouse><2,2><LeftMouse><2,2>')      screen:expect([[  | 
