html: port html5lib tests from html5lib/html5lib-tests

To reproduce this, execute following steps in order:

1. git clone git@github.com:html5lib/html5lib-tests.git && git checkout 6ddcf58bea5a01e616911050c173622f84297211
2. cp -Rv html5lib-tests/tree-construction/ testdata/webkit

Change-Id: Id32798b1ff881afad82d87c2fef0841e5223c7e6
Reviewed-on: https://go-review.googlesource.com/c/net/+/263397
Trust: Kunpei Sakai <namusyaka@gmail.com>
Trust: Nigel Tao <nigeltao@golang.org>
Run-TryBot: Kunpei Sakai <namusyaka@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/html/parse_test.go b/html/parse_test.go
index 333dd59..58dce5f 100644
--- a/html/parse_test.go
+++ b/html/parse_test.go
@@ -66,6 +66,19 @@
 		}
 	}
 
+	// Skip the new-errors list.
+	if string(line) == "#new-errors\n" {
+		for {
+			line, err = r.ReadSlice('\n')
+			if err != nil {
+				return nil, err
+			}
+			if line[0] == '#' {
+				break
+			}
+		}
+	}
+
 	if ls := string(line); strings.HasPrefix(ls, "#script-") {
 		switch {
 		case strings.HasSuffix(ls, "-on\n"):
diff --git a/html/testdata/webkit/adoption01.dat b/html/testdata/webkit/adoption01.dat
index 2e1127e..38f98ef 100644
--- a/html/testdata/webkit/adoption01.dat
+++ b/html/testdata/webkit/adoption01.dat
@@ -335,3 +335,20 @@
 |         <b>
 |           <b>
 |             "x"
+
+#data
+<b><em><foo><foob><fooc><aside></b></em>
+#errors
+(1,35): adoption-agency-1.3
+(1,40): adoption-agency-1.3
+(1,40): expected-closing-tag-but-got-eof
+#document-fragment
+div
+#document
+| <b>
+|   <em>
+|     <foo>
+|       <foob>
+|         <fooc>
+| <aside>
+|   <b>
diff --git a/html/testdata/webkit/comments01.dat b/html/testdata/webkit/comments01.dat
index 35ec6cc..fa79c2b 100644
--- a/html/testdata/webkit/comments01.dat
+++ b/html/testdata/webkit/comments01.dat
@@ -15,6 +15,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,15): unexpected-bang-after-double-dash-in-comment
+#new-errors
+(1:16) incorrectly-closed-comment
 #document
 | <html>
 |   <head>
@@ -24,11 +26,41 @@
 |     "BAZ"
 
 #data
+FOO<!-- BAR --! >BAZ
+#errors
+(1,3): expected-doctype-but-got-chars
+#new-errors
+(1:20) eof-in-comment
+#document
+| <html>
+|   <head>
+|   <body>
+|     "FOO"
+|     <!--  BAR --! >BAZ -->
+
+#data
+FOO<!-- BAR --!
+>BAZ
+#errors
+(1,3): expected-doctype-but-got-chars
+#new-errors
+(1:20) eof-in-comment
+#document
+| <html>
+|   <head>
+|   <body>
+|     "FOO"
+|     <!--  BAR --!
+>BAZ -->
+
+#data
 FOO<!-- BAR --   >BAZ
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,15): unexpected-char-in-comment
 (1,21): eof-in-comment
+#new-errors
+(1:22) eof-in-comment
 #document
 | <html>
 |   <head>
@@ -57,6 +89,8 @@
 (1,15): unexpected-char-in-comment
 (1,24): unexpected-char-in-comment
 (1,31): unexpected-bang-after-double-dash-in-comment
+#new-errors
+(1:32) incorrectly-closed-comment
 #document
 | <html>
 |   <head>
@@ -73,6 +107,8 @@
 (1,24): unexpected-char-in-comment
 (1,31): unexpected-char-in-comment
 (1,35): eof-in-comment
+#new-errors
+(1:36) eof-in-comment
 #document
 | <html>
 |   <head>
@@ -97,6 +133,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,9): incorrect-comment
+#new-errors
+(1:9) abrupt-closing-of-empty-comment
 #document
 | <html>
 |   <head>
@@ -110,6 +148,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,8): incorrect-comment
+#new-errors
+(1:8) abrupt-closing-of-empty-comment
 #document
 | <html>
 |   <head>
@@ -123,6 +163,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,22): expected-doctype-but-got-chars
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ?xml version="1.0" -->
 | <html>
@@ -135,6 +177,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,20): expected-doctype-but-got-eof
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ?xml version="1.0" -->
 | <html>
@@ -146,6 +190,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,13): expected-doctype-but-got-eof
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ?xml version -->
 | <html>
diff --git a/html/testdata/webkit/doctype01.dat b/html/testdata/webkit/doctype01.dat
index cec6638..c845bec 100644
--- a/html/testdata/webkit/doctype01.dat
+++ b/html/testdata/webkit/doctype01.dat
@@ -22,6 +22,8 @@
 <!DOCTYPEhtml>Hello
 #errors
 (1,9): need-space-after-doctype
+#new-errors
+(1:10) missing-whitespace-before-doctype-name
 #document
 | <!DOCTYPE html>
 | <html>
@@ -35,6 +37,8 @@
 (1,9): need-space-after-doctype
 (1,10): expected-doctype-name-but-got-right-bracket
 (1,10): unknown-doctype
+#new-errors
+(1:10) missing-doctype-name
 #document
 | <!DOCTYPE >
 | <html>
@@ -47,6 +51,8 @@
 #errors
 (1,11): expected-doctype-name-but-got-right-bracket
 (1,11): unknown-doctype
+#new-errors
+(1:11) missing-doctype-name
 #document
 | <!DOCTYPE >
 | <html>
@@ -81,6 +87,8 @@
 #errors
 (1,17): expected-space-or-right-bracket-in-doctype
 (1,22): unknown-doctype
+#new-errors
+(1:18) invalid-character-sequence-after-doctype-name
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -93,6 +101,8 @@
 #errors
 (1,17): expected-space-or-right-bracket-in-doctype
 (1,27): unknown-doctype
+#new-errors
+(1:18) invalid-character-sequence-after-doctype-name
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -105,6 +115,8 @@
 #errors
 (1,24): unexpected-char-in-doctype
 (1,24): unknown-doctype
+#new-errors
+(1:24) missing-doctype-system-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -117,6 +129,8 @@
 #errors
 (1,28): unexpected-char-in-doctype
 (1,28): unknown-doctype
+#new-errors
+(1:28) missing-doctype-system-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -129,6 +143,8 @@
 #errors
 (1,34): unexpected-char-in-doctype
 (1,37): unknown-doctype
+#new-errors
+(1:34) missing-quote-before-doctype-system-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -141,6 +157,8 @@
 #errors
 (1,25): unexpected-char-in-doctype
 (1,31): unknown-doctype
+#new-errors
+(1:25) missing-quote-before-doctype-system-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -186,6 +204,8 @@
 #errors
 (1,24): unexpected-char-in-doctype
 (1,34): unknown-doctype
+#new-errors
+(1:24) missing-quote-before-doctype-system-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -198,6 +218,8 @@
 #errors
 (1,17): expected-space-or-right-bracket-in-doctype
 (1,35): unknown-doctype
+#new-errors
+(1:18) invalid-character-sequence-after-doctype-name
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -210,6 +232,8 @@
 #errors
 (1,24): unexpected-end-of-doctype
 (1,24): unknown-doctype
+#new-errors
+(1:24) missing-doctype-public-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -222,6 +246,8 @@
 #errors
 (1,25): unexpected-end-of-doctype
 (1,25): unknown-doctype
+#new-errors
+(1:25) missing-doctype-public-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -234,6 +260,8 @@
 #errors
 (1,24): unexpected-char-in-doctype
 (1,28): unknown-doctype
+#new-errors
+(1:24) missing-quote-before-doctype-public-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -246,6 +274,8 @@
 #errors
 (1,25): unexpected-char-in-doctype
 (1,29): unknown-doctype
+#new-errors
+(1:25) missing-quote-before-doctype-public-identifier
 #document
 | <!DOCTYPE potato>
 | <html>
@@ -269,6 +299,8 @@
 #errors
 (1,29): unexpected-char-in-doctype
 (1,32): unknown-doctype
+#new-errors
+(1:29) missing-quote-before-doctype-system-identifier
 #document
 | <!DOCTYPE potato "go" "">
 | <html>
