aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-07-31 02:05:02 +0300
committerZyX <kp-pav@yandex.ru>2017-07-31 02:05:02 +0300
commitfbe60af538aa6c723779ae7a816de845460619ae (patch)
treeb541ffeeaa5046de170cac688c72aeb891c61ebb /test
parent1011462b40502e6039494e70a870f0360f152b1b (diff)
parent13e8356f52d9dc1da96179ee425168740874c8c7 (diff)
downloadrneovim-fbe60af538aa6c723779ae7a816de845460619ae.tar.gz
rneovim-fbe60af538aa6c723779ae7a816de845460619ae.tar.bz2
rneovim-fbe60af538aa6c723779ae7a816de845460619ae.zip
Merge branch 'master' into colored-cmdline
Diffstat (limited to 'test')
-rw-r--r--test/functional/ex_cmds/menu_spec.lua325
-rw-r--r--test/functional/legacy/assert_spec.lua5
-rw-r--r--test/functional/ui/mouse_spec.lua4
3 files changed, 330 insertions, 4 deletions
diff --git a/test/functional/ex_cmds/menu_spec.lua b/test/functional/ex_cmds/menu_spec.lua
index 57198600b9..55da8da8dc 100644
--- a/test/functional/ex_cmds/menu_spec.lua
+++ b/test/functional/ex_cmds/menu_spec.lua
@@ -2,6 +2,8 @@ local helpers = require('test.functional.helpers')(after_each)
local clear, command, nvim = helpers.clear, helpers.command, helpers.nvim
local expect, feed = helpers.expect, helpers.feed
local eq, eval = helpers.eq, helpers.eval
+local funcs = helpers.funcs
+
describe(':emenu', function()
@@ -56,3 +58,326 @@ describe(':emenu', function()
eq('thiscmdmode', eval('getcmdline()'))
end)
end)
+
+describe('menu_get', function()
+
+ before_each(function()
+ clear()
+ command('nnoremenu &Test.Test inormal<ESC>')
+ command('inoremenu Test.Test insert')
+ command('vnoremenu Test.Test x')
+ command('cnoremenu Test.Test cmdmode')
+ command('menu Test.Nested.test level1')
+ command('menu Test.Nested.Nested2 level2')
+
+ command('nnoremenu <script> Export.Script p')
+ command('tmenu Export.Script This is the tooltip')
+ command('menu ]Export.hidden thisoneshouldbehidden')
+
+ command('nnoremenu Edit.Paste p')
+ command('cnoremenu Edit.Paste <C-R>"')
+ end)
+
+ it("path='', modes='a'", function()
+ local m = funcs.menu_get("","a");
+ -- HINT: To print the expected table and regenerate the tests:
+ -- print(require('pl.pretty').dump(m))
+ local expected = {
+ {
+ shortcut = "T",
+ hidden = 0,
+ submenus = {
+ {
+ mappings = {
+ i = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "insert",
+ silent = 0
+ },
+ s = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "x",
+ silent = 0
+ },
+ n = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "inormal\27",
+ silent = 0
+ },
+ v = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "x",
+ silent = 0
+ },
+ c = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "cmdmode",
+ silent = 0
+ }
+ },
+ priority = 500,
+ name = "Test",
+ hidden = 0
+ },
+ {
+ priority = 500,
+ name = "Nested",
+ submenus = {
+ {
+ mappings = {
+ o = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level1",
+ silent = 0
+ },
+ v = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level1",
+ silent = 0
+ },
+ s = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level1",
+ silent = 0
+ },
+ n = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level1",
+ silent = 0
+ }
+ },
+ priority = 500,
+ name = "test",
+ hidden = 0
+ },
+ {
+ mappings = {
+ o = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level2",
+ silent = 0
+ },
+ v = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level2",
+ silent = 0
+ },
+ s = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level2",
+ silent = 0
+ },
+ n = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "level2",
+ silent = 0
+ }
+ },
+ priority = 500,
+ name = "Nested2",
+ hidden = 0
+ }
+ },
+ hidden = 0
+ }
+ },
+ priority = 500,
+ name = "Test"
+ },
+ {
+ priority = 500,
+ name = "Export",
+ submenus = {
+ {
+ tooltip = "This is the tooltip",
+ hidden = 0,
+ name = "Script",
+ priority = 500,
+ mappings = {
+ n = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "p",
+ silent = 0
+ }
+ }
+ }
+ },
+ hidden = 0
+ },
+ {
+ priority = 500,
+ name = "Edit",
+ submenus = {
+ {
+ mappings = {
+ c = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "\18\"",
+ silent = 0
+ },
+ n = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "p",
+ silent = 0
+ }
+ },
+ priority = 500,
+ name = "Paste",
+ hidden = 0
+ }
+ },
+ hidden = 0
+ },
+ {
+ priority = 500,
+ name = "]Export",
+ submenus = {
+ {
+ mappings = {
+ o = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "thisoneshouldbehidden",
+ silent = 0
+ },
+ v = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "thisoneshouldbehidden",
+ silent = 0
+ },
+ s = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "thisoneshouldbehidden",
+ silent = 0
+ },
+ n = {
+ sid = 0,
+ noremap = 0,
+ enabled = 1,
+ rhs = "thisoneshouldbehidden",
+ silent = 0
+ }
+ },
+ priority = 500,
+ name = "hidden",
+ hidden = 0
+ }
+ },
+ hidden = 1
+ }
+ }
+ eq(expected, m)
+ end)
+
+ it('matching path, default modes', function()
+ local m = funcs.menu_get("Export", "a")
+ local expected = {
+ {
+ tooltip = "This is the tooltip",
+ hidden = 0,
+ name = "Script",
+ priority = 500,
+ mappings = {
+ n = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "p",
+ silent = 0
+ }
+ }
+ }
+ }
+ eq(expected, m)
+ end)
+
+ it('no path, matching modes', function()
+ local m = funcs.menu_get("","i")
+ local expected = {
+ {
+ shortcut = "T",
+ hidden = 0,
+ submenus = {
+ {
+ mappings = {
+ i = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "insert",
+ silent = 0
+ }
+ },
+ priority = 500,
+ name = "Test",
+ hidden = 0
+ },
+ {
+ }
+ },
+ priority = 500,
+ name = "Test"
+ }
+ }
+ eq(expected, m)
+ end)
+
+ it('matching path and modes', function()
+ local m = funcs.menu_get("Test","i")
+ local expected = {
+ {
+ mappings = {
+ i = {
+ sid = 1,
+ noremap = 1,
+ enabled = 1,
+ rhs = "insert",
+ silent = 0
+ }
+ },
+ priority = 500,
+ name = "Test",
+ hidden = 0
+ }
+ }
+ eq(expected, m)
+ end)
+
+end)
diff --git a/test/functional/legacy/assert_spec.lua b/test/functional/legacy/assert_spec.lua
index 2f342ec9a3..d646e8dbf4 100644
--- a/test/functional/legacy/assert_spec.lua
+++ b/test/functional/legacy/assert_spec.lua
@@ -253,6 +253,11 @@ describe('assert function:', function()
"Expected range 5 - 7, but got 8",
})
end)
+
+ it('assert_inrange(1, 1) returns E119', function()
+ eq('Vim(call):E119: Not enough arguments for function: assert_inrange',
+ exc_exec("call assert_inrange(1, 1)"))
+ end)
end)
-- assert_report({msg})
diff --git a/test/functional/ui/mouse_spec.lua b/test/functional/ui/mouse_spec.lua
index 35af34015d..3daf92eea0 100644
--- a/test/functional/ui/mouse_spec.lua
+++ b/test/functional/ui/mouse_spec.lua
@@ -13,9 +13,6 @@ describe('ui/mouse/input', function()
clear()
meths.set_option('mouse', 'a')
meths.set_option('listchars', 'eol:$')
- -- set mousetime to very high value to ensure that even in valgrind/travis,
- -- nvim will still pick multiple clicks
- meths.set_option('mousetime', 5000)
screen = Screen.new(25, 5)
screen:attach()
screen:set_default_attr_ids({
@@ -119,7 +116,6 @@ describe('ui/mouse/input', function()
sel = { bold=true },
fill = { reverse=true }
})
- screen.timeout = 15000
end)
it('in tabline on filler space moves tab to the end', function()