fix(html): fix wrong indents for script/style tags

This commit is contained in:
Pham Huy Hoang 2023-01-02 16:28:40 +09:00 committed by Stephan Seitz
parent 28baed7698
commit 8c71c6c5ed
6 changed files with 91 additions and 2 deletions

View file

@ -0,0 +1,4 @@
<div>
<div>
</div>
</div>

View file

@ -0,0 +1,12 @@
<head>
<style>
a {
stroke-linecap: round;
}
</style>
</head>
<body>
<script>
const foo = "bar"
</script>
</body>

View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/style.css" rel="stylesheet">
</head>
<body>
<br/>
<button
id = "123"
</body>
</html>

View file

@ -0,0 +1,8 @@
<meta charset="UTF-8">
<html lang="en">
<head>
<meta
charset="UTF-8"
</head>
</html>

View file

@ -0,0 +1,28 @@
local Runner = require("tests.indent.common").Runner
local runner = Runner:new(it, "tests/indent/html", {
tabstop = 2,
shiftwidth = 2,
expandtab = true,
})
describe("indent HTML:", function()
describe("whole file:", function()
runner:whole_file "."
end)
describe("new line:", function()
runner:new_line("start_tag.html", { on_line = 1, text = "anything", indent = 0 })
runner:new_line("start_tag.html", { on_line = 4, text = "anything", indent = 4 })
runner:new_line("start_tag.html", { on_line = 6, text = "charset = utf-8", indent = 6 })
runner:new_line("start_tag.html", { on_line = 6, text = ">", indent = 4 })
runner:new_line("start_tag.html", { on_line = 6, text = "/>", indent = 4 })
runner:new_line("issue-3986.html", { on_line = 3, text = "indent once", indent = 2 })
runner:new_line("self_closing_tag.html", { on_line = 10, text = "Something", indent = 4 })
runner:new_line("self_closing_tag.html", { on_line = 12, text = "disabled", indent = 6 })
runner:new_line("self_closing_tag.html", { on_line = 12, text = "/>", indent = 4 })
runner:new_line("script_style.html", { on_line = 5, text = "body", indent = 2 })
runner:new_line("script_style.html", { on_line = 6, text = "<div></div>", indent = 2 })
runner:new_line("script_style.html", { on_line = 9, text = "const x = 1", indent = 2 })
runner:new_line("script_style.html", { on_line = 11, text = "Text", indent = 2 })
end)
end)