diff options
Diffstat (limited to 'test/functional/lua/loader_spec.lua')
-rw-r--r-- | test/functional/lua/loader_spec.lua | 52 |
1 files changed, 43 insertions, 9 deletions
diff --git a/test/functional/lua/loader_spec.lua b/test/functional/lua/loader_spec.lua index 34c36b04ef..4e42a18405 100644 --- a/test/functional/lua/loader_spec.lua +++ b/test/functional/lua/loader_spec.lua @@ -3,43 +3,77 @@ local helpers = require('test.functional.helpers')(after_each) local exec_lua = helpers.exec_lua local command = helpers.command +local clear = helpers.clear local eq = helpers.eq describe('vim.loader', function() - before_each(helpers.clear) + before_each(clear) + + it('can work in compatibility with --luamod-dev #27413', function() + clear({ args = { '--luamod-dev' } }) + exec_lua [[ + vim.loader.enable() + + require("vim.fs") + + -- try to load other vim submodules as well (Nvim Lua stdlib) + for key, _ in pairs(vim._submodules) do + local modname = 'vim.' .. key -- e.g. "vim.fs" + + local lhs = vim[key] + local rhs = require(modname) + assert( + lhs == rhs, + ('%s != require("%s"), %s != %s'):format(modname, modname, tostring(lhs), tostring(rhs)) + ) + end + ]] + end) it('handles changing files (#23027)', function() - exec_lua[[ + exec_lua [[ vim.loader.enable() ]] local tmp = helpers.tmpname() command('edit ' .. tmp) - eq(1, exec_lua([[ + eq( + 1, + exec_lua( + [[ vim.api.nvim_buf_set_lines(0, 0, -1, true, {'_G.TEST=1'}) vim.cmd.write() loadfile(...)() return _G.TEST - ]], tmp)) + ]], + tmp + ) + ) -- fs latency - helpers.sleep(10) + vim.uv.sleep(10) - eq(2, exec_lua([[ + eq( + 2, + exec_lua( + [[ vim.api.nvim_buf_set_lines(0, 0, -1, true, {'_G.TEST=2'}) vim.cmd.write() loadfile(...)() return _G.TEST - ]], tmp)) + ]], + tmp + ) + ) end) it('handles % signs in modpath (#24491)', function() - exec_lua[[ + exec_lua [[ vim.loader.enable() ]] - local tmp1, tmp2 = (function (t) + local tmp1, tmp2 = (function(t) assert(os.remove(t)) assert(helpers.mkdir(t)) assert(helpers.mkdir(t .. '/%')) |