diff options
-rw-r--r-- | man/nvim.1 | 1 | ||||
-rw-r--r-- | runtime/doc/starting.txt | 6 | ||||
-rw-r--r-- | src/nvim/api/ui.c | 2 | ||||
-rw-r--r-- | test/functional/api/ui_spec.lua | 26 | ||||
-rw-r--r-- | test/functional/helpers.lua | 2 | ||||
-rw-r--r-- | test/functional/ui/input_spec.lua | 4 | ||||
-rw-r--r-- | test/helpers.lua | 8 |
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, |