@@ -292,6 +324,8 @@
 #errors
 (1,38): unexpected-char-in-doctype
 (1,48): unknown-doctype
+#new-errors
+(1:38) missing-quote-before-doctype-system-identifier
 #document
 | <!DOCTYPE potato "W3C-//dfdf" "">
 | <html>
@@ -350,6 +384,8 @@
 #errors
 (1,23): expected-space-or-right-bracket-in-doctype
 (2,30): unknown-doctype
+#new-errors
+(1:24) invalid-character-sequence-after-doctype-name
 #document
 | <!DOCTYPE root-element>
 | <html>
@@ -385,6 +421,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
 #errors
 (1,50): unexpected-char-in-doctype
+#new-errors
+(1:50) missing-whitespace-between-doctype-public-and-system-identifiers
 #document
 | <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | <html>
@@ -395,6 +433,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'>
 #errors
 (1,50): unexpected-char-in-doctype
+#new-errors
+(1:50) missing-whitespace-between-doctype-public-and-system-identifiers
 #document
 | <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | <html>
@@ -406,6 +446,9 @@
 #errors
 (1,21): unexpected-char-in-doctype
 (1,49): unexpected-char-in-doctype
+#new-errors
+(1:22) missing-whitespace-after-doctype-public-keyword
+(1:49) missing-whitespace-between-doctype-public-and-system-identifiers
 #document
 | <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | <html>
@@ -417,6 +460,9 @@
 #errors
 (1,21): unexpected-char-in-doctype
 (1,49): unexpected-char-in-doctype
+#new-errors
+(1:22) missing-whitespace-after-doctype-public-keyword
+(1:49) missing-whitespace-between-doctype-public-and-system-identifiers
 #document
 | <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 | <html>
diff --git a/html/testdata/webkit/domjs-unsafe.dat b/html/testdata/webkit/domjs-unsafe.dat
index 34b4e62..0a1b10f 100644
--- a/html/testdata/webkit/domjs-unsafe.dat
+++ b/html/testdata/webkit/domjs-unsafe.dat
Binary files differ
diff --git a/html/testdata/webkit/entities01.dat b/html/testdata/webkit/entities01.dat
index b271f82..9bacebe 100644
--- a/html/testdata/webkit/entities01.dat
+++ b/html/testdata/webkit/entities01.dat
@@ -13,6 +13,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,6): named-entity-without-semicolon
+#new-errors
+(1:7) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -24,6 +26,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,6): named-entity-without-semicolon
+#new-errors
+(1:7) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -45,6 +49,8 @@
 #errors
 (1,4): expected-doctype-but-got-chars
 (1,9): named-entity-without-semicolon
+#new-errors
+(1:9) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -62,6 +68,32 @@
 |     "I'm ∉ I tell you"
 
 #data
+&ammmp;
+#errors
+(1,1): expected-doctype-but-got-chars
+(1,7): unknown-named-character-reference
+#new-errors
+(1:7) unknown-named-character-reference
+#document
+| <html>
+|   <head>
+|   <body>
+|     "&ammmp;"
+
+#data
+&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp;
+#errors
+(1,1): expected-doctype-but-got-chars
+(1,950): unknown-named-character-reference
+#new-errors
+(1:950) unknown-named-character-reference
+#document
+| <html>
+|   <head>
+|   <body>
+|     "&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp;"
+
+#data
 FOO& BAR
 #errors
 (1,3): expected-doctype-but-got-chars
@@ -128,6 +160,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,5): expected-numeric-entity
+#new-errors
+(1:6) absence-of-digits-in-numeric-character-reference
 #document
 | <html>
 |   <head>
@@ -139,6 +173,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,5): expected-numeric-entity
+#new-errors
+(1:6) absence-of-digits-in-numeric-character-reference
 #document
 | <html>
 |   <head>
@@ -150,6 +186,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,7): expected-numeric-entity
+#new-errors
+(1:9) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -161,6 +199,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,6): expected-numeric-entity
+#new-errors
+(1:7) absence-of-digits-in-numeric-character-reference
 #document
 | <html>
 |   <head>
@@ -172,6 +212,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,6): expected-numeric-entity
+#new-errors
+(1:7) absence-of-digits-in-numeric-character-reference
 #document
 | <html>
 |   <head>
@@ -183,6 +225,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,7): numeric-entity-without-semicolon
+#new-errors
+(1:8) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -194,6 +238,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,10): numeric-entity-without-semicolon
+#new-errors
+(1:11) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -205,6 +251,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,8): numeric-entity-without-semicolon
+#new-errors
+(1:9) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -216,6 +264,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) null-character-reference
 #document
 | <html>
 |   <head>
@@ -247,6 +297,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -258,6 +310,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -269,6 +323,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -280,6 +336,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -291,6 +349,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -302,6 +362,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -313,6 +375,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -324,6 +388,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -335,6 +401,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -346,6 +414,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -357,6 +427,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -368,6 +440,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -379,6 +453,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -390,6 +466,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -401,6 +479,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -412,6 +492,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -423,6 +505,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -434,6 +518,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -445,6 +531,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -456,6 +544,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -467,6 +557,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -478,6 +570,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -489,6 +583,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -500,6 +596,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -511,6 +609,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -522,6 +622,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -533,6 +635,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -544,6 +648,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -555,6 +661,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -566,6 +674,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -577,6 +687,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -588,6 +700,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) control-character-reference
 #document
 | <html>
 |   <head>
@@ -619,6 +733,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) surrogate-character-reference
 #document
 | <html>
 |   <head>
@@ -630,6 +746,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) surrogate-character-reference
 #document
 | <html>
 |   <head>
@@ -641,6 +759,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) surrogate-character-reference
 #document
 | <html>
 |   <head>
@@ -652,6 +772,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,11): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:12) surrogate-character-reference
 #document
 | <html>
 |   <head>
@@ -673,6 +795,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,13): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:14) noncharacter-character-reference
 #document
 | <html>
 |   <head>
@@ -694,6 +818,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,13): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:14) noncharacter-character-reference
 #document
 | <html>
 |   <head>
@@ -705,6 +831,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,13): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:14) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
@@ -716,6 +844,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,13): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:14) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
@@ -728,6 +858,9 @@
 (1,3): expected-doctype-but-got-chars
 (1,13): illegal-codepoint-for-numeric-entity
 (1,13): eof-in-numeric-entity
+#new-errors
+(1:17) missing-semicolon-after-character-reference
+(1:17) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
@@ -740,6 +873,9 @@
 (1,3): expected-doctype-but-got-chars
 (1,13): illegal-codepoint-for-numeric-entity
 (1,13): eof-in-numeric-entity
+#new-errors
+(1:16) missing-semicolon-after-character-reference
+(1:16) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
@@ -752,6 +888,9 @@
 (1,3): expected-doctype-but-got-chars
 (1,13): illegal-codepoint-for-numeric-entity
 (1,13): eof-in-numeric-entity
+#new-errors
+(1:18) missing-semicolon-after-character-reference
+(1:18) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
@@ -762,7 +901,11 @@
 FOO&#11111111111ZOO
 #errors
 (1,3): expected-doctype-but-got-chars
-(1,13): illegal-codepoint-for-numeric-entity
+(1,16): numeric-entity-without-semicolon
+(1,16): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:17) missing-semicolon-after-character-reference
+(1:17) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
@@ -773,7 +916,11 @@
 FOO&#1111111111ZOO
 #errors
 (1,3): expected-doctype-but-got-chars
-(1,13): illegal-codepoint-for-numeric-entity
+(1,15): numeric-entity-without-semicolon
+(1,15): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:16) missing-semicolon-after-character-reference
+(1:16) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
@@ -784,7 +931,11 @@
 FOO&#111111111111ZOO
 #errors
 (1,3): expected-doctype-but-got-chars
-(1,13): illegal-codepoint-for-numeric-entity
+(1,17): numeric-entity-without-semicolon
+(1,17): illegal-codepoint-for-numeric-entity
+#new-errors
+(1:18) missing-semicolon-after-character-reference
+(1:18) character-reference-outside-unicode-range
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/entities02.dat b/html/testdata/webkit/entities02.dat
index 22365c9..0c6e898 100644
--- a/html/testdata/webkit/entities02.dat
+++ b/html/testdata/webkit/entities02.dat
@@ -103,6 +103,8 @@
 #errors
 (1,15): named-entity-without-semicolon
 (1,20): expected-doctype-but-got-start-tag
