HTML5 Parser Test Suite
This is a comprehensive test report for the html5rw OCaml HTML5 parser library, validating conformance against the official html5lib-tests test suite. Tests cover: (1) Tree Construction - validating the DOM tree building algorithm; (2) Tokenization - validating the HTML tokenizer state machine; (3) Encoding Detection - validating character encoding sniffing. Each test shows the input, expected output, actual output, and original test data.
8888 tests
✓ 8888 passed
✗ 0 failed
100.0% pass rate
▼ adoption01.dat (Tree Construction)
✓ 18 passed
✗ 0 failed
#1
<a><p></a></p>
▼
Original Test Data (from .dat/.test file)
#data <a><p></a></p> #errors (1,3): expected-doctype-but-got-start-tag (1,10): adoption-agency-1.3 #document | <html> | <head> | <body> | <a> | <p> | <a>
Input (HTML to parse)
<a><p></a></p>
Expected Output
<html>
<head>
<body>
<a>
<p>
<a>
Actual Output
<html>
<head>
<body>
<a>
<p>
<a>
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#2
<a>1<p>2</a>3</p>
▼
Original Test Data (from .dat/.test file)
#data <a>1<p>2</a>3</p> #errors (1,3): expected-doctype-but-got-start-tag (1,12): adoption-agency-1.3 #document | <html> | <head> | <body> | <a> | "1" | <p> | <a> | "2" | "3"
Input (HTML to parse)
<a>1<p>2</a>3</p>
Expected Output
<html>
<head>
<body>
<a>
"1"
<p>
<a>
"2"
"3"
Actual Output
<html>
<head>
<body>
<a>
"1"
<p>
<a>
"2"
"3"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#3
<a>1<button>2</a>3</button>
▼
Original Test Data (from .dat/.test file)
#data <a>1<button>2</a>3</button> #errors (1,3): expected-doctype-but-got-start-tag (1,17): adoption-agency-1.3 #document | <html> | <head> | <body> | <a> | "1" | <button> | <a> | "2" | "3"
Input (HTML to parse)
<a>1<button>2</a>3</button>
Expected Output
<html>
<head>
<body>
<a>
"1"
<button>
<a>
"2"
"3"
Actual Output
<html>
<head>
<body>
<a>
"1"
<button>
<a>
"2"
"3"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#4
<a>1<b>2</a>3</b>
▼
Original Test Data (from .dat/.test file)
#data <a>1<b>2</a>3</b> #errors (1,3): expected-doctype-but-got-start-tag (1,12): adoption-agency-1.3 #document | <html> | <head> | <body> | <a> | "1" | <b> | "2" | <b> | "3"
Input (HTML to parse)
<a>1<b>2</a>3</b>
Expected Output
<html>
<head>
<body>
<a>
"1"
<b>
"2"
<b>
"3"
Actual Output
<html>
<head>
<body>
<a>
"1"
<b>
"2"
<b>
"3"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#5
<a>1<div>2<div>3</a>4</div>5</div>
▼
Original Test Data (from .dat/.test file)
#data <a>1<div>2<div>3</a>4</div>5</div> #errors (1,3): expected-doctype-but-got-start-tag (1,20): adoption-agency-1.3 (1,20): adoption-agency-1.3 #document | <html> | <head> | <body> | <a> | "1" | <div> | <a> | "2" | <div> | <a> | "3" | "4" | "5"
Input (HTML to parse)
<a>1<div>2<div>3</a>4</div>5</div>
Expected Output
<html>
<head>
<body>
<a>
"1"
<div>
<a>
"2"
<div>
<a>
"3"
"4"
"5"
Actual Output
<html>
<head>
<body>
<a>
"1"
<div>
<a>
"2"
<div>
<a>
"3"
"4"
"5"
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#6
<table><a>1<p>2</a>3</p>
▼
Original Test Data (from .dat/.test file)
#data <table><a>1<p>2</a>3</p> #errors (1,7): expected-doctype-but-got-start-tag (1,10): unexpected-start-tag-implies-table-voodoo (1,11): unexpected-character-implies-table-voodoo (1,14): unexpected-start-tag-implies-table-voodoo (1,15): unexpected-character-implies-table-voodoo (1,19): unexpected-end-tag-implies-table-voodoo (1,19): adoption-agency-1.3 (1,20): unexpected-character-implies-table-voodoo (1,24): unexpected-end-tag-implies-table-voodoo (1,24): eof-in-table #document | <html> | <head> | <body> | <a> | "1" | <p> | <a> | "2" | "3" | <table>
Input (HTML to parse)
<table><a>1<p>2</a>3</p>
Expected Output
<html>
<head>
<body>
<a>
"1"
<p>
<a>
"2"
"3"
<table>
Actual Output
<html>
<head>
<body>
<a>
"1"
<p>
<a>
"2"
"3"
<table>
Fragment Context
(none)
Expected Errors
10
Actual Errors
10
#7
<b><b><a><p></a>
▼
Original Test Data (from .dat/.test file)
#data <b><b><a><p></a> #errors (1,3): expected-doctype-but-got-start-tag (1,16): adoption-agency-1.3 (1,16): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <b> | <b> | <a> | <p> | <a>
Input (HTML to parse)
<b><b><a><p></a>
Expected Output
<html>
<head>
<body>
<b>
<b>
<a>
<p>
<a>
Actual Output
<html>
<head>
<body>
<b>
<b>
<a>
<p>
<a>
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#8
<b><a><b><p></a>
▼
Original Test Data (from .dat/.test file)
#data <b><a><b><p></a> #errors (1,3): expected-doctype-but-got-start-tag (1,16): adoption-agency-1.3 (1,16): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <b> | <a> | <b> | <b> | <p> | <a>
Input (HTML to parse)
<b><a><b><p></a>
Expected Output
<html>
<head>
<body>
<b>
<a>
<b>
<b>
<p>
<a>
Actual Output
<html>
<head>
<body>
<b>
<a>
<b>
<b>
<p>
<a>
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#9
<a><b><b><p></a>
▼
Original Test Data (from .dat/.test file)
#data <a><b><b><p></a> #errors (1,3): expected-doctype-but-got-start-tag (1,16): adoption-agency-1.3 (1,16): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <a> | <b> | <b> | <b> | <b> | <p> | <a>
Input (HTML to parse)
<a><b><b><p></a>
Expected Output
<html>
<head>
<body>
<a>
<b>
<b>
<b>
<b>
<p>
<a>
Actual Output
<html>
<head>
<body>
<a>
<b>
<b>
<b>
<b>
<p>
<a>
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#10
<p>1<s id="A">2<b id="B">3</p>4</s>5</b>
▼
Original Test Data (from .dat/.test file)
#data <p>1<s id="A">2<b id="B">3</p>4</s>5</b> #errors (1,3): expected-doctype-but-got-start-tag (1,30): unexpected-end-tag (1,35): adoption-agency-1.3 #document | <html> | <head> | <body> | <p> | "1" | <s> | id="A" | "2" | <b> | id="B" | "3" | <s> | id="A" | <b> | id="B" | "4" | <b> | id="B" | "5"
Input (HTML to parse)
<p>1<s id="A">2<b id="B">3</p>4</s>5</b>
Expected Output
<html>
<head>
<body>
<p>
"1"
<s>
id="A"
"2"
<b>
id="B"
"3"
<s>
id="A"
<b>
id="B"
"4"
<b>
id="B"
"5"
Actual Output
<html>
<head>
<body>
<p>
"1"
<s>
id="A"
"2"
<b>
id="B"
"3"
<s>
id="A"
<b>
id="B"
"4"
<b>
id="B"
"5"
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#11
<table><a>1<td>2</td>3</table>
▼
Original Test Data (from .dat/.test file)
#data <table><a>1<td>2</td>3</table> #errors (1,7): expected-doctype-but-got-start-tag (1,10): unexpected-start-tag-implies-table-voodoo (1,11): unexpected-character-implies-table-voodoo (1,15): unexpected-cell-in-table-body (1,30): unexpected-implied-end-tag-in-table-view #document | <html> | <head> | <body> | <a> | "1" | <a> | "3" | <table> | <tbody> | <tr> | <td> | "2"
Input (HTML to parse)
<table><a>1<td>2</td>3</table>
Expected Output
<html>
<head>
<body>
<a>
"1"
<a>
"3"
<table>
<tbody>
<tr>
<td>
"2"
Actual Output
<html>
<head>
<body>
<a>
"1"
<a>
"3"
<table>
<tbody>
<tr>
<td>
"2"
Fragment Context
(none)
Expected Errors
5
Actual Errors
5
#12
<table>A<td>B</td>C</table>
▼
Original Test Data (from .dat/.test file)
#data <table>A<td>B</td>C</table> #errors (1,7): expected-doctype-but-got-start-tag (1,8): unexpected-character-implies-table-voodoo (1,12): unexpected-cell-in-table-body (1,22): unexpected-character-implies-table-voodoo #document | <html> | <head> | <body> | "AC" | <table> | <tbody> | <tr> | <td> | "B"
Input (HTML to parse)
<table>A<td>B</td>C</table>
Expected Output
<html>
<head>
<body>
"AC"
<table>
<tbody>
<tr>
<td>
"B"
Actual Output
<html>
<head>
<body>
"AC"
<table>
<tbody>
<tr>
<td>
"B"
Fragment Context
(none)
Expected Errors
4
Actual Errors
4
#13
<a><svg><tr><input></a>
▼
Original Test Data (from .dat/.test file)
#data <a><svg><tr><input></a> #errors (1,3): expected-doctype-but-got-start-tag (1,23): unexpected-end-tag (1,23): adoption-agency-1.3 #document | <html> | <head> | <body> | <a> | <svg svg> | <svg tr> | <svg input>
Input (HTML to parse)
<a><svg><tr><input></a>
Expected Output
<html>
<head>
<body>
<a>
<svg svg>
<svg tr>
<svg input>
Actual Output
<html>
<head>
<body>
<a>
<svg svg>
<svg tr>
<svg input>
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#14
<div><a><b><div><div><div><div><div><div><div><div><div><div
▼
Original Test Data (from .dat/.test file)
#data <div><a><b><div><div><div><div><div><div><div><div><div><div></a> #errors (1,5): expected-doctype-but-got-start-tag (1,65): adoption-agency-1.3 (1,65): adoption-agency-1.3 (1,65): adoption-agency-1.3 (1,65): adoption-agency-1.3 (1,65): adoption-agency-1.3 (1,65): adoption-agency-1.3 (1,65): adoption-agency-1.3 (1,65): adoption-agency-1.3 (1,65): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <div> | <a> | <b> | <b> | <div> | <a> | <div> | <a> | <div> | <a> | <div> | <a> | <div> | <a> | <div> | <a> | <div> | <a> | <div> | <a> | <div> | <div>
Input (HTML to parse)
<div><a><b><div><div><div><div><div><div><div><div><div><div></a>
Expected Output
<html>
<head>
<body>
<div>
<a>
<b>
<b>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<div>
Actual Output
<html>
<head>
<body>
<div>
<a>
<b>
<b>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<a>
<div>
<div>
Fragment Context
(none)
Expected Errors
10
Actual Errors
10
#15
<div><a><b><u><i><code><div></a>
▼
Original Test Data (from .dat/.test file)
#data <div><a><b><u><i><code><div></a> #errors (1,5): expected-doctype-but-got-start-tag (1,32): adoption-agency-1.3 (1,32): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <div> | <a> | <b> | <u> | <i> | <code> | <u> | <i> | <code> | <div> | <a>
Input (HTML to parse)
<div><a><b><u><i><code><div></a>
Expected Output
<html>
<head>
<body>
<div>
<a>
<b>
<u>
<i>
<code>
<u>
<i>
<code>
<div>
<a>
Actual Output
<html>
<head>
<body>
<div>
<a>
<b>
<u>
<i>
<code>
<u>
<i>
<code>
<div>
<a>
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#16
<b><b><b><b>x</b></b></b></b>y
▼
Original Test Data (from .dat/.test file)
#data <b><b><b><b>x</b></b></b></b>y #errors (1,3): expected-doctype-but-got-start-tag #document | <html> | <head> | <body> | <b> | <b> | <b> | <b> | "x" | "y"
Input (HTML to parse)
<b><b><b><b>x</b></b></b></b>y
Expected Output
<html>
<head>
<body>
<b>
<b>
<b>
<b>
"x"
"y"
Actual Output
<html>
<head>
<body>
<b>
<b>
<b>
<b>
"x"
"y"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#17
<p><b><b><b><b><p>x
▼
Original Test Data (from .dat/.test file)
#data <p><b><b><b><b><p>x #errors (1,3): expected-doctype-but-got-start-tag (1,18): unexpected-end-tag (1,19): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <p> | <b> | <b> | <b> | <b> | <p> | <b> | <b> | <b> | "x"
Input (HTML to parse)
<p><b><b><b><b><p>x
Expected Output
<html>
<head>
<body>
<p>
<b>
<b>
<b>
<b>
<p>
<b>
<b>
<b>
"x"
Actual Output
<html>
<head>
<body>
<p>
<b>
<b>
<b>
<b>
<p>
<b>
<b>
<b>
"x"
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#18
Fragment (div): <b><em><foo><foob><fooc><aside></b></em>
▼
Original Test Data (from .dat/.test file)
#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>
Input (HTML to parse)
<b><em><foo><foob><fooc><aside></b></em>
Expected Output
<b>
<em>
<foo>
<foob>
<fooc>
<aside>
<b>
Actual Output
<b>
<em>
<foo>
<foob>
<fooc>
<aside>
<b>
Fragment Context
div
Expected Errors
3
Actual Errors
3
▼ adoption02.dat (Tree Construction)
✓ 2 passed
✗ 0 failed
#1
<b>1<i>2<p>3</b>4
▼
Original Test Data (from .dat/.test file)
#data <b>1<i>2<p>3</b>4 #errors (1,3): expected-doctype-but-got-start-tag (1,16): adoption-agency-1.3 (1,17): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <b> | "1" | <i> | "2" | <i> | <p> | <b> | "3" | "4"
Input (HTML to parse)
<b>1<i>2<p>3</b>4
Expected Output
<html>
<head>
<body>
<b>
"1"
<i>
"2"
<i>
<p>
<b>
"3"
"4"
Actual Output
<html>
<head>
<body>
<b>
"1"
<i>
"2"
<i>
<p>
<b>
"3"
"4"
Fragment Context
(none)
Expected Errors
3
Actual Errors
3
#2
<a><div><style></style><address><a>
▼
Original Test Data (from .dat/.test file)
#data <a><div><style></style><address><a> #errors (1,3): expected-doctype-but-got-start-tag (1,35): unexpected-start-tag-implies-end-tag (1,35): adoption-agency-1.3 (1,35): adoption-agency-1.3 (1,35): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <a> | <div> | <a> | <style> | <address> | <a> | <a>
Input (HTML to parse)
<a><div><style></style><address><a>
Expected Output
<html>
<head>
<body>
<a>
<div>
<a>
<style>
<address>
<a>
<a>
Actual Output
<html>
<head>
<body>
<a>
<div>
<a>
<style>
<address>
<a>
<a>
Fragment Context
(none)
Expected Errors
5
Actual Errors
5
▼ blocks.dat (Tree Construction)
✓ 48 passed
✗ 0 failed
#1
<!doctype html><p>foo<address>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<address>bar<p>baz #errors (1,39): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <address> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<address>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<address>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<address>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#2
<!doctype html><address><p>foo</address>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><address><p>foo</address>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <address> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><address><p>foo</address>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<address>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<address>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#3
<!doctype html><p>foo<article>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<article>bar<p>baz #errors (1,39): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <article> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<article>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<article>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<article>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#4
<!doctype html><article><p>foo</article>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><article><p>foo</article>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <article> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><article><p>foo</article>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<article>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<article>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#5
<!doctype html><p>foo<aside>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<aside>bar<p>baz #errors (1,37): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <aside> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<aside>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<aside>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<aside>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#6
<!doctype html><aside><p>foo</aside>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><aside><p>foo</aside>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <aside> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><aside><p>foo</aside>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<aside>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<aside>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#7
<!doctype html><p>foo<blockquote>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<blockquote>bar<p>baz #errors (1,42): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <blockquote> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<blockquote>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<blockquote>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<blockquote>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#8
<!doctype html><blockquote><p>foo</blockquote>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><blockquote><p>foo</blockquote>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <blockquote> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><blockquote><p>foo</blockquote>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<blockquote>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<blockquote>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#9
<!doctype html><p>foo<center>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<center>bar<p>baz #errors (1,38): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <center> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<center>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<center>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<center>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#10
<!doctype html><center><p>foo</center>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><center><p>foo</center>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <center> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><center><p>foo</center>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<center>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<center>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#11
<!doctype html><p>foo<details>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<details>bar<p>baz #errors (1,39): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <details> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<details>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<details>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<details>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#12
<!doctype html><details><p>foo</details>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><details><p>foo</details>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <details> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><details><p>foo</details>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<details>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<details>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#13
<!doctype html><p>foo<dialog>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<dialog>bar<p>baz #errors (1,38): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <dialog> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<dialog>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<dialog>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<dialog>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#14
<!doctype html><dialog><p>foo</dialog>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><dialog><p>foo</dialog>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <dialog> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><dialog><p>foo</dialog>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<dialog>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<dialog>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#15
<!doctype html><p>foo<dir>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<dir>bar<p>baz #errors (1,35): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <dir> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<dir>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<dir>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<dir>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#16
<!doctype html><dir><p>foo</dir>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><dir><p>foo</dir>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <dir> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><dir><p>foo</dir>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<dir>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<dir>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#17
<!doctype html><p>foo<div>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<div>bar<p>baz #errors (1,35): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <div> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<div>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<div>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<div>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#18
<!doctype html><div><p>foo</div>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><div><p>foo</div>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <div> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><div><p>foo</div>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<div>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<div>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#19
<!doctype html><p>foo<dl>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<dl>bar<p>baz #errors (1,34): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <dl> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<dl>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<dl>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<dl>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#20
<!doctype html><dl><p>foo</dl>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><dl><p>foo</dl>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <dl> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><dl><p>foo</dl>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<dl>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<dl>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#21
<!doctype html><p>foo<fieldset>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<fieldset>bar<p>baz #errors (1,40): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <fieldset> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<fieldset>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<fieldset>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<fieldset>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#22
<!doctype html><fieldset><p>foo</fieldset>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><fieldset><p>foo</fieldset>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <fieldset> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><fieldset><p>foo</fieldset>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<fieldset>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<fieldset>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#23
<!doctype html><p>foo<figcaption>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<figcaption>bar<p>baz #errors (1,42): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <figcaption> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<figcaption>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<figcaption>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<figcaption>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#24
<!doctype html><figcaption><p>foo</figcaption>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><figcaption><p>foo</figcaption>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <figcaption> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><figcaption><p>foo</figcaption>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<figcaption>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<figcaption>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#25
<!doctype html><p>foo<figure>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<figure>bar<p>baz #errors (1,38): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <figure> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<figure>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<figure>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<figure>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#26
<!doctype html><figure><p>foo</figure>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><figure><p>foo</figure>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <figure> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><figure><p>foo</figure>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<figure>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<figure>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#27
<!doctype html><p>foo<footer>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<footer>bar<p>baz #errors (1,38): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <footer> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<footer>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<footer>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<footer>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#28
<!doctype html><footer><p>foo</footer>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><footer><p>foo</footer>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <footer> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><footer><p>foo</footer>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<footer>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<footer>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#29
<!doctype html><p>foo<header>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<header>bar<p>baz #errors (1,38): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <header> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<header>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<header>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<header>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#30
<!doctype html><header><p>foo</header>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><header><p>foo</header>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <header> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><header><p>foo</header>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<header>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<header>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#31
<!doctype html><p>foo<hgroup>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<hgroup>bar<p>baz #errors (1,38): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <hgroup> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<hgroup>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<hgroup>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<hgroup>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#32
<!doctype html><hgroup><p>foo</hgroup>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><hgroup><p>foo</hgroup>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <hgroup> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><hgroup><p>foo</hgroup>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<hgroup>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<hgroup>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#33
<!doctype html><p>foo<listing>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<listing>bar<p>baz #errors (1,39): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <listing> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<listing>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<listing>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<listing>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#34
<!doctype html><listing><p>foo</listing>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><listing><p>foo</listing>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <listing> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><listing><p>foo</listing>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<listing>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<listing>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#35
<!doctype html><p>foo<menu>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<menu>bar<p>baz #errors (1,36): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <menu> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<menu>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<menu>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<menu>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#36
<!doctype html><menu><p>foo</menu>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><menu><p>foo</menu>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <menu> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><menu><p>foo</menu>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<menu>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<menu>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#37
<!doctype html><p>foo<nav>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<nav>bar<p>baz #errors (1,35): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <nav> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<nav>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<nav>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<nav>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#38
<!doctype html><nav><p>foo</nav>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><nav><p>foo</nav>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <nav> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><nav><p>foo</nav>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<nav>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<nav>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#39
<!doctype html><p>foo<ol>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<ol>bar<p>baz #errors (1,34): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <ol> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<ol>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<ol>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<ol>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#40
<!doctype html><ol><p>foo</ol>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><ol><p>foo</ol>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <ol> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><ol><p>foo</ol>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<ol>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<ol>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#41
<!doctype html><p>foo<pre>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<pre>bar<p>baz #errors (1,35): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <pre> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<pre>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<pre>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<pre>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#42
<!doctype html><pre><p>foo</pre>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><pre><p>foo</pre>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <pre> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><pre><p>foo</pre>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<pre>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<pre>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#43
<!doctype html><p>foo<section>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<section>bar<p>baz #errors (1,39): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <section> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<section>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<section>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<section>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#44
<!doctype html><section><p>foo</section>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><section><p>foo</section>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <section> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><section><p>foo</section>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<section>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<section>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#45
<!doctype html><p>foo<summary>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<summary>bar<p>baz #errors (1,39): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <summary> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<summary>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<summary>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<summary>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#46
<!doctype html><summary><p>foo</summary>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><summary><p>foo</summary>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <summary> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><summary><p>foo</summary>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<summary>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<summary>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#47
<!doctype html><p>foo<ul>bar<p>baz
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><p>foo<ul>bar<p>baz #errors (1,34): expected-closing-tag-but-got-eof #document | <!DOCTYPE html> | <html> | <head> | <body> | <p> | "foo" | <ul> | "bar" | <p> | "baz"
Input (HTML to parse)
<!doctype html><p>foo<ul>bar<p>baz
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<ul>
"bar"
<p>
"baz"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<p>
"foo"
<ul>
"bar"
<p>
"baz"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#48
<!doctype html><ul><p>foo</ul>bar
▼
Original Test Data (from .dat/.test file)
#data <!doctype html><ul><p>foo</ul>bar #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | <ul> | <p> | "foo" | "bar"
Input (HTML to parse)
<!doctype html><ul><p>foo</ul>bar
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
<ul>
<p>
"foo"
"bar"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
<ul>
<p>
"foo"
"bar"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
▼ comments01.dat (Tree Construction)
✓ 16 passed
✗ 0 failed
#1
FOO<!-- BAR -->BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR -->BAZ #errors (1,3): expected-doctype-but-got-chars #document | <html> | <head> | <body> | "FOO" | <!-- BAR --> | "BAZ"
Input (HTML to parse)
FOO<!-- BAR -->BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR -->
"BAZ"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#2
FOO<!-- BAR --!>BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR --!>BAZ #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> | <body> | "FOO" | <!-- BAR --> | "BAZ"
Input (HTML to parse)
FOO<!-- BAR --!>BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR -->
"BAZ"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#3
FOO<!-- BAR --! >BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR --! >BAZ #errors (1,3): expected-doctype-but-got-chars (1:21) eof-in-comment #new-errors (1:21) eof-in-comment #document | <html> | <head> | <body> | "FOO" | <!-- BAR --! >BAZ -->
Input (HTML to parse)
FOO<!-- BAR --! >BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR --! >BAZ -->
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR --! >BAZ -->
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#4
FOO<!-- BAR --!
>BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR --! >BAZ #errors (1,3): expected-doctype-but-got-chars (2:5) eof-in-comment #new-errors (2:5) eof-in-comment #document | <html> | <head> | <body> | "FOO" | <!-- BAR --! >BAZ -->
Input (HTML to parse)
FOO<!-- BAR --! >BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR --!
>BAZ -->
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR --!
>BAZ -->
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#5
FOO<!-- BAR -- >BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR -- >BAZ #errors (1,3): expected-doctype-but-got-chars (1,21): eof-in-comment #new-errors (1:22) eof-in-comment #document | <html> | <head> | <body> | "FOO" | <!-- BAR -- >BAZ -->
Input (HTML to parse)
FOO<!-- BAR -- >BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- >BAZ -->
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- >BAZ -->
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#6
FOO<!-- BAR -- <QUX> -- MUX -->BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR -- <QUX> -- MUX -->BAZ #errors (1,3): expected-doctype-but-got-chars #document | <html> | <head> | <body> | "FOO" | <!-- BAR -- <QUX> -- MUX --> | "BAZ"
Input (HTML to parse)
FOO<!-- BAR -- <QUX> -- MUX -->BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- <QUX> -- MUX -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- <QUX> -- MUX -->
"BAZ"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#7
FOO<!-- BAR -- <QUX> -- MUX --!>BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR -- <QUX> -- MUX --!>BAZ #errors (1,3): expected-doctype-but-got-chars (1,31): unexpected-bang-after-double-dash-in-comment #new-errors (1:32) incorrectly-closed-comment #document | <html> | <head> | <body> | "FOO" | <!-- BAR -- <QUX> -- MUX --> | "BAZ"
Input (HTML to parse)
FOO<!-- BAR -- <QUX> -- MUX --!>BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- <QUX> -- MUX -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- <QUX> -- MUX -->
"BAZ"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#8
FOO<!-- BAR -- <QUX> -- MUX -- >BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-- BAR -- <QUX> -- MUX -- >BAZ #errors (1,3): expected-doctype-but-got-chars (1,35): eof-in-comment #new-errors (1:36) eof-in-comment #document | <html> | <head> | <body> | "FOO" | <!-- BAR -- <QUX> -- MUX -- >BAZ -->
Input (HTML to parse)
FOO<!-- BAR -- <QUX> -- MUX -- >BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- <QUX> -- MUX -- >BAZ -->
Actual Output
<html>
<head>
<body>
"FOO"
<!-- BAR -- <QUX> -- MUX -- >BAZ -->
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#9
FOO<!---->BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!---->BAZ #errors (1,3): expected-doctype-but-got-chars #document | <html> | <head> | <body> | "FOO" | <!-- --> | "BAZ"
Input (HTML to parse)
FOO<!---->BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- -->
"BAZ"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#10
FOO<!--->BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!--->BAZ #errors (1,3): expected-doctype-but-got-chars (1,9): incorrect-comment #new-errors (1:9) abrupt-closing-of-empty-comment #document | <html> | <head> | <body> | "FOO" | <!-- --> | "BAZ"
Input (HTML to parse)
FOO<!--->BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- -->
"BAZ"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#11
FOO<!-->BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!-->BAZ #errors (1,3): expected-doctype-but-got-chars (1,8): incorrect-comment #new-errors (1:8) abrupt-closing-of-empty-comment #document | <html> | <head> | <body> | "FOO" | <!-- --> | "BAZ"
Input (HTML to parse)
FOO<!-->BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- -->
"BAZ"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#12
<?xml version="1.0">Hi
▼
Original Test Data (from .dat/.test file)
#data <?xml version="1.0">Hi #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> | <head> | <body> | "Hi"
Input (HTML to parse)
<?xml version="1.0">Hi
Expected Output
<!-- ?xml version="1.0" -->
<html>
<head>
<body>
"Hi"
Actual Output
<!-- ?xml version="1.0" -->
<html>
<head>
<body>
"Hi"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#13
<?xml version="1.0">
▼
Original Test Data (from .dat/.test file)
#data <?xml version="1.0"> #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> | <head> | <body>
Input (HTML to parse)
<?xml version="1.0">
Expected Output
<!-- ?xml version="1.0" --> <html> <head> <body>
Actual Output
<!-- ?xml version="1.0" --> <html> <head> <body>
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#14
<?xml version
▼
Original Test Data (from .dat/.test file)
#data <?xml version #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> | <head> | <body>
Input (HTML to parse)
<?xml version
Expected Output
<!-- ?xml version --> <html> <head> <body>
Actual Output
<!-- ?xml version --> <html> <head> <body>
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#15
FOO<!----->BAZ
▼
Original Test Data (from .dat/.test file)
#data FOO<!----->BAZ #errors (1,3): expected-doctype-but-got-chars #document | <html> | <head> | <body> | "FOO" | <!-- - --> | "BAZ"
Input (HTML to parse)
FOO<!----->BAZ
Expected Output
<html>
<head>
<body>
"FOO"
<!-- - -->
"BAZ"
Actual Output
<html>
<head>
<body>
"FOO"
<!-- - -->
"BAZ"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#16
<html><!-- comment --><title>Comment before head</title>
▼
Original Test Data (from .dat/.test file)
#data <html><!-- comment --><title>Comment before head</title> #errors (1,6): expected-doctype-but-got-start-tag #document | <html> | <!-- comment --> | <head> | <title> | "Comment before head" | <body>
Input (HTML to parse)
<html><!-- comment --><title>Comment before head</title>
Expected Output
<html>
<!-- comment -->
<head>
<title>
"Comment before head"
<body>
Actual Output
<html>
<!-- comment -->
<head>
<title>
"Comment before head"
<body>
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
▼ doctype01.dat (Tree Construction)
✓ 37 passed
✗ 0 failed
#1
<!DOCTYPE html>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE html>Hello #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE html>Hello
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#2
<!dOctYpE HtMl>Hello
▼
Original Test Data (from .dat/.test file)
#data <!dOctYpE HtMl>Hello #errors #document | <!DOCTYPE html> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!dOctYpE HtMl>Hello
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
0
Actual Errors
0
#3
<!DOCTYPEhtml>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPEhtml>Hello #errors (1,9): need-space-after-doctype #new-errors (1:10) missing-whitespace-before-doctype-name #document | <!DOCTYPE html> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPEhtml>Hello
Expected Output
<!DOCTYPE html>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE html>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
1
#4
<!DOCTYPE>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE>Hello #errors (1,10): expected-doctype-name-but-got-right-bracket (1,10): unknown-doctype #new-errors (1:10) missing-doctype-name #document | <!DOCTYPE > | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE>Hello
Expected Output
<!DOCTYPE >
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE >
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#5
<!DOCTYPE >Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE >Hello #errors (1,11): expected-doctype-name-but-got-right-bracket (1,11): unknown-doctype #new-errors (1:11) missing-doctype-name #document | <!DOCTYPE > | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE >Hello
Expected Output
<!DOCTYPE >
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE >
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#6
<!DOCTYPE potato>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato>Hello #errors (1,17): unknown-doctype #document | <!DOCTYPE potato> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#7
<!DOCTYPE potato >Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato >Hello #errors (1,18): unknown-doctype #document | <!DOCTYPE potato> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato >Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#8
<!DOCTYPE potato taco>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato taco>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato taco>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#9
<!DOCTYPE potato taco "ddd>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato taco "ddd>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato taco "ddd>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#10
<!DOCTYPE potato sYstEM>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato sYstEM>Hello #errors (1,24): unexpected-char-in-doctype (1,24): unknown-doctype #new-errors (1:24) missing-doctype-system-identifier #document | <!DOCTYPE potato> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato sYstEM>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#11
<!DOCTYPE potato sYstEM >Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato sYstEM >Hello #errors (1,28): unexpected-char-in-doctype (1,28): unknown-doctype #new-errors (1:28) missing-doctype-system-identifier #document | <!DOCTYPE potato> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato sYstEM >Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#12
<!DOCTYPE potato sYstEM ggg>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato sYstEM ggg>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato sYstEM ggg>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#13
<!DOCTYPE potato SYSTEM taco >Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato SYSTEM taco >Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato SYSTEM taco >Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#14
<!DOCTYPE potato SYSTEM 'taco"'>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato SYSTEM 'taco"'>Hello #errors (1,32): unknown-doctype #document | <!DOCTYPE potato "" "taco""> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato SYSTEM 'taco"'>Hello
Expected Output
<!DOCTYPE potato "" "taco"">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato "" "taco"">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#15
<!DOCTYPE potato SYSTEM "taco">Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato SYSTEM "taco">Hello #errors (1,31): unknown-doctype #document | <!DOCTYPE potato "" "taco"> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato SYSTEM "taco">Hello
Expected Output
<!DOCTYPE potato "" "taco">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato "" "taco">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#16
<!DOCTYPE potato SYSTEM "tai'co">Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato SYSTEM "tai'co">Hello #errors (1,33): unknown-doctype #document | <!DOCTYPE potato "" "tai'co"> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato SYSTEM "tai'co">Hello
Expected Output
<!DOCTYPE potato "" "tai'co">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato "" "tai'co">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#17
<!DOCTYPE potato SYSTEMtaco "ddd">Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato SYSTEMtaco "ddd">Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato SYSTEMtaco "ddd">Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#18
<!DOCTYPE potato grass SYSTEM taco>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato grass SYSTEM taco>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato grass SYSTEM taco>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#19
<!DOCTYPE potato pUbLIc>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato pUbLIc>Hello #errors (1,24): unexpected-end-of-doctype (1,24): unknown-doctype #new-errors (1:24) missing-doctype-public-identifier #document | <!DOCTYPE potato> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato pUbLIc>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#20
<!DOCTYPE potato pUbLIc >Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato pUbLIc >Hello #errors (1,25): unexpected-end-of-doctype (1,25): unknown-doctype #new-errors (1:25) missing-doctype-public-identifier #document | <!DOCTYPE potato> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato pUbLIc >Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#21
<!DOCTYPE potato pUbLIcgoof>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato pUbLIcgoof>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato pUbLIcgoof>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#22
<!DOCTYPE potato PUBLIC goof>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato PUBLIC goof>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato PUBLIC goof>Hello
Expected Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#23
<!DOCTYPE potato PUBLIC "go'of">Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato PUBLIC "go'of">Hello #errors (1,32): unknown-doctype #document | <!DOCTYPE potato "go'of" ""> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato PUBLIC "go'of">Hello
Expected Output
<!DOCTYPE potato "go'of" "">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato "go'of" "">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#24
<!DOCTYPE potato PUBLIC 'go'of'>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato PUBLIC 'go'of'>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato PUBLIC 'go'of'>Hello
Expected Output
<!DOCTYPE potato "go" "">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato "go" "">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#25
<!DOCTYPE potato PUBLIC 'go:hh of' >Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato PUBLIC 'go:hh of' >Hello #errors (1,38): unknown-doctype #document | <!DOCTYPE potato "go:hh of" ""> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato PUBLIC 'go:hh of' >Hello
Expected Output
<!DOCTYPE potato "go:hh of" "">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato "go:hh of" "">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#26
<!DOCTYPE potato PUBLIC "W3C-//dfdf" SYSTEM ggg>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE potato PUBLIC "W3C-//dfdf" SYSTEM ggg>Hello #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> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE potato PUBLIC "W3C-//dfdf" SYSTEM ggg>Hello
Expected Output
<!DOCTYPE potato "W3C-//dfdf" "">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE potato "W3C-//dfdf" "">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#27
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http:/
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">Hello #errors (2,43): unknown-doctype #document | <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">Hello
Expected Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#28
<!DOCTYPE ...>Hello
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE ...>Hello #errors (1,14): unknown-doctype #document | <!DOCTYPE ...> | <html> | <head> | <body> | "Hello"
Input (HTML to parse)
<!DOCTYPE ...>Hello
Expected Output
<!DOCTYPE ...>
<html>
<head>
<body>
"Hello"
Actual Output
<!DOCTYPE ...>
<html>
<head>
<body>
"Hello"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#29
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> #errors (2,58): unknown-doctype #document | <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | <html> | <head> | <body>
Input (HTML to parse)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Expected Output
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <body>
Actual Output
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <body>
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#30
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> #errors (2,54): unknown-doctype #document | <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> | <html> | <head> | <body>
Input (HTML to parse)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Expected Output
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html> <head> <body>
Actual Output
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html> <head> <body>
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#31
<!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] "uri" [
<!--
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] "uri" [ <!-- internal declarations --> ]> #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> | <head> | <body> | "]>"
Input (HTML to parse)
<!DOCTYPE root-element [SYSTEM OR PUBLIC FPI] "uri" [ <!-- internal declarations --> ]>
Expected Output
<!DOCTYPE root-element>
<html>
<head>
<body>
"]>"
Actual Output
<!DOCTYPE root-element>
<html>
<head>
<body>
"]>"
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#32
<!DOCTYPE html PUBLIC
"-//WAPFORUM//DTD XHTML Mobile 1.0//
▼
Original Test Data (from .dat/.test file)
#data
<!DOCTYPE html PUBLIC
"-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
#errors
(3,53): unknown-doctype
#document
| <!DOCTYPE html "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
| <html>
| <head>
| <body>
Input (HTML to parse)
<!DOCTYPE html PUBLIC
"-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
Expected Output
<!DOCTYPE html "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> <html> <head> <body>
Actual Output
<!DOCTYPE html "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> <html> <head> <body>
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#33
<!DOCTYPE HTML SYSTEM "http://www.w3.org/DTD/HTML4-strict.dt
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE HTML SYSTEM "http://www.w3.org/DTD/HTML4-strict.dtd"><body><b>Mine!</b></body> #errors (1,63): unknown-doctype #document | <!DOCTYPE html "" "http://www.w3.org/DTD/HTML4-strict.dtd"> | <html> | <head> | <body> | <b> | "Mine!"
Input (HTML to parse)
<!DOCTYPE HTML SYSTEM "http://www.w3.org/DTD/HTML4-strict.dtd"><body><b>Mine!</b></body>
Expected Output
<!DOCTYPE html "" "http://www.w3.org/DTD/HTML4-strict.dtd">
<html>
<head>
<body>
<b>
"Mine!"
Actual Output
<!DOCTYPE html "" "http://www.w3.org/DTD/HTML4-strict.dtd">
<html>
<head>
<body>
<b>
"Mine!"
Fragment Context
(none)
Expected Errors
1
Actual Errors
0
#34
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> #errors (1,50): unexpected-char-in-doctype (1,89): unknown-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> | <head> | <body>
Input (HTML to parse)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
Expected Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Actual Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#35
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'http://www
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'> #errors (1,50): unexpected-char-in-doctype (1,89): unknown-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> | <head> | <body>
Input (HTML to parse)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'>
Expected Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Actual Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Fragment Context
(none)
Expected Errors
2
Actual Errors
1
#36
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN"'http://www.
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'> #errors (1,21): unexpected-char-in-doctype (1,49): unexpected-char-in-doctype (1,88): unknown-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> | <head> | <body>
Input (HTML to parse)
<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01//EN"'http://www.w3.org/TR/html4/strict.dtd'>
Expected Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Actual Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Fragment Context
(none)
Expected Errors
3
Actual Errors
2
#37
<!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.
▼
Original Test Data (from .dat/.test file)
#data <!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'> #errors (1,21): unexpected-char-in-doctype (1,49): unexpected-char-in-doctype (1,88): unknown-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> | <head> | <body>
Input (HTML to parse)
<!DOCTYPE HTML PUBLIC'-//W3C//DTD HTML 4.01//EN''http://www.w3.org/TR/html4/strict.dtd'>
Expected Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Actual Output
<!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <body>
Fragment Context
(none)
Expected Errors
3
Actual Errors
2
▼ domjs-unsafe.dat (Tree Construction)
✓ 49 passed
✗ 0 failed
#1
<svg><![CDATA[foo
bar]]>
▼
Original Test Data (from .dat/.test file)
#data <svg><![CDATA[foo bar]]> #errors (1,5): expected-doctype-but-got-start-tag (2,6): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <svg svg> | "foo bar"
Input (HTML to parse)
<svg><![CDATA[foo bar]]>
Expected Output
<html>
<head>
<body>
<svg svg>
"foo
bar"
Actual Output
<html>
<head>
<body>
<svg svg>
"foo
bar"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#2
<svg><![CDATA[foo
bar]]>
▼
Original Test Data (from .dat/.test file)
#data <svg><![CDATA[foo bar]]> #errors (1,5): expected-doctype-but-got-start-tag (2,6): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <svg svg> | "foo bar"
Input (HTML to parse)
<svg><![CDATA[foo bar]]>
Expected Output
<html>
<head>
<body>
<svg svg>
"foo
bar"
Actual Output
<html>
<head>
<body>
<svg svg>
"foo
bar"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#3
<svg><![CDATA[foo
bar]]>
▼
Original Test Data (from .dat/.test file)
#data <svg><![CDATA[foo bar]]> #errors (1,5): expected-doctype-but-got-start-tag (2,6): expected-closing-tag-but-got-eof #document | <html> | <head> | <body> | <svg svg> | "foo bar"
Input (HTML to parse)
<svg><![CDATA[foo bar]]>
Expected Output
<html>
<head>
<body>
<svg svg>
"foo
bar"
Actual Output
<html>
<head>
<body>
<svg svg>
"foo
bar"
Fragment Context
(none)
Expected Errors
2
Actual Errors
2
#4
<script>a='