diff options
Diffstat (limited to 'test/functional/lua')
| -rw-r--r-- | test/functional/lua/diagnostic_spec.lua | 72 | ||||
| -rw-r--r-- | test/functional/lua/vim_spec.lua | 11 |
2 files changed, 82 insertions, 1 deletions
diff --git a/test/functional/lua/diagnostic_spec.lua b/test/functional/lua/diagnostic_spec.lua index a08c8d8681..33469597a1 100644 --- a/test/functional/lua/diagnostic_spec.lua +++ b/test/functional/lua/diagnostic_spec.lua @@ -473,6 +473,78 @@ describe('vim.diagnostic', function() end) describe('config()', function() + it('works with global, namespace, and ephemeral options', function() + eq(1, exec_lua [[ + vim.diagnostic.config({ + virtual_text = false, + }) + + vim.diagnostic.config({ + virtual_text = true, + underline = false, + }, diagnostic_ns) + + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, { + make_error('Some Error', 4, 4, 4, 4), + }) + + return count_extmarks(diagnostic_bufnr, diagnostic_ns) + ]]) + + eq(1, exec_lua [[ + vim.diagnostic.config({ + virtual_text = false, + }) + + vim.diagnostic.config({ + virtual_text = false, + underline = false, + }, diagnostic_ns) + + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, { + make_error('Some Error', 4, 4, 4, 4), + }, {virtual_text = true}) + + return count_extmarks(diagnostic_bufnr, diagnostic_ns) + ]]) + + eq(0, exec_lua [[ + vim.diagnostic.config({ + virtual_text = false, + }) + + vim.diagnostic.config({ + virtual_text = {severity=vim.diagnostic.severity.ERROR}, + underline = false, + }, diagnostic_ns) + + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, { + make_warning('Some Warning', 4, 4, 4, 4), + }, {virtual_text = true}) + + return count_extmarks(diagnostic_bufnr, diagnostic_ns) + ]]) + + eq(1, exec_lua [[ + vim.diagnostic.config({ + virtual_text = false, + }) + + vim.diagnostic.config({ + virtual_text = {severity=vim.diagnostic.severity.ERROR}, + underline = false, + }, diagnostic_ns) + + vim.diagnostic.set(diagnostic_ns, diagnostic_bufnr, { + make_warning('Some Warning', 4, 4, 4, 4), + }, { + virtual_text = {} -- An empty table uses default values + }) + + return count_extmarks(diagnostic_bufnr, diagnostic_ns) + ]]) + end) + it('can use functions for config values', function() exec_lua [[ vim.diagnostic.config({ diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua index 8651a38025..a739992611 100644 --- a/test/functional/lua/vim_spec.lua +++ b/test/functional/lua/vim_spec.lua @@ -2255,7 +2255,7 @@ end) describe('lua: require("mod") from packages', function() before_each(function() - command('set rtp+=test/functional/fixtures') + command('set rtp+=test/functional/fixtures pp+=test/functional/fixtures') end) it('propagates syntax error', function() @@ -2266,4 +2266,13 @@ describe('lua: require("mod") from packages', function() matches("unexpected symbol", syntax_error_msg) end) + + it('uses the right order of mod.lua vs mod/init.lua', function() + -- lua/fancy_x.lua takes precedence over lua/fancy_x/init.lua + eq('I am fancy_x.lua', exec_lua [[ return require'fancy_x' ]]) + -- but lua/fancy_y/init.lua takes precedence over after/lua/fancy_y.lua + eq('I am init.lua of fancy_y!', exec_lua [[ return require'fancy_y' ]]) + -- safety check: after/lua/fancy_z.lua is still loaded + eq('I am fancy_z.lua', exec_lua [[ return require'fancy_z' ]]) + end) end) |