+#new-errors
+(1:16) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -115,6 +117,8 @@
 #errors
 (1,15): named-entity-without-semicolon
 (1,17): expected-doctype-but-got-start-tag
+#new-errors
+(1:16) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -127,6 +131,8 @@
 #errors
 (1,15): named-entity-without-semicolon
 (1,17): expected-doctype-but-got-start-tag
+#new-errors
+(1:16) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -139,6 +145,8 @@
 #errors
 (1,14): named-entity-without-semicolon
 (1,15): expected-doctype-but-got-start-tag
+#new-errors
+(1:15) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -151,6 +159,8 @@
 #errors
 (1,18): named-entity-without-semicolon
 (1,26): expected-doctype-but-got-start-tag
+#new-errors
+(1:19) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -219,6 +229,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,13): named-entity-without-semicolon
+#new-errors
+(1:14) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -264,6 +276,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,13): named-entity-without-semicolon
+#new-errors
+(1:14) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -285,6 +299,8 @@
 #data
 <div>ZZ&AElig=</div>
 #errors
+#new-errors
+(1:14) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/foreign-fragment.dat b/html/testdata/webkit/foreign-fragment.dat
index 2e3cb6c..c81ae81 100644
--- a/html/testdata/webkit/foreign-fragment.dat
+++ b/html/testdata/webkit/foreign-fragment.dat
@@ -174,6 +174,8 @@
 51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
 52: End of file seen and there were open elements.
 51: Unclosed element “ms”.
+#new-errors
+(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus
 #document-fragment
 math ms
 #document
@@ -215,6 +217,8 @@
 51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
 52: End of file seen and there were open elements.
 51: Unclosed element “mn”.
+#new-errors
+(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus
 #document-fragment
 math mn
 #document
@@ -256,6 +260,8 @@
 51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
 52: End of file seen and there were open elements.
 51: Unclosed element “mo”.
+#new-errors
+(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus
 #document-fragment
 math mo
 #document
@@ -297,6 +303,8 @@
 51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
 52: End of file seen and there were open elements.
 51: Unclosed element “mi”.
+#new-errors
+(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus
 #document-fragment
 math mi
 #document
@@ -338,6 +346,8 @@
 51: Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
 52: End of file seen and there were open elements.
 51: Unclosed element “mtext”.
+#new-errors
+(1:44-1:52) non-void-html-element-start-tag-with-trailing-solidus
 #document-fragment
 math mtext
 #document
@@ -487,8 +497,7 @@
 #data
 <plaintext><foo>
 #errors
-16: End of file seen and there were open elements.
-11: Unclosed element “plaintext”.
+(1,16): expected-closing-tag-but-got-eof
 #document-fragment
 svg desc
 #document
diff --git a/html/testdata/webkit/html5test-com.dat b/html/testdata/webkit/html5test-com.dat
index 8c6ec40..f738010 100644
--- a/html/testdata/webkit/html5test-com.dat
+++ b/html/testdata/webkit/html5test-com.dat
@@ -15,6 +15,8 @@
 (1,9): invalid-character-in-attribute-name
 (1,16): expected-doctype-but-got-start-tag
 (1,16): expected-closing-tag-but-got-eof
+#new-errors
+(1:9) unexpected-character-in-attribute-name
 #document
 | <html>
 |   <head>
@@ -29,6 +31,9 @@
 (1,14): unexpected-character-in-unquoted-attribute-value
 (1,15): expected-doctype-but-got-start-tag
 (1,15): expected-closing-tag-but-got-eof
+#new-errors
+(1:10) unexpected-character-in-unquoted-attribute-value
+(1:14) unexpected-character-in-unquoted-attribute-value
 #document
 | <html>
 |   <head>
@@ -42,6 +47,8 @@
 (1,7): invalid-character-in-attribute-name
 (1,14): expected-doctype-but-got-start-tag
 (1,14): expected-closing-tag-but-got-eof
+#new-errors
+(1:7) unexpected-character-in-attribute-name
 #document
 | <html>
 |   <head>
@@ -124,6 +131,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,47): expected-doctype-but-got-eof
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ?import namespace="foo" implementation="#bar" -->
 | <html>
@@ -146,6 +155,8 @@
 #errors
 (1,2): expected-dashes-or-doctype
 (1,13): expected-doctype-but-got-eof
+#new-errors
+(1:9) cdata-in-html-content
 #document
 | <!-- [CDATA[x]] -->
 | <html>
diff --git a/html/testdata/webkit/menuitem-element.dat b/html/testdata/webkit/menuitem-element.dat
new file mode 100644
index 0000000..43aa0c6
--- /dev/null
+++ b/html/testdata/webkit/menuitem-element.dat
@@ -0,0 +1,257 @@
+#data
+<menuitem>
+#errors
+10: Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+10: End of file seen and there were open elements.
+10: Unclosed element “menuitem”.
+#document
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+
+#data
+</menuitem>
+#errors
+11: End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+11: Stray end tag “menuitem”.
+#document
+| <html>
+|   <head>
+|   <body>
+
+#data
+<!DOCTYPE html><body><menuitem>A
+#errors
+32: End of file seen and there were open elements.
+31: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       "A"
+
+#data
+<!DOCTYPE html><body><menuitem>A<menuitem>B
+#errors
+43: End of file seen and there were open elements.
+42: Unclosed element “menuitem”.
+31: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       "A"
+|       <menuitem>
+|         "B"
+
+#data
+<!DOCTYPE html><body><menuitem>A<menu>B</menu>
+#errors
+46: End of file seen and there were open elements.
+31: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       "A"
+|       <menu>
+|         "B"
+
+#data
+<!DOCTYPE html><body><menuitem>A<hr>B
+#errors
+37: End of file seen and there were open elements.
+31: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       "A"
+|       <hr>
+|       "B"
+
+#data
+<!DOCTYPE html><li><menuitem><li>
+#errors
+33: End tag “li” implied, but there were open elements.
+29: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <li>
+|       <menuitem>
+|     <li>
+
+#data
+<!DOCTYPE html><menuitem><p></menuitem>x
+#errors
+39: Stray end tag “menuitem”.
+40: End of file seen and there were open elements.
+25: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       <p>
+|         "x"
+
+#data
+<!DOCTYPE html><p><b></p><menuitem>
+#errors
+25: End tag “p” seen, but there were open elements.
+21: Unclosed element “b”.
+35: End of file seen and there were open elements.
+35: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <p>
+|       <b>
+|     <b>
+|       <menuitem>
+
+#data
+<!DOCTYPE html><menuitem><asdf></menuitem>x
+#errors
+42: End tag “menuitem” seen, but there were open elements.
+31: Unclosed element “asdf”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       <asdf>
+|     "x"
+
+#data
+<!DOCTYPE html></menuitem>
+#errors
+26: Stray end tag “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+
+#data
+<!DOCTYPE html><html></menuitem>
+#errors
+26: Stray end tag “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+
+#data
+<!DOCTYPE html><head></menuitem>
+#errors
+26: Stray end tag “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+
+#data
+<!DOCTYPE html><select><menuitem></select>
+#errors
+33: Stray start tag “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <select>
+
+#data
+<!DOCTYPE html><option><menuitem>
+#errors
+33: End of file seen and there were open elements.
+33: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <option>
+|       <menuitem>
+
+#data
+<!DOCTYPE html><menuitem><option>
+#errors
+33: End of file seen and there were open elements.
+25: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       <option>
+
+#data
+<!DOCTYPE html><menuitem></body>
+#errors
+32: End tag for  “body” seen, but there were unclosed elements.
+25: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+
+#data
+<!DOCTYPE html><menuitem></html>
+#errors
+32: End tag for  “html” seen, but there were unclosed elements.
+25: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+
+#data
+<!DOCTYPE html><menuitem><p>
+#errors
+28: End of file seen and there were open elements.
+25: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       <p>
+
+#data
+<!DOCTYPE html><menuitem><li>
+#errors
+29: End of file seen and there were open elements.
+25: Unclosed element “menuitem”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <menuitem>
+|       <li>
diff --git a/html/testdata/webkit/pending-spec-changes-plain-text-unsafe.dat b/html/testdata/webkit/pending-spec-changes-plain-text-unsafe.dat
index 3ee8cec..2c546d4 100644
--- a/html/testdata/webkit/pending-spec-changes-plain-text-unsafe.dat
+++ b/html/testdata/webkit/pending-spec-changes-plain-text-unsafe.dat
Binary files differ
diff --git a/html/testdata/webkit/plain-text-unsafe.dat b/html/testdata/webkit/plain-text-unsafe.dat
index f40dd57..dfb5cb6 100644
--- a/html/testdata/webkit/plain-text-unsafe.dat
+++ b/html/testdata/webkit/plain-text-unsafe.dat
Binary files differ
diff --git a/html/testdata/webkit/ruby.dat b/html/testdata/webkit/ruby.dat
index 1ca8016..696782f 100644
--- a/html/testdata/webkit/ruby.dat
+++ b/html/testdata/webkit/ruby.dat
@@ -58,6 +58,7 @@
 <html><ruby>a<rb>b<span></ruby></html>
 #errors
 (1,6): expected-doctype-but-got-start-tag
+(1,31): unexpected-end-tag
 #document
 | <html>
 |   <head>
@@ -128,6 +129,7 @@
 <html><ruby>a<rt>b<span></ruby></html>
 #errors
 (1,6): expected-doctype-but-got-start-tag
+(1,31): unexpected-end-tag
 #document
 | <html>
 |   <head>
@@ -271,6 +273,7 @@
 <html><ruby>a<rp>b<span></ruby></html>
 #errors
 (1,6): expected-doctype-but-got-start-tag
+(1,31): unexpected-end-tag
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/scriptdata01.dat b/html/testdata/webkit/scriptdata01.dat
index ac698d2..e570858 100644
--- a/html/testdata/webkit/scriptdata01.dat
+++ b/html/testdata/webkit/scriptdata01.dat
@@ -40,6 +40,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,21): self-closing-flag-on-end-tag
+#new-errors
+(1:21) end-tag-with-trailing-solidus
 #document
 | <html>
 |   <head>
@@ -53,6 +55,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,20): unexpected-character-after-solidus-in-tag
+#new-errors
+(1:21) unexpected-solidus-in-tag
 #document
 | <html>
 |   <head>
@@ -80,6 +84,8 @@
 #errors
 (1,3): expected-doctype-but-got-chars
 (1,31): attributes-in-end-tag
+#new-errors
+(1:31) end-tag-with-attributes
 #document
 | <html>
 |   <head>
@@ -211,6 +217,8 @@
 (1,3): expected-doctype-but-got-chars
 (1,56): expected-script-data-but-got-eof
 (1,56): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:57) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -226,6 +234,8 @@
 (1,3): expected-doctype-but-got-chars
 (1,58): expected-script-data-but-got-eof
 (1,58): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:59) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -241,6 +251,8 @@
 (1,3): expected-doctype-but-got-chars
 (1,59): expected-script-data-but-got-eof
 (1,59): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:60) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -269,6 +281,8 @@
 (1,3): expected-doctype-but-got-chars
 (1,61): expected-script-data-but-got-eof
 (1,61): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:62) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -284,6 +298,8 @@
 (1,3): expected-doctype-but-got-chars
 (1,61): expected-script-data-but-got-eof
 (1,61): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:62) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -299,6 +315,8 @@
 (1,3): expected-doctype-but-got-chars
 (1,56): expected-script-data-but-got-eof
 (1,56): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:57) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -314,6 +332,8 @@
 (1,3): expected-doctype-but-got-chars
 (1,56): expected-script-data-but-got-eof
 (1,56): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:57) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/scripted/adoption01.dat b/html/testdata/webkit/scripted/adoption01.dat
