aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/functional/legacy/060_exists_and_has_functions_spec.lua16
-rw-r--r--test/functional/legacy/packadd_spec.lua7
-rw-r--r--test/functional/ui/screen.lua6
-rw-r--r--test/functional/ui/screen_basic_spec.lua67
4 files changed, 77 insertions, 19 deletions
diff --git a/test/functional/legacy/060_exists_and_has_functions_spec.lua b/test/functional/legacy/060_exists_and_has_functions_spec.lua
index cbd857c524..3e99f6df57 100644
--- a/test/functional/legacy/060_exists_and_has_functions_spec.lua
+++ b/test/functional/legacy/060_exists_and_has_functions_spec.lua
@@ -638,15 +638,6 @@ describe('exists() and has() functions', function()
call TestExists()
- function TestHas()
- redir >> test.out
- for pl in ['6.9.999', '7.1.999', '7.4.123', '9.1.0', '9.9.1']
- echo 'has patch ' . pl . ': ' . has('patch-' . pl)
- endfor
- redir END
- endfunc
- call TestHas()
-
edit! test.out
set ff=unix
]=])
@@ -858,12 +849,7 @@ describe('exists() and has() functions', function()
OK
g:footest#x = 1
footest#F() 0
- UndefFun() 0
- has patch 6.9.999: 1
- has patch 7.1.999: 1
- has patch 7.4.123: 1
- has patch 9.1.0: 0
- has patch 9.9.1: 0]])
+ UndefFun() 0]])
end)
end)
diff --git a/test/functional/legacy/packadd_spec.lua b/test/functional/legacy/packadd_spec.lua
index 68bdbf5257..2d851819e3 100644
--- a/test/functional/legacy/packadd_spec.lua
+++ b/test/functional/legacy/packadd_spec.lua
@@ -27,7 +27,7 @@ describe('packadd', function()
endfunc
func Test_packadd()
- call mkdir(s:plugdir . '/plugin', 'p')
+ call mkdir(s:plugdir . '/plugin/also', 'p')
call mkdir(s:plugdir . '/ftdetect', 'p')
call mkdir(s:plugdir . '/after', 'p')
set rtp&
@@ -38,6 +38,10 @@ describe('packadd', function()
call setline(1, 'let g:plugin_works = 42')
wq
+ exe 'split ' . s:plugdir . '/plugin/also/loaded.vim'
+ call setline(1, 'let g:plugin_also_works = 77')
+ wq
+
exe 'split ' . s:plugdir . '/ftdetect/test.vim'
call setline(1, 'let g:ftdetect_works = 17')
wq
@@ -45,6 +49,7 @@ describe('packadd', function()
packadd mytest
call assert_true(42, g:plugin_works)
+ call assert_equal(77, g:plugin_also_works)
call assert_true(17, g:ftdetect_works)
call assert_true(len(&rtp) > len(rtp))
call assert_true(&rtp =~ (s:plugdir . '\($\|,\)'))
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index 96324bfac5..6c1a1788ce 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -170,9 +170,9 @@ function Screen.new(width, height)
update_menu = false,
visual_bell = false,
suspended = false,
+ mode = 'normal',
_default_attr_ids = nil,
_default_attr_ignore = nil,
- _mode = 'normal',
_mouse_enabled = true,
_attrs = {},
_cursor = {
@@ -375,7 +375,7 @@ end
function Screen:_handle_mode_change(mode)
assert(mode == 'insert' or mode == 'replace' or mode == 'normal')
- self._mode = mode
+ self.mode = mode
end
function Screen:_handle_set_scroll_region(top, bot, left, right)
@@ -549,7 +549,7 @@ function Screen:print_snapshot(attrs, ignore)
if attrs == nil then
attrs = {}
if self._default_attr_ids ~= nil then
- for i, a in ipairs(self._default_attr_ids) do
+ for i, a in pairs(self._default_attr_ids) do
attrs[i] = a
end
end
diff --git a/test/functional/ui/screen_basic_spec.lua b/test/functional/ui/screen_basic_spec.lua
index 2b44b92336..593b6dd763 100644
--- a/test/functional/ui/screen_basic_spec.lua
+++ b/test/functional/ui/screen_basic_spec.lua
@@ -3,6 +3,7 @@ local Screen = require('test.functional.ui.screen')
local spawn, set_session, clear = helpers.spawn, helpers.set_session, helpers.clear
local feed, execute = helpers.feed, helpers.execute
local insert = helpers.insert
+local eq = helpers.eq
if helpers.pending_win32(pending) then return end
@@ -576,4 +577,70 @@ describe('Screen', function()
]])
end)
end)
+
+ describe('mode change', function()
+ before_each(function()
+ screen:try_resize(25, 5)
+ end)
+
+ it('works in normal mode', function()
+ screen:expect([[
+ ^ |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ |
+ ]],nil,nil,function ()
+ eq("normal", screen.mode)
+ end)
+ end)
+
+ it('works in insert mode', function()
+ feed('i')
+ screen:expect([[
+ ^ |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {2:-- INSERT --} |
+ ]],nil,nil,function ()
+ eq("insert", screen.mode)
+ end)
+
+ feed('word<esc>')
+ screen:expect([[
+ wor^d |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ |
+ ]], nil, nil, function ()
+ eq("normal", screen.mode)
+ end)
+ end)
+
+ it('works in replace mode', function()
+ feed('R')
+ screen:expect([[
+ ^ |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ {2:-- REPLACE --} |
+ ]], nil, nil, function ()
+ eq("replace", screen.mode)
+ end)
+
+ feed('word<esc>')
+ screen:expect([[
+ wor^d |
+ {0:~ }|
+ {0:~ }|
+ {0:~ }|
+ |
+ ]], nil, nil, function ()
+ eq("normal", screen.mode)
+ end)
+ end)
+ end)
end)