Skip to content

Commit c165891

Browse files
committed
normalize html output for title/textarea also
1 parent 757f0a5 commit c165891

33 files changed

Lines changed: 85 additions & 80 deletions

File tree

src/main/java/org/htmlunit/cyberneko/filters/HTMLWriterFilter.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,13 @@ public void startElement(final QName element, final XMLAttributes attributes, fi
155155
throws XNIException {
156156
seenRootElement_ = true;
157157
elementDepth_++;
158-
normalize_ = !htmlElements_.getElement(element.getRawname()).isSpecial();
158+
159+
final int elementCode = htmlElements_.getElement(element.getRawname()).code;
160+
normalize_ = HTMLElements.PLAINTEXT != elementCode
161+
&& HTMLElements.SCRIPT != elementCode
162+
&& HTMLElements.STYLE != elementCode
163+
&& HTMLElements.XMP != elementCode;
164+
159165
printStartElement(element, attributes, false);
160166
super.startElement(element, attributes, augs);
161167
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<html><head><title>foo</head><body></title></head><body>foo</body></html>
1+
<html><head><title>foo&lt;&sol;head&gt;&lt;body&gt;</title></head><body>foo</body></html>

src/test/resources/org/htmlunit/cyberneko/testfiles/malformed/test-form-element-errors.html.canonical-html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
</option><option>Option 2
88
</option></select>
99
<textarea>Text area content
10-
</div>
11-
<button>Submit
12-
</form>
13-
</body>
14-
</html>
10+
&lt;&sol;div&gt;
11+
&lt;button&gt;Submit
12+
&lt;&sol;form&gt;
13+
&lt;&sol;body&gt;
14+
&lt;&sol;html&gt;
1515
</textarea></label></div></form></body></html>
Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
11
<HTML><head>
22
<meta charset="utf-8" />
33
<title>Real World Example
4-
<body>
5-
<div id=header>
6-
<h1>Welcome</h1>
7-
</div>
8-
<div id=content>
9-
<p>This is a <b>bold <i>and italic</b></i> text.
10-
<ul>
11-
<li>First item
12-
<li>Second item
13-
<ul>
14-
<li>Nested item
15-
</ul>
16-
</ul>
17-
<table border=1>
18-
<tr>
19-
<th>Header 1<th>Header 2
20-
<tr>
21-
<td>Data 1<td>Data 2
22-
</table>
23-
<form action=submit.php method=post>
24-
<input type=text name=username>
25-
<input type=password name=password>
26-
<button>Submit
27-
</form>
28-
</div>
29-
<div id=footer>
30-
<p>© 2024 Example
31-
</div>
32-
</html>
4+
&lt;body&gt;
5+
&lt;div id&equals;header&gt;
6+
&lt;h1&gt;Welcome&lt;&sol;h1&gt;
7+
&lt;&sol;div&gt;
8+
&lt;div id&equals;content&gt;
9+
&lt;p&gt;This is a &lt;b&gt;bold &lt;i&gt;and italic&lt;&sol;b&gt;&lt;&sol;i&gt; text&period;
10+
&lt;ul&gt;
11+
&lt;li&gt;First item
12+
&lt;li&gt;Second item
13+
&lt;ul&gt;
14+
&lt;li&gt;Nested item
15+
&lt;&sol;ul&gt;
16+
&lt;&sol;ul&gt;
17+
&lt;table border&equals;1&gt;
18+
&lt;tr&gt;
19+
&lt;th&gt;Header 1&lt;th&gt;Header 2
20+
&lt;tr&gt;
21+
&lt;td&gt;Data 1&lt;td&gt;Data 2
22+
&lt;&sol;table&gt;
23+
&lt;form action&equals;submit&period;php method&equals;post&gt;
24+
&lt;input type&equals;text name&equals;username&gt;
25+
&lt;input type&equals;password name&equals;password&gt;
26+
&lt;button&gt;Submit
27+
&lt;&sol;form&gt;
28+
&lt;&sol;div&gt;
29+
&lt;div id&equals;footer&gt;
30+
&lt;p&gt;&copy; 2024 Example
31+
&lt;&sol;div&gt;
32+
&lt;&sol;html&gt;
3333
</title></head><body></body></HTML>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<html><head><meta charset="UTF-8" />
2-
<title>Avec à, é et è</title></head><body></body></html>
2+
<title>Avec &agrave;&comma; &eacute; et &egrave;</title></head><body></body></html>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<html><head><meta charset="gb2312" />
2-
<title>Avec à, é et è 和平</title></head><body></body></html>
2+
<title>Avec &agrave;&comma; &eacute; et &egrave; 和平</title></head><body></body></html>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<html><head><meta charset="UniCode20utf8" />
2-
<title>Avec à, é et è</title></head><body></body></html>
2+
<title>Avec &agrave;&comma; &eacute; et &egrave;</title></head><body></body></html>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<html><head><meta charset="x-user-defined" />
2-
<title>abcd!€ªðÿ</title></head><body></body></html>
2+
<title>abcd&excl;&euro;&ordf;&eth;&yuml;</title></head><body></body></html>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
2-
<title>Avec à, é et é</title></head><body></body></html>
2+
<title>Avec &agrave;&comma; &eacute; et &eacute;</title></head><body></body></html>

0 commit comments

Comments
 (0)