aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-04-11 22:07:00 +0200
committerGitHub <noreply@github.com>2018-04-11 22:07:00 +0200
commit87f4d2592c2ba164683b1f0f813cf9f029a0abfb (patch)
tree252717790553331e3d6c7245bb9d9be86ccdf101
parentf96d99ad1118d79ae5c38bb5e2c4be1280caa3cc (diff)
downloadrneovim-87f4d2592c2ba164683b1f0f813cf9f029a0abfb.tar.gz
rneovim-87f4d2592c2ba164683b1f0f813cf9f029a0abfb.tar.bz2
rneovim-87f4d2592c2ba164683b1f0f813cf9f029a0abfb.zip
test/util: expect_err() (#8257)
other cleanup, ref #8245
-rw-r--r--man/nvim.11
-rw-r--r--runtime/doc/starting.txt6
-rw-r--r--src/nvim/api/ui.c2
-rw-r--r--test/functional/api/ui_spec.lua26
-rw-r--r--test/functional/helpers.lua2
-rw-r--r--test/functional/ui/input_spec.lua4
-rw-r--r--test/helpers.lua8
7 files changed, 30 insertions, 19 deletions
diff --git a/man/nvim.1 b/man/nvim.1
index 61dbb13748..12f342247e 100644
--- a/man/nvim.1
+++ b/man/nvim.1
@@ -329,7 +329,6 @@ Implies
.Fl -headless .
.It Fl -headless
Do not start a user interface.
-.Fl -listen .
.It Fl -listen Ar address
Start RPC server on this pipe or TCP socket.
.It Fl h , -help
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 991f88f7b6..21c47edc24 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -356,8 +356,8 @@ argument.
See also |silent-mode|, which does start a (limited) UI.
--listen {addr} *--listen*
- Start |RPC| server on socket or TCP address {addr}. Sets the
- primary listen address |v:servername| to {addr}. |serverstart()|
+ Start |RPC| server on pipe or TCP address {addr}. Sets the
+ primary listen address |v:servername| to {addr}. |serverstart()|
==============================================================================
2. Initialization *initialization* *startup*
@@ -1395,4 +1395,4 @@ RPC clients for debugging. $NVIM_LOG_FILE contains the log file path: >
Usually the file is ~/.local/share/nvim/log unless that path is inaccessible
or if $NVIM_LOG_FILE was set before |startup|.
- vim:tw=78:ts=8:ft=help:norl:
+ vim:noet:tw=78:ts=8:ft=help:norl:
diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c
index e39617be7b..c165d38394 100644
--- a/src/nvim/api/ui.c
+++ b/src/nvim/api/ui.c
@@ -213,7 +213,7 @@ static void ui_set_option(UI *ui, String name, Object value, Error *error)
return;
}
- api_set_error(error, kErrorTypeValidation, "No such UI option");
+ api_set_error(error, kErrorTypeValidation, "No such UI option: %s", name);
#undef UI_EXT_OPTION
}
diff --git a/test/functional/api/ui_spec.lua b/test/functional/api/ui_spec.lua
index 32aae5d8f2..b028a50b02 100644
--- a/test/functional/api/ui_spec.lua
+++ b/test/functional/api/ui_spec.lua
@@ -3,6 +3,8 @@ local Screen = require('test.functional.ui.screen')
local clear = helpers.clear
local eq = helpers.eq
local eval = helpers.eval
+local expect_err = helpers.expect_err
+local meths = helpers.meths
local request = helpers.request
describe('nvim_ui_attach()', function()
@@ -16,24 +18,20 @@ describe('nvim_ui_attach()', function()
eq(999, eval('&columns'))
end)
it('invalid option returns error', function()
- local screen = Screen.new()
- local status, rv = pcall(function() screen:attach({foo={'foo'}}) end)
- eq(false, status)
- eq('No such UI option', rv:match("No such .*"))
+ expect_err('No such UI option: foo',
+ meths.ui_attach, 80, 24, { foo={'foo'} })
end)
it('validates channel arg', function()
- assert.has_error(function() request('nvim_ui_try_resize', 40, 10) end,
- 'UI not attached to channel: 1')
- assert.has_error(function() request('nvim_ui_set_option', 'rgb', true) end,
- 'UI not attached to channel: 1')
- assert.has_error(function() request('nvim_ui_detach') end,
- 'UI not attached to channel: 1')
+ expect_err('UI not attached to channel: 1',
+ request, 'nvim_ui_try_resize', 40, 10)
+ expect_err('UI not attached to channel: 1',
+ request, 'nvim_ui_set_option', 'rgb', true)
+ expect_err('UI not attached to channel: 1',
+ request, 'nvim_ui_detach')
local screen = Screen.new()
screen:attach({rgb=false})
- assert.has_error(function()
- request('nvim_ui_attach', 40, 10, { rgb=false })
- end,
- 'UI already attached to channel: 1')
+ expect_err('UI already attached to channel: 1',
+ request, 'nvim_ui_attach', 40, 10, { rgb=false })
end)
end)
diff --git a/test/functional/helpers.lua b/test/functional/helpers.lua
index 84ba6b6853..bf11042dd6 100644
--- a/test/functional/helpers.lua
+++ b/test/functional/helpers.lua
@@ -14,6 +14,7 @@ local check_cores = global_helpers.check_cores
local check_logs = global_helpers.check_logs
local neq = global_helpers.neq
local eq = global_helpers.eq
+local expect_err = global_helpers.expect_err
local ok = global_helpers.ok
local map = global_helpers.map
local matches = global_helpers.matches
@@ -737,6 +738,7 @@ local module = {
exc_exec = exc_exec,
expect = expect,
expect_any = expect_any,
+ expect_err = expect_err,
expect_msg_seq = expect_msg_seq,
expect_twostreams = expect_twostreams,
feed = feed,
diff --git a/test/functional/ui/input_spec.lua b/test/functional/ui/input_spec.lua
index 9bfc87d835..3dd9a2506e 100644
--- a/test/functional/ui/input_spec.lua
+++ b/test/functional/ui/input_spec.lua
@@ -128,6 +128,10 @@ describe('input utf sequences that contain CSI/K_SPECIAL', function()
end)
describe('input non-printable chars', function()
+ after_each(function()
+ os.remove('Xtest-overwrite')
+ end)
+
it("doesn't crash when echoing them back", function()
write_file("Xtest-overwrite", [[foobar]])
clear()
diff --git a/test/helpers.lua b/test/helpers.lua
index 0b6a10a29a..e0645d083f 100644
--- a/test/helpers.lua
+++ b/test/helpers.lua
@@ -22,6 +22,13 @@ local function matches(pat, actual)
end
error(string.format('Pattern does not match.\nPattern:\n%s\nActual:\n%s', pat, actual))
end
+-- Expect an error matching pattern `pat`.
+local function expect_err(pat, ...)
+ local fn = select(1, ...)
+ local fn_args = {...}
+ table.remove(fn_args, 1)
+ assert.error_matches(function() return fn(unpack(fn_args)) end, pat)
+end
-- initial_path: directory to recurse into
-- re: include pattern (string)
@@ -569,6 +576,7 @@ return {
deepcopy = deepcopy,
dictdiff = dictdiff,
eq = eq,
+ expect_err = expect_err,
filter = filter,
fixtbl = fixtbl,
fixtbl_rec = fixtbl_rec,