nvim-ts-autotag/tests/closetag_spec.lua

221 lines
6.0 KiB
Lua

local ts = require("nvim-treesitter.configs")
ts.setup({
ensure_installed = _G.ts_filetypes,
highlight = { enable = true },
})
local data = {
{
name = "1 html close tag",
filepath = "./sample/index.html",
filetype = "html",
linenr = 10,
key = [[>]],
before = [[<div| ]],
after = [[<div>|</div>]],
},
{
name = "2 html close tag",
filepath = "./sample/index.html",
filetype = "html",
linenr = 10,
key = [[>]],
before = [[<div clas="laa"| ]],
after = [[<div clas="laa">|</div>]],
},
{
name = "3 html not close tag on close tag",
filepath = "./sample/index.html",
filetype = "html",
linenr = 10,
key = [[>]],
before = [[<div>aa</div| ]],
after = [[<div>aa</div>|]],
},
{
name = "4 html not close on input tag",
filepath = "./sample/index.html",
filetype = "html",
linenr = 10,
key = [[>]],
before = [[<input| ]],
after = [[<input>| ]],
},
{
name = "5 html not close inside quote",
filepath = "./sample/index.html",
filetype = "html",
linenr = 10,
key = [[>]],
before = [[<div class="aa|"> </div> ]],
after = [[<div class="aa>|"> </div> ]],
},
{
name = "6 html not close on exist tag",
filepath = "./sample/index.html",
filetype = "html",
linenr = 10,
key = [[>]],
before = [[<div><div|</div></div>]],
after = [[<div><div>|</div></div>]],
},
{
name = "7 typescriptreact close tag",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 12,
key = [[>]],
before = [[<Img| ]],
after = [[<Img>|</Img> ]],
},
{
name = "8 typescriptreact close",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 12,
key = [[>]],
before = [[<div class="abc"| ]],
after = [[<div class="abc">|</div> ]],
},
{
name = "9 typescriptreact not close on exist tag",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 12,
key = [[>]],
before = [[<div><div|</div></div>]],
after = [[<div><div>|</div></div>]],
},
{
name = "10 typescriptreact close on inline script",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 9,
key = [[>]],
before = [[const a = () => <div| ]],
after = [[const a = () => <div>|</div> ]],
},
{
name = "11 typescriptreact not close on close tag",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 12,
key = [[>]],
before = [[<button className="btn " onClick={()}> </button| ]],
after = [[<button className="btn " onClick={()}> </button>| ]],
},
{
name = "12 typescriptreact not close on expresion",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 12,
key = [[>]],
before = [[<button className="btn " onClick={(|)}> </button> ]],
after = [[<button className="btn " onClick={(>|)}> </button> ]],
},
{
name = "13 typescriptreact not close on typescript",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 6,
key = [[>]],
before = [[const data:Array<string| ]],
after = [[const data:Array<string>| ]],
},
{
name = "14 typescriptreact not close on script",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 6,
key = [[>]],
before = [[{(card.data | 0) && <div></div>}]],
after = [[{(card.data >| 0) && <div></div>}]],
},
{
name = "15 vue auto close tag",
filepath = "./sample/index.vue",
filetype = "vue",
linenr = 4,
key = [[>]],
before = [[<Img| ]],
after = [[<Img>|</Img>]],
},
{
name = "16 vue not close on script",
filepath = "./sample/index.vue",
filetype = "vue",
linenr = 12,
key = [[>]],
before = [[const data:Array<string| ]],
after = [[const data:Array<string>| ]],
},
{
name = "17 typescriptreact nested indentifer ",
filepath = "./sample/index.tsx",
filetype = "typescriptreact",
linenr = 12,
key = [[>]],
before = [[<Opt.Input| ]],
after = [[<Opt.Input>|</Opt.Input> ]],
},
{
name = "18 php div ",
filepath = "./sample/index.php",
filetype = "php",
linenr = 25,
key = [[>]],
before = [[<div| ]],
after = [[<div>|</div> ]],
},
-- {
-- name = '19 markdown div ',
-- filepath = './sample/index.md',
-- filetype = 'markdown',
-- linenr = 4,
-- key = [[>]],
-- before = [[<div| ]],
-- after = [[<div>|</div> ]],
-- },
{
name = "19 lit template div",
filepath = "./sample/index.ts",
filetype = "typescript",
linenr = 3,
key = [[>]],
before = [[<div| ]],
after = [[<div>|</div> ]],
},
{
name = "20 eruby template div",
filepath = "./sample/index.html.erb",
filetype = "eruby",
linenr = 10,
key = [[>]],
before = [[<div| ]],
after = [[<div>|</div> ]],
},
{
name = "20 eruby template ruby string",
filepath = "./sample/index.html.erb",
filetype = "eruby",
linenr = 10,
key = [[>]],
before = [[<%= <div| %>]],
after = [[<%= <div>| %> ]],
},
}
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)