index 4e08d0e..5cc0f07 100644
--- a/html/testdata/webkit/scripted/adoption01.dat
+++ b/html/testdata/webkit/scripted/adoption01.dat
@@ -1,6 +1,7 @@
 #data
 <p><b id="A"><script>document.getElementById("A").id = "B"</script></p>TEXT</b>
 #errors
+#script-on
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/scripted/ark.dat b/html/testdata/webkit/scripted/ark.dat
index acbac41..feebead 100644
--- a/html/testdata/webkit/scripted/ark.dat
+++ b/html/testdata/webkit/scripted/ark.dat
@@ -1,6 +1,7 @@
 #data
 <p><font size=4><font size=4><font size=4><script>document.getElementsByTagName("font")[2].setAttribute("size", "5");</script><font size=4><p>X
 #errors
+#script-on
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/scripted/webkit01.dat b/html/testdata/webkit/scripted/webkit01.dat
index ef4a41c..3e71c1b 100644
--- a/html/testdata/webkit/scripted/webkit01.dat
+++ b/html/testdata/webkit/scripted/webkit01.dat
@@ -1,6 +1,7 @@
 #data
 1<script>document.write("2")</script>3
 #errors
+#script-on
 #document
 | <html>
 |   <head>
@@ -13,6 +14,7 @@
 #data
 1<script>document.write("<script>document.write('2')</scr"+ "ipt><script>document.write('3')</scr" + "ipt>")</script>4
 #errors
+#script-on
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/svg.dat b/html/testdata/webkit/svg.dat
new file mode 100644
index 0000000..8e9a2bb
--- /dev/null
+++ b/html/testdata/webkit/svg.dat
@@ -0,0 +1,81 @@
+#data
+<svg><tr><td><title><tr>
+#errors
+#document-fragment
+td
+#document
+| <svg svg>
+|   <svg tr>
+|     <svg td>
+|       <svg title>
+
+#data
+<svg><tr><td><title><tr>
+#errors
+#document-fragment
+tr
+#document
+| <svg svg>
+|   <svg tr>
+|     <svg td>
+|       <svg title>
+
+#data
+<svg><thead><title><tbody>
+#errors
+#document-fragment
+thead
+#document
+| <svg svg>
+|   <svg thead>
+|     <svg title>
+
+#data
+<svg><tfoot><title><tbody>
+#errors
+#document-fragment
+tfoot
+#document
+| <svg svg>
+|   <svg tfoot>
+|     <svg title>
+
+#data
+<svg><tbody><title><tfoot>
+#errors
+#document-fragment
+tbody
+#document
+| <svg svg>
+|   <svg tbody>
+|     <svg title>
+
+#data
+<svg><tbody><title></table>
+#errors
+#document-fragment
+tbody
+#document
+| <svg svg>
+|   <svg tbody>
+|     <svg title>
+
+#data
+<svg><thead><title></table>
+#errors
+#document-fragment
+tbody
+#document
+| <svg svg>
+|   <svg thead>
+|     <svg title>
+
+#data
+<svg><tfoot><title></table>
+#errors
+#document-fragment
+tbody
+#document
+| <svg svg>
+|   <svg tfoot>
+|     <svg title>
diff --git a/html/testdata/webkit/tests1.dat b/html/testdata/webkit/tests1.dat
index d6726e3..1c36c1b 100644
--- a/html/testdata/webkit/tests1.dat
+++ b/html/testdata/webkit/tests1.dat
@@ -327,6 +327,9 @@
 (1,10): expected-doctype-but-got-start-tag
 (1,17): incorrect-comment
 (1,17): expected-closing-tag-but-got-eof
+#new-errors
+(1:5) abrupt-closing-of-empty-comment
+(1:17) abrupt-closing-of-empty-comment
 #document
 | <!--  -->
 | <html>
@@ -357,7 +360,6 @@
 (1,27): unexpected-select-in-select
 (1,39): unexpected-end-tag
 (1,48): unexpected-end-tag
-(1,49): expected-closing-tag-but-got-eof
 #document
 | <html>
 |   <head>
@@ -499,6 +501,8 @@
 #errors
 (1,1): expected-tag-name
 (1,1): expected-doctype-but-got-chars
+#new-errors
+(1:2) eof-before-tag-name
 #document
 | <html>
 |   <head>
@@ -510,6 +514,8 @@
 #errors
 (1,1): expected-tag-name
 (1,1): expected-doctype-but-got-chars
+#new-errors
+(1:2) invalid-first-character-of-tag-name
 #document
 | <html>
 |   <head>
@@ -521,6 +527,8 @@
 #errors
 (1,2): expected-closing-tag-but-got-eof
 (1,2): expected-doctype-but-got-chars
+#new-errors
+(1:3) eof-before-tag-name
 #document
 | <html>
 |   <head>
@@ -532,6 +540,8 @@
 #errors
 (1,2): expected-closing-tag-but-got-char
 (1,3): expected-doctype-but-got-eof
+#new-errors
+(1:3) invalid-first-character-of-tag-name
 #document
 | <!-- # -->
 | <html>
