Skip to content

Commit

Permalink
Merge pull request #990 from htacg/issue_611
Browse files Browse the repository at this point in the history
Issue 611
  • Loading branch information
balthisar committed Aug 17, 2021
2 parents 86601b1 + 8a45f44 commit d057bcb
Show file tree
Hide file tree
Showing 14 changed files with 202 additions and 1 deletion.
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/case-611a@1.html
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/case-611b@0.html
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/case-611c@1.html
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

0 comments on commit d057bcb

Please sign in to comment.