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 = [[
aa
aa|]],
},
{
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 = [[