@@ -543,6 +553,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,2): expected-doctype-but-got-eof
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ? -->
 | <html>
@@ -554,6 +566,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,3): expected-doctype-but-got-eof
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ?# -->
 | <html>
@@ -565,6 +579,8 @@
 #errors
 (1,2): expected-dashes-or-doctype
 (1,2): expected-doctype-but-got-eof
+#new-errors
+(1:3) incorrectly-opened-comment
 #document
 | <!--  -->
 | <html>
@@ -576,6 +592,8 @@
 #errors
 (1,2): expected-dashes-or-doctype
 (1,3): expected-doctype-but-got-eof
+#new-errors
+(1:3) incorrectly-opened-comment
 #document
 | <!-- # -->
 | <html>
@@ -587,6 +605,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,11): expected-doctype-but-got-eof
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ?COMMENT? -->
 | <html>
@@ -598,6 +618,8 @@
 #errors
 (1,2): expected-dashes-or-doctype
 (1,10): expected-doctype-but-got-eof
+#new-errors
+(1:3) incorrectly-opened-comment
 #document
 | <!-- COMMENT -->
 | <html>
@@ -609,6 +631,8 @@
 #errors
 (1,2): expected-closing-tag-but-got-char
 (1,12): expected-doctype-but-got-eof
+#new-errors
+(1:3) invalid-first-character-of-tag-name
 #document
 | <!--  COMMENT  -->
 | <html>
@@ -620,6 +644,8 @@
 #errors
 (1,1): expected-tag-name-but-got-question-mark
 (1,13): expected-doctype-but-got-eof
+#new-errors
+(1:2) unexpected-question-mark-instead-of-tag-name
 #document
 | <!-- ?COM--MENT? -->
 | <html>
@@ -631,6 +657,8 @@
 #errors
 (1,2): expected-dashes-or-doctype
 (1,12): expected-doctype-but-got-eof
+#new-errors
+(1:3) incorrectly-opened-comment
 #document
 | <!-- COM--MENT -->
 | <html>
@@ -642,6 +670,8 @@
 #errors
 (1,2): expected-closing-tag-but-got-char
 (1,14): expected-doctype-but-got-eof
+#new-errors
+(1:3) invalid-first-character-of-tag-name
 #document
 | <!--  COM--MENT  -->
 | <html>
@@ -1539,7 +1569,6 @@
 (1,27): unexpected-select-in-select
 (1,39): unexpected-end-tag
 (1,48): unexpected-end-tag
-(1,48): expected-closing-tag-but-got-eof
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/tests10.dat b/html/testdata/webkit/tests10.dat
index 3e9a9f1..f84e2d5 100644
--- a/html/testdata/webkit/tests10.dat
+++ b/html/testdata/webkit/tests10.dat
@@ -12,6 +12,8 @@
 <!DOCTYPE html><svg></svg><![CDATA[a]]>
 #errors
 (1,28) expected-dashes-or-doctype
+#new-errors
+(1:35) cdata-in-html-content
 #document
 | <!DOCTYPE html>
 | <html>
diff --git a/html/testdata/webkit/tests16.dat b/html/testdata/webkit/tests16.dat
index 1219157..cea7340 100644
--- a/html/testdata/webkit/tests16.dat
+++ b/html/testdata/webkit/tests16.dat
@@ -122,6 +122,8 @@
 #errors
 (1,32): expected-attribute-name-but-got-eof
 (1,32): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:33) eof-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -206,6 +208,8 @@
 #errors
 (1,32): expected-attribute-name-but-got-eof
 (1,32): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:33) eof-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -216,6 +220,7 @@
 #data
 <!doctype html><script><!
 #errors
+(1,25): expected-script-data-but-got-eof
 (1,25): expected-named-closing-tag-but-got-eof
 #document
 | <!DOCTYPE html>
@@ -266,6 +271,8 @@
 #errors
 (1,27): expected-named-closing-tag-but-got-eof
 (1,27): unexpected-eof-in-text-mode
+#new-errors
+(1:28) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -279,6 +286,8 @@
 #errors
 (1,28): expected-named-closing-tag-but-got-eof
 (1,28): unexpected-eof-in-text-mode
+#new-errors
+(1:29) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -292,6 +301,8 @@
 #errors
 (1,28): expected-named-closing-tag-but-got-eof
 (1,28): unexpected-eof-in-text-mode
+#new-errors
+(1:29) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -305,6 +316,8 @@
 #errors
 (1,29): expected-named-closing-tag-but-got-eof
 (1,29): unexpected-eof-in-text-mode
+#new-errors
+(1:30) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -318,6 +331,8 @@
 #errors
 (1,29): expected-named-closing-tag-but-got-eof
 (1,29): unexpected-eof-in-text-mode
+#new-errors
+(1:30) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -331,6 +346,8 @@
 #errors
 (1,35): expected-named-closing-tag-but-got-eof
 (1,35): unexpected-eof-in-text-mode
+#new-errors
+(1:36) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -344,6 +361,8 @@
 #errors
 (1,36): expected-attribute-name-but-got-eof
 (1,36): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:37) eof-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -357,6 +376,8 @@
 #errors
 (1,29): expected-named-closing-tag-but-got-eof
 (1,29): unexpected-eof-in-text-mode
+#new-errors
+(1:30) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -370,6 +391,8 @@
 #errors
 (1,34): expected-named-closing-tag-but-got-eof
 (1,34): unexpected-eof-in-text-mode
+#new-errors
+(1:35) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -383,6 +406,8 @@
 #errors
 (1,35): eof-in-script-in-script
 (1,35): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:36) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -396,6 +421,8 @@
 #errors
 (1,36): eof-in-script-in-script
 (1,36): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:37) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -409,6 +436,8 @@
 #errors
 (1,37): eof-in-script-in-script
 (1,37): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:38) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -422,6 +451,8 @@
 #errors
 (1,37): eof-in-script-in-script
 (1,37): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:38) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -435,6 +466,8 @@
 #errors
 (1,38): eof-in-script-in-script
 (1,38): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:39) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -448,6 +481,8 @@
 #errors
 (1,43): eof-in-script-in-script
 (1,43): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:44) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -461,6 +496,8 @@
 #errors
 (1,44): eof-in-script-in-script
 (1,44): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:45) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -474,6 +511,8 @@
 #errors
 (1,44): expected-named-closing-tag-but-got-eof
 (1,44): unexpected-eof-in-text-mode
+#new-errors
+(1:45) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -487,6 +526,8 @@
 #errors
 (1,44): expected-named-closing-tag-but-got-eof
 (1,44): unexpected-eof-in-text-mode
+#new-errors
+(1:45) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -500,6 +541,8 @@
 #errors
 (1,44): expected-named-closing-tag-but-got-eof
 (1,44): unexpected-eof-in-text-mode
+#new-errors
+(1:45) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -513,6 +556,8 @@
 #errors
 (1,45): expected-named-closing-tag-but-got-eof
 (1,45): unexpected-eof-in-text-mode
+#new-errors
+(1:46) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -526,6 +571,8 @@
 #errors
 (1,46): expected-named-closing-tag-but-got-eof
 (1,46): unexpected-eof-in-text-mode
+#new-errors
+(1:47) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -539,6 +586,8 @@
 #errors
 (1,46): expected-named-closing-tag-but-got-eof
 (1,46): unexpected-eof-in-text-mode
+#new-errors
+(1:47) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -552,6 +601,8 @@
 #errors
 (1,52): expected-named-closing-tag-but-got-eof
 (1,52): unexpected-eof-in-text-mode
+#new-errors
+(1:53) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -565,6 +616,8 @@
 #errors
 (1,53): expected-attribute-name-but-got-eof
 (1,53): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:54) eof-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -578,6 +631,8 @@
 #errors
 (1,53): unexpected-EOF-after-solidus-in-tag
 (1,53): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:54) eof-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -602,6 +657,8 @@
 #errors
 (1,36): eof-in-script-in-script
 (1,36): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:37) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -615,6 +672,8 @@
 #errors
 (1,37): eof-in-script-in-script
 (1,37): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:38) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -628,6 +687,8 @@
 #errors
 (1,37): eof-in-script-in-script
 (1,37): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:38) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -641,6 +702,8 @@
 #errors
 (1,37): eof-in-script-in-script
 (1,37): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:38) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -654,6 +717,8 @@
 #errors
 (1,38): eof-in-script-in-script
 (1,38): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:39) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -667,6 +732,8 @@
 #errors
 (1,38): eof-in-script-in-script
 (1,38): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:39) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -728,6 +795,8 @@
 #errors
 (1,47): expected-attribute-name-but-got-eof
 (1,47): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:48) eof-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -741,6 +810,8 @@
 #errors
 (1,47): unexpected-EOF-after-solidus-in-tag
 (1,47): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:48) eof-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -853,6 +924,8 @@
 #errors
 (1,49): expected-named-closing-tag-but-got-eof
 (1,49): unexpected-EOF-in-text-mode
