feat(html): treat capital element as custom element (#5395)

Custom element: keep it on its own line if both leading/trailing line breaks exist
master
Ika 2018-11-09 09:51:31 +08:00 committed by GitHub
parent 0228863a92
commit 9acb02997a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 44 additions and 2 deletions

View File

@ -254,7 +254,11 @@ function isCustomElementWithSurroundingLineBreak(node) {
}
function isCustomElement(node) {
return node.type === "element" && !node.namespace && node.name.includes("-");
return (
node.type === "element" &&
!node.namespace &&
(node.name.includes("-") || /[A-Z]/.test(node.name[0]))
);
}
function hasSurroundingLineBreak(node) {

View File

@ -141,7 +141,10 @@ and HTML5 Apps. It also documents Mozilla products, like Firefox OS."
data-index-number="12314"
data-parent="cars"
></article>
<X> </X> <X a="1"> </X> <X a="1" b="2"> </X> <X a="1" b="2" c="3"> </X>
<X> </X>
<X a="1"> </X>
<X a="1" b="2"> </X>
<X a="1" b="2" c="3"> </X>
<p
class="
foo

View File

@ -1034,6 +1034,13 @@ exports[`self_closing.vue - vue-verify 1`] = `
<script>
foo( )
</script>
<div class="container">
<HomeH />
<HomeA />
<HomeX />
<HomeY />
</div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<template>
<div />
@ -1043,6 +1050,13 @@ foo( )
foo();
</script>
<div class="container">
<HomeH />
<HomeA />
<HomeX />
<HomeY />
</div>
`;
exports[`self_closing.vue - vue-verify 2`] = `
@ -1053,6 +1067,13 @@ exports[`self_closing.vue - vue-verify 2`] = `
<script>
foo( )
</script>
<div class="container">
<HomeH />
<HomeA />
<HomeX />
<HomeY />
</div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<template>
<div />
@ -1062,6 +1083,13 @@ foo( )
foo();
</script>
<div class="container">
<HomeH />
<HomeA />
<HomeX />
<HomeY />
</div>
`;
exports[`self_closing_style.vue - vue-verify 1`] = `

View File

@ -5,3 +5,10 @@
<script>
foo( )
</script>
<div class="container">
<HomeH />
<HomeA />
<HomeX />
<HomeY />
</div>