Skip to content

Issue 611 #990

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Aug 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions regression_testing/cases/github-cases/case-611a.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
indent: auto
tidy-mark: no
clean: yes
7 changes: 7 additions & 0 deletions regression_testing/cases/github-cases/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<template><tr><td>1</td></tr></template>


<template><td>1</td></template>


<template><li>1</li></template>
3 changes: 3 additions & 0 deletions regression_testing/cases/github-cases/case-611b.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
indent: auto
tidy-mark: no
clean: yes
10 changes: 10 additions & 0 deletions regression_testing/cases/github-cases/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Issue #611-1</title>
</head>
<body>
<template><tr><td>1</td></tr></template>
</body>
</html>
3 changes: 3 additions & 0 deletions regression_testing/cases/github-cases/case-611c.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
indent: auto
tidy-mark: no
clean: yes
39 changes: 39 additions & 0 deletions regression_testing/cases/github-cases/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Issue #611-2d</title>
<script>
// Data is hard-coded here, but could come from the server
var data = [
{ name: 'Pillar', color: 'Ticked Tabby', sex: 'Female (neutered)', legs: 3 },
{ name: 'Hedral', color: 'Tuxedo', sex: 'Male (neutered)', legs: 4 },
];
</script>
</head>
<body>
<table>
<thead>
<tr>
<th>Name <th>Color <th>Sex <th>Legs
<tbody>
<template id="row">
<tr><td><td><td><td>
</template>
</table>
<script>
var template = document.querySelector('#row');
for (var i = 0; i < data.length; i += 1) {
var cat = data[i];
var clone = template.content.cloneNode(true);
var cells = clone.querySelectorAll('td');
cells[0].textContent = cat.name;
cells[1].textContent = cat.color;
cells[2].textContent = cat.sex;
cells[3].textContent = cat.legs;
template.parentNode.appendChild(clone);
}
</script>
</body>
</html>

19 changes: 19 additions & 0 deletions regression_testing/cases/github-expects/case-611a.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<template>
<tr>
<td>1</td>
</tr>
</template>
<template>
<td>1</td>
</template>
<template>
<li>1</li>
</template>
<title></title>
</head>
<body>
</body>
</html>
15 changes: 15 additions & 0 deletions regression_testing/cases/github-expects/case-611a.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element
Info: Document content looks like HTML5
Tidy found 2 warnings and 0 errors!

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: https://html.spec.whatwg.org/multipage/
Validate your HTML documents: https://validator.w3.org/nu/
Lobby your company to join the W3C: https://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md
14 changes: 14 additions & 0 deletions regression_testing/cases/github-expects/case-611b.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Issue #611-1</title>
</head>
<body>
<template>
<tr>
<td>1</td>
</tr>
</template>
</body>
</html>
13 changes: 13 additions & 0 deletions regression_testing/cases/github-expects/case-611b.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Info: Document content looks like HTML5
No warnings or errors were found.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: https://html.spec.whatwg.org/multipage/
Validate your HTML documents: https://validator.w3.org/nu/
Lobby your company to join the W3C: https://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md
47 changes: 47 additions & 0 deletions regression_testing/cases/github-expects/case-611c.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Issue #611-2d</title>
<script>
// Data is hard-coded here, but could come from the server
var data = [
{ name: 'Pillar', color: 'Ticked Tabby', sex: 'Female (neutered)', legs: 3 },
{ name: 'Hedral', color: 'Tuxedo', sex: 'Male (neutered)', legs: 4 },
];
</script>
</head>
<body>
<script>
var template = document.querySelector('#row');
for (var i = 0; i < data.length; i += 1) {
var cat = data[i];
var clone = template.content.cloneNode(true);
var cells = clone.querySelectorAll('td');
cells[0].textContent = cat.name;
cells[1].textContent = cat.color;
cells[2].textContent = cat.sex;
cells[3].textContent = cat.legs;
template.parentNode.appendChild(clone);
}
</script>
<template id="row">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</template>
<table>
<thead>
<tr>
<th>Name</th>
<th>Color</th>
<th>Sex</th>
<th>Legs</th>
</tr>
</thead>
</table>
</body>
</html>
27 changes: 27 additions & 0 deletions regression_testing/cases/github-expects/case-611c.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
line 20 column 3 - Warning: <template> isn't allowed in <tbody> elements
line 19 column 2 - Info: <tbody> previously mentioned
line 22 column 3 - Warning: discarding unexpected </template>
line 23 column 1 - Warning: discarding unexpected </table>
line 24 column 1 - Warning: <script> isn't allowed in <tr> elements
line 21 column 4 - Info: <tr> previously mentioned
line 20 column 3 - Warning: missing </template>
line 15 column 1 - Warning: missing </table>
line 19 column 2 - Warning: trimming empty <tbody>
Info: Document content looks like HTML5
Tidy found 7 warnings and 0 errors!

One or more empty elements were present in the source document but
dropped on output. If these elements are necessary or you don't want
this behavior, then consider setting the option "drop-empty-elements"
to no.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: https://html.spec.whatwg.org/multipage/
Validate your HTML documents: https://validator.w3.org/nu/
Lobby your company to join the W3C: https://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md
2 changes: 1 addition & 1 deletion src/parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -1417,7 +1417,7 @@ Node* TY_(ParseBlock)( TidyDocImpl* doc, Node *element, GetTokenMode mode )
return NULL;
}
}
else /* things like list items */
else if ( ! nodeIsTEMPLATE( element ) )/* things like list items */
{
if (node->tag->model & CM_HEAD)
{
Expand Down
1 change: 1 addition & 0 deletions src/tags.h
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,7 @@ TY_PRIVATE uint TY_(nodeHeaderLevel)( Node* node );
#define nodeIsDATALIST( node ) TagIsId( node, TidyTag_DATALIST )
#define nodeIsDATA( node ) TagIsId( node, TidyTag_DATA )
#define nodeIsMATHML( node ) TagIsId( node, TidyTag_MATHML ) /* #130 MathML attr and entity fix! */
#define nodeIsTEMPLATE( node ) TagIsId( node, TidyTag_TEMPLATE )

/* NOT in HTML 5 */
#define nodeIsACRONYM( node ) TagIsId( node, TidyTag_ACRONYM )
Expand Down