aboutsummaryrefslogtreecommitdiff
path: root/test/functional/server/server_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/server/server_spec.lua')
-rw-r--r--test/functional/server/server_spec.lua53
1 files changed, 45 insertions, 8 deletions
diff --git a/test/functional/server/server_spec.lua b/test/functional/server/server_spec.lua
index 5dd8197d52..1cb3c879b9 100644
--- a/test/functional/server/server_spec.lua
+++ b/test/functional/server/server_spec.lua
@@ -4,19 +4,56 @@ local nvim, eq, neq, ok, eval
= helpers.nvim, helpers.eq, helpers.neq, helpers.ok, helpers.eval
local clear = helpers.clear
-describe('server*() functions', function()
+describe('serverstart(), serverstop()', function()
before_each(clear)
- it('set $NVIM_LISTEN_ADDRESS on first serverstart()', function()
- -- Ensure the listen address is unset.
+ it('sets $NVIM_LISTEN_ADDRESS on first invocation', function()
+ -- Unset $NVIM_LISTEN_ADDRESS
nvim('command', 'let $NVIM_LISTEN_ADDRESS = ""')
- nvim('command', 'let s = serverstart()')
- eq(1, eval('$NVIM_LISTEN_ADDRESS == s'))
- nvim('command', 'call serverstop(s)')
- eq(0, eval('$NVIM_LISTEN_ADDRESS == s'))
+
+ local s = eval('serverstart()')
+ assert(s ~= nil and s:len() > 0, "serverstart() returned empty")
+ eq(s, eval('$NVIM_LISTEN_ADDRESS'))
+ nvim('command', "call serverstop('"..s.."')")
+ eq('', eval('$NVIM_LISTEN_ADDRESS'))
+ end)
+
+ it([[sets v:servername _only_ on nvim startup
+ (unless all servers are stopped)]], function()
+ local initial_server = eval('v:servername')
+ assert(initial_server ~= nil and initial_server:len() > 0,
+ "v:servername was not initialized")
+
+ -- v:servername is readonly so we cannot unset it--but we can test that it
+ -- does not get set again thereafter.
+ local s = eval('serverstart()')
+ assert(s ~= nil and s:len() > 0, "serverstart() returned empty")
+ neq(initial_server, s)
+
+ -- serverstop() does _not_ modify v:servername...
+ nvim('command', "call serverstop('"..s.."')")
+ eq(initial_server, eval('v:servername'))
+
+ -- ...unless we stop _all_ servers.
+ nvim('command', "call serverstop(serverlist()[0])")
+ eq('', eval('v:servername'))
+
+ -- v:servername will take the next available server.
+ nvim('command', "call serverstart('test_server_socket')")
+ eq('test_server_socket', eval('v:servername'))
end)
- it('let the user retrieve the list of servers', function()
+ it('serverstop() ignores invalid input', function()
+ nvim('command', "call serverstop('')")
+ nvim('command', "call serverstop('bogus-socket-name')")
+ end)
+
+end)
+
+describe('serverlist()', function()
+ before_each(clear)
+
+ it('returns the list of servers', function()
-- There should already be at least one server.
local n = eval('len(serverlist())')