if not _G.test_close then return end local ts = require('nvim-treesitter.configs') local helpers = {} ts.setup({ ensure_installed = _G.ts_filetypes, highlight = { enable = true }, }) local eq = assert.are.same function helpers.feed(text, feed_opts) feed_opts = feed_opts or 'n' local to_feed = vim.api.nvim_replace_termcodes(text, true, false, true) vim.api.nvim_feedkeys(to_feed, feed_opts, true) end function helpers.insert(text) helpers.feed('a' .. text, 'x') end local data = { { name = '1 html close tag', filepath = './sample/index.html', filetype = 'html', linenr = 10, key = [[>]], before = [[|]], }, { name = '2 html close tag', filepath = './sample/index.html', filetype = 'html', linenr = 10, key = [[>]], before = [[
|
]], }, { name = '3 html not close tag on close tag', filepath = './sample/index.html', filetype = 'html', linenr = 10, key = [[>]], before = [[
aaaa
|]], }, { name = '4 html not close on input tag', filepath = './sample/index.html', filetype = 'html', linenr = 10, key = [[>]], before = [[| ]], }, { name = '5 html not close inside quote', filepath = './sample/index.html', filetype = 'html', linenr = 10, key = [[>]], before = [[
]], after = [[
]], }, { name = '6 html not close on exist tag', filepath = './sample/index.html', filetype = 'html', linenr = 10, key = [[>]], before = [[
]], after = [[
|
]], }, { name = '7 typescriptreact close tag', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 12, key = [[>]], before = [[| ]], }, { name = '8 typescriptreact close', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 12, key = [[>]], before = [[
|
]], }, { name = '9 typescriptreact not close on exist tag', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 12, key = [[>]], before = [[
]], after = [[
|
]], }, { name = '10 typescriptreact close on inline script', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 9, key = [[>]], before = [[const a = () =>
|
]], }, { name = '11 typescriptreact not close on close tag', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 12, key = [[>]], before = [[| ]], }, { name = '12 typescriptreact not close on expresion', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 12, key = [[>]], before = [[ ]], after = [[ ]], }, { name = '13 typescriptreact not close on typescript', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 6, key = [[>]], before = [[const data:Array| ]], }, { name = '14 typescriptreact not close on script', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 6, key = [[>]], before = [[{(card.data | 0) &&
}]], after = [[{(card.data >| 0) &&
}]], }, { name = '15 vue auto close tag', filepath = './sample/index.vue', filetype = 'vue', linenr = 4, key = [[>]], before = [[|]], }, { name = '16 vue not close on script', filepath = './sample/index.vue', filetype = 'vue', linenr = 12, key = [[>]], before = [[const data:Array| ]], }, { name = '17 typescriptreact nested indentifer ', filepath = './sample/index.tsx', filetype = 'typescriptreact', linenr = 12, key = [[>]], before = [[| ]], }, { name = '18 php div ', filepath = './sample/index.php', filetype = 'php', linenr = 25, key = [[>]], before = [[| ]], }, -- { -- name = '19 markdown div ', -- filepath = './sample/index.md', -- filetype = 'markdown', -- linenr = 4, -- key = [[>]], -- before = [[| ]], -- }, } local autotag = require('nvim-ts-autotag') autotag.test = true local run_data = _G.Test_filter(data) describe('[close tag]', function() _G.Test_withfile(run_data, { mode = 'i', cursor_add = 0, before_each = function(value) end, }) end)