+#new-errors
+(1:50) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -879,6 +952,8 @@
 #errors
 (1,57): expected-named-closing-tag-but-got-eof
 (1,57): unexpected-eof-in-text-mode
+#new-errors
+(1:58) eof-in-script-html-comment-like-text
 #document
 | <!DOCTYPE html>
 | <html>
@@ -1351,6 +1426,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,17): expected-attribute-name-but-got-eof
 (1,17): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:18) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -1435,6 +1512,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,17): expected-attribute-name-but-got-eof
 (1,17): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:18) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -1445,6 +1524,7 @@
 <script><!
 #errors
 (1,8): expected-doctype-but-got-start-tag
+(1,10): expected-script-data-but-got-eof
 (1,10): expected-named-closing-tag-but-got-eof
 #document
 | <html>
@@ -1495,6 +1575,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,12): expected-named-closing-tag-but-got-eof
 (1,12): unexpected-eof-in-text-mode
+#new-errors
+(1:13) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1508,6 +1590,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,13): expected-named-closing-tag-but-got-eof
 (1,13): unexpected-eof-in-text-mode
+#new-errors
+(1:14) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1521,6 +1605,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,13): expected-named-closing-tag-but-got-eof
 (1,13): unexpected-eof-in-text-mode
+#new-errors
+(1:14) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1534,6 +1620,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,14): expected-named-closing-tag-but-got-eof
 (1,14): unexpected-eof-in-text-mode
+#new-errors
+(1:15) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1547,6 +1635,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,14): expected-named-closing-tag-but-got-eof
 (1,14): unexpected-eof-in-text-mode
+#new-errors
+(1:15) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1560,6 +1650,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,20): expected-named-closing-tag-but-got-eof
 (1,20): unexpected-eof-in-text-mode
+#new-errors
+(1:21) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1573,6 +1665,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,21): expected-attribute-name-but-got-eof
 (1,21): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:22) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -1586,6 +1680,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,14): expected-named-closing-tag-but-got-eof
 (1,14): unexpected-eof-in-text-mode
+#new-errors
+(1:15) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1599,6 +1695,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,19): expected-named-closing-tag-but-got-eof
 (1,19): unexpected-eof-in-text-mode
+#new-errors
+(1:20) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1612,6 +1710,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,20): eof-in-script-in-script
 (1,20): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:21) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1625,6 +1725,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,21): eof-in-script-in-script
 (1,21): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:22) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1638,6 +1740,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,22): eof-in-script-in-script
 (1,22): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:23) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1651,6 +1755,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,22): eof-in-script-in-script
 (1,22): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:23) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1664,6 +1770,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,23): eof-in-script-in-script
 (1,23): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:24) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1677,6 +1785,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,28): eof-in-script-in-script
 (1,28): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:29) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1690,6 +1800,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,29): eof-in-script-in-script
 (1,29): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:30) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1703,6 +1815,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,29): expected-named-closing-tag-but-got-eof
 (1,29): unexpected-eof-in-text-mode
+#new-errors
+(1:30) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1716,6 +1830,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,29): expected-named-closing-tag-but-got-eof
 (1,29): unexpected-eof-in-text-mode
+#new-errors
+(1:30) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1729,6 +1845,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,29): expected-named-closing-tag-but-got-eof
 (1,29): unexpected-eof-in-text-mode
+#new-errors
+(1:30) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1742,6 +1860,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,30): expected-named-closing-tag-but-got-eof
 (1,30): unexpected-eof-in-text-mode
+#new-errors
+(1:31) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1755,6 +1875,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,31): expected-named-closing-tag-but-got-eof
 (1,31): unexpected-eof-in-text-mode
+#new-errors
+(1:32) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1768,6 +1890,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,31): expected-named-closing-tag-but-got-eof
 (1,31): unexpected-eof-in-text-mode
+#new-errors
+(1:32) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1781,6 +1905,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,37): expected-named-closing-tag-but-got-eof
 (1,37): unexpected-eof-in-text-mode
+#new-errors
+(1:38) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1794,6 +1920,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,38): expected-attribute-name-but-got-eof
 (1,38): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:39) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -1807,6 +1935,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,38): unexpected-EOF-after-solidus-in-tag
 (1,38): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:39) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -1831,6 +1961,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,21): eof-in-script-in-script
 (1,21): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:22) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1844,6 +1976,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,22): eof-in-script-in-script
 (1,22): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:23) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1857,6 +1991,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,22): eof-in-script-in-script
 (1,22): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:23) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1870,6 +2006,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,23): eof-in-script-in-script
 (1,23): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:24) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -1931,6 +2069,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,32): expected-attribute-name-but-got-eof
 (1,32): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:33) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -1944,6 +2084,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,32): unexpected-EOF-after-solidus-in-tag
 (1,32): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:33) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -2056,6 +2198,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,34): expected-named-closing-tag-but-got-eof
 (1,34): unexpected-eof-in-text-mode
+#new-errors
+(1:35) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
@@ -2082,6 +2226,8 @@
 (1,8): expected-doctype-but-got-start-tag
 (1,42): expected-named-closing-tag-but-got-eof
 (1,42): unexpected-eof-in-text-mode
+#new-errors
+(1:43) eof-in-script-html-comment-like-text
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/tests2.dat b/html/testdata/webkit/tests2.dat
index abe8f84..b44fec4 100644
--- a/html/testdata/webkit/tests2.dat
+++ b/html/testdata/webkit/tests2.dat
@@ -224,6 +224,8 @@
 #errors
 (1,8): eof-in-attribute-name
 (1,8): expected-doctype-but-got-eof
+#new-errors
+(1:9) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -236,6 +238,10 @@
 (1,32): named-entity-without-semicolon
 (1,33): attributes-in-end-tag
 (1,33): unexpected-end-tag-before-html
+#new-errors
+(1:24) unexpected-character-in-attribute-name
+(1:33) missing-semicolon-after-character-reference
+(1:33) end-tag-with-attributes
 #document
 | <!DOCTYPE html>
 | <html>
@@ -248,6 +254,8 @@
 #errors
 (1,9): need-space-after-doctype
 (1,54): expected-named-closing-tag-but-got-eof
+#new-errors
+(1:10) missing-whitespace-before-doctype-name
 #document
 | <!DOCTYPE html>
 | <html>
@@ -272,6 +280,8 @@
 #errors
 (1,2): expected-numeric-entity
 (1,2): expected-doctype-but-got-chars
+#new-errors
+(1:3) absence-of-digits-in-numeric-character-reference
 #document
 | <html>
 |   <head>
@@ -283,6 +293,8 @@
 #errors
 (1,3): expected-numeric-entity
 (1,3): expected-doctype-but-got-chars
+#new-errors
+(1:4) absence-of-digits-in-numeric-character-reference
 #document
 | <html>
 |   <head>
@@ -294,6 +306,8 @@
 #errors
 (1,3): expected-numeric-entity
 (1,3): expected-doctype-but-got-chars
+#new-errors
+(1:4) absence-of-digits-in-numeric-character-reference
 #document
 | <html>
 |   <head>
@@ -305,6 +319,8 @@
 #errors
 (1,4): numeric-entity-without-semicolon
 (1,4): expected-doctype-but-got-chars
+#new-errors
+(1:5) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -325,6 +341,8 @@
 <!doctypehtml><p><li>
 #errors
 (1,9): need-space-after-doctype
+#new-errors
+(1:10) missing-whitespace-before-doctype-name
 #document
 | <!DOCTYPE html>
 | <html>
@@ -337,6 +355,8 @@
 <!doctypehtml><p><dt>
 #errors
 (1,9): need-space-after-doctype
+#new-errors
+(1:10) missing-whitespace-before-doctype-name
 #document
 | <!DOCTYPE html>
 | <html>
@@ -349,6 +369,8 @@
 <!doctypehtml><p><dd>
 #errors
 (1,9): need-space-after-doctype
