diff options
author | Thiago de Arruda <tpadilha84@gmail.com> | 2014-10-08 13:56:01 -0300 |
---|---|---|
committer | Thiago de Arruda <tpadilha84@gmail.com> | 2014-10-16 14:06:54 -0300 |
commit | 0c2ec77ae0c0bde70b168313f89fa3259682a056 (patch) | |
tree | 8ae4c703deff5a369cd35c7580351e320faa6d93 /test/functional/api/server_notifications_spec.lua | |
parent | 69561ea922ae6789703c06cbc245929d7c625db9 (diff) | |
download | rneovim-0c2ec77ae0c0bde70b168313f89fa3259682a056.tar.gz rneovim-0c2ec77ae0c0bde70b168313f89fa3259682a056.tar.bz2 rneovim-0c2ec77ae0c0bde70b168313f89fa3259682a056.zip |
test: Use lua to perform sanity API checks
Sanity API checks made by the python-client in the api-python travis target were
converted to lua and will now live in this repository. This will simplify
performing breaking changes to the API as it won't be necessary to send parallel
PRs the python-client.
Diffstat (limited to 'test/functional/api/server_notifications_spec.lua')
-rw-r--r-- | test/functional/api/server_notifications_spec.lua | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test/functional/api/server_notifications_spec.lua b/test/functional/api/server_notifications_spec.lua new file mode 100644 index 0000000000..6791fbb4ba --- /dev/null +++ b/test/functional/api/server_notifications_spec.lua @@ -0,0 +1,40 @@ +-- Tests for nvim notifications +local helpers = require('test.functional.helpers') +local eq, clear, eval, execute, nvim, next_message = + helpers.eq, helpers.clear, helpers.eval, helpers.execute, helpers.nvim, + helpers.next_message + +describe('notify', function() + local channel + + before_each(function() + clear() + channel = nvim('get_api_info')[1] + end) + + describe('passing a valid channel id', function() + it('sends the notification/args to the corresponding channel', function() + eval('rpcnotify('..channel..', "test-event", 1, 2, 3)') + eq({'notification', 'test-event', {1, 2, 3}}, next_message()) + execute('au FileType lua call rpcnotify('..channel..', "lua!")') + execute('set filetype=lua') + eq({'notification', 'lua!', {}}, next_message()) + end) + end) + + describe('passing 0 as the channel id', function() + it('sends the notification/args to all subscribed channels', function() + nvim('subscribe', 'event2') + eval('rpcnotify(0, "event1", 1, 2, 3)') + eval('rpcnotify(0, "event2", 4, 5, 6)') + eval('rpcnotify(0, "event2", 7, 8, 9)') + eq({'notification', 'event2', {4, 5, 6}}, next_message()) + eq({'notification', 'event2', {7, 8, 9}}, next_message()) + nvim('unsubscribe', 'event2') + nvim('subscribe', 'event1') + eval('rpcnotify(0, "event2", 10, 11, 12)') + eval('rpcnotify(0, "event1", 13, 14, 15)') + eq({'notification', 'event1', {13, 14, 15}}, next_message()) + end) + end) +end) |