1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- local t = require('test.testutil')
- local n = require('test.functional.testnvim')()
- local clear = n.clear
- local command = n.command
- local eq = t.eq
- local fn = n.fn
- local next_msg = n.next_msg
- local is_os = t.is_os
- local skip = t.skip
- if skip(is_os('win'), 'Only applies to POSIX systems') then
- return
- end
- local function posix_kill(signame, pid)
- os.execute('kill -s ' .. signame .. ' -- ' .. pid .. ' >/dev/null')
- end
- describe('autocmd Signal', function()
- before_each(clear)
- it('matches *', function()
- command('autocmd Signal * call rpcnotify(1, "foo")')
- posix_kill('USR1', fn.getpid())
- eq({ 'notification', 'foo', {} }, next_msg())
- end)
- it('matches SIGUSR1', function()
- command('autocmd Signal SIGUSR1 call rpcnotify(1, "foo")')
- posix_kill('USR1', fn.getpid())
- eq({ 'notification', 'foo', {} }, next_msg())
- end)
- it('matches SIGWINCH', function()
- command('autocmd Signal SIGWINCH call rpcnotify(1, "foo")')
- posix_kill('WINCH', fn.getpid())
- eq({ 'notification', 'foo', {} }, next_msg())
- end)
- it('does not match unknown patterns', function()
- command('autocmd Signal SIGUSR2 call rpcnotify(1, "foo")')
- posix_kill('USR1', fn.getpid())
- eq(nil, next_msg(500))
- end)
- end)
|