From 6b17082d3cf1f2e6c9eddb4f5ec0154f0f7286b0 Mon Sep 17 00:00:00 2001 From: Thiago de Arruda Date: Fri, 21 Nov 2014 10:07:59 -0300 Subject: runtime: Refer to plugins running outside Nvim as "remote plugins" - Rename autoload/rpc to autoload/remote - External plugins are now remote plugins - External plugins directory is "rplugin" --- .../runtime/autoload/remote/define_spec.lua | 365 +++++++++++++++++++++ .../runtime/autoload/rpc/define_spec.lua | 365 --------------------- 2 files changed, 365 insertions(+), 365 deletions(-) create mode 100644 test/functional/runtime/autoload/remote/define_spec.lua delete mode 100644 test/functional/runtime/autoload/rpc/define_spec.lua (limited to 'test') diff --git a/test/functional/runtime/autoload/remote/define_spec.lua b/test/functional/runtime/autoload/remote/define_spec.lua new file mode 100644 index 0000000000..53da47243c --- /dev/null +++ b/test/functional/runtime/autoload/remote/define_spec.lua @@ -0,0 +1,365 @@ +local helpers = require('test.functional.helpers') +local eval, command, nvim = helpers.eval, helpers.command, helpers.nvim +local eq, run, stop = helpers.eq, helpers.run, helpers.stop +local clear, feed = helpers.clear, helpers.feed + + +local function get_prefix(sync) + if sync then + return 'sync' + end + return 'async' +end + + +local function call(fn, args) + command('call '..fn..'('..args..')') +end + + +local function clear_and_init(init) + return function() + clear() + if init then + init() + end + end +end + + +local function runx(sync, handler, on_setup) + local function setup_cb(...) + on_setup(...) + -- need to stop on setup callback because there's two session:request + -- calls in `request/helpers.lua`. The second call will always return + -- after pending notification/request callbacks are processed + stop() + end + local function handler_cb(...) + return handler(...) + end + if sync then + run(handler_cb, nil, setup_cb) + else + run(nil, handler_cb, setup_cb) + end +end + +local function command_specs_for(fn, sync, first_arg_factory, init) + local prefix = get_prefix(sync) + + describe(prefix..' command created by', function() + before_each(clear_and_init(init)) + + describe(fn, function() + local args + + before_each(function() + args = first_arg_factory()..', "test-handler", ' + if sync then + args = args .. '1' + else + args = args .. '0' + end + args = args..', "RpcCommand"' + end) + + describe('without options', function() + it('ok', function() + call(fn, args..', {}') + local function on_setup() + command('RpcCommand') + end + + local function handler(method) + eq('test-handler', method) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with nargs', function() + it('ok', function() + call(fn, args..', {"nargs": "*"}') + local function on_setup() + command('RpcCommand arg1 arg2 arg3') + end + + local function handler(method, args) + eq('test-handler', method) + eq({'arg1', 'arg2', 'arg3'}, args[1]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with range', function() + it('ok', function() + call(fn,args..', {"range": ""}') + local function on_setup() + command('1,1RpcCommand') + end + + local function handler(method, args) + eq('test-handler', method) + eq({1, 1}, args[1]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with nargs/range', function() + it('ok', function() + call(fn, args..', {"nargs": "1", "range": ""}') + local function on_setup() + command('1,1RpcCommand arg') + end + + local function handler(method, args) + eq('test-handler', method) + eq({'arg'}, args[1]) + eq({1, 1}, args[2]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with nargs/count', function() + it('ok', function() + call(fn, args..', {"nargs": "1", "range": "5"}') + local function on_setup() + command('5RpcCommand arg') + end + + local function handler(method, args) + eq('test-handler', method) + eq({'arg'}, args[1]) + eq(5, args[2]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with nargs/count/bang', function() + it('ok', function() + call(fn, args..', {"nargs": "1", "range": "5", "bang": ""}') + local function on_setup() + command('5RpcCommand! arg') + end + + local function handler(method, args) + eq('test-handler', method) + eq({'arg'}, args[1]) + eq(5, args[2]) + eq(1, args[3]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with nargs/count/bang/register', function() + it('ok', function() + call(fn, args..', {"nargs": "1", "range": "5", "bang": "",'.. + ' "register": ""}') + local function on_setup() + command('5RpcCommand! b arg') + end + + local function handler(method, args) + eq('test-handler', method) + eq({'arg'}, args[1]) + eq(5, args[2]) + eq(1, args[3]) + eq('b', args[4]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with nargs/count/bang/register/eval', function() + it('ok', function() + call(fn, args..', {"nargs": "1", "range": "5", "bang": "",'.. + ' "register": "", "eval": "@"}') + local function on_setup() + command('let @b = "regb"') + command('5RpcCommand! b arg') + end + + local function handler(method, args) + eq('test-handler', method) + eq({'arg'}, args[1]) + eq(5, args[2]) + eq(1, args[3]) + eq('b', args[4]) + eq('regb', args[5]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + end) + end) +end + + +local function autocmd_specs_for(fn, sync, first_arg_factory, init) + local prefix = get_prefix(sync) + + describe(prefix..' autocmd created by', function() + before_each(clear_and_init(init)) + + describe(fn, function() + local args + + before_each(function() + args = first_arg_factory()..', "test-handler", ' + if sync then + args = args .. '1' + else + args = args .. '0' + end + args = args..', "BufEnter"' + end) + + describe('without options', function() + it('ok', function() + call(fn, args..', {}') + local function on_setup() + command('doautocmd BufEnter x.c') + end + + local function handler(method, args) + eq('test-handler', method) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with eval', function() + it('ok', function() + call(fn, args..[[, {'eval': 'expand("")'}]]) + local function on_setup() + command('doautocmd BufEnter x.c') + end + + local function handler(method, args) + eq('test-handler', method) + eq('x.c', args[1]) + return '' + end + + runx(sync, handler, on_setup) + end) + end) + end) + end) +end + + +local function function_specs_for(fn, sync, first_arg_factory, init) + local prefix = get_prefix(sync) + + describe(prefix..' function created by', function() + before_each(clear_and_init(init)) + + describe(fn, function() + local args + + before_each(function() + args = first_arg_factory()..', "test-handler", ' + if sync then + args = args .. '1' + else + args = args .. '0' + end + args = args..', "TestFunction"' + end) + + describe('without options', function() + it('ok', function() + call(fn, args..', {}') + local function on_setup() + if sync then + eq('rv', eval('TestFunction(1, "a", ["b", "c"])')) + else + eq(1, eval('TestFunction(1, "a", ["b", "c"])')) + end + end + + local function handler(method, args) + eq('test-handler', method) + eq({{1, 'a', {'b', 'c'}}}, args) + return 'rv' + end + + runx(sync, handler, on_setup) + end) + end) + + describe('with eval', function() + it('ok', function() + call(fn, args..[[, {'eval': '2 + 2'}]]) + local function on_setup() + if sync then + eq('rv', eval('TestFunction(1, "a", ["b", "c"])')) + else + eq(1, eval('TestFunction(1, "a", ["b", "c"])')) + end + end + + local function handler(method, args) + eq('test-handler', method) + eq({{1, 'a', {'b', 'c'}}, 4}, args) + return 'rv' + end + + runx(sync, handler, on_setup) + end) + end) + end) + end) +end + +local function channel() + return nvim('get_api_info')[1] +end + +local function host() + return '"busted"' +end + +local function register() + eval('remote#host#Register("busted", '..channel()..')') +end + +command_specs_for('remote#define#CommandOnChannel', true, channel) +command_specs_for('remote#define#CommandOnChannel', false, channel) +command_specs_for('remote#define#CommandOnHost', true, host, register) +command_specs_for('remote#define#CommandOnHost', false, host, register) + +autocmd_specs_for('remote#define#AutocmdOnChannel', true, channel) +autocmd_specs_for('remote#define#AutocmdOnChannel', false, channel) +autocmd_specs_for('remote#define#AutocmdOnHost', true, host, register) +autocmd_specs_for('remote#define#AutocmdOnHost', false, host, register) + +function_specs_for('remote#define#FunctionOnChannel', true, channel) +function_specs_for('remote#define#FunctionOnChannel', false, channel) +function_specs_for('remote#define#FunctionOnHost', true, host, register) +function_specs_for('remote#define#FunctionOnHost', false, host, register) diff --git a/test/functional/runtime/autoload/rpc/define_spec.lua b/test/functional/runtime/autoload/rpc/define_spec.lua deleted file mode 100644 index a85ba4d37b..0000000000 --- a/test/functional/runtime/autoload/rpc/define_spec.lua +++ /dev/null @@ -1,365 +0,0 @@ -local helpers = require('test.functional.helpers') -local eval, command, nvim = helpers.eval, helpers.command, helpers.nvim -local eq, run, stop = helpers.eq, helpers.run, helpers.stop -local clear, feed = helpers.clear, helpers.feed - - -local function get_prefix(sync) - if sync then - return 'sync' - end - return 'async' -end - - -local function call(fn, args) - command('call '..fn..'('..args..')') -end - - -local function clear_and_init(init) - return function() - clear() - if init then - init() - end - end -end - - -local function runx(sync, handler, on_setup) - local function setup_cb(...) - on_setup(...) - -- need to stop on setup callback because there's two session:request - -- calls in `request/helpers.lua`. The second call will always return - -- after pending notification/request callbacks are processed - stop() - end - local function handler_cb(...) - return handler(...) - end - if sync then - run(handler_cb, nil, setup_cb) - else - run(nil, handler_cb, setup_cb) - end -end - -local function command_specs_for(fn, sync, first_arg_factory, init) - local prefix = get_prefix(sync) - - describe(prefix..' command created by', function() - before_each(clear_and_init(init)) - - describe(fn, function() - local args - - before_each(function() - args = first_arg_factory()..', "test-handler", ' - if sync then - args = args .. '1' - else - args = args .. '0' - end - args = args..', "RpcCommand"' - end) - - describe('without options', function() - it('ok', function() - call(fn, args..', {}') - local function on_setup() - command('RpcCommand') - end - - local function handler(method) - eq('test-handler', method) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with nargs', function() - it('ok', function() - call(fn, args..', {"nargs": "*"}') - local function on_setup() - command('RpcCommand arg1 arg2 arg3') - end - - local function handler(method, args) - eq('test-handler', method) - eq({'arg1', 'arg2', 'arg3'}, args[1]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with range', function() - it('ok', function() - call(fn,args..', {"range": ""}') - local function on_setup() - command('1,1RpcCommand') - end - - local function handler(method, args) - eq('test-handler', method) - eq({1, 1}, args[1]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with nargs/range', function() - it('ok', function() - call(fn, args..', {"nargs": "1", "range": ""}') - local function on_setup() - command('1,1RpcCommand arg') - end - - local function handler(method, args) - eq('test-handler', method) - eq({'arg'}, args[1]) - eq({1, 1}, args[2]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with nargs/count', function() - it('ok', function() - call(fn, args..', {"nargs": "1", "range": "5"}') - local function on_setup() - command('5RpcCommand arg') - end - - local function handler(method, args) - eq('test-handler', method) - eq({'arg'}, args[1]) - eq(5, args[2]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with nargs/count/bang', function() - it('ok', function() - call(fn, args..', {"nargs": "1", "range": "5", "bang": ""}') - local function on_setup() - command('5RpcCommand! arg') - end - - local function handler(method, args) - eq('test-handler', method) - eq({'arg'}, args[1]) - eq(5, args[2]) - eq(1, args[3]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with nargs/count/bang/register', function() - it('ok', function() - call(fn, args..', {"nargs": "1", "range": "5", "bang": "",'.. - ' "register": ""}') - local function on_setup() - command('5RpcCommand! b arg') - end - - local function handler(method, args) - eq('test-handler', method) - eq({'arg'}, args[1]) - eq(5, args[2]) - eq(1, args[3]) - eq('b', args[4]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with nargs/count/bang/register/eval', function() - it('ok', function() - call(fn, args..', {"nargs": "1", "range": "5", "bang": "",'.. - ' "register": "", "eval": "@"}') - local function on_setup() - command('let @b = "regb"') - command('5RpcCommand! b arg') - end - - local function handler(method, args) - eq('test-handler', method) - eq({'arg'}, args[1]) - eq(5, args[2]) - eq(1, args[3]) - eq('b', args[4]) - eq('regb', args[5]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - end) - end) -end - - -local function autocmd_specs_for(fn, sync, first_arg_factory, init) - local prefix = get_prefix(sync) - - describe(prefix..' autocmd created by', function() - before_each(clear_and_init(init)) - - describe(fn, function() - local args - - before_each(function() - args = first_arg_factory()..', "test-handler", ' - if sync then - args = args .. '1' - else - args = args .. '0' - end - args = args..', "BufEnter"' - end) - - describe('without options', function() - it('ok', function() - call(fn, args..', {}') - local function on_setup() - command('doautocmd BufEnter x.c') - end - - local function handler(method, args) - eq('test-handler', method) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with eval', function() - it('ok', function() - call(fn, args..[[, {'eval': 'expand("")'}]]) - local function on_setup() - command('doautocmd BufEnter x.c') - end - - local function handler(method, args) - eq('test-handler', method) - eq('x.c', args[1]) - return '' - end - - runx(sync, handler, on_setup) - end) - end) - end) - end) -end - - -local function function_specs_for(fn, sync, first_arg_factory, init) - local prefix = get_prefix(sync) - - describe(prefix..' function created by', function() - before_each(clear_and_init(init)) - - describe(fn, function() - local args - - before_each(function() - args = first_arg_factory()..', "test-handler", ' - if sync then - args = args .. '1' - else - args = args .. '0' - end - args = args..', "TestFunction"' - end) - - describe('without options', function() - it('ok', function() - call(fn, args..', {}') - local function on_setup() - if sync then - eq('rv', eval('TestFunction(1, "a", ["b", "c"])')) - else - eq(1, eval('TestFunction(1, "a", ["b", "c"])')) - end - end - - local function handler(method, args) - eq('test-handler', method) - eq({{1, 'a', {'b', 'c'}}}, args) - return 'rv' - end - - runx(sync, handler, on_setup) - end) - end) - - describe('with eval', function() - it('ok', function() - call(fn, args..[[, {'eval': '2 + 2'}]]) - local function on_setup() - if sync then - eq('rv', eval('TestFunction(1, "a", ["b", "c"])')) - else - eq(1, eval('TestFunction(1, "a", ["b", "c"])')) - end - end - - local function handler(method, args) - eq('test-handler', method) - eq({{1, 'a', {'b', 'c'}}, 4}, args) - return 'rv' - end - - runx(sync, handler, on_setup) - end) - end) - end) - end) -end - -local function channel() - return nvim('get_api_info')[1] -end - -local function host() - return '"busted"' -end - -local function register() - eval('rpc#host#Register("busted", '..channel()..')') -end - -command_specs_for('rpc#define#CommandOnChannel', true, channel) -command_specs_for('rpc#define#CommandOnChannel', false, channel) -command_specs_for('rpc#define#CommandOnHost', true, host, register) -command_specs_for('rpc#define#CommandOnHost', false, host, register) - -autocmd_specs_for('rpc#define#AutocmdOnChannel', true, channel) -autocmd_specs_for('rpc#define#AutocmdOnChannel', false, channel) -autocmd_specs_for('rpc#define#AutocmdOnHost', true, host, register) -autocmd_specs_for('rpc#define#AutocmdOnHost', false, host, register) - -function_specs_for('rpc#define#FunctionOnChannel', true, channel) -function_specs_for('rpc#define#FunctionOnChannel', false, channel) -function_specs_for('rpc#define#FunctionOnHost', true, host, register) -function_specs_for('rpc#define#FunctionOnHost', false, host, register) -- cgit