+#new-errors
+(1:10) missing-whitespace-before-doctype-name
 #document
 | <!DOCTYPE html>
 | <html>
@@ -362,6 +384,8 @@
 #errors
 (1,9): need-space-after-doctype
 (1,23): expected-closing-tag-but-got-eof
+#new-errors
+(1:10) missing-whitespace-before-doctype-name
 #document
 | <!DOCTYPE html>
 | <html>
@@ -386,6 +410,8 @@
 #errors
 (1,4): named-entity-without-semicolon
 (1,4): expected-doctype-but-got-chars
+#new-errors
+(1:5) missing-semicolon-after-character-reference
 #document
 | <html>
 |   <head>
@@ -397,6 +423,8 @@
 #errors
 (1,3): expected-named-entity
 (1,3): expected-doctype-but-got-chars
+#new-errors
+(1:5) unknown-named-character-reference
 #document
 | <html>
 |   <head>
@@ -429,6 +457,8 @@
 <!DOCTYPE html><!-- X
 #errors
 (1,21): eof-in-comment
+#new-errors
+(1:22) eof-in-comment
 #document
 | <!DOCTYPE html>
 | <!--  X -->
@@ -471,7 +501,6 @@
 <!DOCTYPE html><select><optgroup><option></optgroup><option><select><option>
 #errors
 (1,68): unexpected-select-in-select
-(1,76): expected-closing-tag-but-got-eof
 #document
 | <!DOCTYPE html>
 | <html>
@@ -536,6 +565,8 @@
 <!DOCTYPE html><!-- XXX - XXX
 #errors
 (1,29): eof-in-comment
+#new-errors
+(1:30) eof-in-comment
 #document
 | <!DOCTYPE html>
 | <!--  XXX - XXX -->
@@ -716,6 +747,10 @@
 (1,19): unexpected-character-after-solidus-in-tag
 (1,21): unexpected-character-after-solidus-in-tag
 (1,23): unexpected-character-after-solidus-in-tag
+#new-errors
+(1:20) unexpected-solidus-in-tag
+(1:22) unexpected-solidus-in-tag
+(1:24) unexpected-solidus-in-tag
 #document
 | <!DOCTYPE html>
 | <html>
@@ -731,6 +766,8 @@
 <!DOCTYPE html><!--x--
 #errors
 (1,22): eof-in-comment-double-dash
+#new-errors
+(1:23) eof-in-comment
 #document
 | <!DOCTYPE html>
 | <!-- x -->
@@ -759,6 +796,9 @@
 (1,20): expected-space-or-right-bracket-in-doctype
 (1,25): unknown-doctype
 (1,35): unexpected-char-in-comment
+#new-errors
+(1:21) invalid-character-sequence-after-doctype-name
+(1:35) nested-comment
 #document
 | <!DOCTYPE <!doctype>
 | <html>
diff --git a/html/testdata/webkit/tests20.dat b/html/testdata/webkit/tests20.dat
index 52c5acd..afdae74 100644
--- a/html/testdata/webkit/tests20.dat
+++ b/html/testdata/webkit/tests20.dat
@@ -407,7 +407,6 @@
 <option><option>
 #errors
 (1,8): expected-doctype-but-got-start-tag
-(1,16): expected-closing-tag-but-got-eof
 #document
 | <html>
 |   <head>
@@ -514,3 +513,70 @@
 |       <math annotation-xml>
 |         encoding=" text/html "
 |     <div>
+
+#data
+<math><annotation-xml> </annotation-xml>
+#errors
+(1,6): expected-doctype-but-got-start-tag
+(1,40): expected-closing-tag-but-got-eof
+#document
+| <html>
+|   <head>
+|   <body>
+|     <math math>
+|       <math annotation-xml>
+|         " "
+
+#data
+<math><annotation-xml>c</annotation-xml>
+#errors
+(1,6): expected-doctype-but-got-start-tag
+(1,40): expected-closing-tag-but-got-eof
+#document
+| <html>
+|   <head>
+|   <body>
+|     <math math>
+|       <math annotation-xml>
+|         "c"
+
+#data
+<math><annotation-xml><!--foo-->
+#errors
+(1,6): expected-doctype-but-got-start-tag
+(1,32): expected-closing-tag-but-got-eof
+#document
+| <html>
+|   <head>
+|   <body>
+|     <math math>
+|       <math annotation-xml>
+|         <!-- foo -->
+
+#data
+<math><annotation-xml></svg>x
+#errors
+(1,6): expected-doctype-but-got-start-tag
+(1,28): unexpected-end-tag
+(1,29): expected-closing-tag-but-got-eof
+#document
+| <html>
+|   <head>
+|   <body>
+|     <math math>
+|       <math annotation-xml>
+|         "x"
+
+#data
+<math><annotation-xml><svg>x
+#errors
+(1,6): expected-doctype-but-got-start-tag
+(1,28): expected-closing-tag-but-got-eof
+#document
+| <html>
+|   <head>
+|   <body>
+|     <math math>
+|       <math annotation-xml>
+|         <svg svg>
+|           "x"
diff --git a/html/testdata/webkit/tests21.dat b/html/testdata/webkit/tests21.dat
index d384a55..1e2af7c 100644
--- a/html/testdata/webkit/tests21.dat
+++ b/html/testdata/webkit/tests21.dat
@@ -28,6 +28,8 @@
 (1,5): expected-doctype-but-got-start-tag
 (1,7): expected-dashes-or-doctype
 (1,20): expected-closing-tag-but-got-eof
+#new-errors
+(1:14) cdata-in-html-content
 #document
 | <html>
 |   <head>
@@ -40,6 +42,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,17): expected-closing-tag-but-got-eof
+#new-errors
+(1:18) eof-in-cdata
 #document
 | <html>
 |   <head>
@@ -52,6 +56,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,17): expected-closing-tag-but-got-eof
+#new-errors
+(1:18) eof-in-cdata
 #document
 | <html>
 |   <head>
@@ -64,6 +70,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,14): expected-closing-tag-but-got-eof
+#new-errors
+(1:15) eof-in-cdata
 #document
 | <html>
 |   <head>
@@ -110,6 +118,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,16): expected-closing-tag-but-got-eof
+#new-errors
+(1:17) eof-in-cdata
 #document
 | <html>
 |   <head>
@@ -122,6 +132,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,15): expected-closing-tag-but-got-eof
+#new-errors
+(1:16) eof-in-cdata
 #document
 | <html>
 |   <head>
@@ -134,6 +146,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,17): expected-closing-tag-but-got-eof
+#new-errors
+(1:18) eof-in-cdata
 #document
 | <html>
 |   <head>
@@ -183,6 +197,8 @@
 (1,5): expected-doctype-but-got-start-tag
 (1,27): expected-dashes-or-doctype
 (1,40): expected-closing-tag-but-got-eof
+#new-errors
+(1:34) cdata-in-html-content
 #document
 | <html>
 |   <head>
@@ -221,6 +237,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,20): expected-closing-tag-but-got-eof
+#new-errors
+(1:21) eof-in-cdata
 #document
 | <html>
 |   <head>
@@ -233,6 +251,8 @@
 #errors
 (1,5): expected-doctype-but-got-start-tag
 (1,21): expected-closing-tag-but-got-eof
+#new-errors
+(1:22) eof-in-cdata
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/tests25.dat b/html/testdata/webkit/tests25.dat
index 2bbf038..5bb369b 100644
--- a/html/testdata/webkit/tests25.dat
+++ b/html/testdata/webkit/tests25.dat
@@ -155,6 +155,73 @@
 |     "A"
 
 #data
+<!DOCTYPE html><keygen>A</keygen>B
+#errors
+33: Stray end tag “keygen”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     <keygen>
+|     "AB"
+
+#data
+</keygen>A
+#errors
+9: End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+9: Stray end tag “keygen”.
+#document
+| <html>
+|   <head>
+|   <body>
+|     "A"
+
+#data
+<!DOCTYPE html></keygen>A
+#errors
+24: Stray end tag “keygen”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     "A"
+
+#data
+<!DOCTYPE html><head></keygen>A
+#errors
+30: Stray end tag “keygen”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     "A"
+
+#data
+<!DOCTYPE html><head></head></keygen>A
+#errors
+30: Stray end tag “keygen”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     "A"
+
+#data
+<!DOCTYPE html><body></keygen>A
+#errors
+30: Stray end tag “keygen”.
+#document
+| <!DOCTYPE html>
+| <html>
+|   <head>
+|   <body>
+|     "A"
+
+#data
 <!DOCTYPE html><body><link>A
 #errors
 #document
