diff --git a/lib/rules/block-tag-newline.js b/lib/rules/block-tag-newline.js
index 1fe427afd..8459f5760 100644
--- a/lib/rules/block-tag-newline.js
+++ b/lib/rules/block-tag-newline.js
@@ -347,13 +347,6 @@ module.exports = {
const verify = normalizeOptionValue(context.options[0])
- /**
- * @returns {VElement[]}
- */
- function getTopLevelHTMLElements() {
- return documentFragment.children.filter(utils.isVElement)
- }
-
return utils.defineTemplateBodyVisitor(
context,
{},
@@ -364,8 +357,10 @@ module.exports = {
return
}
- for (const element of getTopLevelHTMLElements()) {
- verify(element)
+ for (const element of documentFragment.children) {
+ if (utils.isVElement(element)) {
+ verify(element)
+ }
}
}
}
diff --git a/lib/rules/html-closing-bracket-newline.js b/lib/rules/html-closing-bracket-newline.js
index 6963de8f1..9ac1d0f52 100644
--- a/lib/rules/html-closing-bracket-newline.js
+++ b/lib/rules/html-closing-bracket-newline.js
@@ -68,7 +68,7 @@ module.exports = {
context.parserServices.getTemplateBodyTokenStore &&
context.parserServices.getTemplateBodyTokenStore()
- return utils.defineTemplateBodyVisitor(context, {
+ return utils.defineDocumentVisitor(context, {
/** @param {VStartTag | VEndTag} node */
'VStartTag, VEndTag'(node) {
const closingBracketToken = template.getLastToken(node)
diff --git a/lib/rules/html-closing-bracket-spacing.js b/lib/rules/html-closing-bracket-spacing.js
index 95de6d01f..e60fba491 100644
--- a/lib/rules/html-closing-bracket-spacing.js
+++ b/lib/rules/html-closing-bracket-spacing.js
@@ -92,7 +92,7 @@ module.exports = {
context.parserServices.getTemplateBodyTokenStore()
const options = parseOptions(context.options[0], tokens)
- return utils.defineTemplateBodyVisitor(context, {
+ return utils.defineDocumentVisitor(context, {
/** @param {VStartTag | VEndTag} node */
'VStartTag, VEndTag'(node) {
const type = options.detectType(node)
diff --git a/tests/lib/rules/html-closing-bracket-newline.js b/tests/lib/rules/html-closing-bracket-newline.js
index 4c07c80db..b72c46b97 100644
--- a/tests/lib/rules/html-closing-bracket-newline.js
+++ b/tests/lib/rules/html-closing-bracket-newline.js
@@ -337,6 +337,156 @@ tester.run('html-closing-bracket-newline', rule, {
'Expected 1 line break before closing bracket, but no line breaks found.',
'Expected 1 line break before closing bracket, but no line breaks found.'
]
+ },
+ {
+ code: `
+
+
+
+
+ `,
+ output: `
+
+
+
+
+ `,
+ options: [
+ {
+ singleline: 'never',
+ multiline: 'never'
+ }
+ ],
+ errors: [
+ {
+ message:
+ 'Expected no line breaks before closing bracket, but 1 line break found.',
+ line: 2,
+ column: 18,
+ endLine: 3,
+ endColumn: 9
+ },
+ {
+ message:
+ 'Expected no line breaks before closing bracket, but 1 line break found.',
+ line: 4,
+ column: 19,
+ endLine: 5,
+ endColumn: 9
+ },
+ {
+ message:
+ 'Expected no line breaks before closing bracket, but 1 line break found.',
+ line: 6,
+ column: 16,
+ endLine: 7,
+ endColumn: 9
+ },
+ {
+ message:
+ 'Expected no line breaks before closing bracket, but 1 line break found.',
+ line: 8,
+ column: 17,
+ endLine: 9,
+ endColumn: 9
+ },
+ {
+ message:
+ 'Expected no line breaks before closing bracket, but 1 line break found.',
+ line: 10,
+ column: 15,
+ endLine: 11,
+ endColumn: 9
+ },
+ {
+ message:
+ 'Expected no line breaks before closing bracket, but 1 line break found.',
+ line: 11,
+ column: 17,
+ endLine: 12,
+ endColumn: 9
+ }
+ ]
+ },
+ {
+ code: `
+
+
+
+
+ `,
+ output: `
+
+
+
+
+ `,
+ options: [
+ {
+ singleline: 'always',
+ multiline: 'always'
+ }
+ ],
+ errors: [
+ {
+ message:
+ 'Expected 1 line break before closing bracket, but no line breaks found.',
+ line: 2,
+ column: 18,
+ endColumn: 18
+ },
+ {
+ message:
+ 'Expected 1 line break before closing bracket, but no line breaks found.',
+ line: 3,
+ column: 19,
+ endColumn: 19
+ },
+ {
+ message:
+ 'Expected 1 line break before closing bracket, but no line breaks found.',
+ line: 4,
+ column: 16,
+ endColumn: 16
+ },
+ {
+ message:
+ 'Expected 1 line break before closing bracket, but no line breaks found.',
+ line: 5,
+ column: 17,
+ endColumn: 17
+ },
+ {
+ message:
+ 'Expected 1 line break before closing bracket, but no line breaks found.',
+ line: 6,
+ column: 15,
+ endColumn: 15
+ },
+ {
+ message:
+ 'Expected 1 line break before closing bracket, but no line breaks found.',
+ line: 6,
+ column: 23,
+ endColumn: 23
+ }
+ ]
}
]
})
diff --git a/tests/lib/rules/html-closing-bracket-spacing.js b/tests/lib/rules/html-closing-bracket-spacing.js
index 154ba87b2..af03d0bfd 100644
--- a/tests/lib/rules/html-closing-bracket-spacing.js
+++ b/tests/lib/rules/html-closing-bracket-spacing.js
@@ -114,6 +114,56 @@ ruleTester.run('html-closing-bracket-spacing', rule, {
}
]
},
+ {
+ code: `
+
+
+
+ `,
+ output: `
+
+
+
+ `,
+ errors: [
+ {
+ message: "Expected no space before '>', but found.",
+ line: 2,
+ column: 18,
+ endColumn: 20
+ },
+ {
+ message: "Expected no space before '>', but found.",
+ line: 2,
+ column: 30,
+ endColumn: 32
+ },
+ {
+ message: "Expected no space before '>', but found.",
+ line: 3,
+ column: 16,
+ endColumn: 18
+ },
+ {
+ message: "Expected no space before '>', but found.",
+ line: 3,
+ column: 26,
+ endColumn: 28
+ },
+ {
+ message: "Expected no space before '>', but found.",
+ line: 4,
+ column: 15,
+ endColumn: 17
+ },
+ {
+ message: "Expected no space before '>', but found.",
+ line: 4,
+ column: 24,
+ endColumn: 26
+ }
+ ]
+ },
{
code: '\n \n
\n \n',
output: '\n \n
\n \n',
@@ -144,6 +194,63 @@ ruleTester.run('html-closing-bracket-spacing', rule, {
endColumn: 10
}
]
+ },
+ {
+ code: `
+
+
+
+ `,
+ output: `
+
+
+
+ `,
+ options: [
+ {
+ startTag: 'always',
+ endTag: 'always',
+ selfClosingTag: 'never'
+ }
+ ],
+ errors: [
+ {
+ message: "Expected a space before '>', but not found.",
+ line: 2,
+ column: 18,
+ endColumn: 19
+ },
+ {
+ message: "Expected a space before '>', but not found.",
+ line: 2,
+ column: 29,
+ endColumn: 30
+ },
+ {
+ message: "Expected a space before '>', but not found.",
+ line: 3,
+ column: 16,
+ endColumn: 17
+ },
+ {
+ message: "Expected a space before '>', but not found.",
+ line: 3,
+ column: 25,
+ endColumn: 26
+ },
+ {
+ message: "Expected a space before '>', but not found.",
+ line: 4,
+ column: 15,
+ endColumn: 16
+ },
+ {
+ message: "Expected a space before '>', but not found.",
+ line: 4,
+ column: 23,
+ endColumn: 24
+ }
+ ]
}
]
})