test: add tests for the templ filetype

Closes #179
This commit is contained in:
Price Hiller 2024-05-29 12:37:18 -05:00
parent e907a7ebe2
commit bcf3146864
Signed by: Price
GPG Key ID: C3FADDE7A8534BEB
5 changed files with 135 additions and 0 deletions

13
sample/index.templ Normal file
View File

@ -0,0 +1,13 @@
package main
templ hello(name string) {
<div class="">Hello, { name }</div>
}
templ foo(name string) {
<div>
@hello(name)
</div>
}

View File

@ -73,6 +73,7 @@ function M.setup_treesitter()
"php",
"glimmer",
"rescript",
"templ",
"embedded_template",
},
})

View File

@ -163,6 +163,42 @@ local data = {
before = [[<%= <div| %>]],
after = [[<%= <div/| %> ]],
},
{
name = "19 templ close tag after inputting /",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[/]],
before = [[<div><| ]],
after = [[<div></div>|]],
},
{
name = "20 templ close tag after inputting /",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[/]],
before = [[<div clas="laa"><| ]],
after = [[<div clas="laa"></div>|]],
},
{
name = "21 templ don't close tag when no opening tag is found",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[/>]],
before = [[<div><|</div> ]],
after = [[<div></>|</div>]],
},
{
name = "22 templ not close inside quote",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[/]],
before = [[<div class="aa|"> </div> ]],
after = [[<div class="aa/|"> </div> ]],
},
}
local autotag = require("nvim-ts-autotag")

View File

@ -201,6 +201,42 @@ local data = {
before = [[<%= <div| %>]],
after = [[<%= <div>| %> ]],
},
{
name = "21 templ close tag",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[>]],
before = [[<div| ]],
after = [[<div>|</div>]],
},
{
name = "22 templ close tag",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[>]],
before = [[<div clas="laa"| ]],
after = [[<div clas="laa">|</div>]],
},
{
name = "23 templ not close tag on close tag",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[>]],
before = [[<div>aa</div| ]],
after = [[<div>aa</div>|]],
},
{
name = "24 templ not close on input tag",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[>]],
before = [[<input| ]],
after = [[<input>| ]],
},
}
local autotag = require("nvim-ts-autotag")

View File

@ -302,6 +302,55 @@ local data = {
},
after = [[<%= <div></lala|> %>]],
},
{
name = "templ rename open tag",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[ciwlala]],
before = [[<di|v> dsadsa </div> ]],
after = [[<lala|> dsadsa </lala> ]],
},
{
name = "templ rename open tag with attr",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[ciwlala]],
before = [[<di|v class="lla"> dsadsa </div> ]],
after = [[<lala| class="lla"> dsadsa </lala|> ]],
},
{
name = "templ rename close tag with attr",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[ciwlala]],
before = [[<div class="lla"> dsadsa </di|v> ]],
after = [[<lala class="lla"> dsadsa </lal|a> ]],
},
{
name = "templ not rename close tag on char <",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 10,
key = [[i<]],
before = [[<div class="lla"> dsadsa |/button> ]],
after = [[<div class="lla"> dsadsa <|/button> ]],
},
{
name = "templ not rename close tag with not valid",
filepath = "./sample/index.templ",
filetype = "templ",
linenr = 11,
key = [[ciwlala]],
before = {
[[<di|v class="lla" ]],
[[ dsadsa </div>]],
},
after = [[<lala class="lla" ]],
},
}
local autotag = require("nvim-ts-autotag")