diff --git a/html/testdata/webkit/tests26.dat b/html/testdata/webkit/tests26.dat
index 8964624..de453b9 100644
--- a/html/testdata/webkit/tests26.dat
+++ b/html/testdata/webkit/tests26.dat
@@ -269,6 +269,9 @@
 (1,12): unexpected-character-after-solidus-in-tag
 (1,21): unexpected-end-tag
 (2,0): expected-closing-tag-but-got-eof
+#new-errors
+(1:11) unexpected-character-in-attribute-name
+(1:13) unexpected-solidus-in-tag
 #document
 | <html>
 |   <head>
@@ -364,6 +367,8 @@
 #errors
 (1,28): expected-dashes-or-doctype
 (1,34): expected-closing-tag-but-got-eof
+#new-errors
+(1:29) incorrectly-opened-comment
 #document
 | <!DOCTYPE html>
 | <html>
diff --git a/html/testdata/webkit/tests6.dat b/html/testdata/webkit/tests6.dat
index d774fc2..f399123 100644
--- a/html/testdata/webkit/tests6.dat
+++ b/html/testdata/webkit/tests6.dat
@@ -51,6 +51,8 @@
 (1,9): need-space-after-doctype
 (1,10): expected-doctype-name-but-got-right-bracket
 (1,10): unknown-doctype
+#new-errors
+(1:10) missing-doctype-name
 #document
 | <!DOCTYPE >
 | <html>
@@ -62,6 +64,8 @@
 #errors
 (1,6): eof-in-comment
 (1,6): expected-doctype-but-got-eof
+#new-errors
+(1:7) eof-in-comment
 #document
 | <!-- -x -->
 | <html>
diff --git a/html/testdata/webkit/tests7.dat b/html/testdata/webkit/tests7.dat
index 78fb6fa..395dc72 100644
--- a/html/testdata/webkit/tests7.dat
+++ b/html/testdata/webkit/tests7.dat
@@ -393,6 +393,7 @@
 (1,14): foster-parenting-character
 (1,20): foster-parenting-character
 (1,25): unexpected-end-tag
+(1,25): unexpected-end-tag-in-special-element
 (1,26): foster-parenting-character
 #document
 | <html>
diff --git a/html/testdata/webkit/tests8.dat b/html/testdata/webkit/tests8.dat
index 33dd96d..ba2e63d 100644
--- a/html/testdata/webkit/tests8.dat
+++ b/html/testdata/webkit/tests8.dat
@@ -88,6 +88,17 @@
 |     <table>
 
 #data
+<table><li><li></table>
+#errors
+#document
+| <html>
+|   <head>
+|   <body>
+|     <li>
+|     <li>
+|     <table>
+
+#data
 x<table>x
 #errors
 (1,1): expected-doctype-but-got-chars
diff --git a/html/testdata/webkit/tests_innerHTML_1.dat b/html/testdata/webkit/tests_innerHTML_1.dat
index 9c5c182..54f4368 100644
--- a/html/testdata/webkit/tests_innerHTML_1.dat
+++ b/html/testdata/webkit/tests_innerHTML_1.dat
@@ -826,7 +826,6 @@
 </select><option>
 #errors
 (1,9): XXX-undefined-error
-(1,17): eof-in-select
 #document-fragment
 select
 #document
@@ -836,7 +835,6 @@
 <input><option>
 #errors
 (1,7): unexpected-input-in-select
-(1,15): eof-in-select
 #document-fragment
 select
 #document
@@ -846,7 +844,6 @@
 <keygen><option>
 #errors
 (1,8): unexpected-input-in-select
-(1,16): eof-in-select
 #document-fragment
 select
 #document
@@ -856,7 +853,6 @@
 <textarea><option>
 #errors
 (1,10): unexpected-input-in-select
-(1,18): eof-in-select
 #document-fragment
 select
 #document
diff --git a/html/testdata/webkit/webkit01.dat b/html/testdata/webkit/webkit01.dat
index f1cd858..2127cfe 100644
--- a/html/testdata/webkit/webkit01.dat
+++ b/html/testdata/webkit/webkit01.dat
@@ -34,6 +34,8 @@
 #errors
 (1,3): eof-in-tag-name
 (1,3): expected-doctype-but-got-eof
+#new-errors
+(1:4) eof-in-tag
 #document
 | <html>
 |   <head>
@@ -133,6 +135,9 @@
 (1,5): expected-doctype-but-got-start-tag
 (1,21): attributes-in-end-tag
 (1,51): attributes-in-end-tag
+#new-errors
+(1:21) end-tag-with-attributes
+(1:51) end-tag-with-attributes
 #document
 | <html>
 |   <head>
@@ -145,6 +150,8 @@
 #errors
 (1,2): expected-closing-tag-but-got-char
 (1,8): expected-doctype-but-got-eof
+#new-errors
+(1:3) invalid-first-character-of-tag-name
 #document
 | <!--  tttt -->
 | <html>
@@ -184,6 +191,10 @@
 (1,16): unexpected-character-after-solidus-in-tag
 (1,24): expected-doctype-but-got-start-tag
 (1,24): expected-closing-tag-but-got-eof
+#new-errors
+(1:8) unexpected-solidus-in-tag
+(1:9) unexpected-solidus-in-tag
+(1:17) unexpected-solidus-in-tag
 #document
 | <html>
 |   <head>
@@ -198,6 +209,8 @@
 (1,3): expected-doctype-but-got-start-tag
 (1,8): expected-tag-name
 (1,12): expected-closing-tag-but-got-eof
+#new-errors
+(1:9) invalid-first-character-of-tag-name
 #document
 | <html>
 |   <head>
@@ -233,6 +246,8 @@
 (1,6): expected-doctype-but-got-start-tag
 (1,21): attributes-in-end-tag
 (1,21): unexpected-end-tag-treated-as
+#new-errors
+(1:21) end-tag-with-attributes
 #document
 | <html>
 |   <head>
@@ -259,6 +274,8 @@
 (1,28): attributes-in-end-tag
 (1,28): unexpected-end-tag-after-body
 (1,28): unexpected-end-tag-treated-as
+#new-errors
+(1:28) end-tag-with-attributes
 #document
 | <html>
 |   <head>
@@ -291,6 +308,20 @@
 | <!--  Hi there  -->
 
 #data
+<html><body></body></html><!-- Comment A --><!-- Comment B --><!-- Comment C --><!-- Comment D --><!-- Comment E -->
+#errors
+(1,6): expected-doctype-but-got-start-tag
+#document
+| <html>
+|   <head>
+|   <body>
+| <!--  Comment A  -->
+| <!--  Comment B  -->
+| <!--  Comment C  -->
+| <!--  Comment D  -->
+| <!--  Comment E  -->
+
+#data
 <html><body></body></html>x<!-- Hi there -->
 #errors
 (1,6): expected-doctype-but-got-start-tag
@@ -385,7 +416,6 @@
 (1,59): unexpected-select-in-select
 (1,93): unexpected-select-in-select
 (1,127): unexpected-select-in-select
-(1,127): expected-closing-tag-but-got-eof
 #document
 | <html>
 |   <head>
@@ -608,6 +638,8 @@
 #errors
 (1,6): invalid-character-in-attribute-name
 (1,15): expected-doctype-but-got-start-tag
+#new-errors
+(1:6) unexpected-character-in-attribute-name
 #document
 | <html>
 |   <head>
@@ -622,6 +654,8 @@
 (1,4): expected-doctype-but-got-start-tag
 (1,23): non-void-element-with-trailing-solidus
 (1,29): end-tag-too-early
+#new-errors
+(1:9-1:24) non-void-html-element-start-tag-with-trailing-solidus
 #document
 | <html>
 |   <head>
diff --git a/html/testdata/webkit/webkit02.dat b/html/testdata/webkit/webkit02.dat
index c596820..791991d 100644
--- a/html/testdata/webkit/webkit02.dat
+++ b/html/testdata/webkit/webkit02.dat
@@ -60,6 +60,8 @@
 #errors
 (1,6): expected-doctype-but-got-start-tag
 (1,67): eof-in-attribute-value-double-quote
+#new-errors
+(1:68) eof-in-tag
 #document
 | <html>
 |   <head>