diff options
Diffstat (limited to 'tests/html5lib-tests')
86 files changed, 84817 insertions, 0 deletions
diff --git a/tests/html5lib-tests/.gitattributes b/tests/html5lib-tests/.gitattributes new file mode 100644 index 0000000..897831b --- /dev/null +++ b/tests/html5lib-tests/.gitattributes @@ -0,0 +1,2 @@ +*.dat -text diff +*.test -text diff diff --git a/tests/html5lib-tests/AUTHORS.rst b/tests/html5lib-tests/AUTHORS.rst new file mode 100644 index 0000000..4a7de17 --- /dev/null +++ b/tests/html5lib-tests/AUTHORS.rst @@ -0,0 +1,34 @@ +Credits +======= + +The ``html5lib`` test data is maintained by: + +- James Graham +- Geoffrey Sneddon + + +Contributors +------------ + +- Adam Barth +- Andi Sidwell +- Anne van Kesteren +- David Flanagan +- Edward Z. Yang +- Geoffrey Sneddon +- Henri Sivonen +- Ian Hickson +- Jacques Distler +- James Graham +- Lachlan Hunt +- lantis63 +- Mark Pilgrim +- Mats Palmgren +- Ms2ger +- Nolan Waite +- Philip Taylor +- Rafael Weinstein +- Ryan King +- Sam Ruby +- Simon Pieters +- Thomas Broyer diff --git a/tests/html5lib-tests/LICENSE b/tests/html5lib-tests/LICENSE new file mode 100644 index 0000000..8812371 --- /dev/null +++ b/tests/html5lib-tests/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2006-2013 James Graham, Geoffrey Sneddon, and +other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/tests/html5lib-tests/encoding/chardet/test_big5.txt b/tests/html5lib-tests/encoding/chardet/test_big5.txt new file mode 100644 index 0000000..91074c9 --- /dev/null +++ b/tests/html5lib-tests/encoding/chardet/test_big5.txt @@ -0,0 +1,51 @@ +老子《道德經》 第一~四十章 + +老子道經 + +第一章 + +道可道,非常道。名可名,非常名。無,名天地之始﹔有,名萬物之母。 +故常無,欲以觀其妙;常有,欲以觀其徼。此兩者,同出而異名,同謂之 +玄。玄之又玄,眾妙之門。 + +第二章 + +天下皆知美之為美,斯惡矣﹔皆知善之為善,斯不善矣。故有無相生,難 +易相成,長短相形,高下相傾,音聲相和,前後相隨。是以聖人處「無為 +」之事,行「不言」之教。萬物作焉而不辭,生而不有,為而不恃,功成 +而弗居。夫唯弗居,是以不去。 + +第三章 + +不尚賢,使民不爭﹔不貴難得之貨,使民不為盜﹔不見可欲,使民心不亂 +。是以「聖人」之治,虛其心,實其腹,弱其志,強其骨。常使民無知無 +欲。使夫智者不敢為也。為「無為」,則無不治。 + +第四章 + +「道」沖,而用之或不盈。淵兮,似萬物之宗﹔挫其銳,解其紛,和其光 +,同其塵﹔湛兮似或存。吾不知誰之子?象帝之先。 + +第五章 + +天地不仁,以萬物為芻狗﹔聖人不仁,以百姓為芻狗。天地之間,其猶橐 +蘥乎?虛而不屈,動而愈出。多言數窮,不如守中。 + +第六章 + +谷神不死,是謂玄牝。玄牝之門,是謂天地根。綿綿若存,用之不勤。 + +第七章 + +天長地久。天地所以能長且久者,以其不自生,故能長久。是以聖人後其 +身而身先,外其身而身存。非以其無私邪?故能成其私。 + +第八章 + +上善若水。水善利萬物而不爭。處眾人之所惡,故幾於道。居善地,心善 +淵,與善仁,言善信,政善治,事善能,動善時。夫唯不爭,故無尤。 + +第九章 + +持而盈之,不如其已﹔揣而銳之,不可長保。金玉滿堂,莫之能守﹔富貴 +而驕,自遺其咎。功遂身退,天之道。 diff --git a/tests/html5lib-tests/encoding/scripted/tests1.dat b/tests/html5lib-tests/encoding/scripted/tests1.dat new file mode 100644 index 0000000..04d18bb --- /dev/null +++ b/tests/html5lib-tests/encoding/scripted/tests1.dat @@ -0,0 +1,5 @@ +#data +<!DOCTYPE HTML> +<script>document.write('<meta charset="ISO-8859-' + '2">')</script> +#encoding +iso-8859-2 diff --git a/tests/html5lib-tests/encoding/test-yahoo-jp.dat b/tests/html5lib-tests/encoding/test-yahoo-jp.dat new file mode 100644 index 0000000..3629278 --- /dev/null +++ b/tests/html5lib-tests/encoding/test-yahoo-jp.dat @@ -0,0 +1,10 @@ +#data +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> +<!--鈭--> +<title>Yahoo! JAPAN</title> +<meta name="description" content="交祆憭抒柴潦踴怒萸扎璊蝝U芥潦胯瑯扼喋乓潦嫘∼潦怒喋乓瑯扼喋啜芥80隞乩柴萸潦嫘撅芥桃瘣颯鞊怒押扎颯具喋詻喋格艾整"> +<style type="text/css" media="all"> +#encoding +euc-jp diff --git a/tests/html5lib-tests/encoding/tests1.dat b/tests/html5lib-tests/encoding/tests1.dat new file mode 100644 index 0000000..7aa9586 --- /dev/null +++ b/tests/html5lib-tests/encoding/tests1.dat @@ -0,0 +1,388 @@ +#data +<!DOCTYPE HTML> +<!-- (control test - for the other tests to work, this should pass - you may have to set your defaults appropriately) --> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta charset="ISO-8859-1"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta charset='iso8859-2'> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta charset=iso8859-2> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta +charset=iso8859-2> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<metacharset=iso8859-2> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Type" content="text/html; charset=iso8859-2"> +<!-- XXX this is a tough one, not sure how to do this one, unless we explictly do content= processing --> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta content="text/html; charset=iso8859-2" http-equiv="Content-Type"> +<!-- XXX this is a tough one, not sure how to do this one, unless we explictly do content= processing --> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Type" content=text/html; charset=iso8859-2> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Type content="text/html; charset=iso8859-2"> +#encoding +windows-1252 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Type " content="text/html; charset=iso8859-2"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta content="text/html; charset=iso8859-2" http-equiv="Content-Type "> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Type>" content="text/html; charset=iso8859-2"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta content="text/html; charset=iso8859-2" http-equiv="Content-Type>"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Style-Type" content="text/html; charset=iso8859-2"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta content="text/html; charset=iso8859-2" http-equiv="Content-Style-Type"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta name="Content-Style-Type" content="text/html; charset=iso8859-2"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta content="text/html; charset=iso8859-2" name="Content-Style-Type"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta content="text/html; charset=iso8859-2"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta content=" text/html; charset = iso8859-2 "> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta content=" +text/html; charset=iso8859-2 +" http-equiv="Content-Type"> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta charset=" +iso8859-2 +"> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta charset= +iso8859-2 +> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta charset="iso8859-2> +<p>"</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta charset=iso8859-2"> +<p>"</p> +#encoding +windows-1252 + +#data +<!DOCTYPE HTML> +<meta " charset=iso8859-2> +<p>"</p> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta test" charset=iso8859-2> +<p>"</p> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta test=" charset=iso8859-2> +<p>"</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta test="' charset=iso8859-2> +<p>"'</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta test='" charset=iso8859-2> +<p>'"</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta test="" charset=iso8859-2> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta test=x" charset=iso8859-2> +<p>"</p> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<head></head><p title="x> +<meta test=x" charset=iso8859-2> +<p>"</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<head></head><p title="x> +<meta test=x charset=iso8859-2> +<p>"</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<head></head><p title="x> +<meta charset=iso8859-2> +<p>"</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<head></head><p title="x>"> +<meta charset=iso8859-2> +<p>"</p> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta charset="ISO-8859-1"> +<meta charset="iso8859-2"> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta charset="iso8859-2"> +<meta charset="ISO-8859-1"> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<!--<meta charset="ISO-8859-1">--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<!--<meta charset="iso8859-2">--> +<meta charset="ISO-8859-1"> +#encoding +Windows-1252 + +#data +嚜<!DOCTYPE HTML> +<!-- Starts with UTF-8 BOM --> +#encoding +UTF-8 + +#data +嚜<!DOCTYPE HTML> +<meta charset="ISO-8859-1"> +<!-- Starts with UTF-8 BOM --> +#encoding +UTF-8 + +#data +<!-- 511 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 512 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 1024 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 1025 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 2048 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 2049 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 4096 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 4097 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 8192 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- 8193 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 + +#data +<!-- multi-script test --> +<script>alert('step 1 of 3 ("")')</script> +<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> +<script>alert('step 2 of 3 ("")')</script> +<meta charset="iso8859-2"> +<script>alert('step 3 of 3 ("")')</script> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<script>document.write('<meta charset="iso8859-2">')</script> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<script type="text/plain"><meta charset="iso8859-2"></script> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<style type="text/plain"><meta charset="iso8859-2"></style> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<p><meta charset="iso8859-2"></p> +#encoding +iso-8859-2 + +#data +<!DOCTYPE HTML> +<meta charset="bogus"> +<meta charset="iso8859-2"> +#encoding +iso-8859-2 diff --git a/tests/html5lib-tests/encoding/tests2.dat b/tests/html5lib-tests/encoding/tests2.dat new file mode 100644 index 0000000..d31b387 --- /dev/null +++ b/tests/html5lib-tests/encoding/tests2.dat @@ -0,0 +1,115 @@ +#data +<meta +#encoding +windows-1252 + +#data +< +#encoding +windows-1252 + +#data +<! +#encoding +windows-1252 + +#data +<meta charset = " +#encoding +windows-1252 + +#data +<meta charset=euc-jp +#encoding +windows-1252 + +#data +<meta <meta charset='euc-jp'> +#encoding +euc-jp + +#data +<meta charset = 'euc-jp'> +#encoding +euc-jp + +#data +<!-- --> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +#encoding +utf-8 + +#data +<!-- --> +<meta http-equiv="Content-Type" content="text/html; charset=utf +#encoding +windows-1252 + +#data +<meta http-equiv="Content-Type<meta charset="utf-8"> +#encoding +windows-1252 + +#data +<meta http-equiv="Content-Type" content="text/html; charset='utf-8'"> +#encoding +utf-8 + +#data +<meta http-equiv="Content-Type" content="text/html; charset='utf-8"> +#encoding +windows-1252 + +#data +<meta +#encoding +windows-1252 + +#data +<meta charset = +#encoding +windows-1252 + +#data +<meta charset= utf-8 +> +#encoding +utf-8 + +#data +<meta content = "text/html; +#encoding +windows-1252 + +#data +<meta charset="UTF-16"> +#encoding +utf-8 + +#data +<meta charset="UTF-16LE"> +#encoding +utf-8 + +#data +<meta charset="UTF-16BE"> +#encoding +utf-8 + +#data +<html a=簽> +<meta charset="utf-8"> +#encoding +utf-8 + +#data +<html 簽> +<meta charset="utf-8"> +#encoding +utf-8 + +#data +<html>簽 +<meta charset="utf-8"> +#encoding +utf-8 diff --git a/tests/html5lib-tests/serializer/core.test b/tests/html5lib-tests/serializer/core.test new file mode 100644 index 0000000..c0b4222 --- /dev/null +++ b/tests/html5lib-tests/serializer/core.test @@ -0,0 +1,125 @@ +{"tests": [
+
+{"description": "proper attribute value escaping",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "test \"with\" ""}]]],
+ "expected": ["<span title='test \"with\" &quot;'>"]
+},
+
+{"description": "proper attribute value non-quoting",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo"}]]],
+ "expected": ["<span title=foo>"],
+ "xhtml": ["<span title=\"foo\">"]
+},
+
+{"description": "proper attribute value non-quoting (with <)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo<bar"}]]],
+ "expected": ["<span title=foo<bar>"],
+ "xhtml": ["<span title=\"foo<bar\">"]
+},
+
+{"description": "proper attribute value quoting (with =)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo=bar"}]]],
+ "expected": ["<span title=\"foo=bar\">"]
+},
+
+{"description": "proper attribute value quoting (with >)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo>bar"}]]],
+ "expected": ["<span title=\"foo>bar\">"]
+},
+
+{"description": "proper attribute value quoting (with \")",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\"bar"}]]],
+ "expected": ["<span title='foo\"bar'>"]
+},
+
+{"description": "proper attribute value quoting (with ')",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo'bar"}]]],
+ "expected": ["<span title=\"foo'bar\">"]
+},
+
+{"description": "proper attribute value quoting (with both \" and ')",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo'bar\"baz"}]]],
+ "expected": ["<span title=\"foo'bar"baz\">"]
+},
+
+{"description": "proper attribute value quoting (with space)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo bar"}]]],
+ "expected": ["<span title=\"foo bar\">"]
+},
+
+{"description": "proper attribute value quoting (with tab)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\tbar"}]]],
+ "expected": ["<span title=\"foo\tbar\">"]
+},
+
+{"description": "proper attribute value quoting (with LF)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\nbar"}]]],
+ "expected": ["<span title=\"foo\nbar\">"]
+},
+
+{"description": "proper attribute value quoting (with CR)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\rbar"}]]],
+ "expected": ["<span title=\"foo\rbar\">"]
+},
+
+{"description": "proper attribute value non-quoting (with linetab)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\u000Bbar"}]]],
+ "expected": ["<span title=foo\u000Bbar>"],
+ "xhtml": ["<span title=\"foo\u000Bbar\">"]
+},
+
+{"description": "proper attribute value quoting (with form feed)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "foo\u000Cbar"}]]],
+ "expected": ["<span title=\"foo\u000Cbar\">"]
+},
+
+{"description": "void element (as EmptyTag token)",
+ "input": [["EmptyTag", "img", {}]],
+ "expected": ["<img>"],
+ "xhtml": ["<img />"]
+},
+
+{"description": "void element (as StartTag token)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "img", {}]],
+ "expected": ["<img>"],
+ "xhtml": ["<img />"]
+},
+
+{"description": "doctype in error",
+ "input": [["Doctype", "foo"]],
+ "expected": ["<!DOCTYPE foo>"]
+},
+
+{"description": "character data",
+ "options": {"encoding":"utf-8"},
+ "input": [["Characters", "a<b>c&d"]],
+ "expected": ["a<b>c&d"]
+},
+
+{"description": "rcdata",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "script", {}], ["Characters", "a<b>c&d"]],
+ "expected": ["<script>a<b>c&d"],
+ "xhtml": ["<script>a<b>c&d"]
+},
+
+{"description": "doctype",
+ "input": [["Doctype", "HTML"]],
+ "expected": ["<!DOCTYPE HTML>"]
+},
+
+{"description": "HTML 4.01 DOCTYPE",
+ "input": [["Doctype", "HTML", "-//W3C//DTD HTML 4.01//EN", "http://www.w3.org/TR/html4/strict.dtd"]],
+ "expected": ["<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"]
+},
+
+{"description": "HTML 4.01 DOCTYPE without system identifer",
+ "input": [["Doctype", "HTML", "-//W3C//DTD HTML 4.01//EN"]],
+ "expected": ["<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">"]
+},
+
+{"description": "IBM DOCTYPE without public identifer",
+ "input": [["Doctype", "html", "", "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"]],
+ "expected": ["<!DOCTYPE html SYSTEM \"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd\">"]
+}
+
+]}
diff --git a/tests/html5lib-tests/serializer/injectmeta.test b/tests/html5lib-tests/serializer/injectmeta.test new file mode 100644 index 0000000..feaaa44 --- /dev/null +++ b/tests/html5lib-tests/serializer/injectmeta.test @@ -0,0 +1,66 @@ +{"tests": [
+
+{"description": "no encoding",
+ "options": {"inject_meta_charset": true},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": [""],
+ "xhtml": ["<head></head>"]
+},
+
+{"description": "empytag head",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta charset=utf-8>"],
+ "xhtml": ["<head><meta charset=\"utf-8\" /></head>"]
+},
+
+{"description": "head w/title",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["StartTag", "http://www.w3.org/1999/xhtml","title",{}], ["Characters", "foo"],["EndTag", "http://www.w3.org/1999/xhtml", "title"], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta charset=utf-8><title>foo</title>"],
+ "xhtml": ["<head><meta charset=\"utf-8\" /><title>foo</title></head>"]
+},
+
+{"description": "head w/meta-charset",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EmptyTag","meta",[{"namespace": null, "name": "charset", "value": "ascii"}]], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta charset=utf-8>"],
+ "xhtml": ["<head><meta charset=\"utf-8\" /></head>"]
+},
+
+{"description": "head w/ two meta-charset",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EmptyTag","meta",[{"namespace": null, "name": "charset", "value": "ascii"}]], ["EmptyTag","meta",[{"namespace": null, "name": "charset", "value": "ascii"}]], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta charset=utf-8><meta charset=utf-8>", "<head><meta charset=utf-8><meta charset=ascii>"],
+ "xhtml": ["<head><meta charset=\"utf-8\" /><meta charset=\"utf-8\" /></head>", "<head><meta charset=\"utf-8\" /><meta charset=\"ascii\" /></head>"]
+},
+
+{"description": "head w/robots",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EmptyTag","meta",[{"namespace": null, "name": "name", "value": "robots"},{"namespace": null, "name": "content", "value": "noindex"}]], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta charset=utf-8><meta content=noindex name=robots>"],
+ "xhtml": ["<head><meta charset=\"utf-8\" /><meta content=\"noindex\" name=\"robots\" /></head>"]
+},
+
+{"description": "head w/robots & charset",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EmptyTag","meta",[{"namespace": null, "name": "name", "value": "robots"},{"namespace": null, "name": "content", "value": "noindex"}]], ["EmptyTag","meta",[{"namespace": null, "name": "charset", "value": "ascii"}]], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta content=noindex name=robots><meta charset=utf-8>"],
+ "xhtml": ["<head><meta content=\"noindex\" name=\"robots\" /><meta charset=\"utf-8\" /></head>"]
+},
+
+{"description": "head w/ charset in http-equiv content-type",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EmptyTag","meta",[{"namespace": null, "name": "http-equiv", "value": "content-type"}, {"namespace": null, "name": "content", "value": "text/html; charset=ascii"}]], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta content=\"text/html; charset=utf-8\" http-equiv=content-type>"],
+ "xhtml": ["<head><meta content=\"text/html; charset=utf-8\" http-equiv=\"content-type\" /></head>"]
+},
+
+{"description": "head w/robots & charset in http-equiv content-type",
+ "options": {"inject_meta_charset": true, "encoding":"utf-8"},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EmptyTag","meta",[{"namespace": null, "name": "name", "value": "robots"},{"namespace": null, "name": "content", "value": "noindex"}]], ["EmptyTag","meta",[{"namespace": null, "name": "http-equiv", "value": "content-type"}, {"namespace": null, "name": "content", "value": "text/html; charset=ascii"}]], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": ["<meta content=noindex name=robots><meta content=\"text/html; charset=utf-8\" http-equiv=content-type>"],
+ "xhtml": ["<head><meta content=\"noindex\" name=\"robots\" /><meta content=\"text/html; charset=utf-8\" http-equiv=\"content-type\" /></head>"]
+}
+
+]}
diff --git a/tests/html5lib-tests/serializer/optionaltags.test b/tests/html5lib-tests/serializer/optionaltags.test new file mode 100644 index 0000000..80a5edf --- /dev/null +++ b/tests/html5lib-tests/serializer/optionaltags.test @@ -0,0 +1,965 @@ +{"tests": [
+
+{"description": "html start-tag followed by text, with attributes",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "html", [{"namespace": null, "name": "lang", "value": "en"}]], ["Characters", "foo"]],
+ "expected": ["<html lang=en>foo"]
+},
+
+
+
+{"description": "html start-tag followed by comment",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "html", {}], ["Comment", "foo"]],
+ "expected": ["<html><!--foo-->"]
+},
+
+{"description": "html start-tag followed by space character",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "html", {}], ["Characters", " foo"]],
+ "expected": ["<html> foo"]
+},
+
+{"description": "html start-tag followed by text",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "html", {}], ["Characters", "foo"]],
+ "expected": ["foo"]
+},
+
+{"description": "html start-tag followed by start-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "html", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "html start-tag followed by end-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "html", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "html start-tag at EOF (shouldn't ever happen?!)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "html", {}]],
+ "expected": [""]
+},
+
+
+
+{"description": "html end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "html"], ["Comment", "foo"]],
+ "expected": ["</html><!--foo-->"]
+},
+
+{"description": "html end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "html"], ["Characters", " foo"]],
+ "expected": ["</html> foo"]
+},
+
+{"description": "html end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "html"], ["Characters", "foo"]],
+ "expected": ["foo"]
+},
+
+{"description": "html end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "html"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "html end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "html"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "html end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "html"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "head start-tag followed by comment",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["Comment", "foo"]],
+ "expected": ["<head><!--foo-->"]
+},
+
+{"description": "head start-tag followed by space character",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["Characters", " foo"]],
+ "expected": ["<head> foo"]
+},
+
+{"description": "head start-tag followed by text",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["Characters", "foo"]],
+ "expected": ["<head>foo"]
+},
+
+{"description": "head start-tag followed by start-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "head start-tag followed by end-tag (shouldn't ever happen?!)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["<head></foo>", "</foo>"]
+},
+
+{"description": "empty head element",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": [""]
+},
+
+{"description": "head start-tag followed by empty-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}], ["EmptyTag", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "head start-tag at EOF (shouldn't ever happen?!)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "head", {}]],
+ "expected": ["<head>", ""]
+},
+
+
+
+{"description": "head end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "head"], ["Comment", "foo"]],
+ "expected": ["</head><!--foo-->"]
+},
+
+{"description": "head end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "head"], ["Characters", " foo"]],
+ "expected": ["</head> foo"]
+},
+
+{"description": "head end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "head"], ["Characters", "foo"]],
+ "expected": ["foo"]
+},
+
+{"description": "head end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "head"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "head end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "head"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "head end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "head"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "body start-tag followed by comment",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "body", {}], ["Comment", "foo"]],
+ "expected": ["<body><!--foo-->"]
+},
+
+{"description": "body start-tag followed by space character",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "body", {}], ["Characters", " foo"]],
+ "expected": ["<body> foo"]
+},
+
+{"description": "body start-tag followed by text",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "body", {}], ["Characters", "foo"]],
+ "expected": ["foo"]
+},
+
+{"description": "body start-tag followed by start-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "body", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "body start-tag followed by end-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "body", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "body start-tag at EOF (shouldn't ever happen?!)",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "body", {}]],
+ "expected": [""]
+},
+
+
+
+{"description": "body end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "body"], ["Comment", "foo"]],
+ "expected": ["</body><!--foo-->"]
+},
+
+{"description": "body end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "body"], ["Characters", " foo"]],
+ "expected": ["</body> foo"]
+},
+
+{"description": "body end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "body"], ["Characters", "foo"]],
+ "expected": ["foo"]
+},
+
+{"description": "body end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "body"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "body end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "body"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "body end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "body"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "li end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "li"], ["Comment", "foo"]],
+ "expected": ["</li><!--foo-->"]
+},
+
+{"description": "li end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "li"], ["Characters", " foo"]],
+ "expected": ["</li> foo"]
+},
+
+{"description": "li end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "li"], ["Characters", "foo"]],
+ "expected": ["</li>foo"]
+},
+
+{"description": "li end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "li"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</li><foo>"]
+},
+
+{"description": "li end-tag followed by li start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "li"], ["StartTag", "http://www.w3.org/1999/xhtml", "li", {}]],
+ "expected": ["<li>"]
+},
+
+{"description": "li end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "li"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "li end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "li"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "dt end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"], ["Comment", "foo"]],
+ "expected": ["</dt><!--foo-->"]
+},
+
+{"description": "dt end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"], ["Characters", " foo"]],
+ "expected": ["</dt> foo"]
+},
+
+{"description": "dt end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"], ["Characters", "foo"]],
+ "expected": ["</dt>foo"]
+},
+
+{"description": "dt end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</dt><foo>"]
+},
+
+{"description": "dt end-tag followed by dt start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"], ["StartTag", "http://www.w3.org/1999/xhtml", "dt", {}]],
+ "expected": ["<dt>"]
+},
+
+{"description": "dt end-tag followed by dd start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"], ["StartTag", "http://www.w3.org/1999/xhtml", "dd", {}]],
+ "expected": ["<dd>"]
+},
+
+{"description": "dt end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</dt></foo>"]
+},
+
+{"description": "dt end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dt"]],
+ "expected": ["</dt>"]
+},
+
+
+
+
+{"description": "dd end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"], ["Comment", "foo"]],
+ "expected": ["</dd><!--foo-->"]
+},
+
+{"description": "dd end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"], ["Characters", " foo"]],
+ "expected": ["</dd> foo"]
+},
+
+{"description": "dd end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"], ["Characters", "foo"]],
+ "expected": ["</dd>foo"]
+},
+
+{"description": "dd end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</dd><foo>"]
+},
+
+{"description": "dd end-tag followed by dd start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"], ["StartTag", "http://www.w3.org/1999/xhtml", "dd", {}]],
+ "expected": ["<dd>"]
+},
+
+{"description": "dd end-tag followed by dt start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"], ["StartTag", "http://www.w3.org/1999/xhtml", "dt", {}]],
+ "expected": ["<dt>"]
+},
+
+{"description": "dd end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "dd end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "dd"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "p end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["Comment", "foo"]],
+ "expected": ["</p><!--foo-->"]
+},
+
+{"description": "p end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["Characters", " foo"]],
+ "expected": ["</p> foo"]
+},
+
+{"description": "p end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["Characters", "foo"]],
+ "expected": ["</p>foo"]
+},
+
+{"description": "p end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</p><foo>"]
+},
+
+{"description": "p end-tag followed by address start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "address", {}]],
+ "expected": ["<address>"]
+},
+
+{"description": "p end-tag followed by article start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "article", {}]],
+ "expected": ["<article>"]
+},
+
+{"description": "p end-tag followed by aside start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "aside", {}]],
+ "expected": ["<aside>"]
+},
+
+{"description": "p end-tag followed by blockquote start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "blockquote", {}]],
+ "expected": ["<blockquote>"]
+},
+
+{"description": "p end-tag followed by datagrid start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "datagrid", {}]],
+ "expected": ["<datagrid>"]
+},
+
+{"description": "p end-tag followed by dialog start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "dialog", {}]],
+ "expected": ["<dialog>"]
+},
+
+{"description": "p end-tag followed by dir start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "dir", {}]],
+ "expected": ["<dir>"]
+},
+
+{"description": "p end-tag followed by div start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "div", {}]],
+ "expected": ["<div>"]
+},
+
+{"description": "p end-tag followed by dl start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "dl", {}]],
+ "expected": ["<dl>"]
+},
+
+{"description": "p end-tag followed by fieldset start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "fieldset", {}]],
+ "expected": ["<fieldset>"]
+},
+
+{"description": "p end-tag followed by footer start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "footer", {}]],
+ "expected": ["<footer>"]
+},
+
+{"description": "p end-tag followed by form start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "form", {}]],
+ "expected": ["<form>"]
+},
+
+{"description": "p end-tag followed by h1 start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "h1", {}]],
+ "expected": ["<h1>"]
+},
+
+{"description": "p end-tag followed by h2 start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "h2", {}]],
+ "expected": ["<h2>"]
+},
+
+{"description": "p end-tag followed by h3 start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "h3", {}]],
+ "expected": ["<h3>"]
+},
+
+{"description": "p end-tag followed by h4 start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "h4", {}]],
+ "expected": ["<h4>"]
+},
+
+{"description": "p end-tag followed by h5 start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "h5", {}]],
+ "expected": ["<h5>"]
+},
+
+{"description": "p end-tag followed by h6 start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "h6", {}]],
+ "expected": ["<h6>"]
+},
+
+{"description": "p end-tag followed by header start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "header", {}]],
+ "expected": ["<header>"]
+},
+
+{"description": "p end-tag followed by hr empty-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["EmptyTag", "hr", {}]],
+ "expected": ["<hr>"]
+},
+
+{"description": "p end-tag followed by menu start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "menu", {}]],
+ "expected": ["<menu>"]
+},
+
+{"description": "p end-tag followed by nav start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "nav", {}]],
+ "expected": ["<nav>"]
+},
+
+{"description": "p end-tag followed by ol start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "ol", {}]],
+ "expected": ["<ol>"]
+},
+
+{"description": "p end-tag followed by p start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "p", {}]],
+ "expected": ["<p>"]
+},
+
+{"description": "p end-tag followed by pre start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "pre", {}]],
+ "expected": ["<pre>"]
+},
+
+{"description": "p end-tag followed by section start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "section", {}]],
+ "expected": ["<section>"]
+},
+
+{"description": "p end-tag followed by table start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "table", {}]],
+ "expected": ["<table>"]
+},
+
+{"description": "p end-tag followed by ul start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["StartTag", "http://www.w3.org/1999/xhtml", "ul", {}]],
+ "expected": ["<ul>"]
+},
+
+{"description": "p end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "p end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "p"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "optgroup end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "optgroup"], ["Comment", "foo"]],
+ "expected": ["</optgroup><!--foo-->"]
+},
+
+{"description": "optgroup end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "optgroup"], ["Characters", " foo"]],
+ "expected": ["</optgroup> foo"]
+},
+
+{"description": "optgroup end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "optgroup"], ["Characters", "foo"]],
+ "expected": ["</optgroup>foo"]
+},
+
+{"description": "optgroup end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "optgroup"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</optgroup><foo>"]
+},
+
+{"description": "optgroup end-tag followed by optgroup start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "optgroup"], ["StartTag", "http://www.w3.org/1999/xhtml", "optgroup", {}]],
+ "expected": ["<optgroup>"]
+},
+
+{"description": "optgroup end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "optgroup"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "optgroup end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "optgroup"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "option end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"], ["Comment", "foo"]],
+ "expected": ["</option><!--foo-->"]
+},
+
+{"description": "option end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"], ["Characters", " foo"]],
+ "expected": ["</option> foo"]
+},
+
+{"description": "option end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"], ["Characters", "foo"]],
+ "expected": ["</option>foo"]
+},
+
+{"description": "option end-tag followed by optgroup start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"], ["StartTag", "http://www.w3.org/1999/xhtml", "optgroup", {}]],
+ "expected": ["<optgroup>"]
+},
+
+{"description": "option end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</option><foo>"]
+},
+
+{"description": "option end-tag followed by option start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"], ["StartTag", "http://www.w3.org/1999/xhtml", "option", {}]],
+ "expected": ["<option>"]
+},
+
+{"description": "option end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "option end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "option"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "colgroup start-tag followed by comment",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}], ["Comment", "foo"]],
+ "expected": ["<colgroup><!--foo-->"]
+},
+
+{"description": "colgroup start-tag followed by space character",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}], ["Characters", " foo"]],
+ "expected": ["<colgroup> foo"]
+},
+
+{"description": "colgroup start-tag followed by text",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}], ["Characters", "foo"]],
+ "expected": ["<colgroup>foo"]
+},
+
+{"description": "colgroup start-tag followed by start-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<colgroup><foo>"]
+},
+
+{"description": "first colgroup in a table with a col child",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "table", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}], ["EmptyTag", "col", {}]],
+ "expected": ["<table><col>"]
+},
+
+{"description": "colgroup with a col child, following another colgroup",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "colgroup"], ["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "col", {}]],
+ "expected": ["</colgroup><col>", "<colgroup><col>"]
+},
+
+{"description": "colgroup start-tag followed by end-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["<colgroup></foo>"]
+},
+
+{"description": "colgroup start-tag at EOF",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "colgroup", {}]],
+ "expected": ["<colgroup>"]
+},
+
+
+
+{"description": "colgroup end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "colgroup"], ["Comment", "foo"]],
+ "expected": ["</colgroup><!--foo-->"]
+},
+
+{"description": "colgroup end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "colgroup"], ["Characters", " foo"]],
+ "expected": ["</colgroup> foo"]
+},
+
+{"description": "colgroup end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "colgroup"], ["Characters", "foo"]],
+ "expected": ["foo"]
+},
+
+{"description": "colgroup end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "colgroup"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<foo>"]
+},
+
+{"description": "colgroup end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "colgroup"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "colgroup end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "colgroup"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "thead end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["Comment", "foo"]],
+ "expected": ["</thead><!--foo-->"]
+},
+
+{"description": "thead end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["Characters", " foo"]],
+ "expected": ["</thead> foo"]
+},
+
+{"description": "thead end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["Characters", "foo"]],
+ "expected": ["</thead>foo"]
+},
+
+{"description": "thead end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</thead><foo>"]
+},
+
+{"description": "thead end-tag followed by tbody start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}]],
+ "expected": ["<tbody>"]
+},
+
+{"description": "thead end-tag followed by tfoot start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["StartTag", "http://www.w3.org/1999/xhtml", "tfoot", {}]],
+ "expected": ["<tfoot>"]
+},
+
+{"description": "thead end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</thead></foo>"]
+},
+
+{"description": "thead end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"]],
+ "expected": ["</thead>"]
+},
+
+
+
+
+{"description": "tbody start-tag followed by comment",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["Comment", "foo"]],
+ "expected": ["<tbody><!--foo-->"]
+},
+
+{"description": "tbody start-tag followed by space character",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["Characters", " foo"]],
+ "expected": ["<tbody> foo"]
+},
+
+{"description": "tbody start-tag followed by text",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["Characters", "foo"]],
+ "expected": ["<tbody>foo"]
+},
+
+{"description": "tbody start-tag followed by start-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["<tbody><foo>"]
+},
+
+{"description": "first tbody in a table with a tr child",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "table", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "tr", {}]],
+ "expected": ["<table><tr>"]
+},
+
+{"description": "tbody with a tr child, following another tbody",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "tr", {}]],
+ "expected": ["<tbody><tr>", "</tbody><tr>"]
+},
+
+{"description": "tbody with a tr child, following a thead",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "thead"], ["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "tr", {}]],
+ "expected": ["<tbody><tr>", "</thead><tr>"]
+},
+
+{"description": "tbody with a tr child, following a tfoot",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"], ["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["StartTag", "http://www.w3.org/1999/xhtml", "tr", {}]],
+ "expected": ["<tbody><tr>", "</tfoot><tr>"]
+},
+
+{"description": "tbody start-tag followed by end-tag",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["<tbody></foo>"]
+},
+
+{"description": "tbody start-tag at EOF",
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}]],
+ "expected": ["<tbody>"]
+},
+
+
+
+{"description": "tbody end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["Comment", "foo"]],
+ "expected": ["</tbody><!--foo-->"]
+},
+
+{"description": "tbody end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["Characters", " foo"]],
+ "expected": ["</tbody> foo"]
+},
+
+{"description": "tbody end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["Characters", "foo"]],
+ "expected": ["</tbody>foo"]
+},
+
+{"description": "tbody end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</tbody><foo>"]
+},
+
+{"description": "tbody end-tag followed by tbody start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}]],
+ "expected": ["<tbody>", "</tbody>"]
+},
+
+{"description": "tbody end-tag followed by tfoot start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["StartTag", "http://www.w3.org/1999/xhtml", "tfoot", {}]],
+ "expected": ["<tfoot>"]
+},
+
+{"description": "tbody end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "tbody end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tbody"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "tfoot end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"], ["Comment", "foo"]],
+ "expected": ["</tfoot><!--foo-->"]
+},
+
+{"description": "tfoot end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"], ["Characters", " foo"]],
+ "expected": ["</tfoot> foo"]
+},
+
+{"description": "tfoot end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"], ["Characters", "foo"]],
+ "expected": ["</tfoot>foo"]
+},
+
+{"description": "tfoot end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</tfoot><foo>"]
+},
+
+{"description": "tfoot end-tag followed by tbody start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"], ["StartTag", "http://www.w3.org/1999/xhtml", "tbody", {}]],
+ "expected": ["<tbody>", "</tfoot>"]
+},
+
+{"description": "tfoot end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "tfoot end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tfoot"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "tr end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tr"], ["Comment", "foo"]],
+ "expected": ["</tr><!--foo-->"]
+},
+
+{"description": "tr end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tr"], ["Characters", " foo"]],
+ "expected": ["</tr> foo"]
+},
+
+{"description": "tr end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tr"], ["Characters", "foo"]],
+ "expected": ["</tr>foo"]
+},
+
+{"description": "tr end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tr"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</tr><foo>"]
+},
+
+{"description": "tr end-tag followed by tr start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tr"], ["StartTag", "http://www.w3.org/1999/xhtml", "tr", {}]],
+ "expected": ["<tr>", "</tr>"]
+},
+
+{"description": "tr end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tr"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "tr end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "tr"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "td end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"], ["Comment", "foo"]],
+ "expected": ["</td><!--foo-->"]
+},
+
+{"description": "td end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"], ["Characters", " foo"]],
+ "expected": ["</td> foo"]
+},
+
+{"description": "td end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"], ["Characters", "foo"]],
+ "expected": ["</td>foo"]
+},
+
+{"description": "td end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</td><foo>"]
+},
+
+{"description": "td end-tag followed by td start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"], ["StartTag", "http://www.w3.org/1999/xhtml", "td", {}]],
+ "expected": ["<td>", "</td>"]
+},
+
+{"description": "td end-tag followed by th start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"], ["StartTag", "http://www.w3.org/1999/xhtml", "th", {}]],
+ "expected": ["<th>", "</td>"]
+},
+
+{"description": "td end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "td end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "td"]],
+ "expected": [""]
+},
+
+
+
+
+{"description": "th end-tag followed by comment",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "th"], ["Comment", "foo"]],
+ "expected": ["</th><!--foo-->"]
+},
+
+{"description": "th end-tag followed by space character",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "th"], ["Characters", " foo"]],
+ "expected": ["</th> foo"]
+},
+
+{"description": "th end-tag followed by text",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "th"], ["Characters", "foo"]],
+ "expected": ["</th>foo"]
+},
+
+{"description": "th end-tag followed by start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "th"], ["StartTag", "http://www.w3.org/1999/xhtml", "foo", {}]],
+ "expected": ["</th><foo>"]
+},
+
+{"description": "th end-tag followed by th start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "th"], ["StartTag", "http://www.w3.org/1999/xhtml", "th", {}]],
+ "expected": ["<th>", "</th>"]
+},
+
+{"description": "th end-tag followed by td start-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "th"], ["StartTag", "http://www.w3.org/1999/xhtml", "td", {}]],
+ "expected": ["<td>", "</th>"]
+},
+
+{"description": "th end-tag followed by end-tag",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml", "th"], ["EndTag", "http://www.w3.org/1999/xhtml", "foo"]],
+ "expected": ["</foo>"]
+},
+
+{"description": "th end-tag at EOF",
+ "input": [["EndTag", "http://www.w3.org/1999/xhtml" , "th"]],
+ "expected": [""]
+}
+
+]}
diff --git a/tests/html5lib-tests/serializer/options.test b/tests/html5lib-tests/serializer/options.test new file mode 100644 index 0000000..6f342dd --- /dev/null +++ b/tests/html5lib-tests/serializer/options.test @@ -0,0 +1,60 @@ +{"tests":[ + +{"description": "quote_char=\"'\"", + "options": {"quote_char": "'"}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "span", [{"namespace": null, "name": "title", "value": "test 'with' quote_char"}]]], + "expected": ["<span title='test 'with' quote_char'>"] +}, + +{"description": "quote_attr_values=true", + "options": {"quote_attr_values": true}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "button", [{"namespace": null, "name": "disabled", "value" :"disabled"}]]], + "expected": ["<button disabled>"], + "xhtml": ["<button disabled=\"disabled\">"] +}, + +{"description": "quote_attr_values=true with irrelevant", + "options": {"quote_attr_values": true}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "div", [{"namespace": null, "name": "irrelevant", "value" :"irrelevant"}]]], + "expected": ["<div irrelevant>"], + "xhtml": ["<div irrelevant=\"irrelevant\">"] +}, + +{"description": "use_trailing_solidus=true with void element", + "options": {"use_trailing_solidus": true}, + "input": [["EmptyTag", "img", {}]], + "expected": ["<img />"] +}, + +{"description": "use_trailing_solidus=true with non-void element", + "options": {"use_trailing_solidus": true}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "div", {}]], + "expected": ["<div>"] +}, + +{"description": "minimize_boolean_attributes=false", + "options": {"minimize_boolean_attributes": false}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "div", [{"namespace": null, "name": "irrelevant", "value" :"irrelevant"}]]], + "expected": ["<div irrelevant=irrelevant>"], + "xhtml": ["<div irrelevant=\"irrelevant\">"] +}, + +{"description": "minimize_boolean_attributes=false with empty value", + "options": {"minimize_boolean_attributes": false}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "div", [{"namespace": null, "name": "irrelevant", "value" :""}]]], + "expected": ["<div irrelevant=\"\">"] +}, + +{"description": "escape less than signs in attribute values", + "options": {"escape_lt_in_attrs": true}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "a", [{"namespace": null, "name": "title", "value": "a<b>c&d"}]]], + "expected": ["<a title=\"a<b>c&d\">"] +}, + +{"description": "rcdata", + "options": {"escape_rcdata": true}, + "input": [["StartTag", "http://www.w3.org/1999/xhtml", "script", {}], ["Characters", "a<b>c&d"]], + "expected": ["<script>a<b>c&d"] +} + +]} diff --git a/tests/html5lib-tests/serializer/whitespace.test b/tests/html5lib-tests/serializer/whitespace.test new file mode 100644 index 0000000..e5d050d --- /dev/null +++ b/tests/html5lib-tests/serializer/whitespace.test @@ -0,0 +1,51 @@ +{"tests": [
+
+{"description": "bare text with leading spaces",
+ "options": {"strip_whitespace": true},
+ "input": [["Characters", "\t\r\n\u000C foo"]],
+ "expected": [" foo"]
+},
+
+{"description": "bare text with trailing spaces",
+ "options": {"strip_whitespace": true},
+ "input": [["Characters", "foo \t\r\n\u000C"]],
+ "expected": ["foo "]
+},
+
+{"description": "bare text with inner spaces",
+ "options": {"strip_whitespace": true},
+ "input": [["Characters", "foo \t\r\n\u000C bar"]],
+ "expected": ["foo bar"]
+},
+
+{"description": "text within <pre>",
+ "options": {"strip_whitespace": true},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "pre", {}], ["Characters", "\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C"], ["EndTag", "http://www.w3.org/1999/xhtml", "pre"]],
+ "expected": ["<pre>\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C</pre>"]
+},
+
+{"description": "text within <pre>, with inner markup",
+ "options": {"strip_whitespace": true},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "pre", {}], ["Characters", "\t\r\n\u000C fo"], ["StartTag", "http://www.w3.org/1999/xhtml", "span", {}], ["Characters", "o \t\r\n\u000C b"], ["EndTag", "http://www.w3.org/1999/xhtml", "span"], ["Characters", "ar \t\r\n\u000C"], ["EndTag", "http://www.w3.org/1999/xhtml", "pre"]],
+ "expected": ["<pre>\t\r\n\u000C fo<span>o \t\r\n\u000C b</span>ar \t\r\n\u000C</pre>"]
+},
+
+{"description": "text within <textarea>",
+ "options": {"strip_whitespace": true},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "textarea", {}], ["Characters", "\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C"], ["EndTag", "http://www.w3.org/1999/xhtml", "textarea"]],
+ "expected": ["<textarea>\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C</textarea>"]
+},
+
+{"description": "text within <script>",
+ "options": {"strip_whitespace": true},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "script", {}], ["Characters", "\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C"], ["EndTag", "http://www.w3.org/1999/xhtml", "script"]],
+ "expected": ["<script>\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C</script>"]
+},
+
+{"description": "text within <style>",
+ "options": {"strip_whitespace": true},
+ "input": [["StartTag", "http://www.w3.org/1999/xhtml", "style", {}], ["Characters", "\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C"], ["EndTag", "http://www.w3.org/1999/xhtml", "style"]],
+ "expected": ["<style>\t\r\n\u000C foo \t\r\n\u000C bar \t\r\n\u000C</style>"]
+}
+
+]}
\ No newline at end of file diff --git a/tests/html5lib-tests/tokenizer/README.md b/tests/html5lib-tests/tokenizer/README.md new file mode 100644 index 0000000..66b81e8 --- /dev/null +++ b/tests/html5lib-tests/tokenizer/README.md @@ -0,0 +1,107 @@ +Tokenizer tests +=============== + +The test format is [JSON](http://www.json.org/). This has the advantage +that the syntax allows backward-compatible extensions to the tests and +the disadvantage that it is relatively verbose. + +Basic Structure +--------------- + + {"tests":[ + {"description": "Test description", + "input": "input_string", + "output": [expected_output_tokens], + "initialStates": [initial_states], + "lastStartTag": last_start_tag, + "errors": [parse_errors] + } + ]} + +Multiple tests per file are allowed simply by adding more objects to the +"tests" list. + +Each parse error is an object that contains error `code` and one-based +error location indices: `line` and `col`. + +`description`, `input` and `output` are always present. The other values +are optional. + +### Test set-up + +`test.input` is a string containing the characters to pass to the +tokenizer. Specifically, it represents the characters of the **input +stream**, and so implementations are expected to perform the processing +described in the spec's **Preprocessing the input stream** section +before feeding the result to the tokenizer. + +If `test.doubleEscaped` is present and `true`, then `test.input` is not +quite as described above. Instead, it must first be subjected to another +round of unescaping (i.e., in addition to any unescaping involved in the +JSON import), and the result of *that* represents the characters of the +input stream. Currently, the only unescaping required by this option is +to convert each sequence of the form \\uHHHH (where H is a hex digit) +into the corresponding Unicode code point. (Note that this option also +affects the interpretation of `test.output`.) + +`test.initialStates` is a list of strings, each being the name of a +tokenizer state which can be one of the following: + +- `Data state` +- `PLAINTEXT state` +- `RCDATA state` +- `RAWTEXT state` +- `Script data state` +- `CDATA section state` + + The test should be run once for each string, using it +to set the tokenizer's initial state for that run. If +`test.initialStates` is omitted, it defaults to `["Data state"]`. + +`test.lastStartTag` is a lowercase string that should be used as "the +tag name of the last start tag to have been emitted from this +tokenizer", referenced in the spec's definition of **appropriate end tag +token**. If it is omitted, it is treated as if "no start tag has been +emitted from this tokenizer". + +### Test results + +`test.output` is a list of tokens, ordered with the first produced by +the tokenizer the first (leftmost) in the list. The list must mach the +**complete** list of tokens that the tokenizer should produce. Valid +tokens are: + + ["DOCTYPE",name,public_id,system_id,correctness] + ["StartTag",name,{attributes}*, true*] + ["StartTag",name,{attributes}] + ["EndTag",name] + ["Comment",data] + ["Character",data] + +`public_id` and `system_id` are either strings or `null`. `correctness` +is either `true` or `false`; `true` corresponds to the force-quirks flag +being false, and vice-versa. + +When the self-closing flag is set, the `StartTag` array has `true` as +its fourth entry. When the flag is not set, the array has only three +entries for backwards compatibility. + +All adjacent character tokens are coalesced into a single +`["Character", data]` token. + +If `test.doubleEscaped` is present and `true`, then every string within +`test.output` must be further unescaped (as described above) before +comparing with the tokenizer's output. + +xmlViolation tests +------------------ + +`tokenizer/xmlViolation.test` differs from the above in a couple of +ways: + +- The name of the single member of the top-level JSON object is + "xmlViolationTests" instead of "tests". +- Each test's expected output assumes that implementation is applying + the tweaks given in the spec's "Coercing an HTML DOM into an + infoset" section. + diff --git a/tests/html5lib-tests/tokenizer/contentModelFlags.test b/tests/html5lib-tests/tokenizer/contentModelFlags.test new file mode 100644 index 0000000..9cf7c8b --- /dev/null +++ b/tests/html5lib-tests/tokenizer/contentModelFlags.test @@ -0,0 +1,93 @@ +{"tests": [ + +{"description":"PLAINTEXT content model flag", +"initialStates":["PLAINTEXT state"], +"lastStartTag":"plaintext", +"input":"<head>&body;", +"output":[["Character", "<head>&body;"]]}, + +{"description":"PLAINTEXT with seeming close tag", +"initialStates":["PLAINTEXT state"], +"lastStartTag":"plaintext", +"input":"</plaintext>&body;", +"output":[["Character", "</plaintext>&body;"]]}, + +{"description":"End tag closing RCDATA or RAWTEXT", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo</xmp>", +"output":[["Character", "foo"], ["EndTag", "xmp"]]}, + +{"description":"End tag closing RCDATA or RAWTEXT (case-insensitivity)", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo</xMp>", +"output":[["Character", "foo"], ["EndTag", "xmp"]]}, + +{"description":"End tag closing RCDATA or RAWTEXT (ending with space)", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo</xmp ", +"output":[["Character", "foo"]], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 10 } +]}, + +{"description":"End tag closing RCDATA or RAWTEXT (ending with EOF)", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo</xmp", +"output":[["Character", "foo</xmp"]]}, + +{"description":"End tag closing RCDATA or RAWTEXT (ending with slash)", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo</xmp/", +"output":[["Character", "foo"]], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 10 } +]}, + +{"description":"End tag not closing RCDATA or RAWTEXT (ending with left-angle-bracket)", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo</xmp<", +"output":[["Character", "foo</xmp<"]]}, + +{"description":"End tag with incorrect name in RCDATA or RAWTEXT", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"</foo>bar</xmp>", +"output":[["Character", "</foo>bar"], ["EndTag", "xmp"]]}, + +{"description":"Partial end tags leading straight into partial end tags", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"</xmp</xmp</xmp>", +"output":[["Character", "</xmp</xmp"], ["EndTag", "xmp"]]}, + +{"description":"End tag with incorrect name in RCDATA or RAWTEXT (starting like correct name)", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"</foo>bar</xmpaar>", +"output":[["Character", "</foo>bar</xmpaar>"]]}, + +{"description":"End tag closing RCDATA or RAWTEXT, switching back to PCDATA", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo</xmp></baz>", +"output":[["Character", "foo"], ["EndTag", "xmp"], ["EndTag", "baz"]]}, + +{"description":"RAWTEXT w/ something looking like an entity", +"initialStates":["RAWTEXT state"], +"lastStartTag":"xmp", +"input":"&foo;", +"output":[["Character", "&foo;"]]}, + +{"description":"RCDATA w/ an entity", +"initialStates":["RCDATA state"], +"lastStartTag":"textarea", +"input":"<", +"output":[["Character", "<"]]} + +]} diff --git a/tests/html5lib-tests/tokenizer/domjs.test b/tests/html5lib-tests/tokenizer/domjs.test new file mode 100644 index 0000000..1373b27 --- /dev/null +++ b/tests/html5lib-tests/tokenizer/domjs.test @@ -0,0 +1,330 @@ +{ + "tests": [ + { + "description":"CR in bogus comment state", + "input":"<?\u000d", + "output":[["Comment", "?\u000a"]], + "errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } + ] + }, + { + "description":"CRLF in bogus comment state", + "input":"<?\u000d\u000a", + "output":[["Comment", "?\u000a"]], + "errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } + ] + }, + { + "description":"CRLFLF in bogus comment state", + "input":"<?\u000d\u000a\u000a", + "output":[["Comment", "?\u000a\u000a"]], + "errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } + ] + }, + { + "description":"Raw NUL replacement", + "doubleEscaped":true, + "initialStates":["RCDATA state", "RAWTEXT state", "PLAINTEXT state", "Script data state"], + "input":"\\u0000", + "output":[["Character", "\\uFFFD"]], + "errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 1 } + ] + }, + { + "description":"NUL in CDATA section", + "doubleEscaped":true, + "initialStates":["CDATA section state"], + "input":"\\u0000]]>", + "output":[["Character", "\\u0000"]] + }, + { + "description":"NUL in script HTML comment", + "doubleEscaped":true, + "initialStates":["Script data state"], + "input":"<!--test\\u0000--><!--test-\\u0000--><!--test--\\u0000-->", + "output":[["Character", "<!--test\\uFFFD--><!--test-\\uFFFD--><!--test--\\uFFFD-->"]], + "errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 9 }, + { "code": "unexpected-null-character", "line": 1, "col": 22 }, + { "code": "unexpected-null-character", "line": 1, "col": 36 } + ] + }, + { + "description":"NUL in script HTML comment - double escaped", + "doubleEscaped":true, + "initialStates":["Script data state"], + "input":"<!--<script>\\u0000--><!--<script>-\\u0000--><!--<script>--\\u0000-->", + "output":[["Character", "<!--<script>\\uFFFD--><!--<script>-\\uFFFD--><!--<script>--\\uFFFD-->"]], + "errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 13 }, + { "code": "unexpected-null-character", "line": 1, "col": 30 }, + { "code": "unexpected-null-character", "line": 1, "col": 48 } + ] + }, + { + "description":"EOF in script HTML comment", + "initialStates":["Script data state"], + "input":"<!--test", + "output":[["Character", "<!--test"]], + "errors":[ + { "code": "eof-in-script-html-comment-like-text", "line": 1, "col": 9 } + ] + }, + { + "description":"EOF in script HTML comment after dash", + "initialStates":["Script data state"], + "input":"<!--test-", + "output":[["Character", "<!--test-"]], + "errors":[ + { "code": "eof-in-script-html-comment-like-text", "line": 1, "col": 10 } + ] + }, + { + "description":"EOF in script HTML comment after dash dash", + "initialStates":["Script data state"], + "input":"<!--test--", + "output":[["Character", "<!--test--"]], + "errors":[ + { "code": "eof-in-script-html-comment-like-text", "line": 1, "col": 11 } + ] + }, + { + "description":"EOF in script HTML comment double escaped after dash", + "initialStates":["Script data state"], + "input":"<!--<script>-", + "output":[["Character", "<!--<script>-"]], + "errors":[ + { "code": "eof-in-script-html-comment-like-text", "line": 1, "col": 14 } + ] + }, + { + "description":"EOF in script HTML comment double escaped after dash dash", + "initialStates":["Script data state"], + "input":"<!--<script>--", + "output":[["Character", "<!--<script>--"]], + "errors":[ + { "code": "eof-in-script-html-comment-like-text", "line": 1, "col": 15 } + ] + }, + { + "description":"EOF in script HTML comment - double escaped", + "initialStates":["Script data state"], + "input":"<!--<script>", + "output":[["Character", "<!--<script>"]], + "errors":[ + { "code": "eof-in-script-html-comment-like-text", "line": 1, "col": 13 } + ] + }, + { + "description":"Dash in script HTML comment", + "initialStates":["Script data state"], + "input":"<!-- - -->", + "output":[["Character", "<!-- - -->"]] + }, + { + "description":"Dash less-than in script HTML comment", + "initialStates":["Script data state"], + "input":"<!-- -< -->", + "output":[["Character", "<!-- -< -->"]] + }, + { + "description":"Dash at end of script HTML comment", + "initialStates":["Script data state"], + "input":"<!--test--->", + "output":[["Character", "<!--test--->"]] + }, + { + "description":"</script> in script HTML comment", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!-- </script> --></script>", + "output":[["Character", "<!-- "], ["EndTag", "script"], ["Character", " -->"], ["EndTag", "script"]] + }, + { + "description":"</script> in script HTML comment - double escaped", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!-- <script></script> --></script>", + "output":[["Character", "<!-- <script></script> -->"], ["EndTag", "script"]] + }, + { + "description":"</script> in script HTML comment - double escaped with nested <script>", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!-- <script><script></script></script> --></script>", + "output":[["Character", "<!-- <script><script></script>"], ["EndTag", "script"], ["Character", " -->"], ["EndTag", "script"]] + }, + { + "description":"</script> in script HTML comment - double escaped with abrupt end", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!-- <script>--></script> --></script>", + "output":[["Character", "<!-- <script>-->"], ["EndTag", "script"], ["Character", " -->"], ["EndTag", "script"]] + }, + { + "description":"Incomplete start tag in script HTML comment double escaped", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!--<scrip></script>-->", + "output":[["Character", "<!--<scrip>"], ["EndTag", "script"], ["Character", "-->"]] + }, + { + "description":"Unclosed start tag in script HTML comment double escaped", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!--<script</script>-->", + "output":[["Character", "<!--<script"], ["EndTag", "script"], ["Character", "-->"]] + }, + { + "description":"Incomplete end tag in script HTML comment double escaped", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!--<script></scrip>-->", + "output":[["Character", "<!--<script></scrip>-->"]] + }, + { + "description":"Unclosed end tag in script HTML comment double escaped", + "initialStates":["Script data state"], + "lastStartTag":"script", + "input":"<!--<script></script-->", + "output":[["Character", "<!--<script></script-->"]] + }, + { + "description":"leading U+FEFF must pass through", + "initialStates":["Data state", "RCDATA state", "RAWTEXT state", "Script data state"], + "doubleEscaped":true, + "input":"\\uFEFFfoo\\uFEFFbar", + "output":[["Character", "\\uFEFFfoo\\uFEFFbar"]] + }, + { + "description":"Non BMP-charref in RCDATA", + "initialStates":["RCDATA state"], + "input":"≂̸", + "output":[["Character", "\u2242\u0338"]] + }, + { + "description":"Bad charref in RCDATA", + "initialStates":["RCDATA state"], + "input":"&NotEqualTild;", + "output":[["Character", "&NotEqualTild;"]], + "errors":[ + { "code": "unknown-named-character-reference", "line": 1, "col": 14 } + ] + }, + { + "description":"lowercase endtags", + "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], + "lastStartTag":"xmp", + "input":"</XMP>", + "output":[["EndTag","xmp"]] + }, + { + "description":"bad endtag (space before name)", + "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], + "lastStartTag":"xmp", + "input":"</ XMP>", + "output":[["Character","</ XMP>"]] + }, + { + "description":"bad endtag (not matching last start tag)", + "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], + "lastStartTag":"xmp", + "input":"</xm>", + "output":[["Character","</xm>"]] + }, + { + "description":"bad endtag (without close bracket)", + "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], + "lastStartTag":"xmp", + "input":"</xm ", + "output":[["Character","</xm "]] + }, + { + "description":"bad endtag (trailing solidus)", + "initialStates":["RCDATA state", "RAWTEXT state", "Script data state"], + "lastStartTag":"xmp", + "input":"</xm/", + "output":[["Character","</xm/"]] + }, + { + "description":"Non BMP-charref in attribute", + "input":"<p id=\"≂̸\">", + "output":[["StartTag", "p", {"id":"\u2242\u0338"}]] + }, + { + "description":"--!NUL in comment ", + "doubleEscaped":true, + "input":"<!----!\\u0000-->", + "output":[["Comment", "--!\\uFFFD"]], + "errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 8 } + ] + }, + { + "description":"space EOF after doctype ", + "input":"<!DOCTYPE html ", + "output":[["DOCTYPE", "html", null, null , false]], + "errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 16 } + ] + }, + { + "description":"CDATA in HTML content", + "input":"<![CDATA[foo]]>", + "output":[["Comment", "[CDATA[foo]]"]], + "errors":[ + { "code": "cdata-in-html-content", "line": 1, "col": 9 } + ] + }, + { + "description":"CDATA content", + "input":"foo ]]>", + "initialStates":["CDATA section state"], + "output":[["Character", "foo "]] + }, + { + "description":"CDATA followed by HTML content", + "input":"foo ]]> ", + "initialStates":["CDATA section state"], + "output":[["Character", "foo  "]] + }, + { + "description":"CDATA with extra bracket", + "input":"foo]]]>", + "initialStates":["CDATA section state"], + "output":[["Character", "foo]"]] + }, + { + "description":"CDATA without end marker", + "input":"foo", + "initialStates":["CDATA section state"], + "output":[["Character", "foo"]], + "errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 4 } + ] + }, + { + "description":"CDATA with single bracket ending", + "input":"foo]", + "initialStates":["CDATA section state"], + "output":[["Character", "foo]"]], + "errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 5 } + ] + }, + { + "description":"CDATA with two brackets ending", + "input":"foo]]", + "initialStates":["CDATA section state"], + "output":[["Character", "foo]]"]], + "errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 6 } + ] + } + + ] +} diff --git a/tests/html5lib-tests/tokenizer/entities.test b/tests/html5lib-tests/tokenizer/entities.test new file mode 100644 index 0000000..a6469cd --- /dev/null +++ b/tests/html5lib-tests/tokenizer/entities.test @@ -0,0 +1,542 @@ +{"tests": [ + +{"description": "Undefined named entity in a double-quoted attribute value ending in semicolon and whose name starts with a known entity name.", +"input":"<h a=\"¬i;\">", +"output": [["StartTag", "h", {"a": "¬i;"}]]}, + +{"description": "Entity name requiring semicolon instead followed by the equals sign in a double-quoted attribute value.", +"input":"<h a=\"&lang=\">", +"output": [["StartTag", "h", {"a": "&lang="}]]}, + +{"description": "Valid entity name followed by the equals sign in a double-quoted attribute value.", +"input":"<h a=\"¬=\">", +"output": [["StartTag", "h", {"a": "¬="}]]}, + +{"description": "Undefined named entity in a single-quoted attribute value ending in semicolon and whose name starts with a known entity name.", +"input":"<h a='¬i;'>", +"output": [["StartTag", "h", {"a": "¬i;"}]]}, + +{"description": "Entity name requiring semicolon instead followed by the equals sign in a single-quoted attribute value.", +"input":"<h a='&lang='>", +"output": [["StartTag", "h", {"a": "&lang="}]]}, + +{"description": "Valid entity name followed by the equals sign in a single-quoted attribute value.", +"input":"<h a='¬='>", +"output": [["StartTag", "h", {"a": "¬="}]]}, + +{"description": "Undefined named entity in an unquoted attribute value ending in semicolon and whose name starts with a known entity name.", +"input":"<h a=¬i;>", +"output": [["StartTag", "h", {"a": "¬i;"}]]}, + +{"description": "Entity name requiring semicolon instead followed by the equals sign in an unquoted attribute value.", +"input":"<h a=&lang=>", +"output": [["StartTag", "h", {"a": "&lang="}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 11 } +]}, + +{"description": "Valid entity name followed by the equals sign in an unquoted attribute value.", +"input":"<h a=¬=>", +"output": [["StartTag", "h", {"a": "¬="}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 10 } +]}, + +{"description": "Ambiguous ampersand.", +"input":"&rrrraannddom;", +"output": [["Character", "&rrrraannddom;"]], +"errors":[ + { "code": "unknown-named-character-reference", "line": 1, "col": 14 } +]}, + +{"description": "Semicolonless named entity 'not' followed by 'i;' in body", +"input":"¬i;", +"output": [["Character", "\u00ACi;"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } +]}, + +{"description": "Very long undefined named entity in body", +"input":"&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp;", +"output": [["Character", "&ammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp;"]], +"errors":[ + { "code": "unknown-named-character-reference", "line": 1, "col": 950 } +]}, + +{"description": "CR as numeric entity", +"input":"
", +"output": [["Character", "\r"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 7 } +]}, + +{"description": "CR as hexadecimal numeric entity", +"input":"
", +"output": [["Character", "\r"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 EURO SIGN numeric entity.", +"input":"€", +"output": [["Character", "\u20AC"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", +"input":"", +"output": [["Character", "\u0081"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SINGLE LOW-9 QUOTATION MARK numeric entity.", +"input":"‚", +"output": [["Character", "\u201A"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN SMALL LETTER F WITH HOOK numeric entity.", +"input":"ƒ", +"output": [["Character", "\u0192"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 DOUBLE LOW-9 QUOTATION MARK numeric entity.", +"input":"„", +"output": [["Character", "\u201E"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 HORIZONTAL ELLIPSIS numeric entity.", +"input":"…", +"output": [["Character", "\u2026"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 DAGGER numeric entity.", +"input":"†", +"output": [["Character", "\u2020"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 DOUBLE DAGGER numeric entity.", +"input":"‡", +"output": [["Character", "\u2021"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 MODIFIER LETTER CIRCUMFLEX ACCENT numeric entity.", +"input":"ˆ", +"output": [["Character", "\u02C6"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 PER MILLE SIGN numeric entity.", +"input":"‰", +"output": [["Character", "\u2030"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN CAPITAL LETTER S WITH CARON numeric entity.", +"input":"Š", +"output": [["Character", "\u0160"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SINGLE LEFT-POINTING ANGLE QUOTATION MARK numeric entity.", +"input":"‹", +"output": [["Character", "\u2039"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN CAPITAL LIGATURE OE numeric entity.", +"input":"Œ", +"output": [["Character", "\u0152"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", +"input":"", +"output": [["Character", "\u008D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN CAPITAL LETTER Z WITH CARON numeric entity.", +"input":"Ž", +"output": [["Character", "\u017D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", +"input":"", +"output": [["Character", "\u008F"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", +"input":"", +"output": [["Character", "\u0090"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LEFT SINGLE QUOTATION MARK numeric entity.", +"input":"‘", +"output": [["Character", "\u2018"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 RIGHT SINGLE QUOTATION MARK numeric entity.", +"input":"’", +"output": [["Character", "\u2019"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LEFT DOUBLE QUOTATION MARK numeric entity.", +"input":"“", +"output": [["Character", "\u201C"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 RIGHT DOUBLE QUOTATION MARK numeric entity.", +"input":"”", +"output": [["Character", "\u201D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 BULLET numeric entity.", +"input":"•", +"output": [["Character", "\u2022"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 EN DASH numeric entity.", +"input":"–", +"output": [["Character", "\u2013"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 EM DASH numeric entity.", +"input":"—", +"output": [["Character", "\u2014"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SMALL TILDE numeric entity.", +"input":"˜", +"output": [["Character", "\u02DC"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 TRADE MARK SIGN numeric entity.", +"input":"™", +"output": [["Character", "\u2122"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN SMALL LETTER S WITH CARON numeric entity.", +"input":"š", +"output": [["Character", "\u0161"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SINGLE RIGHT-POINTING ANGLE QUOTATION MARK numeric entity.", +"input":"›", +"output": [["Character", "\u203A"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN SMALL LIGATURE OE numeric entity.", +"input":"œ", +"output": [["Character", "\u0153"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", +"input":"", +"output": [["Character", "\u009D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 EURO SIGN hexadecimal numeric entity.", +"input":"€", +"output": [["Character", "\u20AC"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", +"input":"", +"output": [["Character", "\u0081"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SINGLE LOW-9 QUOTATION MARK hexadecimal numeric entity.", +"input":"‚", +"output": [["Character", "\u201A"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN SMALL LETTER F WITH HOOK hexadecimal numeric entity.", +"input":"ƒ", +"output": [["Character", "\u0192"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 DOUBLE LOW-9 QUOTATION MARK hexadecimal numeric entity.", +"input":"„", +"output": [["Character", "\u201E"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 HORIZONTAL ELLIPSIS hexadecimal numeric entity.", +"input":"…", +"output": [["Character", "\u2026"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 DAGGER hexadecimal numeric entity.", +"input":"†", +"output": [["Character", "\u2020"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 DOUBLE DAGGER hexadecimal numeric entity.", +"input":"‡", +"output": [["Character", "\u2021"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 MODIFIER LETTER CIRCUMFLEX ACCENT hexadecimal numeric entity.", +"input":"ˆ", +"output": [["Character", "\u02C6"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 PER MILLE SIGN hexadecimal numeric entity.", +"input":"‰", +"output": [["Character", "\u2030"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN CAPITAL LETTER S WITH CARON hexadecimal numeric entity.", +"input":"Š", +"output": [["Character", "\u0160"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SINGLE LEFT-POINTING ANGLE QUOTATION MARK hexadecimal numeric entity.", +"input":"‹", +"output": [["Character", "\u2039"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN CAPITAL LIGATURE OE hexadecimal numeric entity.", +"input":"Œ", +"output": [["Character", "\u0152"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", +"input":"", +"output": [["Character", "\u008D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN CAPITAL LETTER Z WITH CARON hexadecimal numeric entity.", +"input":"Ž", +"output": [["Character", "\u017D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", +"input":"", +"output": [["Character", "\u008F"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", +"input":"", +"output": [["Character", "\u0090"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LEFT SINGLE QUOTATION MARK hexadecimal numeric entity.", +"input":"‘", +"output": [["Character", "\u2018"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 RIGHT SINGLE QUOTATION MARK hexadecimal numeric entity.", +"input":"’", +"output": [["Character", "\u2019"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LEFT DOUBLE QUOTATION MARK hexadecimal numeric entity.", +"input":"“", +"output": [["Character", "\u201C"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 RIGHT DOUBLE QUOTATION MARK hexadecimal numeric entity.", +"input":"”", +"output": [["Character", "\u201D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 BULLET hexadecimal numeric entity.", +"input":"•", +"output": [["Character", "\u2022"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 EN DASH hexadecimal numeric entity.", +"input":"–", +"output": [["Character", "\u2013"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 EM DASH hexadecimal numeric entity.", +"input":"—", +"output": [["Character", "\u2014"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SMALL TILDE hexadecimal numeric entity.", +"input":"˜", +"output": [["Character", "\u02DC"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 TRADE MARK SIGN hexadecimal numeric entity.", +"input":"™", +"output": [["Character", "\u2122"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN SMALL LETTER S WITH CARON hexadecimal numeric entity.", +"input":"š", +"output": [["Character", "\u0161"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 SINGLE RIGHT-POINTING ANGLE QUOTATION MARK hexadecimal numeric entity.", +"input":"›", +"output": [["Character", "\u203A"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN SMALL LIGATURE OE hexadecimal numeric entity.", +"input":"œ", +"output": [["Character", "\u0153"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", +"input":"", +"output": [["Character", "\u009D"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN SMALL LETTER Z WITH CARON hexadecimal numeric entity.", +"input":"ž", +"output": [["Character", "\u017E"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Windows-1252 LATIN CAPITAL LETTER Y WITH DIAERESIS hexadecimal numeric entity.", +"input":"Ÿ", +"output": [["Character", "\u0178"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 8 } +]}, + +{"description": "Decimal numeric entity followed by hex character a.", +"input":"aa", +"output": [["Character", "aa"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } +]}, + +{"description": "Decimal numeric entity followed by hex character A.", +"input":"aA", +"output": [["Character", "aA"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } +]}, + +{"description": "Decimal numeric entity followed by hex character f.", +"input":"af", +"output": [["Character", "af"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } +]}, + +{"description": "Decimal numeric entity followed by hex character A.", +"input":"aF", +"output": [["Character", "aF"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } +]} + +]} diff --git a/tests/html5lib-tests/tokenizer/escapeFlag.test b/tests/html5lib-tests/tokenizer/escapeFlag.test new file mode 100644 index 0000000..d7d2c49 --- /dev/null +++ b/tests/html5lib-tests/tokenizer/escapeFlag.test @@ -0,0 +1,36 @@ +{"tests": [ + +{"description":"Commented close tag in RCDATA or RAWTEXT", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo<!--</xmp>--></xmp>", +"output":[["Character", "foo<!--"], ["EndTag", "xmp"], ["Character", "-->"], ["EndTag", "xmp"]]}, + +{"description":"Bogus comment in RCDATA or RAWTEXT", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo<!-->baz</xmp>", +"output":[["Character", "foo<!-->baz"], ["EndTag", "xmp"]]}, + +{"description":"End tag surrounded by bogus comment in RCDATA or RAWTEXT", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo<!--></xmp><!-->baz</xmp>", +"output":[["Character", "foo<!-->"], ["EndTag", "xmp"], ["Comment", ""], ["Character", "baz"], ["EndTag", "xmp"]], +"errors":[ + { "code": "abrupt-closing-of-empty-comment", "line": 1, "col": 19 } +]}, + +{"description":"Commented entities in RCDATA", +"initialStates":["RCDATA state"], +"lastStartTag":"xmp", +"input":" & <!-- & --> & </xmp>", +"output":[["Character", " & <!-- & --> & "], ["EndTag", "xmp"]]}, + +{"description":"Incorrect comment ending sequences in RCDATA or RAWTEXT", +"initialStates":["RCDATA state", "RAWTEXT state"], +"lastStartTag":"xmp", +"input":"foo<!-- x --x>x-- >x--!>x--<></xmp>", +"output":[["Character", "foo<!-- x --x>x-- >x--!>x--<>"], ["EndTag", "xmp"]]} + +]} diff --git a/tests/html5lib-tests/tokenizer/namedEntities.test b/tests/html5lib-tests/tokenizer/namedEntities.test new file mode 100644 index 0000000..f74f5bf --- /dev/null +++ b/tests/html5lib-tests/tokenizer/namedEntities.test @@ -0,0 +1,42422 @@ +{ + "tests": [ + { + "input": "Æ", + "description": "Named entity: AElig without a semi-colon", + "output": [ + [ + "Character", + "\u00c6" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Æ", + "description": "Named entity: AElig; with a semi-colon", + "output": [ + [ + "Character", + "\u00c6" + ] + ] + }, + { + "input": "&", + "description": "Named entity: AMP without a semi-colon", + "output": [ + [ + "Character", + "&" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "&", + "description": "Named entity: AMP; with a semi-colon", + "output": [ + [ + "Character", + "&" + ] + ] + }, + { + "input": "Á", + "description": "Named entity: Aacute without a semi-colon", + "output": [ + [ + "Character", + "\u00c1" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Á", + "description": "Named entity: Aacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00c1" + ] + ] + }, + { + "input": "&Abreve", + "description": "Bad named entity: Abreve without a semi-colon", + "output": [ + [ + "Character", + "&Abreve" + ] + ] + }, + { + "input": "Ă", + "description": "Named entity: Abreve; with a semi-colon", + "output": [ + [ + "Character", + "\u0102" + ] + ] + }, + { + "input": "Â", + "description": "Named entity: Acirc without a semi-colon", + "output": [ + [ + "Character", + "\u00c2" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Â", + "description": "Named entity: Acirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00c2" + ] + ] + }, + { + "input": "&Acy", + "description": "Bad named entity: Acy without a semi-colon", + "output": [ + [ + "Character", + "&Acy" + ] + ] + }, + { + "input": "А", + "description": "Named entity: Acy; with a semi-colon", + "output": [ + [ + "Character", + "\u0410" + ] + ] + }, + { + "input": "&Afr", + "description": "Bad named entity: Afr without a semi-colon", + "output": [ + [ + "Character", + "&Afr" + ] + ] + }, + { + "input": "𝔄", + "description": "Named entity: Afr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd04" + ] + ] + }, + { + "input": "À", + "description": "Named entity: Agrave without a semi-colon", + "output": [ + [ + "Character", + "\u00c0" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "À", + "description": "Named entity: Agrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00c0" + ] + ] + }, + { + "input": "&Alpha", + "description": "Bad named entity: Alpha without a semi-colon", + "output": [ + [ + "Character", + "&Alpha" + ] + ] + }, + { + "input": "Α", + "description": "Named entity: Alpha; with a semi-colon", + "output": [ + [ + "Character", + "\u0391" + ] + ] + }, + { + "input": "&Amacr", + "description": "Bad named entity: Amacr without a semi-colon", + "output": [ + [ + "Character", + "&Amacr" + ] + ] + }, + { + "input": "Ā", + "description": "Named entity: Amacr; with a semi-colon", + "output": [ + [ + "Character", + "\u0100" + ] + ] + }, + { + "input": "&And", + "description": "Bad named entity: And without a semi-colon", + "output": [ + [ + "Character", + "&And" + ] + ] + }, + { + "input": "⩓", + "description": "Named entity: And; with a semi-colon", + "output": [ + [ + "Character", + "\u2a53" + ] + ] + }, + { + "input": "&Aogon", + "description": "Bad named entity: Aogon without a semi-colon", + "output": [ + [ + "Character", + "&Aogon" + ] + ] + }, + { + "input": "Ą", + "description": "Named entity: Aogon; with a semi-colon", + "output": [ + [ + "Character", + "\u0104" + ] + ] + }, + { + "input": "&Aopf", + "description": "Bad named entity: Aopf without a semi-colon", + "output": [ + [ + "Character", + "&Aopf" + ] + ] + }, + { + "input": "𝔸", + "description": "Named entity: Aopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd38" + ] + ] + }, + { + "input": "&ApplyFunction", + "description": "Bad named entity: ApplyFunction without a semi-colon", + "output": [ + [ + "Character", + "&ApplyFunction" + ] + ] + }, + { + "input": "⁡", + "description": "Named entity: ApplyFunction; with a semi-colon", + "output": [ + [ + "Character", + "\u2061" + ] + ] + }, + { + "input": "Å", + "description": "Named entity: Aring without a semi-colon", + "output": [ + [ + "Character", + "\u00c5" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Å", + "description": "Named entity: Aring; with a semi-colon", + "output": [ + [ + "Character", + "\u00c5" + ] + ] + }, + { + "input": "&Ascr", + "description": "Bad named entity: Ascr without a semi-colon", + "output": [ + [ + "Character", + "&Ascr" + ] + ] + }, + { + "input": "𝒜", + "description": "Named entity: Ascr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udc9c" + ] + ] + }, + { + "input": "&Assign", + "description": "Bad named entity: Assign without a semi-colon", + "output": [ + [ + "Character", + "&Assign" + ] + ] + }, + { + "input": "≔", + "description": "Named entity: Assign; with a semi-colon", + "output": [ + [ + "Character", + "\u2254" + ] + ] + }, + { + "input": "Ã", + "description": "Named entity: Atilde without a semi-colon", + "output": [ + [ + "Character", + "\u00c3" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ã", + "description": "Named entity: Atilde; with a semi-colon", + "output": [ + [ + "Character", + "\u00c3" + ] + ] + }, + { + "input": "Ä", + "description": "Named entity: Auml without a semi-colon", + "output": [ + [ + "Character", + "\u00c4" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "Ä", + "description": "Named entity: Auml; with a semi-colon", + "output": [ + [ + "Character", + "\u00c4" + ] + ] + }, + { + "input": "&Backslash", + "description": "Bad named entity: Backslash without a semi-colon", + "output": [ + [ + "Character", + "&Backslash" + ] + ] + }, + { + "input": "∖", + "description": "Named entity: Backslash; with a semi-colon", + "output": [ + [ + "Character", + "\u2216" + ] + ] + }, + { + "input": "&Barv", + "description": "Bad named entity: Barv without a semi-colon", + "output": [ + [ + "Character", + "&Barv" + ] + ] + }, + { + "input": "⫧", + "description": "Named entity: Barv; with a semi-colon", + "output": [ + [ + "Character", + "\u2ae7" + ] + ] + }, + { + "input": "&Barwed", + "description": "Bad named entity: Barwed without a semi-colon", + "output": [ + [ + "Character", + "&Barwed" + ] + ] + }, + { + "input": "⌆", + "description": "Named entity: Barwed; with a semi-colon", + "output": [ + [ + "Character", + "\u2306" + ] + ] + }, + { + "input": "&Bcy", + "description": "Bad named entity: Bcy without a semi-colon", + "output": [ + [ + "Character", + "&Bcy" + ] + ] + }, + { + "input": "Б", + "description": "Named entity: Bcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0411" + ] + ] + }, + { + "input": "&Because", + "description": "Bad named entity: Because without a semi-colon", + "output": [ + [ + "Character", + "&Because" + ] + ] + }, + { + "input": "∵", + "description": "Named entity: Because; with a semi-colon", + "output": [ + [ + "Character", + "\u2235" + ] + ] + }, + { + "input": "&Bernoullis", + "description": "Bad named entity: Bernoullis without a semi-colon", + "output": [ + [ + "Character", + "&Bernoullis" + ] + ] + }, + { + "input": "ℬ", + "description": "Named entity: Bernoullis; with a semi-colon", + "output": [ + [ + "Character", + "\u212c" + ] + ] + }, + { + "input": "&Beta", + "description": "Bad named entity: Beta without a semi-colon", + "output": [ + [ + "Character", + "&Beta" + ] + ] + }, + { + "input": "Β", + "description": "Named entity: Beta; with a semi-colon", + "output": [ + [ + "Character", + "\u0392" + ] + ] + }, + { + "input": "&Bfr", + "description": "Bad named entity: Bfr without a semi-colon", + "output": [ + [ + "Character", + "&Bfr" + ] + ] + }, + { + "input": "𝔅", + "description": "Named entity: Bfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd05" + ] + ] + }, + { + "input": "&Bopf", + "description": "Bad named entity: Bopf without a semi-colon", + "output": [ + [ + "Character", + "&Bopf" + ] + ] + }, + { + "input": "𝔹", + "description": "Named entity: Bopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd39" + ] + ] + }, + { + "input": "&Breve", + "description": "Bad named entity: Breve without a semi-colon", + "output": [ + [ + "Character", + "&Breve" + ] + ] + }, + { + "input": "˘", + "description": "Named entity: Breve; with a semi-colon", + "output": [ + [ + "Character", + "\u02d8" + ] + ] + }, + { + "input": "&Bscr", + "description": "Bad named entity: Bscr without a semi-colon", + "output": [ + [ + "Character", + "&Bscr" + ] + ] + }, + { + "input": "ℬ", + "description": "Named entity: Bscr; with a semi-colon", + "output": [ + [ + "Character", + "\u212c" + ] + ] + }, + { + "input": "&Bumpeq", + "description": "Bad named entity: Bumpeq without a semi-colon", + "output": [ + [ + "Character", + "&Bumpeq" + ] + ] + }, + { + "input": "≎", + "description": "Named entity: Bumpeq; with a semi-colon", + "output": [ + [ + "Character", + "\u224e" + ] + ] + }, + { + "input": "&CHcy", + "description": "Bad named entity: CHcy without a semi-colon", + "output": [ + [ + "Character", + "&CHcy" + ] + ] + }, + { + "input": "Ч", + "description": "Named entity: CHcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0427" + ] + ] + }, + { + "input": "©", + "description": "Named entity: COPY without a semi-colon", + "output": [ + [ + "Character", + "\u00a9" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "©", + "description": "Named entity: COPY; with a semi-colon", + "output": [ + [ + "Character", + "\u00a9" + ] + ] + }, + { + "input": "&Cacute", + "description": "Bad named entity: Cacute without a semi-colon", + "output": [ + [ + "Character", + "&Cacute" + ] + ] + }, + { + "input": "Ć", + "description": "Named entity: Cacute; with a semi-colon", + "output": [ + [ + "Character", + "\u0106" + ] + ] + }, + { + "input": "&Cap", + "description": "Bad named entity: Cap without a semi-colon", + "output": [ + [ + "Character", + "&Cap" + ] + ] + }, + { + "input": "⋒", + "description": "Named entity: Cap; with a semi-colon", + "output": [ + [ + "Character", + "\u22d2" + ] + ] + }, + { + "input": "&CapitalDifferentialD", + "description": "Bad named entity: CapitalDifferentialD without a semi-colon", + "output": [ + [ + "Character", + "&CapitalDifferentialD" + ] + ] + }, + { + "input": "ⅅ", + "description": "Named entity: CapitalDifferentialD; with a semi-colon", + "output": [ + [ + "Character", + "\u2145" + ] + ] + }, + { + "input": "&Cayleys", + "description": "Bad named entity: Cayleys without a semi-colon", + "output": [ + [ + "Character", + "&Cayleys" + ] + ] + }, + { + "input": "ℭ", + "description": "Named entity: Cayleys; with a semi-colon", + "output": [ + [ + "Character", + "\u212d" + ] + ] + }, + { + "input": "&Ccaron", + "description": "Bad named entity: Ccaron without a semi-colon", + "output": [ + [ + "Character", + "&Ccaron" + ] + ] + }, + { + "input": "Č", + "description": "Named entity: Ccaron; with a semi-colon", + "output": [ + [ + "Character", + "\u010c" + ] + ] + }, + { + "input": "Ç", + "description": "Named entity: Ccedil without a semi-colon", + "output": [ + [ + "Character", + "\u00c7" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ç", + "description": "Named entity: Ccedil; with a semi-colon", + "output": [ + [ + "Character", + "\u00c7" + ] + ] + }, + { + "input": "&Ccirc", + "description": "Bad named entity: Ccirc without a semi-colon", + "output": [ + [ + "Character", + "&Ccirc" + ] + ] + }, + { + "input": "Ĉ", + "description": "Named entity: Ccirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0108" + ] + ] + }, + { + "input": "&Cconint", + "description": "Bad named entity: Cconint without a semi-colon", + "output": [ + [ + "Character", + "&Cconint" + ] + ] + }, + { + "input": "∰", + "description": "Named entity: Cconint; with a semi-colon", + "output": [ + [ + "Character", + "\u2230" + ] + ] + }, + { + "input": "&Cdot", + "description": "Bad named entity: Cdot without a semi-colon", + "output": [ + [ + "Character", + "&Cdot" + ] + ] + }, + { + "input": "Ċ", + "description": "Named entity: Cdot; with a semi-colon", + "output": [ + [ + "Character", + "\u010a" + ] + ] + }, + { + "input": "&Cedilla", + "description": "Bad named entity: Cedilla without a semi-colon", + "output": [ + [ + "Character", + "&Cedilla" + ] + ] + }, + { + "input": "¸", + "description": "Named entity: Cedilla; with a semi-colon", + "output": [ + [ + "Character", + "\u00b8" + ] + ] + }, + { + "input": "&CenterDot", + "description": "Bad named entity: CenterDot without a semi-colon", + "output": [ + [ + "Character", + "&CenterDot" + ] + ] + }, + { + "input": "·", + "description": "Named entity: CenterDot; with a semi-colon", + "output": [ + [ + "Character", + "\u00b7" + ] + ] + }, + { + "input": "&Cfr", + "description": "Bad named entity: Cfr without a semi-colon", + "output": [ + [ + "Character", + "&Cfr" + ] + ] + }, + { + "input": "ℭ", + "description": "Named entity: Cfr; with a semi-colon", + "output": [ + [ + "Character", + "\u212d" + ] + ] + }, + { + "input": "&Chi", + "description": "Bad named entity: Chi without a semi-colon", + "output": [ + [ + "Character", + "&Chi" + ] + ] + }, + { + "input": "Χ", + "description": "Named entity: Chi; with a semi-colon", + "output": [ + [ + "Character", + "\u03a7" + ] + ] + }, + { + "input": "&CircleDot", + "description": "Bad named entity: CircleDot without a semi-colon", + "output": [ + [ + "Character", + "&CircleDot" + ] + ] + }, + { + "input": "⊙", + "description": "Named entity: CircleDot; with a semi-colon", + "output": [ + [ + "Character", + "\u2299" + ] + ] + }, + { + "input": "&CircleMinus", + "description": "Bad named entity: CircleMinus without a semi-colon", + "output": [ + [ + "Character", + "&CircleMinus" + ] + ] + }, + { + "input": "⊖", + "description": "Named entity: CircleMinus; with a semi-colon", + "output": [ + [ + "Character", + "\u2296" + ] + ] + }, + { + "input": "&CirclePlus", + "description": "Bad named entity: CirclePlus without a semi-colon", + "output": [ + [ + "Character", + "&CirclePlus" + ] + ] + }, + { + "input": "⊕", + "description": "Named entity: CirclePlus; with a semi-colon", + "output": [ + [ + "Character", + "\u2295" + ] + ] + }, + { + "input": "&CircleTimes", + "description": "Bad named entity: CircleTimes without a semi-colon", + "output": [ + [ + "Character", + "&CircleTimes" + ] + ] + }, + { + "input": "⊗", + "description": "Named entity: CircleTimes; with a semi-colon", + "output": [ + [ + "Character", + "\u2297" + ] + ] + }, + { + "input": "&ClockwiseContourIntegral", + "description": "Bad named entity: ClockwiseContourIntegral without a semi-colon", + "output": [ + [ + "Character", + "&ClockwiseContourIntegral" + ] + ] + }, + { + "input": "∲", + "description": "Named entity: ClockwiseContourIntegral; with a semi-colon", + "output": [ + [ + "Character", + "\u2232" + ] + ] + }, + { + "input": "&CloseCurlyDoubleQuote", + "description": "Bad named entity: CloseCurlyDoubleQuote without a semi-colon", + "output": [ + [ + "Character", + "&CloseCurlyDoubleQuote" + ] + ] + }, + { + "input": "”", + "description": "Named entity: CloseCurlyDoubleQuote; with a semi-colon", + "output": [ + [ + "Character", + "\u201d" + ] + ] + }, + { + "input": "&CloseCurlyQuote", + "description": "Bad named entity: CloseCurlyQuote without a semi-colon", + "output": [ + [ + "Character", + "&CloseCurlyQuote" + ] + ] + }, + { + "input": "’", + "description": "Named entity: CloseCurlyQuote; with a semi-colon", + "output": [ + [ + "Character", + "\u2019" + ] + ] + }, + { + "input": "&Colon", + "description": "Bad named entity: Colon without a semi-colon", + "output": [ + [ + "Character", + "&Colon" + ] + ] + }, + { + "input": "∷", + "description": "Named entity: Colon; with a semi-colon", + "output": [ + [ + "Character", + "\u2237" + ] + ] + }, + { + "input": "&Colone", + "description": "Bad named entity: Colone without a semi-colon", + "output": [ + [ + "Character", + "&Colone" + ] + ] + }, + { + "input": "⩴", + "description": "Named entity: Colone; with a semi-colon", + "output": [ + [ + "Character", + "\u2a74" + ] + ] + }, + { + "input": "&Congruent", + "description": "Bad named entity: Congruent without a semi-colon", + "output": [ + [ + "Character", + "&Congruent" + ] + ] + }, + { + "input": "≡", + "description": "Named entity: Congruent; with a semi-colon", + "output": [ + [ + "Character", + "\u2261" + ] + ] + }, + { + "input": "&Conint", + "description": "Bad named entity: Conint without a semi-colon", + "output": [ + [ + "Character", + "&Conint" + ] + ] + }, + { + "input": "∯", + "description": "Named entity: Conint; with a semi-colon", + "output": [ + [ + "Character", + "\u222f" + ] + ] + }, + { + "input": "&ContourIntegral", + "description": "Bad named entity: ContourIntegral without a semi-colon", + "output": [ + [ + "Character", + "&ContourIntegral" + ] + ] + }, + { + "input": "∮", + "description": "Named entity: ContourIntegral; with a semi-colon", + "output": [ + [ + "Character", + "\u222e" + ] + ] + }, + { + "input": "&Copf", + "description": "Bad named entity: Copf without a semi-colon", + "output": [ + [ + "Character", + "&Copf" + ] + ] + }, + { + "input": "ℂ", + "description": "Named entity: Copf; with a semi-colon", + "output": [ + [ + "Character", + "\u2102" + ] + ] + }, + { + "input": "&Coproduct", + "description": "Bad named entity: Coproduct without a semi-colon", + "output": [ + [ + "Character", + "&Coproduct" + ] + ] + }, + { + "input": "∐", + "description": "Named entity: Coproduct; with a semi-colon", + "output": [ + [ + "Character", + "\u2210" + ] + ] + }, + { + "input": "&CounterClockwiseContourIntegral", + "description": "Bad named entity: CounterClockwiseContourIntegral without a semi-colon", + "output": [ + [ + "Character", + "&CounterClockwiseContourIntegral" + ] + ] + }, + { + "input": "∳", + "description": "Named entity: CounterClockwiseContourIntegral; with a semi-colon", + "output": [ + [ + "Character", + "\u2233" + ] + ] + }, + { + "input": "&Cross", + "description": "Bad named entity: Cross without a semi-colon", + "output": [ + [ + "Character", + "&Cross" + ] + ] + }, + { + "input": "⨯", + "description": "Named entity: Cross; with a semi-colon", + "output": [ + [ + "Character", + "\u2a2f" + ] + ] + }, + { + "input": "&Cscr", + "description": "Bad named entity: Cscr without a semi-colon", + "output": [ + [ + "Character", + "&Cscr" + ] + ] + }, + { + "input": "𝒞", + "description": "Named entity: Cscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udc9e" + ] + ] + }, + { + "input": "&Cup", + "description": "Bad named entity: Cup without a semi-colon", + "output": [ + [ + "Character", + "&Cup" + ] + ] + }, + { + "input": "⋓", + "description": "Named entity: Cup; with a semi-colon", + "output": [ + [ + "Character", + "\u22d3" + ] + ] + }, + { + "input": "&CupCap", + "description": "Bad named entity: CupCap without a semi-colon", + "output": [ + [ + "Character", + "&CupCap" + ] + ] + }, + { + "input": "≍", + "description": "Named entity: CupCap; with a semi-colon", + "output": [ + [ + "Character", + "\u224d" + ] + ] + }, + { + "input": "&DD", + "description": "Bad named entity: DD without a semi-colon", + "output": [ + [ + "Character", + "&DD" + ] + ] + }, + { + "input": "ⅅ", + "description": "Named entity: DD; with a semi-colon", + "output": [ + [ + "Character", + "\u2145" + ] + ] + }, + { + "input": "&DDotrahd", + "description": "Bad named entity: DDotrahd without a semi-colon", + "output": [ + [ + "Character", + "&DDotrahd" + ] + ] + }, + { + "input": "⤑", + "description": "Named entity: DDotrahd; with a semi-colon", + "output": [ + [ + "Character", + "\u2911" + ] + ] + }, + { + "input": "&DJcy", + "description": "Bad named entity: DJcy without a semi-colon", + "output": [ + [ + "Character", + "&DJcy" + ] + ] + }, + { + "input": "Ђ", + "description": "Named entity: DJcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0402" + ] + ] + }, + { + "input": "&DScy", + "description": "Bad named entity: DScy without a semi-colon", + "output": [ + [ + "Character", + "&DScy" + ] + ] + }, + { + "input": "Ѕ", + "description": "Named entity: DScy; with a semi-colon", + "output": [ + [ + "Character", + "\u0405" + ] + ] + }, + { + "input": "&DZcy", + "description": "Bad named entity: DZcy without a semi-colon", + "output": [ + [ + "Character", + "&DZcy" + ] + ] + }, + { + "input": "Џ", + "description": "Named entity: DZcy; with a semi-colon", + "output": [ + [ + "Character", + "\u040f" + ] + ] + }, + { + "input": "&Dagger", + "description": "Bad named entity: Dagger without a semi-colon", + "output": [ + [ + "Character", + "&Dagger" + ] + ] + }, + { + "input": "‡", + "description": "Named entity: Dagger; with a semi-colon", + "output": [ + [ + "Character", + "\u2021" + ] + ] + }, + { + "input": "&Darr", + "description": "Bad named entity: Darr without a semi-colon", + "output": [ + [ + "Character", + "&Darr" + ] + ] + }, + { + "input": "↡", + "description": "Named entity: Darr; with a semi-colon", + "output": [ + [ + "Character", + "\u21a1" + ] + ] + }, + { + "input": "&Dashv", + "description": "Bad named entity: Dashv without a semi-colon", + "output": [ + [ + "Character", + "&Dashv" + ] + ] + }, + { + "input": "⫤", + "description": "Named entity: Dashv; with a semi-colon", + "output": [ + [ + "Character", + "\u2ae4" + ] + ] + }, + { + "input": "&Dcaron", + "description": "Bad named entity: Dcaron without a semi-colon", + "output": [ + [ + "Character", + "&Dcaron" + ] + ] + }, + { + "input": "Ď", + "description": "Named entity: Dcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u010e" + ] + ] + }, + { + "input": "&Dcy", + "description": "Bad named entity: Dcy without a semi-colon", + "output": [ + [ + "Character", + "&Dcy" + ] + ] + }, + { + "input": "Д", + "description": "Named entity: Dcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0414" + ] + ] + }, + { + "input": "&Del", + "description": "Bad named entity: Del without a semi-colon", + "output": [ + [ + "Character", + "&Del" + ] + ] + }, + { + "input": "∇", + "description": "Named entity: Del; with a semi-colon", + "output": [ + [ + "Character", + "\u2207" + ] + ] + }, + { + "input": "&Delta", + "description": "Bad named entity: Delta without a semi-colon", + "output": [ + [ + "Character", + "&Delta" + ] + ] + }, + { + "input": "Δ", + "description": "Named entity: Delta; with a semi-colon", + "output": [ + [ + "Character", + "\u0394" + ] + ] + }, + { + "input": "&Dfr", + "description": "Bad named entity: Dfr without a semi-colon", + "output": [ + [ + "Character", + "&Dfr" + ] + ] + }, + { + "input": "𝔇", + "description": "Named entity: Dfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd07" + ] + ] + }, + { + "input": "&DiacriticalAcute", + "description": "Bad named entity: DiacriticalAcute without a semi-colon", + "output": [ + [ + "Character", + "&DiacriticalAcute" + ] + ] + }, + { + "input": "´", + "description": "Named entity: DiacriticalAcute; with a semi-colon", + "output": [ + [ + "Character", + "\u00b4" + ] + ] + }, + { + "input": "&DiacriticalDot", + "description": "Bad named entity: DiacriticalDot without a semi-colon", + "output": [ + [ + "Character", + "&DiacriticalDot" + ] + ] + }, + { + "input": "˙", + "description": "Named entity: DiacriticalDot; with a semi-colon", + "output": [ + [ + "Character", + "\u02d9" + ] + ] + }, + { + "input": "&DiacriticalDoubleAcute", + "description": "Bad named entity: DiacriticalDoubleAcute without a semi-colon", + "output": [ + [ + "Character", + "&DiacriticalDoubleAcute" + ] + ] + }, + { + "input": "˝", + "description": "Named entity: DiacriticalDoubleAcute; with a semi-colon", + "output": [ + [ + "Character", + "\u02dd" + ] + ] + }, + { + "input": "&DiacriticalGrave", + "description": "Bad named entity: DiacriticalGrave without a semi-colon", + "output": [ + [ + "Character", + "&DiacriticalGrave" + ] + ] + }, + { + "input": "`", + "description": "Named entity: DiacriticalGrave; with a semi-colon", + "output": [ + [ + "Character", + "`" + ] + ] + }, + { + "input": "&DiacriticalTilde", + "description": "Bad named entity: DiacriticalTilde without a semi-colon", + "output": [ + [ + "Character", + "&DiacriticalTilde" + ] + ] + }, + { + "input": "˜", + "description": "Named entity: DiacriticalTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u02dc" + ] + ] + }, + { + "input": "&Diamond", + "description": "Bad named entity: Diamond without a semi-colon", + "output": [ + [ + "Character", + "&Diamond" + ] + ] + }, + { + "input": "⋄", + "description": "Named entity: Diamond; with a semi-colon", + "output": [ + [ + "Character", + "\u22c4" + ] + ] + }, + { + "input": "&DifferentialD", + "description": "Bad named entity: DifferentialD without a semi-colon", + "output": [ + [ + "Character", + "&DifferentialD" + ] + ] + }, + { + "input": "ⅆ", + "description": "Named entity: DifferentialD; with a semi-colon", + "output": [ + [ + "Character", + "\u2146" + ] + ] + }, + { + "input": "&Dopf", + "description": "Bad named entity: Dopf without a semi-colon", + "output": [ + [ + "Character", + "&Dopf" + ] + ] + }, + { + "input": "𝔻", + "description": "Named entity: Dopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd3b" + ] + ] + }, + { + "input": "&Dot", + "description": "Bad named entity: Dot without a semi-colon", + "output": [ + [ + "Character", + "&Dot" + ] + ] + }, + { + "input": "¨", + "description": "Named entity: Dot; with a semi-colon", + "output": [ + [ + "Character", + "\u00a8" + ] + ] + }, + { + "input": "&DotDot", + "description": "Bad named entity: DotDot without a semi-colon", + "output": [ + [ + "Character", + "&DotDot" + ] + ] + }, + { + "input": "⃜", + "description": "Named entity: DotDot; with a semi-colon", + "output": [ + [ + "Character", + "\u20dc" + ] + ] + }, + { + "input": "&DotEqual", + "description": "Bad named entity: DotEqual without a semi-colon", + "output": [ + [ + "Character", + "&DotEqual" + ] + ] + }, + { + "input": "≐", + "description": "Named entity: DotEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2250" + ] + ] + }, + { + "input": "&DoubleContourIntegral", + "description": "Bad named entity: DoubleContourIntegral without a semi-colon", + "output": [ + [ + "Character", + "&DoubleContourIntegral" + ] + ] + }, + { + "input": "∯", + "description": "Named entity: DoubleContourIntegral; with a semi-colon", + "output": [ + [ + "Character", + "\u222f" + ] + ] + }, + { + "input": "&DoubleDot", + "description": "Bad named entity: DoubleDot without a semi-colon", + "output": [ + [ + "Character", + "&DoubleDot" + ] + ] + }, + { + "input": "¨", + "description": "Named entity: DoubleDot; with a semi-colon", + "output": [ + [ + "Character", + "\u00a8" + ] + ] + }, + { + "input": "&DoubleDownArrow", + "description": "Bad named entity: DoubleDownArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleDownArrow" + ] + ] + }, + { + "input": "⇓", + "description": "Named entity: DoubleDownArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d3" + ] + ] + }, + { + "input": "&DoubleLeftArrow", + "description": "Bad named entity: DoubleLeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleLeftArrow" + ] + ] + }, + { + "input": "⇐", + "description": "Named entity: DoubleLeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d0" + ] + ] + }, + { + "input": "&DoubleLeftRightArrow", + "description": "Bad named entity: DoubleLeftRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleLeftRightArrow" + ] + ] + }, + { + "input": "⇔", + "description": "Named entity: DoubleLeftRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d4" + ] + ] + }, + { + "input": "&DoubleLeftTee", + "description": "Bad named entity: DoubleLeftTee without a semi-colon", + "output": [ + [ + "Character", + "&DoubleLeftTee" + ] + ] + }, + { + "input": "⫤", + "description": "Named entity: DoubleLeftTee; with a semi-colon", + "output": [ + [ + "Character", + "\u2ae4" + ] + ] + }, + { + "input": "&DoubleLongLeftArrow", + "description": "Bad named entity: DoubleLongLeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleLongLeftArrow" + ] + ] + }, + { + "input": "⟸", + "description": "Named entity: DoubleLongLeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f8" + ] + ] + }, + { + "input": "&DoubleLongLeftRightArrow", + "description": "Bad named entity: DoubleLongLeftRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleLongLeftRightArrow" + ] + ] + }, + { + "input": "⟺", + "description": "Named entity: DoubleLongLeftRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27fa" + ] + ] + }, + { + "input": "&DoubleLongRightArrow", + "description": "Bad named entity: DoubleLongRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleLongRightArrow" + ] + ] + }, + { + "input": "⟹", + "description": "Named entity: DoubleLongRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f9" + ] + ] + }, + { + "input": "&DoubleRightArrow", + "description": "Bad named entity: DoubleRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleRightArrow" + ] + ] + }, + { + "input": "⇒", + "description": "Named entity: DoubleRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d2" + ] + ] + }, + { + "input": "&DoubleRightTee", + "description": "Bad named entity: DoubleRightTee without a semi-colon", + "output": [ + [ + "Character", + "&DoubleRightTee" + ] + ] + }, + { + "input": "⊨", + "description": "Named entity: DoubleRightTee; with a semi-colon", + "output": [ + [ + "Character", + "\u22a8" + ] + ] + }, + { + "input": "&DoubleUpArrow", + "description": "Bad named entity: DoubleUpArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleUpArrow" + ] + ] + }, + { + "input": "⇑", + "description": "Named entity: DoubleUpArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d1" + ] + ] + }, + { + "input": "&DoubleUpDownArrow", + "description": "Bad named entity: DoubleUpDownArrow without a semi-colon", + "output": [ + [ + "Character", + "&DoubleUpDownArrow" + ] + ] + }, + { + "input": "⇕", + "description": "Named entity: DoubleUpDownArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d5" + ] + ] + }, + { + "input": "&DoubleVerticalBar", + "description": "Bad named entity: DoubleVerticalBar without a semi-colon", + "output": [ + [ + "Character", + "&DoubleVerticalBar" + ] + ] + }, + { + "input": "∥", + "description": "Named entity: DoubleVerticalBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2225" + ] + ] + }, + { + "input": "&DownArrow", + "description": "Bad named entity: DownArrow without a semi-colon", + "output": [ + [ + "Character", + "&DownArrow" + ] + ] + }, + { + "input": "↓", + "description": "Named entity: DownArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2193" + ] + ] + }, + { + "input": "&DownArrowBar", + "description": "Bad named entity: DownArrowBar without a semi-colon", + "output": [ + [ + "Character", + "&DownArrowBar" + ] + ] + }, + { + "input": "⤓", + "description": "Named entity: DownArrowBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2913" + ] + ] + }, + { + "input": "&DownArrowUpArrow", + "description": "Bad named entity: DownArrowUpArrow without a semi-colon", + "output": [ + [ + "Character", + "&DownArrowUpArrow" + ] + ] + }, + { + "input": "⇵", + "description": "Named entity: DownArrowUpArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21f5" + ] + ] + }, + { + "input": "&DownBreve", + "description": "Bad named entity: DownBreve without a semi-colon", + "output": [ + [ + "Character", + "&DownBreve" + ] + ] + }, + { + "input": "̑", + "description": "Named entity: DownBreve; with a semi-colon", + "output": [ + [ + "Character", + "\u0311" + ] + ] + }, + { + "input": "&DownLeftRightVector", + "description": "Bad named entity: DownLeftRightVector without a semi-colon", + "output": [ + [ + "Character", + "&DownLeftRightVector" + ] + ] + }, + { + "input": "⥐", + "description": "Named entity: DownLeftRightVector; with a semi-colon", + "output": [ + [ + "Character", + "\u2950" + ] + ] + }, + { + "input": "&DownLeftTeeVector", + "description": "Bad named entity: DownLeftTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&DownLeftTeeVector" + ] + ] + }, + { + "input": "⥞", + "description": "Named entity: DownLeftTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u295e" + ] + ] + }, + { + "input": "&DownLeftVector", + "description": "Bad named entity: DownLeftVector without a semi-colon", + "output": [ + [ + "Character", + "&DownLeftVector" + ] + ] + }, + { + "input": "↽", + "description": "Named entity: DownLeftVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21bd" + ] + ] + }, + { + "input": "&DownLeftVectorBar", + "description": "Bad named entity: DownLeftVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&DownLeftVectorBar" + ] + ] + }, + { + "input": "⥖", + "description": "Named entity: DownLeftVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2956" + ] + ] + }, + { + "input": "&DownRightTeeVector", + "description": "Bad named entity: DownRightTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&DownRightTeeVector" + ] + ] + }, + { + "input": "⥟", + "description": "Named entity: DownRightTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u295f" + ] + ] + }, + { + "input": "&DownRightVector", + "description": "Bad named entity: DownRightVector without a semi-colon", + "output": [ + [ + "Character", + "&DownRightVector" + ] + ] + }, + { + "input": "⇁", + "description": "Named entity: DownRightVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21c1" + ] + ] + }, + { + "input": "&DownRightVectorBar", + "description": "Bad named entity: DownRightVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&DownRightVectorBar" + ] + ] + }, + { + "input": "⥗", + "description": "Named entity: DownRightVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2957" + ] + ] + }, + { + "input": "&DownTee", + "description": "Bad named entity: DownTee without a semi-colon", + "output": [ + [ + "Character", + "&DownTee" + ] + ] + }, + { + "input": "⊤", + "description": "Named entity: DownTee; with a semi-colon", + "output": [ + [ + "Character", + "\u22a4" + ] + ] + }, + { + "input": "&DownTeeArrow", + "description": "Bad named entity: DownTeeArrow without a semi-colon", + "output": [ + [ + "Character", + "&DownTeeArrow" + ] + ] + }, + { + "input": "↧", + "description": "Named entity: DownTeeArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21a7" + ] + ] + }, + { + "input": "&Downarrow", + "description": "Bad named entity: Downarrow without a semi-colon", + "output": [ + [ + "Character", + "&Downarrow" + ] + ] + }, + { + "input": "⇓", + "description": "Named entity: Downarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d3" + ] + ] + }, + { + "input": "&Dscr", + "description": "Bad named entity: Dscr without a semi-colon", + "output": [ + [ + "Character", + "&Dscr" + ] + ] + }, + { + "input": "𝒟", + "description": "Named entity: Dscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udc9f" + ] + ] + }, + { + "input": "&Dstrok", + "description": "Bad named entity: Dstrok without a semi-colon", + "output": [ + [ + "Character", + "&Dstrok" + ] + ] + }, + { + "input": "Đ", + "description": "Named entity: Dstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0110" + ] + ] + }, + { + "input": "&ENG", + "description": "Bad named entity: ENG without a semi-colon", + "output": [ + [ + "Character", + "&ENG" + ] + ] + }, + { + "input": "Ŋ", + "description": "Named entity: ENG; with a semi-colon", + "output": [ + [ + "Character", + "\u014a" + ] + ] + }, + { + "input": "Ð", + "description": "Named entity: ETH without a semi-colon", + "output": [ + [ + "Character", + "\u00d0" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "Ð", + "description": "Named entity: ETH; with a semi-colon", + "output": [ + [ + "Character", + "\u00d0" + ] + ] + }, + { + "input": "É", + "description": "Named entity: Eacute without a semi-colon", + "output": [ + [ + "Character", + "\u00c9" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "É", + "description": "Named entity: Eacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00c9" + ] + ] + }, + { + "input": "&Ecaron", + "description": "Bad named entity: Ecaron without a semi-colon", + "output": [ + [ + "Character", + "&Ecaron" + ] + ] + }, + { + "input": "Ě", + "description": "Named entity: Ecaron; with a semi-colon", + "output": [ + [ + "Character", + "\u011a" + ] + ] + }, + { + "input": "Ê", + "description": "Named entity: Ecirc without a semi-colon", + "output": [ + [ + "Character", + "\u00ca" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Ê", + "description": "Named entity: Ecirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00ca" + ] + ] + }, + { + "input": "&Ecy", + "description": "Bad named entity: Ecy without a semi-colon", + "output": [ + [ + "Character", + "&Ecy" + ] + ] + }, + { + "input": "Э", + "description": "Named entity: Ecy; with a semi-colon", + "output": [ + [ + "Character", + "\u042d" + ] + ] + }, + { + "input": "&Edot", + "description": "Bad named entity: Edot without a semi-colon", + "output": [ + [ + "Character", + "&Edot" + ] + ] + }, + { + "input": "Ė", + "description": "Named entity: Edot; with a semi-colon", + "output": [ + [ + "Character", + "\u0116" + ] + ] + }, + { + "input": "&Efr", + "description": "Bad named entity: Efr without a semi-colon", + "output": [ + [ + "Character", + "&Efr" + ] + ] + }, + { + "input": "𝔈", + "description": "Named entity: Efr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd08" + ] + ] + }, + { + "input": "È", + "description": "Named entity: Egrave without a semi-colon", + "output": [ + [ + "Character", + "\u00c8" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "È", + "description": "Named entity: Egrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00c8" + ] + ] + }, + { + "input": "&Element", + "description": "Bad named entity: Element without a semi-colon", + "output": [ + [ + "Character", + "&Element" + ] + ] + }, + { + "input": "∈", + "description": "Named entity: Element; with a semi-colon", + "output": [ + [ + "Character", + "\u2208" + ] + ] + }, + { + "input": "&Emacr", + "description": "Bad named entity: Emacr without a semi-colon", + "output": [ + [ + "Character", + "&Emacr" + ] + ] + }, + { + "input": "Ē", + "description": "Named entity: Emacr; with a semi-colon", + "output": [ + [ + "Character", + "\u0112" + ] + ] + }, + { + "input": "&EmptySmallSquare", + "description": "Bad named entity: EmptySmallSquare without a semi-colon", + "output": [ + [ + "Character", + "&EmptySmallSquare" + ] + ] + }, + { + "input": "◻", + "description": "Named entity: EmptySmallSquare; with a semi-colon", + "output": [ + [ + "Character", + "\u25fb" + ] + ] + }, + { + "input": "&EmptyVerySmallSquare", + "description": "Bad named entity: EmptyVerySmallSquare without a semi-colon", + "output": [ + [ + "Character", + "&EmptyVerySmallSquare" + ] + ] + }, + { + "input": "▫", + "description": "Named entity: EmptyVerySmallSquare; with a semi-colon", + "output": [ + [ + "Character", + "\u25ab" + ] + ] + }, + { + "input": "&Eogon", + "description": "Bad named entity: Eogon without a semi-colon", + "output": [ + [ + "Character", + "&Eogon" + ] + ] + }, + { + "input": "Ę", + "description": "Named entity: Eogon; with a semi-colon", + "output": [ + [ + "Character", + "\u0118" + ] + ] + }, + { + "input": "&Eopf", + "description": "Bad named entity: Eopf without a semi-colon", + "output": [ + [ + "Character", + "&Eopf" + ] + ] + }, + { + "input": "𝔼", + "description": "Named entity: Eopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd3c" + ] + ] + }, + { + "input": "&Epsilon", + "description": "Bad named entity: Epsilon without a semi-colon", + "output": [ + [ + "Character", + "&Epsilon" + ] + ] + }, + { + "input": "Ε", + "description": "Named entity: Epsilon; with a semi-colon", + "output": [ + [ + "Character", + "\u0395" + ] + ] + }, + { + "input": "&Equal", + "description": "Bad named entity: Equal without a semi-colon", + "output": [ + [ + "Character", + "&Equal" + ] + ] + }, + { + "input": "⩵", + "description": "Named entity: Equal; with a semi-colon", + "output": [ + [ + "Character", + "\u2a75" + ] + ] + }, + { + "input": "&EqualTilde", + "description": "Bad named entity: EqualTilde without a semi-colon", + "output": [ + [ + "Character", + "&EqualTilde" + ] + ] + }, + { + "input": "≂", + "description": "Named entity: EqualTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2242" + ] + ] + }, + { + "input": "&Equilibrium", + "description": "Bad named entity: Equilibrium without a semi-colon", + "output": [ + [ + "Character", + "&Equilibrium" + ] + ] + }, + { + "input": "⇌", + "description": "Named entity: Equilibrium; with a semi-colon", + "output": [ + [ + "Character", + "\u21cc" + ] + ] + }, + { + "input": "&Escr", + "description": "Bad named entity: Escr without a semi-colon", + "output": [ + [ + "Character", + "&Escr" + ] + ] + }, + { + "input": "ℰ", + "description": "Named entity: Escr; with a semi-colon", + "output": [ + [ + "Character", + "\u2130" + ] + ] + }, + { + "input": "&Esim", + "description": "Bad named entity: Esim without a semi-colon", + "output": [ + [ + "Character", + "&Esim" + ] + ] + }, + { + "input": "⩳", + "description": "Named entity: Esim; with a semi-colon", + "output": [ + [ + "Character", + "\u2a73" + ] + ] + }, + { + "input": "&Eta", + "description": "Bad named entity: Eta without a semi-colon", + "output": [ + [ + "Character", + "&Eta" + ] + ] + }, + { + "input": "Η", + "description": "Named entity: Eta; with a semi-colon", + "output": [ + [ + "Character", + "\u0397" + ] + ] + }, + { + "input": "Ë", + "description": "Named entity: Euml without a semi-colon", + "output": [ + [ + "Character", + "\u00cb" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "Ë", + "description": "Named entity: Euml; with a semi-colon", + "output": [ + [ + "Character", + "\u00cb" + ] + ] + }, + { + "input": "&Exists", + "description": "Bad named entity: Exists without a semi-colon", + "output": [ + [ + "Character", + "&Exists" + ] + ] + }, + { + "input": "∃", + "description": "Named entity: Exists; with a semi-colon", + "output": [ + [ + "Character", + "\u2203" + ] + ] + }, + { + "input": "&ExponentialE", + "description": "Bad named entity: ExponentialE without a semi-colon", + "output": [ + [ + "Character", + "&ExponentialE" + ] + ] + }, + { + "input": "ⅇ", + "description": "Named entity: ExponentialE; with a semi-colon", + "output": [ + [ + "Character", + "\u2147" + ] + ] + }, + { + "input": "&Fcy", + "description": "Bad named entity: Fcy without a semi-colon", + "output": [ + [ + "Character", + "&Fcy" + ] + ] + }, + { + "input": "Ф", + "description": "Named entity: Fcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0424" + ] + ] + }, + { + "input": "&Ffr", + "description": "Bad named entity: Ffr without a semi-colon", + "output": [ + [ + "Character", + "&Ffr" + ] + ] + }, + { + "input": "𝔉", + "description": "Named entity: Ffr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd09" + ] + ] + }, + { + "input": "&FilledSmallSquare", + "description": "Bad named entity: FilledSmallSquare without a semi-colon", + "output": [ + [ + "Character", + "&FilledSmallSquare" + ] + ] + }, + { + "input": "◼", + "description": "Named entity: FilledSmallSquare; with a semi-colon", + "output": [ + [ + "Character", + "\u25fc" + ] + ] + }, + { + "input": "&FilledVerySmallSquare", + "description": "Bad named entity: FilledVerySmallSquare without a semi-colon", + "output": [ + [ + "Character", + "&FilledVerySmallSquare" + ] + ] + }, + { + "input": "▪", + "description": "Named entity: FilledVerySmallSquare; with a semi-colon", + "output": [ + [ + "Character", + "\u25aa" + ] + ] + }, + { + "input": "&Fopf", + "description": "Bad named entity: Fopf without a semi-colon", + "output": [ + [ + "Character", + "&Fopf" + ] + ] + }, + { + "input": "𝔽", + "description": "Named entity: Fopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd3d" + ] + ] + }, + { + "input": "&ForAll", + "description": "Bad named entity: ForAll without a semi-colon", + "output": [ + [ + "Character", + "&ForAll" + ] + ] + }, + { + "input": "∀", + "description": "Named entity: ForAll; with a semi-colon", + "output": [ + [ + "Character", + "\u2200" + ] + ] + }, + { + "input": "&Fouriertrf", + "description": "Bad named entity: Fouriertrf without a semi-colon", + "output": [ + [ + "Character", + "&Fouriertrf" + ] + ] + }, + { + "input": "ℱ", + "description": "Named entity: Fouriertrf; with a semi-colon", + "output": [ + [ + "Character", + "\u2131" + ] + ] + }, + { + "input": "&Fscr", + "description": "Bad named entity: Fscr without a semi-colon", + "output": [ + [ + "Character", + "&Fscr" + ] + ] + }, + { + "input": "ℱ", + "description": "Named entity: Fscr; with a semi-colon", + "output": [ + [ + "Character", + "\u2131" + ] + ] + }, + { + "input": "&GJcy", + "description": "Bad named entity: GJcy without a semi-colon", + "output": [ + [ + "Character", + "&GJcy" + ] + ] + }, + { + "input": "Ѓ", + "description": "Named entity: GJcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0403" + ] + ] + }, + { + "input": ">", + "description": "Named entity: GT without a semi-colon", + "output": [ + [ + "Character", + ">" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 4 } + ] + }, + { + "input": ">", + "description": "Named entity: GT; with a semi-colon", + "output": [ + [ + "Character", + ">" + ] + ] + }, + { + "input": "&Gamma", + "description": "Bad named entity: Gamma without a semi-colon", + "output": [ + [ + "Character", + "&Gamma" + ] + ] + }, + { + "input": "Γ", + "description": "Named entity: Gamma; with a semi-colon", + "output": [ + [ + "Character", + "\u0393" + ] + ] + }, + { + "input": "&Gammad", + "description": "Bad named entity: Gammad without a semi-colon", + "output": [ + [ + "Character", + "&Gammad" + ] + ] + }, + { + "input": "Ϝ", + "description": "Named entity: Gammad; with a semi-colon", + "output": [ + [ + "Character", + "\u03dc" + ] + ] + }, + { + "input": "&Gbreve", + "description": "Bad named entity: Gbreve without a semi-colon", + "output": [ + [ + "Character", + "&Gbreve" + ] + ] + }, + { + "input": "Ğ", + "description": "Named entity: Gbreve; with a semi-colon", + "output": [ + [ + "Character", + "\u011e" + ] + ] + }, + { + "input": "&Gcedil", + "description": "Bad named entity: Gcedil without a semi-colon", + "output": [ + [ + "Character", + "&Gcedil" + ] + ] + }, + { + "input": "Ģ", + "description": "Named entity: Gcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0122" + ] + ] + }, + { + "input": "&Gcirc", + "description": "Bad named entity: Gcirc without a semi-colon", + "output": [ + [ + "Character", + "&Gcirc" + ] + ] + }, + { + "input": "Ĝ", + "description": "Named entity: Gcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u011c" + ] + ] + }, + { + "input": "&Gcy", + "description": "Bad named entity: Gcy without a semi-colon", + "output": [ + [ + "Character", + "&Gcy" + ] + ] + }, + { + "input": "Г", + "description": "Named entity: Gcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0413" + ] + ] + }, + { + "input": "&Gdot", + "description": "Bad named entity: Gdot without a semi-colon", + "output": [ + [ + "Character", + "&Gdot" + ] + ] + }, + { + "input": "Ġ", + "description": "Named entity: Gdot; with a semi-colon", + "output": [ + [ + "Character", + "\u0120" + ] + ] + }, + { + "input": "&Gfr", + "description": "Bad named entity: Gfr without a semi-colon", + "output": [ + [ + "Character", + "&Gfr" + ] + ] + }, + { + "input": "𝔊", + "description": "Named entity: Gfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd0a" + ] + ] + }, + { + "input": "&Gg", + "description": "Bad named entity: Gg without a semi-colon", + "output": [ + [ + "Character", + "&Gg" + ] + ] + }, + { + "input": "⋙", + "description": "Named entity: Gg; with a semi-colon", + "output": [ + [ + "Character", + "\u22d9" + ] + ] + }, + { + "input": "&Gopf", + "description": "Bad named entity: Gopf without a semi-colon", + "output": [ + [ + "Character", + "&Gopf" + ] + ] + }, + { + "input": "𝔾", + "description": "Named entity: Gopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd3e" + ] + ] + }, + { + "input": "&GreaterEqual", + "description": "Bad named entity: GreaterEqual without a semi-colon", + "output": [ + [ + "Character", + "&GreaterEqual" + ] + ] + }, + { + "input": "≥", + "description": "Named entity: GreaterEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2265" + ] + ] + }, + { + "input": "&GreaterEqualLess", + "description": "Bad named entity: GreaterEqualLess without a semi-colon", + "output": [ + [ + "Character", + "&GreaterEqualLess" + ] + ] + }, + { + "input": "⋛", + "description": "Named entity: GreaterEqualLess; with a semi-colon", + "output": [ + [ + "Character", + "\u22db" + ] + ] + }, + { + "input": "&GreaterFullEqual", + "description": "Bad named entity: GreaterFullEqual without a semi-colon", + "output": [ + [ + "Character", + "&GreaterFullEqual" + ] + ] + }, + { + "input": "≧", + "description": "Named entity: GreaterFullEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2267" + ] + ] + }, + { + "input": "&GreaterGreater", + "description": "Bad named entity: GreaterGreater without a semi-colon", + "output": [ + [ + "Character", + "&GreaterGreater" + ] + ] + }, + { + "input": "⪢", + "description": "Named entity: GreaterGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa2" + ] + ] + }, + { + "input": "&GreaterLess", + "description": "Bad named entity: GreaterLess without a semi-colon", + "output": [ + [ + "Character", + "&GreaterLess" + ] + ] + }, + { + "input": "≷", + "description": "Named entity: GreaterLess; with a semi-colon", + "output": [ + [ + "Character", + "\u2277" + ] + ] + }, + { + "input": "&GreaterSlantEqual", + "description": "Bad named entity: GreaterSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&GreaterSlantEqual" + ] + ] + }, + { + "input": "⩾", + "description": "Named entity: GreaterSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7e" + ] + ] + }, + { + "input": "&GreaterTilde", + "description": "Bad named entity: GreaterTilde without a semi-colon", + "output": [ + [ + "Character", + "&GreaterTilde" + ] + ] + }, + { + "input": "≳", + "description": "Named entity: GreaterTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2273" + ] + ] + }, + { + "input": "&Gscr", + "description": "Bad named entity: Gscr without a semi-colon", + "output": [ + [ + "Character", + "&Gscr" + ] + ] + }, + { + "input": "𝒢", + "description": "Named entity: Gscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udca2" + ] + ] + }, + { + "input": "&Gt", + "description": "Bad named entity: Gt without a semi-colon", + "output": [ + [ + "Character", + "&Gt" + ] + ] + }, + { + "input": "≫", + "description": "Named entity: Gt; with a semi-colon", + "output": [ + [ + "Character", + "\u226b" + ] + ] + }, + { + "input": "&HARDcy", + "description": "Bad named entity: HARDcy without a semi-colon", + "output": [ + [ + "Character", + "&HARDcy" + ] + ] + }, + { + "input": "Ъ", + "description": "Named entity: HARDcy; with a semi-colon", + "output": [ + [ + "Character", + "\u042a" + ] + ] + }, + { + "input": "&Hacek", + "description": "Bad named entity: Hacek without a semi-colon", + "output": [ + [ + "Character", + "&Hacek" + ] + ] + }, + { + "input": "ˇ", + "description": "Named entity: Hacek; with a semi-colon", + "output": [ + [ + "Character", + "\u02c7" + ] + ] + }, + { + "input": "&Hat", + "description": "Bad named entity: Hat without a semi-colon", + "output": [ + [ + "Character", + "&Hat" + ] + ] + }, + { + "input": "^", + "description": "Named entity: Hat; with a semi-colon", + "output": [ + [ + "Character", + "^" + ] + ] + }, + { + "input": "&Hcirc", + "description": "Bad named entity: Hcirc without a semi-colon", + "output": [ + [ + "Character", + "&Hcirc" + ] + ] + }, + { + "input": "Ĥ", + "description": "Named entity: Hcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0124" + ] + ] + }, + { + "input": "&Hfr", + "description": "Bad named entity: Hfr without a semi-colon", + "output": [ + [ + "Character", + "&Hfr" + ] + ] + }, + { + "input": "ℌ", + "description": "Named entity: Hfr; with a semi-colon", + "output": [ + [ + "Character", + "\u210c" + ] + ] + }, + { + "input": "&HilbertSpace", + "description": "Bad named entity: HilbertSpace without a semi-colon", + "output": [ + [ + "Character", + "&HilbertSpace" + ] + ] + }, + { + "input": "ℋ", + "description": "Named entity: HilbertSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u210b" + ] + ] + }, + { + "input": "&Hopf", + "description": "Bad named entity: Hopf without a semi-colon", + "output": [ + [ + "Character", + "&Hopf" + ] + ] + }, + { + "input": "ℍ", + "description": "Named entity: Hopf; with a semi-colon", + "output": [ + [ + "Character", + "\u210d" + ] + ] + }, + { + "input": "&HorizontalLine", + "description": "Bad named entity: HorizontalLine without a semi-colon", + "output": [ + [ + "Character", + "&HorizontalLine" + ] + ] + }, + { + "input": "─", + "description": "Named entity: HorizontalLine; with a semi-colon", + "output": [ + [ + "Character", + "\u2500" + ] + ] + }, + { + "input": "&Hscr", + "description": "Bad named entity: Hscr without a semi-colon", + "output": [ + [ + "Character", + "&Hscr" + ] + ] + }, + { + "input": "ℋ", + "description": "Named entity: Hscr; with a semi-colon", + "output": [ + [ + "Character", + "\u210b" + ] + ] + }, + { + "input": "&Hstrok", + "description": "Bad named entity: Hstrok without a semi-colon", + "output": [ + [ + "Character", + "&Hstrok" + ] + ] + }, + { + "input": "Ħ", + "description": "Named entity: Hstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0126" + ] + ] + }, + { + "input": "&HumpDownHump", + "description": "Bad named entity: HumpDownHump without a semi-colon", + "output": [ + [ + "Character", + "&HumpDownHump" + ] + ] + }, + { + "input": "≎", + "description": "Named entity: HumpDownHump; with a semi-colon", + "output": [ + [ + "Character", + "\u224e" + ] + ] + }, + { + "input": "&HumpEqual", + "description": "Bad named entity: HumpEqual without a semi-colon", + "output": [ + [ + "Character", + "&HumpEqual" + ] + ] + }, + { + "input": "≏", + "description": "Named entity: HumpEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u224f" + ] + ] + }, + { + "input": "&IEcy", + "description": "Bad named entity: IEcy without a semi-colon", + "output": [ + [ + "Character", + "&IEcy" + ] + ] + }, + { + "input": "Е", + "description": "Named entity: IEcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0415" + ] + ] + }, + { + "input": "&IJlig", + "description": "Bad named entity: IJlig without a semi-colon", + "output": [ + [ + "Character", + "&IJlig" + ] + ] + }, + { + "input": "IJ", + "description": "Named entity: IJlig; with a semi-colon", + "output": [ + [ + "Character", + "\u0132" + ] + ] + }, + { + "input": "&IOcy", + "description": "Bad named entity: IOcy without a semi-colon", + "output": [ + [ + "Character", + "&IOcy" + ] + ] + }, + { + "input": "Ё", + "description": "Named entity: IOcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0401" + ] + ] + }, + { + "input": "Í", + "description": "Named entity: Iacute without a semi-colon", + "output": [ + [ + "Character", + "\u00cd" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Í", + "description": "Named entity: Iacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00cd" + ] + ] + }, + { + "input": "Î", + "description": "Named entity: Icirc without a semi-colon", + "output": [ + [ + "Character", + "\u00ce" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Î", + "description": "Named entity: Icirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00ce" + ] + ] + }, + { + "input": "&Icy", + "description": "Bad named entity: Icy without a semi-colon", + "output": [ + [ + "Character", + "&Icy" + ] + ] + }, + { + "input": "И", + "description": "Named entity: Icy; with a semi-colon", + "output": [ + [ + "Character", + "\u0418" + ] + ] + }, + { + "input": "&Idot", + "description": "Bad named entity: Idot without a semi-colon", + "output": [ + [ + "Character", + "&Idot" + ] + ] + }, + { + "input": "İ", + "description": "Named entity: Idot; with a semi-colon", + "output": [ + [ + "Character", + "\u0130" + ] + ] + }, + { + "input": "&Ifr", + "description": "Bad named entity: Ifr without a semi-colon", + "output": [ + [ + "Character", + "&Ifr" + ] + ] + }, + { + "input": "ℑ", + "description": "Named entity: Ifr; with a semi-colon", + "output": [ + [ + "Character", + "\u2111" + ] + ] + }, + { + "input": "Ì", + "description": "Named entity: Igrave without a semi-colon", + "output": [ + [ + "Character", + "\u00cc" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ì", + "description": "Named entity: Igrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00cc" + ] + ] + }, + { + "input": "&Im", + "description": "Bad named entity: Im without a semi-colon", + "output": [ + [ + "Character", + "&Im" + ] + ] + }, + { + "input": "ℑ", + "description": "Named entity: Im; with a semi-colon", + "output": [ + [ + "Character", + "\u2111" + ] + ] + }, + { + "input": "&Imacr", + "description": "Bad named entity: Imacr without a semi-colon", + "output": [ + [ + "Character", + "&Imacr" + ] + ] + }, + { + "input": "Ī", + "description": "Named entity: Imacr; with a semi-colon", + "output": [ + [ + "Character", + "\u012a" + ] + ] + }, + { + "input": "&ImaginaryI", + "description": "Bad named entity: ImaginaryI without a semi-colon", + "output": [ + [ + "Character", + "&ImaginaryI" + ] + ] + }, + { + "input": "ⅈ", + "description": "Named entity: ImaginaryI; with a semi-colon", + "output": [ + [ + "Character", + "\u2148" + ] + ] + }, + { + "input": "&Implies", + "description": "Bad named entity: Implies without a semi-colon", + "output": [ + [ + "Character", + "&Implies" + ] + ] + }, + { + "input": "⇒", + "description": "Named entity: Implies; with a semi-colon", + "output": [ + [ + "Character", + "\u21d2" + ] + ] + }, + { + "input": "&Int", + "description": "Bad named entity: Int without a semi-colon", + "output": [ + [ + "Character", + "&Int" + ] + ] + }, + { + "input": "∬", + "description": "Named entity: Int; with a semi-colon", + "output": [ + [ + "Character", + "\u222c" + ] + ] + }, + { + "input": "&Integral", + "description": "Bad named entity: Integral without a semi-colon", + "output": [ + [ + "Character", + "&Integral" + ] + ] + }, + { + "input": "∫", + "description": "Named entity: Integral; with a semi-colon", + "output": [ + [ + "Character", + "\u222b" + ] + ] + }, + { + "input": "&Intersection", + "description": "Bad named entity: Intersection without a semi-colon", + "output": [ + [ + "Character", + "&Intersection" + ] + ] + }, + { + "input": "⋂", + "description": "Named entity: Intersection; with a semi-colon", + "output": [ + [ + "Character", + "\u22c2" + ] + ] + }, + { + "input": "&InvisibleComma", + "description": "Bad named entity: InvisibleComma without a semi-colon", + "output": [ + [ + "Character", + "&InvisibleComma" + ] + ] + }, + { + "input": "⁣", + "description": "Named entity: InvisibleComma; with a semi-colon", + "output": [ + [ + "Character", + "\u2063" + ] + ] + }, + { + "input": "&InvisibleTimes", + "description": "Bad named entity: InvisibleTimes without a semi-colon", + "output": [ + [ + "Character", + "&InvisibleTimes" + ] + ] + }, + { + "input": "⁢", + "description": "Named entity: InvisibleTimes; with a semi-colon", + "output": [ + [ + "Character", + "\u2062" + ] + ] + }, + { + "input": "&Iogon", + "description": "Bad named entity: Iogon without a semi-colon", + "output": [ + [ + "Character", + "&Iogon" + ] + ] + }, + { + "input": "Į", + "description": "Named entity: Iogon; with a semi-colon", + "output": [ + [ + "Character", + "\u012e" + ] + ] + }, + { + "input": "&Iopf", + "description": "Bad named entity: Iopf without a semi-colon", + "output": [ + [ + "Character", + "&Iopf" + ] + ] + }, + { + "input": "𝕀", + "description": "Named entity: Iopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd40" + ] + ] + }, + { + "input": "&Iota", + "description": "Bad named entity: Iota without a semi-colon", + "output": [ + [ + "Character", + "&Iota" + ] + ] + }, + { + "input": "Ι", + "description": "Named entity: Iota; with a semi-colon", + "output": [ + [ + "Character", + "\u0399" + ] + ] + }, + { + "input": "&Iscr", + "description": "Bad named entity: Iscr without a semi-colon", + "output": [ + [ + "Character", + "&Iscr" + ] + ] + }, + { + "input": "ℐ", + "description": "Named entity: Iscr; with a semi-colon", + "output": [ + [ + "Character", + "\u2110" + ] + ] + }, + { + "input": "&Itilde", + "description": "Bad named entity: Itilde without a semi-colon", + "output": [ + [ + "Character", + "&Itilde" + ] + ] + }, + { + "input": "Ĩ", + "description": "Named entity: Itilde; with a semi-colon", + "output": [ + [ + "Character", + "\u0128" + ] + ] + }, + { + "input": "&Iukcy", + "description": "Bad named entity: Iukcy without a semi-colon", + "output": [ + [ + "Character", + "&Iukcy" + ] + ] + }, + { + "input": "І", + "description": "Named entity: Iukcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0406" + ] + ] + }, + { + "input": "Ï", + "description": "Named entity: Iuml without a semi-colon", + "output": [ + [ + "Character", + "\u00cf" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "Ï", + "description": "Named entity: Iuml; with a semi-colon", + "output": [ + [ + "Character", + "\u00cf" + ] + ] + }, + { + "input": "&Jcirc", + "description": "Bad named entity: Jcirc without a semi-colon", + "output": [ + [ + "Character", + "&Jcirc" + ] + ] + }, + { + "input": "Ĵ", + "description": "Named entity: Jcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0134" + ] + ] + }, + { + "input": "&Jcy", + "description": "Bad named entity: Jcy without a semi-colon", + "output": [ + [ + "Character", + "&Jcy" + ] + ] + }, + { + "input": "Й", + "description": "Named entity: Jcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0419" + ] + ] + }, + { + "input": "&Jfr", + "description": "Bad named entity: Jfr without a semi-colon", + "output": [ + [ + "Character", + "&Jfr" + ] + ] + }, + { + "input": "𝔍", + "description": "Named entity: Jfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd0d" + ] + ] + }, + { + "input": "&Jopf", + "description": "Bad named entity: Jopf without a semi-colon", + "output": [ + [ + "Character", + "&Jopf" + ] + ] + }, + { + "input": "𝕁", + "description": "Named entity: Jopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd41" + ] + ] + }, + { + "input": "&Jscr", + "description": "Bad named entity: Jscr without a semi-colon", + "output": [ + [ + "Character", + "&Jscr" + ] + ] + }, + { + "input": "𝒥", + "description": "Named entity: Jscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udca5" + ] + ] + }, + { + "input": "&Jsercy", + "description": "Bad named entity: Jsercy without a semi-colon", + "output": [ + [ + "Character", + "&Jsercy" + ] + ] + }, + { + "input": "Ј", + "description": "Named entity: Jsercy; with a semi-colon", + "output": [ + [ + "Character", + "\u0408" + ] + ] + }, + { + "input": "&Jukcy", + "description": "Bad named entity: Jukcy without a semi-colon", + "output": [ + [ + "Character", + "&Jukcy" + ] + ] + }, + { + "input": "Є", + "description": "Named entity: Jukcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0404" + ] + ] + }, + { + "input": "&KHcy", + "description": "Bad named entity: KHcy without a semi-colon", + "output": [ + [ + "Character", + "&KHcy" + ] + ] + }, + { + "input": "Х", + "description": "Named entity: KHcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0425" + ] + ] + }, + { + "input": "&KJcy", + "description": "Bad named entity: KJcy without a semi-colon", + "output": [ + [ + "Character", + "&KJcy" + ] + ] + }, + { + "input": "Ќ", + "description": "Named entity: KJcy; with a semi-colon", + "output": [ + [ + "Character", + "\u040c" + ] + ] + }, + { + "input": "&Kappa", + "description": "Bad named entity: Kappa without a semi-colon", + "output": [ + [ + "Character", + "&Kappa" + ] + ] + }, + { + "input": "Κ", + "description": "Named entity: Kappa; with a semi-colon", + "output": [ + [ + "Character", + "\u039a" + ] + ] + }, + { + "input": "&Kcedil", + "description": "Bad named entity: Kcedil without a semi-colon", + "output": [ + [ + "Character", + "&Kcedil" + ] + ] + }, + { + "input": "Ķ", + "description": "Named entity: Kcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0136" + ] + ] + }, + { + "input": "&Kcy", + "description": "Bad named entity: Kcy without a semi-colon", + "output": [ + [ + "Character", + "&Kcy" + ] + ] + }, + { + "input": "К", + "description": "Named entity: Kcy; with a semi-colon", + "output": [ + [ + "Character", + "\u041a" + ] + ] + }, + { + "input": "&Kfr", + "description": "Bad named entity: Kfr without a semi-colon", + "output": [ + [ + "Character", + "&Kfr" + ] + ] + }, + { + "input": "𝔎", + "description": "Named entity: Kfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd0e" + ] + ] + }, + { + "input": "&Kopf", + "description": "Bad named entity: Kopf without a semi-colon", + "output": [ + [ + "Character", + "&Kopf" + ] + ] + }, + { + "input": "𝕂", + "description": "Named entity: Kopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd42" + ] + ] + }, + { + "input": "&Kscr", + "description": "Bad named entity: Kscr without a semi-colon", + "output": [ + [ + "Character", + "&Kscr" + ] + ] + }, + { + "input": "𝒦", + "description": "Named entity: Kscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udca6" + ] + ] + }, + { + "input": "&LJcy", + "description": "Bad named entity: LJcy without a semi-colon", + "output": [ + [ + "Character", + "&LJcy" + ] + ] + }, + { + "input": "Љ", + "description": "Named entity: LJcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0409" + ] + ] + }, + { + "input": "<", + "description": "Named entity: LT without a semi-colon", + "output": [ + [ + "Character", + "<" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 4 } + ] + }, + { + "input": "<", + "description": "Named entity: LT; with a semi-colon", + "output": [ + [ + "Character", + "<" + ] + ] + }, + { + "input": "&Lacute", + "description": "Bad named entity: Lacute without a semi-colon", + "output": [ + [ + "Character", + "&Lacute" + ] + ] + }, + { + "input": "Ĺ", + "description": "Named entity: Lacute; with a semi-colon", + "output": [ + [ + "Character", + "\u0139" + ] + ] + }, + { + "input": "&Lambda", + "description": "Bad named entity: Lambda without a semi-colon", + "output": [ + [ + "Character", + "&Lambda" + ] + ] + }, + { + "input": "Λ", + "description": "Named entity: Lambda; with a semi-colon", + "output": [ + [ + "Character", + "\u039b" + ] + ] + }, + { + "input": "&Lang", + "description": "Bad named entity: Lang without a semi-colon", + "output": [ + [ + "Character", + "&Lang" + ] + ] + }, + { + "input": "⟪", + "description": "Named entity: Lang; with a semi-colon", + "output": [ + [ + "Character", + "\u27ea" + ] + ] + }, + { + "input": "&Laplacetrf", + "description": "Bad named entity: Laplacetrf without a semi-colon", + "output": [ + [ + "Character", + "&Laplacetrf" + ] + ] + }, + { + "input": "ℒ", + "description": "Named entity: Laplacetrf; with a semi-colon", + "output": [ + [ + "Character", + "\u2112" + ] + ] + }, + { + "input": "&Larr", + "description": "Bad named entity: Larr without a semi-colon", + "output": [ + [ + "Character", + "&Larr" + ] + ] + }, + { + "input": "↞", + "description": "Named entity: Larr; with a semi-colon", + "output": [ + [ + "Character", + "\u219e" + ] + ] + }, + { + "input": "&Lcaron", + "description": "Bad named entity: Lcaron without a semi-colon", + "output": [ + [ + "Character", + "&Lcaron" + ] + ] + }, + { + "input": "Ľ", + "description": "Named entity: Lcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u013d" + ] + ] + }, + { + "input": "&Lcedil", + "description": "Bad named entity: Lcedil without a semi-colon", + "output": [ + [ + "Character", + "&Lcedil" + ] + ] + }, + { + "input": "Ļ", + "description": "Named entity: Lcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u013b" + ] + ] + }, + { + "input": "&Lcy", + "description": "Bad named entity: Lcy without a semi-colon", + "output": [ + [ + "Character", + "&Lcy" + ] + ] + }, + { + "input": "Л", + "description": "Named entity: Lcy; with a semi-colon", + "output": [ + [ + "Character", + "\u041b" + ] + ] + }, + { + "input": "&LeftAngleBracket", + "description": "Bad named entity: LeftAngleBracket without a semi-colon", + "output": [ + [ + "Character", + "&LeftAngleBracket" + ] + ] + }, + { + "input": "⟨", + "description": "Named entity: LeftAngleBracket; with a semi-colon", + "output": [ + [ + "Character", + "\u27e8" + ] + ] + }, + { + "input": "&LeftArrow", + "description": "Bad named entity: LeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&LeftArrow" + ] + ] + }, + { + "input": "←", + "description": "Named entity: LeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2190" + ] + ] + }, + { + "input": "&LeftArrowBar", + "description": "Bad named entity: LeftArrowBar without a semi-colon", + "output": [ + [ + "Character", + "&LeftArrowBar" + ] + ] + }, + { + "input": "⇤", + "description": "Named entity: LeftArrowBar; with a semi-colon", + "output": [ + [ + "Character", + "\u21e4" + ] + ] + }, + { + "input": "&LeftArrowRightArrow", + "description": "Bad named entity: LeftArrowRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&LeftArrowRightArrow" + ] + ] + }, + { + "input": "⇆", + "description": "Named entity: LeftArrowRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21c6" + ] + ] + }, + { + "input": "&LeftCeiling", + "description": "Bad named entity: LeftCeiling without a semi-colon", + "output": [ + [ + "Character", + "&LeftCeiling" + ] + ] + }, + { + "input": "⌈", + "description": "Named entity: LeftCeiling; with a semi-colon", + "output": [ + [ + "Character", + "\u2308" + ] + ] + }, + { + "input": "&LeftDoubleBracket", + "description": "Bad named entity: LeftDoubleBracket without a semi-colon", + "output": [ + [ + "Character", + "&LeftDoubleBracket" + ] + ] + }, + { + "input": "⟦", + "description": "Named entity: LeftDoubleBracket; with a semi-colon", + "output": [ + [ + "Character", + "\u27e6" + ] + ] + }, + { + "input": "&LeftDownTeeVector", + "description": "Bad named entity: LeftDownTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftDownTeeVector" + ] + ] + }, + { + "input": "⥡", + "description": "Named entity: LeftDownTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u2961" + ] + ] + }, + { + "input": "&LeftDownVector", + "description": "Bad named entity: LeftDownVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftDownVector" + ] + ] + }, + { + "input": "⇃", + "description": "Named entity: LeftDownVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21c3" + ] + ] + }, + { + "input": "&LeftDownVectorBar", + "description": "Bad named entity: LeftDownVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&LeftDownVectorBar" + ] + ] + }, + { + "input": "⥙", + "description": "Named entity: LeftDownVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2959" + ] + ] + }, + { + "input": "&LeftFloor", + "description": "Bad named entity: LeftFloor without a semi-colon", + "output": [ + [ + "Character", + "&LeftFloor" + ] + ] + }, + { + "input": "⌊", + "description": "Named entity: LeftFloor; with a semi-colon", + "output": [ + [ + "Character", + "\u230a" + ] + ] + }, + { + "input": "&LeftRightArrow", + "description": "Bad named entity: LeftRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&LeftRightArrow" + ] + ] + }, + { + "input": "↔", + "description": "Named entity: LeftRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2194" + ] + ] + }, + { + "input": "&LeftRightVector", + "description": "Bad named entity: LeftRightVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftRightVector" + ] + ] + }, + { + "input": "⥎", + "description": "Named entity: LeftRightVector; with a semi-colon", + "output": [ + [ + "Character", + "\u294e" + ] + ] + }, + { + "input": "&LeftTee", + "description": "Bad named entity: LeftTee without a semi-colon", + "output": [ + [ + "Character", + "&LeftTee" + ] + ] + }, + { + "input": "⊣", + "description": "Named entity: LeftTee; with a semi-colon", + "output": [ + [ + "Character", + "\u22a3" + ] + ] + }, + { + "input": "&LeftTeeArrow", + "description": "Bad named entity: LeftTeeArrow without a semi-colon", + "output": [ + [ + "Character", + "&LeftTeeArrow" + ] + ] + }, + { + "input": "↤", + "description": "Named entity: LeftTeeArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21a4" + ] + ] + }, + { + "input": "&LeftTeeVector", + "description": "Bad named entity: LeftTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftTeeVector" + ] + ] + }, + { + "input": "⥚", + "description": "Named entity: LeftTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u295a" + ] + ] + }, + { + "input": "&LeftTriangle", + "description": "Bad named entity: LeftTriangle without a semi-colon", + "output": [ + [ + "Character", + "&LeftTriangle" + ] + ] + }, + { + "input": "⊲", + "description": "Named entity: LeftTriangle; with a semi-colon", + "output": [ + [ + "Character", + "\u22b2" + ] + ] + }, + { + "input": "&LeftTriangleBar", + "description": "Bad named entity: LeftTriangleBar without a semi-colon", + "output": [ + [ + "Character", + "&LeftTriangleBar" + ] + ] + }, + { + "input": "⧏", + "description": "Named entity: LeftTriangleBar; with a semi-colon", + "output": [ + [ + "Character", + "\u29cf" + ] + ] + }, + { + "input": "&LeftTriangleEqual", + "description": "Bad named entity: LeftTriangleEqual without a semi-colon", + "output": [ + [ + "Character", + "&LeftTriangleEqual" + ] + ] + }, + { + "input": "⊴", + "description": "Named entity: LeftTriangleEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22b4" + ] + ] + }, + { + "input": "&LeftUpDownVector", + "description": "Bad named entity: LeftUpDownVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftUpDownVector" + ] + ] + }, + { + "input": "⥑", + "description": "Named entity: LeftUpDownVector; with a semi-colon", + "output": [ + [ + "Character", + "\u2951" + ] + ] + }, + { + "input": "&LeftUpTeeVector", + "description": "Bad named entity: LeftUpTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftUpTeeVector" + ] + ] + }, + { + "input": "⥠", + "description": "Named entity: LeftUpTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u2960" + ] + ] + }, + { + "input": "&LeftUpVector", + "description": "Bad named entity: LeftUpVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftUpVector" + ] + ] + }, + { + "input": "↿", + "description": "Named entity: LeftUpVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21bf" + ] + ] + }, + { + "input": "&LeftUpVectorBar", + "description": "Bad named entity: LeftUpVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&LeftUpVectorBar" + ] + ] + }, + { + "input": "⥘", + "description": "Named entity: LeftUpVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2958" + ] + ] + }, + { + "input": "&LeftVector", + "description": "Bad named entity: LeftVector without a semi-colon", + "output": [ + [ + "Character", + "&LeftVector" + ] + ] + }, + { + "input": "↼", + "description": "Named entity: LeftVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21bc" + ] + ] + }, + { + "input": "&LeftVectorBar", + "description": "Bad named entity: LeftVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&LeftVectorBar" + ] + ] + }, + { + "input": "⥒", + "description": "Named entity: LeftVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2952" + ] + ] + }, + { + "input": "&Leftarrow", + "description": "Bad named entity: Leftarrow without a semi-colon", + "output": [ + [ + "Character", + "&Leftarrow" + ] + ] + }, + { + "input": "⇐", + "description": "Named entity: Leftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d0" + ] + ] + }, + { + "input": "&Leftrightarrow", + "description": "Bad named entity: Leftrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&Leftrightarrow" + ] + ] + }, + { + "input": "⇔", + "description": "Named entity: Leftrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d4" + ] + ] + }, + { + "input": "&LessEqualGreater", + "description": "Bad named entity: LessEqualGreater without a semi-colon", + "output": [ + [ + "Character", + "&LessEqualGreater" + ] + ] + }, + { + "input": "⋚", + "description": "Named entity: LessEqualGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u22da" + ] + ] + }, + { + "input": "&LessFullEqual", + "description": "Bad named entity: LessFullEqual without a semi-colon", + "output": [ + [ + "Character", + "&LessFullEqual" + ] + ] + }, + { + "input": "≦", + "description": "Named entity: LessFullEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2266" + ] + ] + }, + { + "input": "&LessGreater", + "description": "Bad named entity: LessGreater without a semi-colon", + "output": [ + [ + "Character", + "&LessGreater" + ] + ] + }, + { + "input": "≶", + "description": "Named entity: LessGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u2276" + ] + ] + }, + { + "input": "&LessLess", + "description": "Bad named entity: LessLess without a semi-colon", + "output": [ + [ + "Character", + "&LessLess" + ] + ] + }, + { + "input": "⪡", + "description": "Named entity: LessLess; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa1" + ] + ] + }, + { + "input": "&LessSlantEqual", + "description": "Bad named entity: LessSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&LessSlantEqual" + ] + ] + }, + { + "input": "⩽", + "description": "Named entity: LessSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7d" + ] + ] + }, + { + "input": "&LessTilde", + "description": "Bad named entity: LessTilde without a semi-colon", + "output": [ + [ + "Character", + "&LessTilde" + ] + ] + }, + { + "input": "≲", + "description": "Named entity: LessTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2272" + ] + ] + }, + { + "input": "&Lfr", + "description": "Bad named entity: Lfr without a semi-colon", + "output": [ + [ + "Character", + "&Lfr" + ] + ] + }, + { + "input": "𝔏", + "description": "Named entity: Lfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd0f" + ] + ] + }, + { + "input": "&Ll", + "description": "Bad named entity: Ll without a semi-colon", + "output": [ + [ + "Character", + "&Ll" + ] + ] + }, + { + "input": "⋘", + "description": "Named entity: Ll; with a semi-colon", + "output": [ + [ + "Character", + "\u22d8" + ] + ] + }, + { + "input": "&Lleftarrow", + "description": "Bad named entity: Lleftarrow without a semi-colon", + "output": [ + [ + "Character", + "&Lleftarrow" + ] + ] + }, + { + "input": "⇚", + "description": "Named entity: Lleftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21da" + ] + ] + }, + { + "input": "&Lmidot", + "description": "Bad named entity: Lmidot without a semi-colon", + "output": [ + [ + "Character", + "&Lmidot" + ] + ] + }, + { + "input": "Ŀ", + "description": "Named entity: Lmidot; with a semi-colon", + "output": [ + [ + "Character", + "\u013f" + ] + ] + }, + { + "input": "&LongLeftArrow", + "description": "Bad named entity: LongLeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&LongLeftArrow" + ] + ] + }, + { + "input": "⟵", + "description": "Named entity: LongLeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f5" + ] + ] + }, + { + "input": "&LongLeftRightArrow", + "description": "Bad named entity: LongLeftRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&LongLeftRightArrow" + ] + ] + }, + { + "input": "⟷", + "description": "Named entity: LongLeftRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f7" + ] + ] + }, + { + "input": "&LongRightArrow", + "description": "Bad named entity: LongRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&LongRightArrow" + ] + ] + }, + { + "input": "⟶", + "description": "Named entity: LongRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f6" + ] + ] + }, + { + "input": "&Longleftarrow", + "description": "Bad named entity: Longleftarrow without a semi-colon", + "output": [ + [ + "Character", + "&Longleftarrow" + ] + ] + }, + { + "input": "⟸", + "description": "Named entity: Longleftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f8" + ] + ] + }, + { + "input": "&Longleftrightarrow", + "description": "Bad named entity: Longleftrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&Longleftrightarrow" + ] + ] + }, + { + "input": "⟺", + "description": "Named entity: Longleftrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27fa" + ] + ] + }, + { + "input": "&Longrightarrow", + "description": "Bad named entity: Longrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&Longrightarrow" + ] + ] + }, + { + "input": "⟹", + "description": "Named entity: Longrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f9" + ] + ] + }, + { + "input": "&Lopf", + "description": "Bad named entity: Lopf without a semi-colon", + "output": [ + [ + "Character", + "&Lopf" + ] + ] + }, + { + "input": "𝕃", + "description": "Named entity: Lopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd43" + ] + ] + }, + { + "input": "&LowerLeftArrow", + "description": "Bad named entity: LowerLeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&LowerLeftArrow" + ] + ] + }, + { + "input": "↙", + "description": "Named entity: LowerLeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2199" + ] + ] + }, + { + "input": "&LowerRightArrow", + "description": "Bad named entity: LowerRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&LowerRightArrow" + ] + ] + }, + { + "input": "↘", + "description": "Named entity: LowerRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2198" + ] + ] + }, + { + "input": "&Lscr", + "description": "Bad named entity: Lscr without a semi-colon", + "output": [ + [ + "Character", + "&Lscr" + ] + ] + }, + { + "input": "ℒ", + "description": "Named entity: Lscr; with a semi-colon", + "output": [ + [ + "Character", + "\u2112" + ] + ] + }, + { + "input": "&Lsh", + "description": "Bad named entity: Lsh without a semi-colon", + "output": [ + [ + "Character", + "&Lsh" + ] + ] + }, + { + "input": "↰", + "description": "Named entity: Lsh; with a semi-colon", + "output": [ + [ + "Character", + "\u21b0" + ] + ] + }, + { + "input": "&Lstrok", + "description": "Bad named entity: Lstrok without a semi-colon", + "output": [ + [ + "Character", + "&Lstrok" + ] + ] + }, + { + "input": "Ł", + "description": "Named entity: Lstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0141" + ] + ] + }, + { + "input": "&Lt", + "description": "Bad named entity: Lt without a semi-colon", + "output": [ + [ + "Character", + "&Lt" + ] + ] + }, + { + "input": "≪", + "description": "Named entity: Lt; with a semi-colon", + "output": [ + [ + "Character", + "\u226a" + ] + ] + }, + { + "input": "&Map", + "description": "Bad named entity: Map without a semi-colon", + "output": [ + [ + "Character", + "&Map" + ] + ] + }, + { + "input": "⤅", + "description": "Named entity: Map; with a semi-colon", + "output": [ + [ + "Character", + "\u2905" + ] + ] + }, + { + "input": "&Mcy", + "description": "Bad named entity: Mcy without a semi-colon", + "output": [ + [ + "Character", + "&Mcy" + ] + ] + }, + { + "input": "М", + "description": "Named entity: Mcy; with a semi-colon", + "output": [ + [ + "Character", + "\u041c" + ] + ] + }, + { + "input": "&MediumSpace", + "description": "Bad named entity: MediumSpace without a semi-colon", + "output": [ + [ + "Character", + "&MediumSpace" + ] + ] + }, + { + "input": " ", + "description": "Named entity: MediumSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u205f" + ] + ] + }, + { + "input": "&Mellintrf", + "description": "Bad named entity: Mellintrf without a semi-colon", + "output": [ + [ + "Character", + "&Mellintrf" + ] + ] + }, + { + "input": "ℳ", + "description": "Named entity: Mellintrf; with a semi-colon", + "output": [ + [ + "Character", + "\u2133" + ] + ] + }, + { + "input": "&Mfr", + "description": "Bad named entity: Mfr without a semi-colon", + "output": [ + [ + "Character", + "&Mfr" + ] + ] + }, + { + "input": "𝔐", + "description": "Named entity: Mfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd10" + ] + ] + }, + { + "input": "&MinusPlus", + "description": "Bad named entity: MinusPlus without a semi-colon", + "output": [ + [ + "Character", + "&MinusPlus" + ] + ] + }, + { + "input": "∓", + "description": "Named entity: MinusPlus; with a semi-colon", + "output": [ + [ + "Character", + "\u2213" + ] + ] + }, + { + "input": "&Mopf", + "description": "Bad named entity: Mopf without a semi-colon", + "output": [ + [ + "Character", + "&Mopf" + ] + ] + }, + { + "input": "𝕄", + "description": "Named entity: Mopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd44" + ] + ] + }, + { + "input": "&Mscr", + "description": "Bad named entity: Mscr without a semi-colon", + "output": [ + [ + "Character", + "&Mscr" + ] + ] + }, + { + "input": "ℳ", + "description": "Named entity: Mscr; with a semi-colon", + "output": [ + [ + "Character", + "\u2133" + ] + ] + }, + { + "input": "&Mu", + "description": "Bad named entity: Mu without a semi-colon", + "output": [ + [ + "Character", + "&Mu" + ] + ] + }, + { + "input": "Μ", + "description": "Named entity: Mu; with a semi-colon", + "output": [ + [ + "Character", + "\u039c" + ] + ] + }, + { + "input": "&NJcy", + "description": "Bad named entity: NJcy without a semi-colon", + "output": [ + [ + "Character", + "&NJcy" + ] + ] + }, + { + "input": "Њ", + "description": "Named entity: NJcy; with a semi-colon", + "output": [ + [ + "Character", + "\u040a" + ] + ] + }, + { + "input": "&Nacute", + "description": "Bad named entity: Nacute without a semi-colon", + "output": [ + [ + "Character", + "&Nacute" + ] + ] + }, + { + "input": "Ń", + "description": "Named entity: Nacute; with a semi-colon", + "output": [ + [ + "Character", + "\u0143" + ] + ] + }, + { + "input": "&Ncaron", + "description": "Bad named entity: Ncaron without a semi-colon", + "output": [ + [ + "Character", + "&Ncaron" + ] + ] + }, + { + "input": "Ň", + "description": "Named entity: Ncaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0147" + ] + ] + }, + { + "input": "&Ncedil", + "description": "Bad named entity: Ncedil without a semi-colon", + "output": [ + [ + "Character", + "&Ncedil" + ] + ] + }, + { + "input": "Ņ", + "description": "Named entity: Ncedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0145" + ] + ] + }, + { + "input": "&Ncy", + "description": "Bad named entity: Ncy without a semi-colon", + "output": [ + [ + "Character", + "&Ncy" + ] + ] + }, + { + "input": "Н", + "description": "Named entity: Ncy; with a semi-colon", + "output": [ + [ + "Character", + "\u041d" + ] + ] + }, + { + "input": "&NegativeMediumSpace", + "description": "Bad named entity: NegativeMediumSpace without a semi-colon", + "output": [ + [ + "Character", + "&NegativeMediumSpace" + ] + ] + }, + { + "input": "​", + "description": "Named entity: NegativeMediumSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u200b" + ] + ] + }, + { + "input": "&NegativeThickSpace", + "description": "Bad named entity: NegativeThickSpace without a semi-colon", + "output": [ + [ + "Character", + "&NegativeThickSpace" + ] + ] + }, + { + "input": "​", + "description": "Named entity: NegativeThickSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u200b" + ] + ] + }, + { + "input": "&NegativeThinSpace", + "description": "Bad named entity: NegativeThinSpace without a semi-colon", + "output": [ + [ + "Character", + "&NegativeThinSpace" + ] + ] + }, + { + "input": "​", + "description": "Named entity: NegativeThinSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u200b" + ] + ] + }, + { + "input": "&NegativeVeryThinSpace", + "description": "Bad named entity: NegativeVeryThinSpace without a semi-colon", + "output": [ + [ + "Character", + "&NegativeVeryThinSpace" + ] + ] + }, + { + "input": "​", + "description": "Named entity: NegativeVeryThinSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u200b" + ] + ] + }, + { + "input": "&NestedGreaterGreater", + "description": "Bad named entity: NestedGreaterGreater without a semi-colon", + "output": [ + [ + "Character", + "&NestedGreaterGreater" + ] + ] + }, + { + "input": "≫", + "description": "Named entity: NestedGreaterGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u226b" + ] + ] + }, + { + "input": "&NestedLessLess", + "description": "Bad named entity: NestedLessLess without a semi-colon", + "output": [ + [ + "Character", + "&NestedLessLess" + ] + ] + }, + { + "input": "≪", + "description": "Named entity: NestedLessLess; with a semi-colon", + "output": [ + [ + "Character", + "\u226a" + ] + ] + }, + { + "input": "&NewLine", + "description": "Bad named entity: NewLine without a semi-colon", + "output": [ + [ + "Character", + "&NewLine" + ] + ] + }, + { + "input": "
", + "description": "Named entity: NewLine; with a semi-colon", + "output": [ + [ + "Character", + "\n" + ] + ] + }, + { + "input": "&Nfr", + "description": "Bad named entity: Nfr without a semi-colon", + "output": [ + [ + "Character", + "&Nfr" + ] + ] + }, + { + "input": "𝔑", + "description": "Named entity: Nfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd11" + ] + ] + }, + { + "input": "&NoBreak", + "description": "Bad named entity: NoBreak without a semi-colon", + "output": [ + [ + "Character", + "&NoBreak" + ] + ] + }, + { + "input": "⁠", + "description": "Named entity: NoBreak; with a semi-colon", + "output": [ + [ + "Character", + "\u2060" + ] + ] + }, + { + "input": "&NonBreakingSpace", + "description": "Bad named entity: NonBreakingSpace without a semi-colon", + "output": [ + [ + "Character", + "&NonBreakingSpace" + ] + ] + }, + { + "input": " ", + "description": "Named entity: NonBreakingSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u00a0" + ] + ] + }, + { + "input": "&Nopf", + "description": "Bad named entity: Nopf without a semi-colon", + "output": [ + [ + "Character", + "&Nopf" + ] + ] + }, + { + "input": "ℕ", + "description": "Named entity: Nopf; with a semi-colon", + "output": [ + [ + "Character", + "\u2115" + ] + ] + }, + { + "input": "&Not", + "description": "Bad named entity: Not without a semi-colon", + "output": [ + [ + "Character", + "&Not" + ] + ] + }, + { + "input": "⫬", + "description": "Named entity: Not; with a semi-colon", + "output": [ + [ + "Character", + "\u2aec" + ] + ] + }, + { + "input": "&NotCongruent", + "description": "Bad named entity: NotCongruent without a semi-colon", + "output": [ + [ + "Character", + "&NotCongruent" + ] + ] + }, + { + "input": "≢", + "description": "Named entity: NotCongruent; with a semi-colon", + "output": [ + [ + "Character", + "\u2262" + ] + ] + }, + { + "input": "&NotCupCap", + "description": "Bad named entity: NotCupCap without a semi-colon", + "output": [ + [ + "Character", + "&NotCupCap" + ] + ] + }, + { + "input": "≭", + "description": "Named entity: NotCupCap; with a semi-colon", + "output": [ + [ + "Character", + "\u226d" + ] + ] + }, + { + "input": "&NotDoubleVerticalBar", + "description": "Bad named entity: NotDoubleVerticalBar without a semi-colon", + "output": [ + [ + "Character", + "&NotDoubleVerticalBar" + ] + ] + }, + { + "input": "∦", + "description": "Named entity: NotDoubleVerticalBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2226" + ] + ] + }, + { + "input": "&NotElement", + "description": "Bad named entity: NotElement without a semi-colon", + "output": [ + [ + "Character", + "&NotElement" + ] + ] + }, + { + "input": "∉", + "description": "Named entity: NotElement; with a semi-colon", + "output": [ + [ + "Character", + "\u2209" + ] + ] + }, + { + "input": "&NotEqual", + "description": "Bad named entity: NotEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotEqual" + ] + ] + }, + { + "input": "≠", + "description": "Named entity: NotEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2260" + ] + ] + }, + { + "input": "&NotEqualTilde", + "description": "Bad named entity: NotEqualTilde without a semi-colon", + "output": [ + [ + "Character", + "&NotEqualTilde" + ] + ] + }, + { + "input": "≂̸", + "description": "Named entity: NotEqualTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2242\u0338" + ] + ] + }, + { + "input": "&NotExists", + "description": "Bad named entity: NotExists without a semi-colon", + "output": [ + [ + "Character", + "&NotExists" + ] + ] + }, + { + "input": "∄", + "description": "Named entity: NotExists; with a semi-colon", + "output": [ + [ + "Character", + "\u2204" + ] + ] + }, + { + "input": "&NotGreater", + "description": "Bad named entity: NotGreater without a semi-colon", + "output": [ + [ + "Character", + "&NotGreater" + ] + ] + }, + { + "input": "≯", + "description": "Named entity: NotGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u226f" + ] + ] + }, + { + "input": "&NotGreaterEqual", + "description": "Bad named entity: NotGreaterEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotGreaterEqual" + ] + ] + }, + { + "input": "≱", + "description": "Named entity: NotGreaterEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2271" + ] + ] + }, + { + "input": "&NotGreaterFullEqual", + "description": "Bad named entity: NotGreaterFullEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotGreaterFullEqual" + ] + ] + }, + { + "input": "≧̸", + "description": "Named entity: NotGreaterFullEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2267\u0338" + ] + ] + }, + { + "input": "&NotGreaterGreater", + "description": "Bad named entity: NotGreaterGreater without a semi-colon", + "output": [ + [ + "Character", + "&NotGreaterGreater" + ] + ] + }, + { + "input": "≫̸", + "description": "Named entity: NotGreaterGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u226b\u0338" + ] + ] + }, + { + "input": "&NotGreaterLess", + "description": "Bad named entity: NotGreaterLess without a semi-colon", + "output": [ + [ + "Character", + "&NotGreaterLess" + ] + ] + }, + { + "input": "≹", + "description": "Named entity: NotGreaterLess; with a semi-colon", + "output": [ + [ + "Character", + "\u2279" + ] + ] + }, + { + "input": "&NotGreaterSlantEqual", + "description": "Bad named entity: NotGreaterSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotGreaterSlantEqual" + ] + ] + }, + { + "input": "⩾̸", + "description": "Named entity: NotGreaterSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7e\u0338" + ] + ] + }, + { + "input": "&NotGreaterTilde", + "description": "Bad named entity: NotGreaterTilde without a semi-colon", + "output": [ + [ + "Character", + "&NotGreaterTilde" + ] + ] + }, + { + "input": "≵", + "description": "Named entity: NotGreaterTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2275" + ] + ] + }, + { + "input": "&NotHumpDownHump", + "description": "Bad named entity: NotHumpDownHump without a semi-colon", + "output": [ + [ + "Character", + "&NotHumpDownHump" + ] + ] + }, + { + "input": "≎̸", + "description": "Named entity: NotHumpDownHump; with a semi-colon", + "output": [ + [ + "Character", + "\u224e\u0338" + ] + ] + }, + { + "input": "&NotHumpEqual", + "description": "Bad named entity: NotHumpEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotHumpEqual" + ] + ] + }, + { + "input": "≏̸", + "description": "Named entity: NotHumpEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u224f\u0338" + ] + ] + }, + { + "input": "&NotLeftTriangle", + "description": "Bad named entity: NotLeftTriangle without a semi-colon", + "output": [ + [ + "Character", + "&NotLeftTriangle" + ] + ] + }, + { + "input": "⋪", + "description": "Named entity: NotLeftTriangle; with a semi-colon", + "output": [ + [ + "Character", + "\u22ea" + ] + ] + }, + { + "input": "&NotLeftTriangleBar", + "description": "Bad named entity: NotLeftTriangleBar without a semi-colon", + "output": [ + [ + "Character", + "&NotLeftTriangleBar" + ] + ] + }, + { + "input": "⧏̸", + "description": "Named entity: NotLeftTriangleBar; with a semi-colon", + "output": [ + [ + "Character", + "\u29cf\u0338" + ] + ] + }, + { + "input": "&NotLeftTriangleEqual", + "description": "Bad named entity: NotLeftTriangleEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotLeftTriangleEqual" + ] + ] + }, + { + "input": "⋬", + "description": "Named entity: NotLeftTriangleEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22ec" + ] + ] + }, + { + "input": "&NotLess", + "description": "Bad named entity: NotLess without a semi-colon", + "output": [ + [ + "Character", + "&NotLess" + ] + ] + }, + { + "input": "≮", + "description": "Named entity: NotLess; with a semi-colon", + "output": [ + [ + "Character", + "\u226e" + ] + ] + }, + { + "input": "&NotLessEqual", + "description": "Bad named entity: NotLessEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotLessEqual" + ] + ] + }, + { + "input": "≰", + "description": "Named entity: NotLessEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2270" + ] + ] + }, + { + "input": "&NotLessGreater", + "description": "Bad named entity: NotLessGreater without a semi-colon", + "output": [ + [ + "Character", + "&NotLessGreater" + ] + ] + }, + { + "input": "≸", + "description": "Named entity: NotLessGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u2278" + ] + ] + }, + { + "input": "&NotLessLess", + "description": "Bad named entity: NotLessLess without a semi-colon", + "output": [ + [ + "Character", + "&NotLessLess" + ] + ] + }, + { + "input": "≪̸", + "description": "Named entity: NotLessLess; with a semi-colon", + "output": [ + [ + "Character", + "\u226a\u0338" + ] + ] + }, + { + "input": "&NotLessSlantEqual", + "description": "Bad named entity: NotLessSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotLessSlantEqual" + ] + ] + }, + { + "input": "⩽̸", + "description": "Named entity: NotLessSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7d\u0338" + ] + ] + }, + { + "input": "&NotLessTilde", + "description": "Bad named entity: NotLessTilde without a semi-colon", + "output": [ + [ + "Character", + "&NotLessTilde" + ] + ] + }, + { + "input": "≴", + "description": "Named entity: NotLessTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2274" + ] + ] + }, + { + "input": "&NotNestedGreaterGreater", + "description": "Bad named entity: NotNestedGreaterGreater without a semi-colon", + "output": [ + [ + "Character", + "&NotNestedGreaterGreater" + ] + ] + }, + { + "input": "⪢̸", + "description": "Named entity: NotNestedGreaterGreater; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa2\u0338" + ] + ] + }, + { + "input": "&NotNestedLessLess", + "description": "Bad named entity: NotNestedLessLess without a semi-colon", + "output": [ + [ + "Character", + "&NotNestedLessLess" + ] + ] + }, + { + "input": "⪡̸", + "description": "Named entity: NotNestedLessLess; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa1\u0338" + ] + ] + }, + { + "input": "&NotPrecedes", + "description": "Bad named entity: NotPrecedes without a semi-colon", + "output": [ + [ + "Character", + "&NotPrecedes" + ] + ] + }, + { + "input": "⊀", + "description": "Named entity: NotPrecedes; with a semi-colon", + "output": [ + [ + "Character", + "\u2280" + ] + ] + }, + { + "input": "&NotPrecedesEqual", + "description": "Bad named entity: NotPrecedesEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotPrecedesEqual" + ] + ] + }, + { + "input": "⪯̸", + "description": "Named entity: NotPrecedesEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2aaf\u0338" + ] + ] + }, + { + "input": "&NotPrecedesSlantEqual", + "description": "Bad named entity: NotPrecedesSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotPrecedesSlantEqual" + ] + ] + }, + { + "input": "⋠", + "description": "Named entity: NotPrecedesSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22e0" + ] + ] + }, + { + "input": "&NotReverseElement", + "description": "Bad named entity: NotReverseElement without a semi-colon", + "output": [ + [ + "Character", + "&NotReverseElement" + ] + ] + }, + { + "input": "∌", + "description": "Named entity: NotReverseElement; with a semi-colon", + "output": [ + [ + "Character", + "\u220c" + ] + ] + }, + { + "input": "&NotRightTriangle", + "description": "Bad named entity: NotRightTriangle without a semi-colon", + "output": [ + [ + "Character", + "&NotRightTriangle" + ] + ] + }, + { + "input": "⋫", + "description": "Named entity: NotRightTriangle; with a semi-colon", + "output": [ + [ + "Character", + "\u22eb" + ] + ] + }, + { + "input": "&NotRightTriangleBar", + "description": "Bad named entity: NotRightTriangleBar without a semi-colon", + "output": [ + [ + "Character", + "&NotRightTriangleBar" + ] + ] + }, + { + "input": "⧐̸", + "description": "Named entity: NotRightTriangleBar; with a semi-colon", + "output": [ + [ + "Character", + "\u29d0\u0338" + ] + ] + }, + { + "input": "&NotRightTriangleEqual", + "description": "Bad named entity: NotRightTriangleEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotRightTriangleEqual" + ] + ] + }, + { + "input": "⋭", + "description": "Named entity: NotRightTriangleEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22ed" + ] + ] + }, + { + "input": "&NotSquareSubset", + "description": "Bad named entity: NotSquareSubset without a semi-colon", + "output": [ + [ + "Character", + "&NotSquareSubset" + ] + ] + }, + { + "input": "⊏̸", + "description": "Named entity: NotSquareSubset; with a semi-colon", + "output": [ + [ + "Character", + "\u228f\u0338" + ] + ] + }, + { + "input": "&NotSquareSubsetEqual", + "description": "Bad named entity: NotSquareSubsetEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotSquareSubsetEqual" + ] + ] + }, + { + "input": "⋢", + "description": "Named entity: NotSquareSubsetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22e2" + ] + ] + }, + { + "input": "&NotSquareSuperset", + "description": "Bad named entity: NotSquareSuperset without a semi-colon", + "output": [ + [ + "Character", + "&NotSquareSuperset" + ] + ] + }, + { + "input": "⊐̸", + "description": "Named entity: NotSquareSuperset; with a semi-colon", + "output": [ + [ + "Character", + "\u2290\u0338" + ] + ] + }, + { + "input": "&NotSquareSupersetEqual", + "description": "Bad named entity: NotSquareSupersetEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotSquareSupersetEqual" + ] + ] + }, + { + "input": "⋣", + "description": "Named entity: NotSquareSupersetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22e3" + ] + ] + }, + { + "input": "&NotSubset", + "description": "Bad named entity: NotSubset without a semi-colon", + "output": [ + [ + "Character", + "&NotSubset" + ] + ] + }, + { + "input": "⊂⃒", + "description": "Named entity: NotSubset; with a semi-colon", + "output": [ + [ + "Character", + "\u2282\u20d2" + ] + ] + }, + { + "input": "&NotSubsetEqual", + "description": "Bad named entity: NotSubsetEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotSubsetEqual" + ] + ] + }, + { + "input": "⊈", + "description": "Named entity: NotSubsetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2288" + ] + ] + }, + { + "input": "&NotSucceeds", + "description": "Bad named entity: NotSucceeds without a semi-colon", + "output": [ + [ + "Character", + "&NotSucceeds" + ] + ] + }, + { + "input": "⊁", + "description": "Named entity: NotSucceeds; with a semi-colon", + "output": [ + [ + "Character", + "\u2281" + ] + ] + }, + { + "input": "&NotSucceedsEqual", + "description": "Bad named entity: NotSucceedsEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotSucceedsEqual" + ] + ] + }, + { + "input": "⪰̸", + "description": "Named entity: NotSucceedsEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab0\u0338" + ] + ] + }, + { + "input": "&NotSucceedsSlantEqual", + "description": "Bad named entity: NotSucceedsSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotSucceedsSlantEqual" + ] + ] + }, + { + "input": "⋡", + "description": "Named entity: NotSucceedsSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22e1" + ] + ] + }, + { + "input": "&NotSucceedsTilde", + "description": "Bad named entity: NotSucceedsTilde without a semi-colon", + "output": [ + [ + "Character", + "&NotSucceedsTilde" + ] + ] + }, + { + "input": "≿̸", + "description": "Named entity: NotSucceedsTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u227f\u0338" + ] + ] + }, + { + "input": "&NotSuperset", + "description": "Bad named entity: NotSuperset without a semi-colon", + "output": [ + [ + "Character", + "&NotSuperset" + ] + ] + }, + { + "input": "⊃⃒", + "description": "Named entity: NotSuperset; with a semi-colon", + "output": [ + [ + "Character", + "\u2283\u20d2" + ] + ] + }, + { + "input": "&NotSupersetEqual", + "description": "Bad named entity: NotSupersetEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotSupersetEqual" + ] + ] + }, + { + "input": "⊉", + "description": "Named entity: NotSupersetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2289" + ] + ] + }, + { + "input": "&NotTilde", + "description": "Bad named entity: NotTilde without a semi-colon", + "output": [ + [ + "Character", + "&NotTilde" + ] + ] + }, + { + "input": "≁", + "description": "Named entity: NotTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2241" + ] + ] + }, + { + "input": "&NotTildeEqual", + "description": "Bad named entity: NotTildeEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotTildeEqual" + ] + ] + }, + { + "input": "≄", + "description": "Named entity: NotTildeEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2244" + ] + ] + }, + { + "input": "&NotTildeFullEqual", + "description": "Bad named entity: NotTildeFullEqual without a semi-colon", + "output": [ + [ + "Character", + "&NotTildeFullEqual" + ] + ] + }, + { + "input": "≇", + "description": "Named entity: NotTildeFullEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2247" + ] + ] + }, + { + "input": "&NotTildeTilde", + "description": "Bad named entity: NotTildeTilde without a semi-colon", + "output": [ + [ + "Character", + "&NotTildeTilde" + ] + ] + }, + { + "input": "≉", + "description": "Named entity: NotTildeTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2249" + ] + ] + }, + { + "input": "&NotVerticalBar", + "description": "Bad named entity: NotVerticalBar without a semi-colon", + "output": [ + [ + "Character", + "&NotVerticalBar" + ] + ] + }, + { + "input": "∤", + "description": "Named entity: NotVerticalBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2224" + ] + ] + }, + { + "input": "&Nscr", + "description": "Bad named entity: Nscr without a semi-colon", + "output": [ + [ + "Character", + "&Nscr" + ] + ] + }, + { + "input": "𝒩", + "description": "Named entity: Nscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udca9" + ] + ] + }, + { + "input": "Ñ", + "description": "Named entity: Ntilde without a semi-colon", + "output": [ + [ + "Character", + "\u00d1" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ñ", + "description": "Named entity: Ntilde; with a semi-colon", + "output": [ + [ + "Character", + "\u00d1" + ] + ] + }, + { + "input": "&Nu", + "description": "Bad named entity: Nu without a semi-colon", + "output": [ + [ + "Character", + "&Nu" + ] + ] + }, + { + "input": "Ν", + "description": "Named entity: Nu; with a semi-colon", + "output": [ + [ + "Character", + "\u039d" + ] + ] + }, + { + "input": "&OElig", + "description": "Bad named entity: OElig without a semi-colon", + "output": [ + [ + "Character", + "&OElig" + ] + ] + }, + { + "input": "Œ", + "description": "Named entity: OElig; with a semi-colon", + "output": [ + [ + "Character", + "\u0152" + ] + ] + }, + { + "input": "Ó", + "description": "Named entity: Oacute without a semi-colon", + "output": [ + [ + "Character", + "\u00d3" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ó", + "description": "Named entity: Oacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00d3" + ] + ] + }, + { + "input": "Ô", + "description": "Named entity: Ocirc without a semi-colon", + "output": [ + [ + "Character", + "\u00d4" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Ô", + "description": "Named entity: Ocirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00d4" + ] + ] + }, + { + "input": "&Ocy", + "description": "Bad named entity: Ocy without a semi-colon", + "output": [ + [ + "Character", + "&Ocy" + ] + ] + }, + { + "input": "О", + "description": "Named entity: Ocy; with a semi-colon", + "output": [ + [ + "Character", + "\u041e" + ] + ] + }, + { + "input": "&Odblac", + "description": "Bad named entity: Odblac without a semi-colon", + "output": [ + [ + "Character", + "&Odblac" + ] + ] + }, + { + "input": "Ő", + "description": "Named entity: Odblac; with a semi-colon", + "output": [ + [ + "Character", + "\u0150" + ] + ] + }, + { + "input": "&Ofr", + "description": "Bad named entity: Ofr without a semi-colon", + "output": [ + [ + "Character", + "&Ofr" + ] + ] + }, + { + "input": "𝔒", + "description": "Named entity: Ofr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd12" + ] + ] + }, + { + "input": "Ò", + "description": "Named entity: Ograve without a semi-colon", + "output": [ + [ + "Character", + "\u00d2" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ò", + "description": "Named entity: Ograve; with a semi-colon", + "output": [ + [ + "Character", + "\u00d2" + ] + ] + }, + { + "input": "&Omacr", + "description": "Bad named entity: Omacr without a semi-colon", + "output": [ + [ + "Character", + "&Omacr" + ] + ] + }, + { + "input": "Ō", + "description": "Named entity: Omacr; with a semi-colon", + "output": [ + [ + "Character", + "\u014c" + ] + ] + }, + { + "input": "&Omega", + "description": "Bad named entity: Omega without a semi-colon", + "output": [ + [ + "Character", + "&Omega" + ] + ] + }, + { + "input": "Ω", + "description": "Named entity: Omega; with a semi-colon", + "output": [ + [ + "Character", + "\u03a9" + ] + ] + }, + { + "input": "&Omicron", + "description": "Bad named entity: Omicron without a semi-colon", + "output": [ + [ + "Character", + "&Omicron" + ] + ] + }, + { + "input": "Ο", + "description": "Named entity: Omicron; with a semi-colon", + "output": [ + [ + "Character", + "\u039f" + ] + ] + }, + { + "input": "&Oopf", + "description": "Bad named entity: Oopf without a semi-colon", + "output": [ + [ + "Character", + "&Oopf" + ] + ] + }, + { + "input": "𝕆", + "description": "Named entity: Oopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd46" + ] + ] + }, + { + "input": "&OpenCurlyDoubleQuote", + "description": "Bad named entity: OpenCurlyDoubleQuote without a semi-colon", + "output": [ + [ + "Character", + "&OpenCurlyDoubleQuote" + ] + ] + }, + { + "input": "“", + "description": "Named entity: OpenCurlyDoubleQuote; with a semi-colon", + "output": [ + [ + "Character", + "\u201c" + ] + ] + }, + { + "input": "&OpenCurlyQuote", + "description": "Bad named entity: OpenCurlyQuote without a semi-colon", + "output": [ + [ + "Character", + "&OpenCurlyQuote" + ] + ] + }, + { + "input": "‘", + "description": "Named entity: OpenCurlyQuote; with a semi-colon", + "output": [ + [ + "Character", + "\u2018" + ] + ] + }, + { + "input": "&Or", + "description": "Bad named entity: Or without a semi-colon", + "output": [ + [ + "Character", + "&Or" + ] + ] + }, + { + "input": "⩔", + "description": "Named entity: Or; with a semi-colon", + "output": [ + [ + "Character", + "\u2a54" + ] + ] + }, + { + "input": "&Oscr", + "description": "Bad named entity: Oscr without a semi-colon", + "output": [ + [ + "Character", + "&Oscr" + ] + ] + }, + { + "input": "𝒪", + "description": "Named entity: Oscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcaa" + ] + ] + }, + { + "input": "Ø", + "description": "Named entity: Oslash without a semi-colon", + "output": [ + [ + "Character", + "\u00d8" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ø", + "description": "Named entity: Oslash; with a semi-colon", + "output": [ + [ + "Character", + "\u00d8" + ] + ] + }, + { + "input": "Õ", + "description": "Named entity: Otilde without a semi-colon", + "output": [ + [ + "Character", + "\u00d5" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Õ", + "description": "Named entity: Otilde; with a semi-colon", + "output": [ + [ + "Character", + "\u00d5" + ] + ] + }, + { + "input": "&Otimes", + "description": "Bad named entity: Otimes without a semi-colon", + "output": [ + [ + "Character", + "&Otimes" + ] + ] + }, + { + "input": "⨷", + "description": "Named entity: Otimes; with a semi-colon", + "output": [ + [ + "Character", + "\u2a37" + ] + ] + }, + { + "input": "Ö", + "description": "Named entity: Ouml without a semi-colon", + "output": [ + [ + "Character", + "\u00d6" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "Ö", + "description": "Named entity: Ouml; with a semi-colon", + "output": [ + [ + "Character", + "\u00d6" + ] + ] + }, + { + "input": "&OverBar", + "description": "Bad named entity: OverBar without a semi-colon", + "output": [ + [ + "Character", + "&OverBar" + ] + ] + }, + { + "input": "‾", + "description": "Named entity: OverBar; with a semi-colon", + "output": [ + [ + "Character", + "\u203e" + ] + ] + }, + { + "input": "&OverBrace", + "description": "Bad named entity: OverBrace without a semi-colon", + "output": [ + [ + "Character", + "&OverBrace" + ] + ] + }, + { + "input": "⏞", + "description": "Named entity: OverBrace; with a semi-colon", + "output": [ + [ + "Character", + "\u23de" + ] + ] + }, + { + "input": "&OverBracket", + "description": "Bad named entity: OverBracket without a semi-colon", + "output": [ + [ + "Character", + "&OverBracket" + ] + ] + }, + { + "input": "⎴", + "description": "Named entity: OverBracket; with a semi-colon", + "output": [ + [ + "Character", + "\u23b4" + ] + ] + }, + { + "input": "&OverParenthesis", + "description": "Bad named entity: OverParenthesis without a semi-colon", + "output": [ + [ + "Character", + "&OverParenthesis" + ] + ] + }, + { + "input": "⏜", + "description": "Named entity: OverParenthesis; with a semi-colon", + "output": [ + [ + "Character", + "\u23dc" + ] + ] + }, + { + "input": "&PartialD", + "description": "Bad named entity: PartialD without a semi-colon", + "output": [ + [ + "Character", + "&PartialD" + ] + ] + }, + { + "input": "∂", + "description": "Named entity: PartialD; with a semi-colon", + "output": [ + [ + "Character", + "\u2202" + ] + ] + }, + { + "input": "&Pcy", + "description": "Bad named entity: Pcy without a semi-colon", + "output": [ + [ + "Character", + "&Pcy" + ] + ] + }, + { + "input": "П", + "description": "Named entity: Pcy; with a semi-colon", + "output": [ + [ + "Character", + "\u041f" + ] + ] + }, + { + "input": "&Pfr", + "description": "Bad named entity: Pfr without a semi-colon", + "output": [ + [ + "Character", + "&Pfr" + ] + ] + }, + { + "input": "𝔓", + "description": "Named entity: Pfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd13" + ] + ] + }, + { + "input": "&Phi", + "description": "Bad named entity: Phi without a semi-colon", + "output": [ + [ + "Character", + "&Phi" + ] + ] + }, + { + "input": "Φ", + "description": "Named entity: Phi; with a semi-colon", + "output": [ + [ + "Character", + "\u03a6" + ] + ] + }, + { + "input": "&Pi", + "description": "Bad named entity: Pi without a semi-colon", + "output": [ + [ + "Character", + "&Pi" + ] + ] + }, + { + "input": "Π", + "description": "Named entity: Pi; with a semi-colon", + "output": [ + [ + "Character", + "\u03a0" + ] + ] + }, + { + "input": "&PlusMinus", + "description": "Bad named entity: PlusMinus without a semi-colon", + "output": [ + [ + "Character", + "&PlusMinus" + ] + ] + }, + { + "input": "±", + "description": "Named entity: PlusMinus; with a semi-colon", + "output": [ + [ + "Character", + "\u00b1" + ] + ] + }, + { + "input": "&Poincareplane", + "description": "Bad named entity: Poincareplane without a semi-colon", + "output": [ + [ + "Character", + "&Poincareplane" + ] + ] + }, + { + "input": "ℌ", + "description": "Named entity: Poincareplane; with a semi-colon", + "output": [ + [ + "Character", + "\u210c" + ] + ] + }, + { + "input": "&Popf", + "description": "Bad named entity: Popf without a semi-colon", + "output": [ + [ + "Character", + "&Popf" + ] + ] + }, + { + "input": "ℙ", + "description": "Named entity: Popf; with a semi-colon", + "output": [ + [ + "Character", + "\u2119" + ] + ] + }, + { + "input": "&Pr", + "description": "Bad named entity: Pr without a semi-colon", + "output": [ + [ + "Character", + "&Pr" + ] + ] + }, + { + "input": "⪻", + "description": "Named entity: Pr; with a semi-colon", + "output": [ + [ + "Character", + "\u2abb" + ] + ] + }, + { + "input": "&Precedes", + "description": "Bad named entity: Precedes without a semi-colon", + "output": [ + [ + "Character", + "&Precedes" + ] + ] + }, + { + "input": "≺", + "description": "Named entity: Precedes; with a semi-colon", + "output": [ + [ + "Character", + "\u227a" + ] + ] + }, + { + "input": "&PrecedesEqual", + "description": "Bad named entity: PrecedesEqual without a semi-colon", + "output": [ + [ + "Character", + "&PrecedesEqual" + ] + ] + }, + { + "input": "⪯", + "description": "Named entity: PrecedesEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2aaf" + ] + ] + }, + { + "input": "&PrecedesSlantEqual", + "description": "Bad named entity: PrecedesSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&PrecedesSlantEqual" + ] + ] + }, + { + "input": "≼", + "description": "Named entity: PrecedesSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u227c" + ] + ] + }, + { + "input": "&PrecedesTilde", + "description": "Bad named entity: PrecedesTilde without a semi-colon", + "output": [ + [ + "Character", + "&PrecedesTilde" + ] + ] + }, + { + "input": "≾", + "description": "Named entity: PrecedesTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u227e" + ] + ] + }, + { + "input": "&Prime", + "description": "Bad named entity: Prime without a semi-colon", + "output": [ + [ + "Character", + "&Prime" + ] + ] + }, + { + "input": "″", + "description": "Named entity: Prime; with a semi-colon", + "output": [ + [ + "Character", + "\u2033" + ] + ] + }, + { + "input": "&Product", + "description": "Bad named entity: Product without a semi-colon", + "output": [ + [ + "Character", + "&Product" + ] + ] + }, + { + "input": "∏", + "description": "Named entity: Product; with a semi-colon", + "output": [ + [ + "Character", + "\u220f" + ] + ] + }, + { + "input": "&Proportion", + "description": "Bad named entity: Proportion without a semi-colon", + "output": [ + [ + "Character", + "&Proportion" + ] + ] + }, + { + "input": "∷", + "description": "Named entity: Proportion; with a semi-colon", + "output": [ + [ + "Character", + "\u2237" + ] + ] + }, + { + "input": "&Proportional", + "description": "Bad named entity: Proportional without a semi-colon", + "output": [ + [ + "Character", + "&Proportional" + ] + ] + }, + { + "input": "∝", + "description": "Named entity: Proportional; with a semi-colon", + "output": [ + [ + "Character", + "\u221d" + ] + ] + }, + { + "input": "&Pscr", + "description": "Bad named entity: Pscr without a semi-colon", + "output": [ + [ + "Character", + "&Pscr" + ] + ] + }, + { + "input": "𝒫", + "description": "Named entity: Pscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcab" + ] + ] + }, + { + "input": "&Psi", + "description": "Bad named entity: Psi without a semi-colon", + "output": [ + [ + "Character", + "&Psi" + ] + ] + }, + { + "input": "Ψ", + "description": "Named entity: Psi; with a semi-colon", + "output": [ + [ + "Character", + "\u03a8" + ] + ] + }, + { + "input": """, + "description": "Named entity: QUOT without a semi-colon", + "output": [ + [ + "Character", + "\"" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": """, + "description": "Named entity: QUOT; with a semi-colon", + "output": [ + [ + "Character", + "\"" + ] + ] + }, + { + "input": "&Qfr", + "description": "Bad named entity: Qfr without a semi-colon", + "output": [ + [ + "Character", + "&Qfr" + ] + ] + }, + { + "input": "𝔔", + "description": "Named entity: Qfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd14" + ] + ] + }, + { + "input": "&Qopf", + "description": "Bad named entity: Qopf without a semi-colon", + "output": [ + [ + "Character", + "&Qopf" + ] + ] + }, + { + "input": "ℚ", + "description": "Named entity: Qopf; with a semi-colon", + "output": [ + [ + "Character", + "\u211a" + ] + ] + }, + { + "input": "&Qscr", + "description": "Bad named entity: Qscr without a semi-colon", + "output": [ + [ + "Character", + "&Qscr" + ] + ] + }, + { + "input": "𝒬", + "description": "Named entity: Qscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcac" + ] + ] + }, + { + "input": "&RBarr", + "description": "Bad named entity: RBarr without a semi-colon", + "output": [ + [ + "Character", + "&RBarr" + ] + ] + }, + { + "input": "⤐", + "description": "Named entity: RBarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2910" + ] + ] + }, + { + "input": "®", + "description": "Named entity: REG without a semi-colon", + "output": [ + [ + "Character", + "\u00ae" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "®", + "description": "Named entity: REG; with a semi-colon", + "output": [ + [ + "Character", + "\u00ae" + ] + ] + }, + { + "input": "&Racute", + "description": "Bad named entity: Racute without a semi-colon", + "output": [ + [ + "Character", + "&Racute" + ] + ] + }, + { + "input": "Ŕ", + "description": "Named entity: Racute; with a semi-colon", + "output": [ + [ + "Character", + "\u0154" + ] + ] + }, + { + "input": "&Rang", + "description": "Bad named entity: Rang without a semi-colon", + "output": [ + [ + "Character", + "&Rang" + ] + ] + }, + { + "input": "⟫", + "description": "Named entity: Rang; with a semi-colon", + "output": [ + [ + "Character", + "\u27eb" + ] + ] + }, + { + "input": "&Rarr", + "description": "Bad named entity: Rarr without a semi-colon", + "output": [ + [ + "Character", + "&Rarr" + ] + ] + }, + { + "input": "↠", + "description": "Named entity: Rarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21a0" + ] + ] + }, + { + "input": "&Rarrtl", + "description": "Bad named entity: Rarrtl without a semi-colon", + "output": [ + [ + "Character", + "&Rarrtl" + ] + ] + }, + { + "input": "⤖", + "description": "Named entity: Rarrtl; with a semi-colon", + "output": [ + [ + "Character", + "\u2916" + ] + ] + }, + { + "input": "&Rcaron", + "description": "Bad named entity: Rcaron without a semi-colon", + "output": [ + [ + "Character", + "&Rcaron" + ] + ] + }, + { + "input": "Ř", + "description": "Named entity: Rcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0158" + ] + ] + }, + { + "input": "&Rcedil", + "description": "Bad named entity: Rcedil without a semi-colon", + "output": [ + [ + "Character", + "&Rcedil" + ] + ] + }, + { + "input": "Ŗ", + "description": "Named entity: Rcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0156" + ] + ] + }, + { + "input": "&Rcy", + "description": "Bad named entity: Rcy without a semi-colon", + "output": [ + [ + "Character", + "&Rcy" + ] + ] + }, + { + "input": "Р", + "description": "Named entity: Rcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0420" + ] + ] + }, + { + "input": "&Re", + "description": "Bad named entity: Re without a semi-colon", + "output": [ + [ + "Character", + "&Re" + ] + ] + }, + { + "input": "ℜ", + "description": "Named entity: Re; with a semi-colon", + "output": [ + [ + "Character", + "\u211c" + ] + ] + }, + { + "input": "&ReverseElement", + "description": "Bad named entity: ReverseElement without a semi-colon", + "output": [ + [ + "Character", + "&ReverseElement" + ] + ] + }, + { + "input": "∋", + "description": "Named entity: ReverseElement; with a semi-colon", + "output": [ + [ + "Character", + "\u220b" + ] + ] + }, + { + "input": "&ReverseEquilibrium", + "description": "Bad named entity: ReverseEquilibrium without a semi-colon", + "output": [ + [ + "Character", + "&ReverseEquilibrium" + ] + ] + }, + { + "input": "⇋", + "description": "Named entity: ReverseEquilibrium; with a semi-colon", + "output": [ + [ + "Character", + "\u21cb" + ] + ] + }, + { + "input": "&ReverseUpEquilibrium", + "description": "Bad named entity: ReverseUpEquilibrium without a semi-colon", + "output": [ + [ + "Character", + "&ReverseUpEquilibrium" + ] + ] + }, + { + "input": "⥯", + "description": "Named entity: ReverseUpEquilibrium; with a semi-colon", + "output": [ + [ + "Character", + "\u296f" + ] + ] + }, + { + "input": "&Rfr", + "description": "Bad named entity: Rfr without a semi-colon", + "output": [ + [ + "Character", + "&Rfr" + ] + ] + }, + { + "input": "ℜ", + "description": "Named entity: Rfr; with a semi-colon", + "output": [ + [ + "Character", + "\u211c" + ] + ] + }, + { + "input": "&Rho", + "description": "Bad named entity: Rho without a semi-colon", + "output": [ + [ + "Character", + "&Rho" + ] + ] + }, + { + "input": "Ρ", + "description": "Named entity: Rho; with a semi-colon", + "output": [ + [ + "Character", + "\u03a1" + ] + ] + }, + { + "input": "&RightAngleBracket", + "description": "Bad named entity: RightAngleBracket without a semi-colon", + "output": [ + [ + "Character", + "&RightAngleBracket" + ] + ] + }, + { + "input": "⟩", + "description": "Named entity: RightAngleBracket; with a semi-colon", + "output": [ + [ + "Character", + "\u27e9" + ] + ] + }, + { + "input": "&RightArrow", + "description": "Bad named entity: RightArrow without a semi-colon", + "output": [ + [ + "Character", + "&RightArrow" + ] + ] + }, + { + "input": "→", + "description": "Named entity: RightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2192" + ] + ] + }, + { + "input": "&RightArrowBar", + "description": "Bad named entity: RightArrowBar without a semi-colon", + "output": [ + [ + "Character", + "&RightArrowBar" + ] + ] + }, + { + "input": "⇥", + "description": "Named entity: RightArrowBar; with a semi-colon", + "output": [ + [ + "Character", + "\u21e5" + ] + ] + }, + { + "input": "&RightArrowLeftArrow", + "description": "Bad named entity: RightArrowLeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&RightArrowLeftArrow" + ] + ] + }, + { + "input": "⇄", + "description": "Named entity: RightArrowLeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21c4" + ] + ] + }, + { + "input": "&RightCeiling", + "description": "Bad named entity: RightCeiling without a semi-colon", + "output": [ + [ + "Character", + "&RightCeiling" + ] + ] + }, + { + "input": "⌉", + "description": "Named entity: RightCeiling; with a semi-colon", + "output": [ + [ + "Character", + "\u2309" + ] + ] + }, + { + "input": "&RightDoubleBracket", + "description": "Bad named entity: RightDoubleBracket without a semi-colon", + "output": [ + [ + "Character", + "&RightDoubleBracket" + ] + ] + }, + { + "input": "⟧", + "description": "Named entity: RightDoubleBracket; with a semi-colon", + "output": [ + [ + "Character", + "\u27e7" + ] + ] + }, + { + "input": "&RightDownTeeVector", + "description": "Bad named entity: RightDownTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&RightDownTeeVector" + ] + ] + }, + { + "input": "⥝", + "description": "Named entity: RightDownTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u295d" + ] + ] + }, + { + "input": "&RightDownVector", + "description": "Bad named entity: RightDownVector without a semi-colon", + "output": [ + [ + "Character", + "&RightDownVector" + ] + ] + }, + { + "input": "⇂", + "description": "Named entity: RightDownVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21c2" + ] + ] + }, + { + "input": "&RightDownVectorBar", + "description": "Bad named entity: RightDownVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&RightDownVectorBar" + ] + ] + }, + { + "input": "⥕", + "description": "Named entity: RightDownVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2955" + ] + ] + }, + { + "input": "&RightFloor", + "description": "Bad named entity: RightFloor without a semi-colon", + "output": [ + [ + "Character", + "&RightFloor" + ] + ] + }, + { + "input": "⌋", + "description": "Named entity: RightFloor; with a semi-colon", + "output": [ + [ + "Character", + "\u230b" + ] + ] + }, + { + "input": "&RightTee", + "description": "Bad named entity: RightTee without a semi-colon", + "output": [ + [ + "Character", + "&RightTee" + ] + ] + }, + { + "input": "⊢", + "description": "Named entity: RightTee; with a semi-colon", + "output": [ + [ + "Character", + "\u22a2" + ] + ] + }, + { + "input": "&RightTeeArrow", + "description": "Bad named entity: RightTeeArrow without a semi-colon", + "output": [ + [ + "Character", + "&RightTeeArrow" + ] + ] + }, + { + "input": "↦", + "description": "Named entity: RightTeeArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21a6" + ] + ] + }, + { + "input": "&RightTeeVector", + "description": "Bad named entity: RightTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&RightTeeVector" + ] + ] + }, + { + "input": "⥛", + "description": "Named entity: RightTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u295b" + ] + ] + }, + { + "input": "&RightTriangle", + "description": "Bad named entity: RightTriangle without a semi-colon", + "output": [ + [ + "Character", + "&RightTriangle" + ] + ] + }, + { + "input": "⊳", + "description": "Named entity: RightTriangle; with a semi-colon", + "output": [ + [ + "Character", + "\u22b3" + ] + ] + }, + { + "input": "&RightTriangleBar", + "description": "Bad named entity: RightTriangleBar without a semi-colon", + "output": [ + [ + "Character", + "&RightTriangleBar" + ] + ] + }, + { + "input": "⧐", + "description": "Named entity: RightTriangleBar; with a semi-colon", + "output": [ + [ + "Character", + "\u29d0" + ] + ] + }, + { + "input": "&RightTriangleEqual", + "description": "Bad named entity: RightTriangleEqual without a semi-colon", + "output": [ + [ + "Character", + "&RightTriangleEqual" + ] + ] + }, + { + "input": "⊵", + "description": "Named entity: RightTriangleEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u22b5" + ] + ] + }, + { + "input": "&RightUpDownVector", + "description": "Bad named entity: RightUpDownVector without a semi-colon", + "output": [ + [ + "Character", + "&RightUpDownVector" + ] + ] + }, + { + "input": "⥏", + "description": "Named entity: RightUpDownVector; with a semi-colon", + "output": [ + [ + "Character", + "\u294f" + ] + ] + }, + { + "input": "&RightUpTeeVector", + "description": "Bad named entity: RightUpTeeVector without a semi-colon", + "output": [ + [ + "Character", + "&RightUpTeeVector" + ] + ] + }, + { + "input": "⥜", + "description": "Named entity: RightUpTeeVector; with a semi-colon", + "output": [ + [ + "Character", + "\u295c" + ] + ] + }, + { + "input": "&RightUpVector", + "description": "Bad named entity: RightUpVector without a semi-colon", + "output": [ + [ + "Character", + "&RightUpVector" + ] + ] + }, + { + "input": "↾", + "description": "Named entity: RightUpVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21be" + ] + ] + }, + { + "input": "&RightUpVectorBar", + "description": "Bad named entity: RightUpVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&RightUpVectorBar" + ] + ] + }, + { + "input": "⥔", + "description": "Named entity: RightUpVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2954" + ] + ] + }, + { + "input": "&RightVector", + "description": "Bad named entity: RightVector without a semi-colon", + "output": [ + [ + "Character", + "&RightVector" + ] + ] + }, + { + "input": "⇀", + "description": "Named entity: RightVector; with a semi-colon", + "output": [ + [ + "Character", + "\u21c0" + ] + ] + }, + { + "input": "&RightVectorBar", + "description": "Bad named entity: RightVectorBar without a semi-colon", + "output": [ + [ + "Character", + "&RightVectorBar" + ] + ] + }, + { + "input": "⥓", + "description": "Named entity: RightVectorBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2953" + ] + ] + }, + { + "input": "&Rightarrow", + "description": "Bad named entity: Rightarrow without a semi-colon", + "output": [ + [ + "Character", + "&Rightarrow" + ] + ] + }, + { + "input": "⇒", + "description": "Named entity: Rightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d2" + ] + ] + }, + { + "input": "&Ropf", + "description": "Bad named entity: Ropf without a semi-colon", + "output": [ + [ + "Character", + "&Ropf" + ] + ] + }, + { + "input": "ℝ", + "description": "Named entity: Ropf; with a semi-colon", + "output": [ + [ + "Character", + "\u211d" + ] + ] + }, + { + "input": "&RoundImplies", + "description": "Bad named entity: RoundImplies without a semi-colon", + "output": [ + [ + "Character", + "&RoundImplies" + ] + ] + }, + { + "input": "⥰", + "description": "Named entity: RoundImplies; with a semi-colon", + "output": [ + [ + "Character", + "\u2970" + ] + ] + }, + { + "input": "&Rrightarrow", + "description": "Bad named entity: Rrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&Rrightarrow" + ] + ] + }, + { + "input": "⇛", + "description": "Named entity: Rrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21db" + ] + ] + }, + { + "input": "&Rscr", + "description": "Bad named entity: Rscr without a semi-colon", + "output": [ + [ + "Character", + "&Rscr" + ] + ] + }, + { + "input": "ℛ", + "description": "Named entity: Rscr; with a semi-colon", + "output": [ + [ + "Character", + "\u211b" + ] + ] + }, + { + "input": "&Rsh", + "description": "Bad named entity: Rsh without a semi-colon", + "output": [ + [ + "Character", + "&Rsh" + ] + ] + }, + { + "input": "↱", + "description": "Named entity: Rsh; with a semi-colon", + "output": [ + [ + "Character", + "\u21b1" + ] + ] + }, + { + "input": "&RuleDelayed", + "description": "Bad named entity: RuleDelayed without a semi-colon", + "output": [ + [ + "Character", + "&RuleDelayed" + ] + ] + }, + { + "input": "⧴", + "description": "Named entity: RuleDelayed; with a semi-colon", + "output": [ + [ + "Character", + "\u29f4" + ] + ] + }, + { + "input": "&SHCHcy", + "description": "Bad named entity: SHCHcy without a semi-colon", + "output": [ + [ + "Character", + "&SHCHcy" + ] + ] + }, + { + "input": "Щ", + "description": "Named entity: SHCHcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0429" + ] + ] + }, + { + "input": "&SHcy", + "description": "Bad named entity: SHcy without a semi-colon", + "output": [ + [ + "Character", + "&SHcy" + ] + ] + }, + { + "input": "Ш", + "description": "Named entity: SHcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0428" + ] + ] + }, + { + "input": "&SOFTcy", + "description": "Bad named entity: SOFTcy without a semi-colon", + "output": [ + [ + "Character", + "&SOFTcy" + ] + ] + }, + { + "input": "Ь", + "description": "Named entity: SOFTcy; with a semi-colon", + "output": [ + [ + "Character", + "\u042c" + ] + ] + }, + { + "input": "&Sacute", + "description": "Bad named entity: Sacute without a semi-colon", + "output": [ + [ + "Character", + "&Sacute" + ] + ] + }, + { + "input": "Ś", + "description": "Named entity: Sacute; with a semi-colon", + "output": [ + [ + "Character", + "\u015a" + ] + ] + }, + { + "input": "&Sc", + "description": "Bad named entity: Sc without a semi-colon", + "output": [ + [ + "Character", + "&Sc" + ] + ] + }, + { + "input": "⪼", + "description": "Named entity: Sc; with a semi-colon", + "output": [ + [ + "Character", + "\u2abc" + ] + ] + }, + { + "input": "&Scaron", + "description": "Bad named entity: Scaron without a semi-colon", + "output": [ + [ + "Character", + "&Scaron" + ] + ] + }, + { + "input": "Š", + "description": "Named entity: Scaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0160" + ] + ] + }, + { + "input": "&Scedil", + "description": "Bad named entity: Scedil without a semi-colon", + "output": [ + [ + "Character", + "&Scedil" + ] + ] + }, + { + "input": "Ş", + "description": "Named entity: Scedil; with a semi-colon", + "output": [ + [ + "Character", + "\u015e" + ] + ] + }, + { + "input": "&Scirc", + "description": "Bad named entity: Scirc without a semi-colon", + "output": [ + [ + "Character", + "&Scirc" + ] + ] + }, + { + "input": "Ŝ", + "description": "Named entity: Scirc; with a semi-colon", + "output": [ + [ + "Character", + "\u015c" + ] + ] + }, + { + "input": "&Scy", + "description": "Bad named entity: Scy without a semi-colon", + "output": [ + [ + "Character", + "&Scy" + ] + ] + }, + { + "input": "С", + "description": "Named entity: Scy; with a semi-colon", + "output": [ + [ + "Character", + "\u0421" + ] + ] + }, + { + "input": "&Sfr", + "description": "Bad named entity: Sfr without a semi-colon", + "output": [ + [ + "Character", + "&Sfr" + ] + ] + }, + { + "input": "𝔖", + "description": "Named entity: Sfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd16" + ] + ] + }, + { + "input": "&ShortDownArrow", + "description": "Bad named entity: ShortDownArrow without a semi-colon", + "output": [ + [ + "Character", + "&ShortDownArrow" + ] + ] + }, + { + "input": "↓", + "description": "Named entity: ShortDownArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2193" + ] + ] + }, + { + "input": "&ShortLeftArrow", + "description": "Bad named entity: ShortLeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&ShortLeftArrow" + ] + ] + }, + { + "input": "←", + "description": "Named entity: ShortLeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2190" + ] + ] + }, + { + "input": "&ShortRightArrow", + "description": "Bad named entity: ShortRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&ShortRightArrow" + ] + ] + }, + { + "input": "→", + "description": "Named entity: ShortRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2192" + ] + ] + }, + { + "input": "&ShortUpArrow", + "description": "Bad named entity: ShortUpArrow without a semi-colon", + "output": [ + [ + "Character", + "&ShortUpArrow" + ] + ] + }, + { + "input": "↑", + "description": "Named entity: ShortUpArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2191" + ] + ] + }, + { + "input": "&Sigma", + "description": "Bad named entity: Sigma without a semi-colon", + "output": [ + [ + "Character", + "&Sigma" + ] + ] + }, + { + "input": "Σ", + "description": "Named entity: Sigma; with a semi-colon", + "output": [ + [ + "Character", + "\u03a3" + ] + ] + }, + { + "input": "&SmallCircle", + "description": "Bad named entity: SmallCircle without a semi-colon", + "output": [ + [ + "Character", + "&SmallCircle" + ] + ] + }, + { + "input": "∘", + "description": "Named entity: SmallCircle; with a semi-colon", + "output": [ + [ + "Character", + "\u2218" + ] + ] + }, + { + "input": "&Sopf", + "description": "Bad named entity: Sopf without a semi-colon", + "output": [ + [ + "Character", + "&Sopf" + ] + ] + }, + { + "input": "𝕊", + "description": "Named entity: Sopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd4a" + ] + ] + }, + { + "input": "&Sqrt", + "description": "Bad named entity: Sqrt without a semi-colon", + "output": [ + [ + "Character", + "&Sqrt" + ] + ] + }, + { + "input": "√", + "description": "Named entity: Sqrt; with a semi-colon", + "output": [ + [ + "Character", + "\u221a" + ] + ] + }, + { + "input": "&Square", + "description": "Bad named entity: Square without a semi-colon", + "output": [ + [ + "Character", + "&Square" + ] + ] + }, + { + "input": "□", + "description": "Named entity: Square; with a semi-colon", + "output": [ + [ + "Character", + "\u25a1" + ] + ] + }, + { + "input": "&SquareIntersection", + "description": "Bad named entity: SquareIntersection without a semi-colon", + "output": [ + [ + "Character", + "&SquareIntersection" + ] + ] + }, + { + "input": "⊓", + "description": "Named entity: SquareIntersection; with a semi-colon", + "output": [ + [ + "Character", + "\u2293" + ] + ] + }, + { + "input": "&SquareSubset", + "description": "Bad named entity: SquareSubset without a semi-colon", + "output": [ + [ + "Character", + "&SquareSubset" + ] + ] + }, + { + "input": "⊏", + "description": "Named entity: SquareSubset; with a semi-colon", + "output": [ + [ + "Character", + "\u228f" + ] + ] + }, + { + "input": "&SquareSubsetEqual", + "description": "Bad named entity: SquareSubsetEqual without a semi-colon", + "output": [ + [ + "Character", + "&SquareSubsetEqual" + ] + ] + }, + { + "input": "⊑", + "description": "Named entity: SquareSubsetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2291" + ] + ] + }, + { + "input": "&SquareSuperset", + "description": "Bad named entity: SquareSuperset without a semi-colon", + "output": [ + [ + "Character", + "&SquareSuperset" + ] + ] + }, + { + "input": "⊐", + "description": "Named entity: SquareSuperset; with a semi-colon", + "output": [ + [ + "Character", + "\u2290" + ] + ] + }, + { + "input": "&SquareSupersetEqual", + "description": "Bad named entity: SquareSupersetEqual without a semi-colon", + "output": [ + [ + "Character", + "&SquareSupersetEqual" + ] + ] + }, + { + "input": "⊒", + "description": "Named entity: SquareSupersetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2292" + ] + ] + }, + { + "input": "&SquareUnion", + "description": "Bad named entity: SquareUnion without a semi-colon", + "output": [ + [ + "Character", + "&SquareUnion" + ] + ] + }, + { + "input": "⊔", + "description": "Named entity: SquareUnion; with a semi-colon", + "output": [ + [ + "Character", + "\u2294" + ] + ] + }, + { + "input": "&Sscr", + "description": "Bad named entity: Sscr without a semi-colon", + "output": [ + [ + "Character", + "&Sscr" + ] + ] + }, + { + "input": "𝒮", + "description": "Named entity: Sscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcae" + ] + ] + }, + { + "input": "&Star", + "description": "Bad named entity: Star without a semi-colon", + "output": [ + [ + "Character", + "&Star" + ] + ] + }, + { + "input": "⋆", + "description": "Named entity: Star; with a semi-colon", + "output": [ + [ + "Character", + "\u22c6" + ] + ] + }, + { + "input": "&Sub", + "description": "Bad named entity: Sub without a semi-colon", + "output": [ + [ + "Character", + "&Sub" + ] + ] + }, + { + "input": "⋐", + "description": "Named entity: Sub; with a semi-colon", + "output": [ + [ + "Character", + "\u22d0" + ] + ] + }, + { + "input": "&Subset", + "description": "Bad named entity: Subset without a semi-colon", + "output": [ + [ + "Character", + "&Subset" + ] + ] + }, + { + "input": "⋐", + "description": "Named entity: Subset; with a semi-colon", + "output": [ + [ + "Character", + "\u22d0" + ] + ] + }, + { + "input": "&SubsetEqual", + "description": "Bad named entity: SubsetEqual without a semi-colon", + "output": [ + [ + "Character", + "&SubsetEqual" + ] + ] + }, + { + "input": "⊆", + "description": "Named entity: SubsetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2286" + ] + ] + }, + { + "input": "&Succeeds", + "description": "Bad named entity: Succeeds without a semi-colon", + "output": [ + [ + "Character", + "&Succeeds" + ] + ] + }, + { + "input": "≻", + "description": "Named entity: Succeeds; with a semi-colon", + "output": [ + [ + "Character", + "\u227b" + ] + ] + }, + { + "input": "&SucceedsEqual", + "description": "Bad named entity: SucceedsEqual without a semi-colon", + "output": [ + [ + "Character", + "&SucceedsEqual" + ] + ] + }, + { + "input": "⪰", + "description": "Named entity: SucceedsEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab0" + ] + ] + }, + { + "input": "&SucceedsSlantEqual", + "description": "Bad named entity: SucceedsSlantEqual without a semi-colon", + "output": [ + [ + "Character", + "&SucceedsSlantEqual" + ] + ] + }, + { + "input": "≽", + "description": "Named entity: SucceedsSlantEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u227d" + ] + ] + }, + { + "input": "&SucceedsTilde", + "description": "Bad named entity: SucceedsTilde without a semi-colon", + "output": [ + [ + "Character", + "&SucceedsTilde" + ] + ] + }, + { + "input": "≿", + "description": "Named entity: SucceedsTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u227f" + ] + ] + }, + { + "input": "&SuchThat", + "description": "Bad named entity: SuchThat without a semi-colon", + "output": [ + [ + "Character", + "&SuchThat" + ] + ] + }, + { + "input": "∋", + "description": "Named entity: SuchThat; with a semi-colon", + "output": [ + [ + "Character", + "\u220b" + ] + ] + }, + { + "input": "&Sum", + "description": "Bad named entity: Sum without a semi-colon", + "output": [ + [ + "Character", + "&Sum" + ] + ] + }, + { + "input": "∑", + "description": "Named entity: Sum; with a semi-colon", + "output": [ + [ + "Character", + "\u2211" + ] + ] + }, + { + "input": "&Sup", + "description": "Bad named entity: Sup without a semi-colon", + "output": [ + [ + "Character", + "&Sup" + ] + ] + }, + { + "input": "⋑", + "description": "Named entity: Sup; with a semi-colon", + "output": [ + [ + "Character", + "\u22d1" + ] + ] + }, + { + "input": "&Superset", + "description": "Bad named entity: Superset without a semi-colon", + "output": [ + [ + "Character", + "&Superset" + ] + ] + }, + { + "input": "⊃", + "description": "Named entity: Superset; with a semi-colon", + "output": [ + [ + "Character", + "\u2283" + ] + ] + }, + { + "input": "&SupersetEqual", + "description": "Bad named entity: SupersetEqual without a semi-colon", + "output": [ + [ + "Character", + "&SupersetEqual" + ] + ] + }, + { + "input": "⊇", + "description": "Named entity: SupersetEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2287" + ] + ] + }, + { + "input": "&Supset", + "description": "Bad named entity: Supset without a semi-colon", + "output": [ + [ + "Character", + "&Supset" + ] + ] + }, + { + "input": "⋑", + "description": "Named entity: Supset; with a semi-colon", + "output": [ + [ + "Character", + "\u22d1" + ] + ] + }, + { + "input": "Þ", + "description": "Named entity: THORN without a semi-colon", + "output": [ + [ + "Character", + "\u00de" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Þ", + "description": "Named entity: THORN; with a semi-colon", + "output": [ + [ + "Character", + "\u00de" + ] + ] + }, + { + "input": "&TRADE", + "description": "Bad named entity: TRADE without a semi-colon", + "output": [ + [ + "Character", + "&TRADE" + ] + ] + }, + { + "input": "™", + "description": "Named entity: TRADE; with a semi-colon", + "output": [ + [ + "Character", + "\u2122" + ] + ] + }, + { + "input": "&TSHcy", + "description": "Bad named entity: TSHcy without a semi-colon", + "output": [ + [ + "Character", + "&TSHcy" + ] + ] + }, + { + "input": "Ћ", + "description": "Named entity: TSHcy; with a semi-colon", + "output": [ + [ + "Character", + "\u040b" + ] + ] + }, + { + "input": "&TScy", + "description": "Bad named entity: TScy without a semi-colon", + "output": [ + [ + "Character", + "&TScy" + ] + ] + }, + { + "input": "Ц", + "description": "Named entity: TScy; with a semi-colon", + "output": [ + [ + "Character", + "\u0426" + ] + ] + }, + { + "input": "&Tab", + "description": "Bad named entity: Tab without a semi-colon", + "output": [ + [ + "Character", + "&Tab" + ] + ] + }, + { + "input": "	", + "description": "Named entity: Tab; with a semi-colon", + "output": [ + [ + "Character", + "\t" + ] + ] + }, + { + "input": "&Tau", + "description": "Bad named entity: Tau without a semi-colon", + "output": [ + [ + "Character", + "&Tau" + ] + ] + }, + { + "input": "Τ", + "description": "Named entity: Tau; with a semi-colon", + "output": [ + [ + "Character", + "\u03a4" + ] + ] + }, + { + "input": "&Tcaron", + "description": "Bad named entity: Tcaron without a semi-colon", + "output": [ + [ + "Character", + "&Tcaron" + ] + ] + }, + { + "input": "Ť", + "description": "Named entity: Tcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0164" + ] + ] + }, + { + "input": "&Tcedil", + "description": "Bad named entity: Tcedil without a semi-colon", + "output": [ + [ + "Character", + "&Tcedil" + ] + ] + }, + { + "input": "Ţ", + "description": "Named entity: Tcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0162" + ] + ] + }, + { + "input": "&Tcy", + "description": "Bad named entity: Tcy without a semi-colon", + "output": [ + [ + "Character", + "&Tcy" + ] + ] + }, + { + "input": "Т", + "description": "Named entity: Tcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0422" + ] + ] + }, + { + "input": "&Tfr", + "description": "Bad named entity: Tfr without a semi-colon", + "output": [ + [ + "Character", + "&Tfr" + ] + ] + }, + { + "input": "𝔗", + "description": "Named entity: Tfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd17" + ] + ] + }, + { + "input": "&Therefore", + "description": "Bad named entity: Therefore without a semi-colon", + "output": [ + [ + "Character", + "&Therefore" + ] + ] + }, + { + "input": "∴", + "description": "Named entity: Therefore; with a semi-colon", + "output": [ + [ + "Character", + "\u2234" + ] + ] + }, + { + "input": "&Theta", + "description": "Bad named entity: Theta without a semi-colon", + "output": [ + [ + "Character", + "&Theta" + ] + ] + }, + { + "input": "Θ", + "description": "Named entity: Theta; with a semi-colon", + "output": [ + [ + "Character", + "\u0398" + ] + ] + }, + { + "input": "&ThickSpace", + "description": "Bad named entity: ThickSpace without a semi-colon", + "output": [ + [ + "Character", + "&ThickSpace" + ] + ] + }, + { + "input": "  ", + "description": "Named entity: ThickSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u205f\u200a" + ] + ] + }, + { + "input": "&ThinSpace", + "description": "Bad named entity: ThinSpace without a semi-colon", + "output": [ + [ + "Character", + "&ThinSpace" + ] + ] + }, + { + "input": " ", + "description": "Named entity: ThinSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u2009" + ] + ] + }, + { + "input": "&Tilde", + "description": "Bad named entity: Tilde without a semi-colon", + "output": [ + [ + "Character", + "&Tilde" + ] + ] + }, + { + "input": "∼", + "description": "Named entity: Tilde; with a semi-colon", + "output": [ + [ + "Character", + "\u223c" + ] + ] + }, + { + "input": "&TildeEqual", + "description": "Bad named entity: TildeEqual without a semi-colon", + "output": [ + [ + "Character", + "&TildeEqual" + ] + ] + }, + { + "input": "≃", + "description": "Named entity: TildeEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2243" + ] + ] + }, + { + "input": "&TildeFullEqual", + "description": "Bad named entity: TildeFullEqual without a semi-colon", + "output": [ + [ + "Character", + "&TildeFullEqual" + ] + ] + }, + { + "input": "≅", + "description": "Named entity: TildeFullEqual; with a semi-colon", + "output": [ + [ + "Character", + "\u2245" + ] + ] + }, + { + "input": "&TildeTilde", + "description": "Bad named entity: TildeTilde without a semi-colon", + "output": [ + [ + "Character", + "&TildeTilde" + ] + ] + }, + { + "input": "≈", + "description": "Named entity: TildeTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2248" + ] + ] + }, + { + "input": "&Topf", + "description": "Bad named entity: Topf without a semi-colon", + "output": [ + [ + "Character", + "&Topf" + ] + ] + }, + { + "input": "𝕋", + "description": "Named entity: Topf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd4b" + ] + ] + }, + { + "input": "&TripleDot", + "description": "Bad named entity: TripleDot without a semi-colon", + "output": [ + [ + "Character", + "&TripleDot" + ] + ] + }, + { + "input": "⃛", + "description": "Named entity: TripleDot; with a semi-colon", + "output": [ + [ + "Character", + "\u20db" + ] + ] + }, + { + "input": "&Tscr", + "description": "Bad named entity: Tscr without a semi-colon", + "output": [ + [ + "Character", + "&Tscr" + ] + ] + }, + { + "input": "𝒯", + "description": "Named entity: Tscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcaf" + ] + ] + }, + { + "input": "&Tstrok", + "description": "Bad named entity: Tstrok without a semi-colon", + "output": [ + [ + "Character", + "&Tstrok" + ] + ] + }, + { + "input": "Ŧ", + "description": "Named entity: Tstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0166" + ] + ] + }, + { + "input": "Ú", + "description": "Named entity: Uacute without a semi-colon", + "output": [ + [ + "Character", + "\u00da" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ú", + "description": "Named entity: Uacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00da" + ] + ] + }, + { + "input": "&Uarr", + "description": "Bad named entity: Uarr without a semi-colon", + "output": [ + [ + "Character", + "&Uarr" + ] + ] + }, + { + "input": "↟", + "description": "Named entity: Uarr; with a semi-colon", + "output": [ + [ + "Character", + "\u219f" + ] + ] + }, + { + "input": "&Uarrocir", + "description": "Bad named entity: Uarrocir without a semi-colon", + "output": [ + [ + "Character", + "&Uarrocir" + ] + ] + }, + { + "input": "⥉", + "description": "Named entity: Uarrocir; with a semi-colon", + "output": [ + [ + "Character", + "\u2949" + ] + ] + }, + { + "input": "&Ubrcy", + "description": "Bad named entity: Ubrcy without a semi-colon", + "output": [ + [ + "Character", + "&Ubrcy" + ] + ] + }, + { + "input": "Ў", + "description": "Named entity: Ubrcy; with a semi-colon", + "output": [ + [ + "Character", + "\u040e" + ] + ] + }, + { + "input": "&Ubreve", + "description": "Bad named entity: Ubreve without a semi-colon", + "output": [ + [ + "Character", + "&Ubreve" + ] + ] + }, + { + "input": "Ŭ", + "description": "Named entity: Ubreve; with a semi-colon", + "output": [ + [ + "Character", + "\u016c" + ] + ] + }, + { + "input": "Û", + "description": "Named entity: Ucirc without a semi-colon", + "output": [ + [ + "Character", + "\u00db" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "Û", + "description": "Named entity: Ucirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00db" + ] + ] + }, + { + "input": "&Ucy", + "description": "Bad named entity: Ucy without a semi-colon", + "output": [ + [ + "Character", + "&Ucy" + ] + ] + }, + { + "input": "У", + "description": "Named entity: Ucy; with a semi-colon", + "output": [ + [ + "Character", + "\u0423" + ] + ] + }, + { + "input": "&Udblac", + "description": "Bad named entity: Udblac without a semi-colon", + "output": [ + [ + "Character", + "&Udblac" + ] + ] + }, + { + "input": "Ű", + "description": "Named entity: Udblac; with a semi-colon", + "output": [ + [ + "Character", + "\u0170" + ] + ] + }, + { + "input": "&Ufr", + "description": "Bad named entity: Ufr without a semi-colon", + "output": [ + [ + "Character", + "&Ufr" + ] + ] + }, + { + "input": "𝔘", + "description": "Named entity: Ufr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd18" + ] + ] + }, + { + "input": "Ù", + "description": "Named entity: Ugrave without a semi-colon", + "output": [ + [ + "Character", + "\u00d9" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ù", + "description": "Named entity: Ugrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00d9" + ] + ] + }, + { + "input": "&Umacr", + "description": "Bad named entity: Umacr without a semi-colon", + "output": [ + [ + "Character", + "&Umacr" + ] + ] + }, + { + "input": "Ū", + "description": "Named entity: Umacr; with a semi-colon", + "output": [ + [ + "Character", + "\u016a" + ] + ] + }, + { + "input": "&UnderBar", + "description": "Bad named entity: UnderBar without a semi-colon", + "output": [ + [ + "Character", + "&UnderBar" + ] + ] + }, + { + "input": "_", + "description": "Named entity: UnderBar; with a semi-colon", + "output": [ + [ + "Character", + "_" + ] + ] + }, + { + "input": "&UnderBrace", + "description": "Bad named entity: UnderBrace without a semi-colon", + "output": [ + [ + "Character", + "&UnderBrace" + ] + ] + }, + { + "input": "⏟", + "description": "Named entity: UnderBrace; with a semi-colon", + "output": [ + [ + "Character", + "\u23df" + ] + ] + }, + { + "input": "&UnderBracket", + "description": "Bad named entity: UnderBracket without a semi-colon", + "output": [ + [ + "Character", + "&UnderBracket" + ] + ] + }, + { + "input": "⎵", + "description": "Named entity: UnderBracket; with a semi-colon", + "output": [ + [ + "Character", + "\u23b5" + ] + ] + }, + { + "input": "&UnderParenthesis", + "description": "Bad named entity: UnderParenthesis without a semi-colon", + "output": [ + [ + "Character", + "&UnderParenthesis" + ] + ] + }, + { + "input": "⏝", + "description": "Named entity: UnderParenthesis; with a semi-colon", + "output": [ + [ + "Character", + "\u23dd" + ] + ] + }, + { + "input": "&Union", + "description": "Bad named entity: Union without a semi-colon", + "output": [ + [ + "Character", + "&Union" + ] + ] + }, + { + "input": "⋃", + "description": "Named entity: Union; with a semi-colon", + "output": [ + [ + "Character", + "\u22c3" + ] + ] + }, + { + "input": "&UnionPlus", + "description": "Bad named entity: UnionPlus without a semi-colon", + "output": [ + [ + "Character", + "&UnionPlus" + ] + ] + }, + { + "input": "⊎", + "description": "Named entity: UnionPlus; with a semi-colon", + "output": [ + [ + "Character", + "\u228e" + ] + ] + }, + { + "input": "&Uogon", + "description": "Bad named entity: Uogon without a semi-colon", + "output": [ + [ + "Character", + "&Uogon" + ] + ] + }, + { + "input": "Ų", + "description": "Named entity: Uogon; with a semi-colon", + "output": [ + [ + "Character", + "\u0172" + ] + ] + }, + { + "input": "&Uopf", + "description": "Bad named entity: Uopf without a semi-colon", + "output": [ + [ + "Character", + "&Uopf" + ] + ] + }, + { + "input": "𝕌", + "description": "Named entity: Uopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd4c" + ] + ] + }, + { + "input": "&UpArrow", + "description": "Bad named entity: UpArrow without a semi-colon", + "output": [ + [ + "Character", + "&UpArrow" + ] + ] + }, + { + "input": "↑", + "description": "Named entity: UpArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2191" + ] + ] + }, + { + "input": "&UpArrowBar", + "description": "Bad named entity: UpArrowBar without a semi-colon", + "output": [ + [ + "Character", + "&UpArrowBar" + ] + ] + }, + { + "input": "⤒", + "description": "Named entity: UpArrowBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2912" + ] + ] + }, + { + "input": "&UpArrowDownArrow", + "description": "Bad named entity: UpArrowDownArrow without a semi-colon", + "output": [ + [ + "Character", + "&UpArrowDownArrow" + ] + ] + }, + { + "input": "⇅", + "description": "Named entity: UpArrowDownArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21c5" + ] + ] + }, + { + "input": "&UpDownArrow", + "description": "Bad named entity: UpDownArrow without a semi-colon", + "output": [ + [ + "Character", + "&UpDownArrow" + ] + ] + }, + { + "input": "↕", + "description": "Named entity: UpDownArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2195" + ] + ] + }, + { + "input": "&UpEquilibrium", + "description": "Bad named entity: UpEquilibrium without a semi-colon", + "output": [ + [ + "Character", + "&UpEquilibrium" + ] + ] + }, + { + "input": "⥮", + "description": "Named entity: UpEquilibrium; with a semi-colon", + "output": [ + [ + "Character", + "\u296e" + ] + ] + }, + { + "input": "&UpTee", + "description": "Bad named entity: UpTee without a semi-colon", + "output": [ + [ + "Character", + "&UpTee" + ] + ] + }, + { + "input": "⊥", + "description": "Named entity: UpTee; with a semi-colon", + "output": [ + [ + "Character", + "\u22a5" + ] + ] + }, + { + "input": "&UpTeeArrow", + "description": "Bad named entity: UpTeeArrow without a semi-colon", + "output": [ + [ + "Character", + "&UpTeeArrow" + ] + ] + }, + { + "input": "↥", + "description": "Named entity: UpTeeArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21a5" + ] + ] + }, + { + "input": "&Uparrow", + "description": "Bad named entity: Uparrow without a semi-colon", + "output": [ + [ + "Character", + "&Uparrow" + ] + ] + }, + { + "input": "⇑", + "description": "Named entity: Uparrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d1" + ] + ] + }, + { + "input": "&Updownarrow", + "description": "Bad named entity: Updownarrow without a semi-colon", + "output": [ + [ + "Character", + "&Updownarrow" + ] + ] + }, + { + "input": "⇕", + "description": "Named entity: Updownarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21d5" + ] + ] + }, + { + "input": "&UpperLeftArrow", + "description": "Bad named entity: UpperLeftArrow without a semi-colon", + "output": [ + [ + "Character", + "&UpperLeftArrow" + ] + ] + }, + { + "input": "↖", + "description": "Named entity: UpperLeftArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2196" + ] + ] + }, + { + "input": "&UpperRightArrow", + "description": "Bad named entity: UpperRightArrow without a semi-colon", + "output": [ + [ + "Character", + "&UpperRightArrow" + ] + ] + }, + { + "input": "↗", + "description": "Named entity: UpperRightArrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2197" + ] + ] + }, + { + "input": "&Upsi", + "description": "Bad named entity: Upsi without a semi-colon", + "output": [ + [ + "Character", + "&Upsi" + ] + ] + }, + { + "input": "ϒ", + "description": "Named entity: Upsi; with a semi-colon", + "output": [ + [ + "Character", + "\u03d2" + ] + ] + }, + { + "input": "&Upsilon", + "description": "Bad named entity: Upsilon without a semi-colon", + "output": [ + [ + "Character", + "&Upsilon" + ] + ] + }, + { + "input": "Υ", + "description": "Named entity: Upsilon; with a semi-colon", + "output": [ + [ + "Character", + "\u03a5" + ] + ] + }, + { + "input": "&Uring", + "description": "Bad named entity: Uring without a semi-colon", + "output": [ + [ + "Character", + "&Uring" + ] + ] + }, + { + "input": "Ů", + "description": "Named entity: Uring; with a semi-colon", + "output": [ + [ + "Character", + "\u016e" + ] + ] + }, + { + "input": "&Uscr", + "description": "Bad named entity: Uscr without a semi-colon", + "output": [ + [ + "Character", + "&Uscr" + ] + ] + }, + { + "input": "𝒰", + "description": "Named entity: Uscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb0" + ] + ] + }, + { + "input": "&Utilde", + "description": "Bad named entity: Utilde without a semi-colon", + "output": [ + [ + "Character", + "&Utilde" + ] + ] + }, + { + "input": "Ũ", + "description": "Named entity: Utilde; with a semi-colon", + "output": [ + [ + "Character", + "\u0168" + ] + ] + }, + { + "input": "Ü", + "description": "Named entity: Uuml without a semi-colon", + "output": [ + [ + "Character", + "\u00dc" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "Ü", + "description": "Named entity: Uuml; with a semi-colon", + "output": [ + [ + "Character", + "\u00dc" + ] + ] + }, + { + "input": "&VDash", + "description": "Bad named entity: VDash without a semi-colon", + "output": [ + [ + "Character", + "&VDash" + ] + ] + }, + { + "input": "⊫", + "description": "Named entity: VDash; with a semi-colon", + "output": [ + [ + "Character", + "\u22ab" + ] + ] + }, + { + "input": "&Vbar", + "description": "Bad named entity: Vbar without a semi-colon", + "output": [ + [ + "Character", + "&Vbar" + ] + ] + }, + { + "input": "⫫", + "description": "Named entity: Vbar; with a semi-colon", + "output": [ + [ + "Character", + "\u2aeb" + ] + ] + }, + { + "input": "&Vcy", + "description": "Bad named entity: Vcy without a semi-colon", + "output": [ + [ + "Character", + "&Vcy" + ] + ] + }, + { + "input": "В", + "description": "Named entity: Vcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0412" + ] + ] + }, + { + "input": "&Vdash", + "description": "Bad named entity: Vdash without a semi-colon", + "output": [ + [ + "Character", + "&Vdash" + ] + ] + }, + { + "input": "⊩", + "description": "Named entity: Vdash; with a semi-colon", + "output": [ + [ + "Character", + "\u22a9" + ] + ] + }, + { + "input": "&Vdashl", + "description": "Bad named entity: Vdashl without a semi-colon", + "output": [ + [ + "Character", + "&Vdashl" + ] + ] + }, + { + "input": "⫦", + "description": "Named entity: Vdashl; with a semi-colon", + "output": [ + [ + "Character", + "\u2ae6" + ] + ] + }, + { + "input": "&Vee", + "description": "Bad named entity: Vee without a semi-colon", + "output": [ + [ + "Character", + "&Vee" + ] + ] + }, + { + "input": "⋁", + "description": "Named entity: Vee; with a semi-colon", + "output": [ + [ + "Character", + "\u22c1" + ] + ] + }, + { + "input": "&Verbar", + "description": "Bad named entity: Verbar without a semi-colon", + "output": [ + [ + "Character", + "&Verbar" + ] + ] + }, + { + "input": "‖", + "description": "Named entity: Verbar; with a semi-colon", + "output": [ + [ + "Character", + "\u2016" + ] + ] + }, + { + "input": "&Vert", + "description": "Bad named entity: Vert without a semi-colon", + "output": [ + [ + "Character", + "&Vert" + ] + ] + }, + { + "input": "‖", + "description": "Named entity: Vert; with a semi-colon", + "output": [ + [ + "Character", + "\u2016" + ] + ] + }, + { + "input": "&VerticalBar", + "description": "Bad named entity: VerticalBar without a semi-colon", + "output": [ + [ + "Character", + "&VerticalBar" + ] + ] + }, + { + "input": "∣", + "description": "Named entity: VerticalBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2223" + ] + ] + }, + { + "input": "&VerticalLine", + "description": "Bad named entity: VerticalLine without a semi-colon", + "output": [ + [ + "Character", + "&VerticalLine" + ] + ] + }, + { + "input": "|", + "description": "Named entity: VerticalLine; with a semi-colon", + "output": [ + [ + "Character", + "|" + ] + ] + }, + { + "input": "&VerticalSeparator", + "description": "Bad named entity: VerticalSeparator without a semi-colon", + "output": [ + [ + "Character", + "&VerticalSeparator" + ] + ] + }, + { + "input": "❘", + "description": "Named entity: VerticalSeparator; with a semi-colon", + "output": [ + [ + "Character", + "\u2758" + ] + ] + }, + { + "input": "&VerticalTilde", + "description": "Bad named entity: VerticalTilde without a semi-colon", + "output": [ + [ + "Character", + "&VerticalTilde" + ] + ] + }, + { + "input": "≀", + "description": "Named entity: VerticalTilde; with a semi-colon", + "output": [ + [ + "Character", + "\u2240" + ] + ] + }, + { + "input": "&VeryThinSpace", + "description": "Bad named entity: VeryThinSpace without a semi-colon", + "output": [ + [ + "Character", + "&VeryThinSpace" + ] + ] + }, + { + "input": " ", + "description": "Named entity: VeryThinSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u200a" + ] + ] + }, + { + "input": "&Vfr", + "description": "Bad named entity: Vfr without a semi-colon", + "output": [ + [ + "Character", + "&Vfr" + ] + ] + }, + { + "input": "𝔙", + "description": "Named entity: Vfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd19" + ] + ] + }, + { + "input": "&Vopf", + "description": "Bad named entity: Vopf without a semi-colon", + "output": [ + [ + "Character", + "&Vopf" + ] + ] + }, + { + "input": "𝕍", + "description": "Named entity: Vopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd4d" + ] + ] + }, + { + "input": "&Vscr", + "description": "Bad named entity: Vscr without a semi-colon", + "output": [ + [ + "Character", + "&Vscr" + ] + ] + }, + { + "input": "𝒱", + "description": "Named entity: Vscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb1" + ] + ] + }, + { + "input": "&Vvdash", + "description": "Bad named entity: Vvdash without a semi-colon", + "output": [ + [ + "Character", + "&Vvdash" + ] + ] + }, + { + "input": "⊪", + "description": "Named entity: Vvdash; with a semi-colon", + "output": [ + [ + "Character", + "\u22aa" + ] + ] + }, + { + "input": "&Wcirc", + "description": "Bad named entity: Wcirc without a semi-colon", + "output": [ + [ + "Character", + "&Wcirc" + ] + ] + }, + { + "input": "Ŵ", + "description": "Named entity: Wcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0174" + ] + ] + }, + { + "input": "&Wedge", + "description": "Bad named entity: Wedge without a semi-colon", + "output": [ + [ + "Character", + "&Wedge" + ] + ] + }, + { + "input": "⋀", + "description": "Named entity: Wedge; with a semi-colon", + "output": [ + [ + "Character", + "\u22c0" + ] + ] + }, + { + "input": "&Wfr", + "description": "Bad named entity: Wfr without a semi-colon", + "output": [ + [ + "Character", + "&Wfr" + ] + ] + }, + { + "input": "𝔚", + "description": "Named entity: Wfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd1a" + ] + ] + }, + { + "input": "&Wopf", + "description": "Bad named entity: Wopf without a semi-colon", + "output": [ + [ + "Character", + "&Wopf" + ] + ] + }, + { + "input": "𝕎", + "description": "Named entity: Wopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd4e" + ] + ] + }, + { + "input": "&Wscr", + "description": "Bad named entity: Wscr without a semi-colon", + "output": [ + [ + "Character", + "&Wscr" + ] + ] + }, + { + "input": "𝒲", + "description": "Named entity: Wscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb2" + ] + ] + }, + { + "input": "&Xfr", + "description": "Bad named entity: Xfr without a semi-colon", + "output": [ + [ + "Character", + "&Xfr" + ] + ] + }, + { + "input": "𝔛", + "description": "Named entity: Xfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd1b" + ] + ] + }, + { + "input": "&Xi", + "description": "Bad named entity: Xi without a semi-colon", + "output": [ + [ + "Character", + "&Xi" + ] + ] + }, + { + "input": "Ξ", + "description": "Named entity: Xi; with a semi-colon", + "output": [ + [ + "Character", + "\u039e" + ] + ] + }, + { + "input": "&Xopf", + "description": "Bad named entity: Xopf without a semi-colon", + "output": [ + [ + "Character", + "&Xopf" + ] + ] + }, + { + "input": "𝕏", + "description": "Named entity: Xopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd4f" + ] + ] + }, + { + "input": "&Xscr", + "description": "Bad named entity: Xscr without a semi-colon", + "output": [ + [ + "Character", + "&Xscr" + ] + ] + }, + { + "input": "𝒳", + "description": "Named entity: Xscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb3" + ] + ] + }, + { + "input": "&YAcy", + "description": "Bad named entity: YAcy without a semi-colon", + "output": [ + [ + "Character", + "&YAcy" + ] + ] + }, + { + "input": "Я", + "description": "Named entity: YAcy; with a semi-colon", + "output": [ + [ + "Character", + "\u042f" + ] + ] + }, + { + "input": "&YIcy", + "description": "Bad named entity: YIcy without a semi-colon", + "output": [ + [ + "Character", + "&YIcy" + ] + ] + }, + { + "input": "Ї", + "description": "Named entity: YIcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0407" + ] + ] + }, + { + "input": "&YUcy", + "description": "Bad named entity: YUcy without a semi-colon", + "output": [ + [ + "Character", + "&YUcy" + ] + ] + }, + { + "input": "Ю", + "description": "Named entity: YUcy; with a semi-colon", + "output": [ + [ + "Character", + "\u042e" + ] + ] + }, + { + "input": "Ý", + "description": "Named entity: Yacute without a semi-colon", + "output": [ + [ + "Character", + "\u00dd" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "Ý", + "description": "Named entity: Yacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00dd" + ] + ] + }, + { + "input": "&Ycirc", + "description": "Bad named entity: Ycirc without a semi-colon", + "output": [ + [ + "Character", + "&Ycirc" + ] + ] + }, + { + "input": "Ŷ", + "description": "Named entity: Ycirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0176" + ] + ] + }, + { + "input": "&Ycy", + "description": "Bad named entity: Ycy without a semi-colon", + "output": [ + [ + "Character", + "&Ycy" + ] + ] + }, + { + "input": "Ы", + "description": "Named entity: Ycy; with a semi-colon", + "output": [ + [ + "Character", + "\u042b" + ] + ] + }, + { + "input": "&Yfr", + "description": "Bad named entity: Yfr without a semi-colon", + "output": [ + [ + "Character", + "&Yfr" + ] + ] + }, + { + "input": "𝔜", + "description": "Named entity: Yfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd1c" + ] + ] + }, + { + "input": "&Yopf", + "description": "Bad named entity: Yopf without a semi-colon", + "output": [ + [ + "Character", + "&Yopf" + ] + ] + }, + { + "input": "𝕐", + "description": "Named entity: Yopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd50" + ] + ] + }, + { + "input": "&Yscr", + "description": "Bad named entity: Yscr without a semi-colon", + "output": [ + [ + "Character", + "&Yscr" + ] + ] + }, + { + "input": "𝒴", + "description": "Named entity: Yscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb4" + ] + ] + }, + { + "input": "&Yuml", + "description": "Bad named entity: Yuml without a semi-colon", + "output": [ + [ + "Character", + "&Yuml" + ] + ] + }, + { + "input": "Ÿ", + "description": "Named entity: Yuml; with a semi-colon", + "output": [ + [ + "Character", + "\u0178" + ] + ] + }, + { + "input": "&ZHcy", + "description": "Bad named entity: ZHcy without a semi-colon", + "output": [ + [ + "Character", + "&ZHcy" + ] + ] + }, + { + "input": "Ж", + "description": "Named entity: ZHcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0416" + ] + ] + }, + { + "input": "&Zacute", + "description": "Bad named entity: Zacute without a semi-colon", + "output": [ + [ + "Character", + "&Zacute" + ] + ] + }, + { + "input": "Ź", + "description": "Named entity: Zacute; with a semi-colon", + "output": [ + [ + "Character", + "\u0179" + ] + ] + }, + { + "input": "&Zcaron", + "description": "Bad named entity: Zcaron without a semi-colon", + "output": [ + [ + "Character", + "&Zcaron" + ] + ] + }, + { + "input": "Ž", + "description": "Named entity: Zcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u017d" + ] + ] + }, + { + "input": "&Zcy", + "description": "Bad named entity: Zcy without a semi-colon", + "output": [ + [ + "Character", + "&Zcy" + ] + ] + }, + { + "input": "З", + "description": "Named entity: Zcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0417" + ] + ] + }, + { + "input": "&Zdot", + "description": "Bad named entity: Zdot without a semi-colon", + "output": [ + [ + "Character", + "&Zdot" + ] + ] + }, + { + "input": "Ż", + "description": "Named entity: Zdot; with a semi-colon", + "output": [ + [ + "Character", + "\u017b" + ] + ] + }, + { + "input": "&ZeroWidthSpace", + "description": "Bad named entity: ZeroWidthSpace without a semi-colon", + "output": [ + [ + "Character", + "&ZeroWidthSpace" + ] + ] + }, + { + "input": "​", + "description": "Named entity: ZeroWidthSpace; with a semi-colon", + "output": [ + [ + "Character", + "\u200b" + ] + ] + }, + { + "input": "&Zeta", + "description": "Bad named entity: Zeta without a semi-colon", + "output": [ + [ + "Character", + "&Zeta" + ] + ] + }, + { + "input": "Ζ", + "description": "Named entity: Zeta; with a semi-colon", + "output": [ + [ + "Character", + "\u0396" + ] + ] + }, + { + "input": "&Zfr", + "description": "Bad named entity: Zfr without a semi-colon", + "output": [ + [ + "Character", + "&Zfr" + ] + ] + }, + { + "input": "ℨ", + "description": "Named entity: Zfr; with a semi-colon", + "output": [ + [ + "Character", + "\u2128" + ] + ] + }, + { + "input": "&Zopf", + "description": "Bad named entity: Zopf without a semi-colon", + "output": [ + [ + "Character", + "&Zopf" + ] + ] + }, + { + "input": "ℤ", + "description": "Named entity: Zopf; with a semi-colon", + "output": [ + [ + "Character", + "\u2124" + ] + ] + }, + { + "input": "&Zscr", + "description": "Bad named entity: Zscr without a semi-colon", + "output": [ + [ + "Character", + "&Zscr" + ] + ] + }, + { + "input": "𝒵", + "description": "Named entity: Zscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb5" + ] + ] + }, + { + "input": "á", + "description": "Named entity: aacute without a semi-colon", + "output": [ + [ + "Character", + "\u00e1" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "á", + "description": "Named entity: aacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00e1" + ] + ] + }, + { + "input": "&abreve", + "description": "Bad named entity: abreve without a semi-colon", + "output": [ + [ + "Character", + "&abreve" + ] + ] + }, + { + "input": "ă", + "description": "Named entity: abreve; with a semi-colon", + "output": [ + [ + "Character", + "\u0103" + ] + ] + }, + { + "input": "&ac", + "description": "Bad named entity: ac without a semi-colon", + "output": [ + [ + "Character", + "&ac" + ] + ] + }, + { + "input": "∾", + "description": "Named entity: ac; with a semi-colon", + "output": [ + [ + "Character", + "\u223e" + ] + ] + }, + { + "input": "&acE", + "description": "Bad named entity: acE without a semi-colon", + "output": [ + [ + "Character", + "&acE" + ] + ] + }, + { + "input": "∾̳", + "description": "Named entity: acE; with a semi-colon", + "output": [ + [ + "Character", + "\u223e\u0333" + ] + ] + }, + { + "input": "&acd", + "description": "Bad named entity: acd without a semi-colon", + "output": [ + [ + "Character", + "&acd" + ] + ] + }, + { + "input": "∿", + "description": "Named entity: acd; with a semi-colon", + "output": [ + [ + "Character", + "\u223f" + ] + ] + }, + { + "input": "â", + "description": "Named entity: acirc without a semi-colon", + "output": [ + [ + "Character", + "\u00e2" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "â", + "description": "Named entity: acirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00e2" + ] + ] + }, + { + "input": "´", + "description": "Named entity: acute without a semi-colon", + "output": [ + [ + "Character", + "\u00b4" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "´", + "description": "Named entity: acute; with a semi-colon", + "output": [ + [ + "Character", + "\u00b4" + ] + ] + }, + { + "input": "&acy", + "description": "Bad named entity: acy without a semi-colon", + "output": [ + [ + "Character", + "&acy" + ] + ] + }, + { + "input": "а", + "description": "Named entity: acy; with a semi-colon", + "output": [ + [ + "Character", + "\u0430" + ] + ] + }, + { + "input": "æ", + "description": "Named entity: aelig without a semi-colon", + "output": [ + [ + "Character", + "\u00e6" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "æ", + "description": "Named entity: aelig; with a semi-colon", + "output": [ + [ + "Character", + "\u00e6" + ] + ] + }, + { + "input": "&af", + "description": "Bad named entity: af without a semi-colon", + "output": [ + [ + "Character", + "&af" + ] + ] + }, + { + "input": "⁡", + "description": "Named entity: af; with a semi-colon", + "output": [ + [ + "Character", + "\u2061" + ] + ] + }, + { + "input": "&afr", + "description": "Bad named entity: afr without a semi-colon", + "output": [ + [ + "Character", + "&afr" + ] + ] + }, + { + "input": "𝔞", + "description": "Named entity: afr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd1e" + ] + ] + }, + { + "input": "à", + "description": "Named entity: agrave without a semi-colon", + "output": [ + [ + "Character", + "\u00e0" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "à", + "description": "Named entity: agrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00e0" + ] + ] + }, + { + "input": "&alefsym", + "description": "Bad named entity: alefsym without a semi-colon", + "output": [ + [ + "Character", + "&alefsym" + ] + ] + }, + { + "input": "ℵ", + "description": "Named entity: alefsym; with a semi-colon", + "output": [ + [ + "Character", + "\u2135" + ] + ] + }, + { + "input": "&aleph", + "description": "Bad named entity: aleph without a semi-colon", + "output": [ + [ + "Character", + "&aleph" + ] + ] + }, + { + "input": "ℵ", + "description": "Named entity: aleph; with a semi-colon", + "output": [ + [ + "Character", + "\u2135" + ] + ] + }, + { + "input": "&alpha", + "description": "Bad named entity: alpha without a semi-colon", + "output": [ + [ + "Character", + "&alpha" + ] + ] + }, + { + "input": "α", + "description": "Named entity: alpha; with a semi-colon", + "output": [ + [ + "Character", + "\u03b1" + ] + ] + }, + { + "input": "&amacr", + "description": "Bad named entity: amacr without a semi-colon", + "output": [ + [ + "Character", + "&amacr" + ] + ] + }, + { + "input": "ā", + "description": "Named entity: amacr; with a semi-colon", + "output": [ + [ + "Character", + "\u0101" + ] + ] + }, + { + "input": "&amalg", + "description": "Bad named entity: amalg without a semi-colon", + "output": [ + [ + "Character", + "&amalg" + ] + ] + }, + { + "input": "⨿", + "description": "Named entity: amalg; with a semi-colon", + "output": [ + [ + "Character", + "\u2a3f" + ] + ] + }, + { + "input": "&", + "description": "Named entity: amp without a semi-colon", + "output": [ + [ + "Character", + "&" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "&", + "description": "Named entity: amp; with a semi-colon", + "output": [ + [ + "Character", + "&" + ] + ] + }, + { + "input": "&and", + "description": "Bad named entity: and without a semi-colon", + "output": [ + [ + "Character", + "&and" + ] + ] + }, + { + "input": "∧", + "description": "Named entity: and; with a semi-colon", + "output": [ + [ + "Character", + "\u2227" + ] + ] + }, + { + "input": "&andand", + "description": "Bad named entity: andand without a semi-colon", + "output": [ + [ + "Character", + "&andand" + ] + ] + }, + { + "input": "⩕", + "description": "Named entity: andand; with a semi-colon", + "output": [ + [ + "Character", + "\u2a55" + ] + ] + }, + { + "input": "&andd", + "description": "Bad named entity: andd without a semi-colon", + "output": [ + [ + "Character", + "&andd" + ] + ] + }, + { + "input": "⩜", + "description": "Named entity: andd; with a semi-colon", + "output": [ + [ + "Character", + "\u2a5c" + ] + ] + }, + { + "input": "&andslope", + "description": "Bad named entity: andslope without a semi-colon", + "output": [ + [ + "Character", + "&andslope" + ] + ] + }, + { + "input": "⩘", + "description": "Named entity: andslope; with a semi-colon", + "output": [ + [ + "Character", + "\u2a58" + ] + ] + }, + { + "input": "&andv", + "description": "Bad named entity: andv without a semi-colon", + "output": [ + [ + "Character", + "&andv" + ] + ] + }, + { + "input": "⩚", + "description": "Named entity: andv; with a semi-colon", + "output": [ + [ + "Character", + "\u2a5a" + ] + ] + }, + { + "input": "&ang", + "description": "Bad named entity: ang without a semi-colon", + "output": [ + [ + "Character", + "&ang" + ] + ] + }, + { + "input": "∠", + "description": "Named entity: ang; with a semi-colon", + "output": [ + [ + "Character", + "\u2220" + ] + ] + }, + { + "input": "&ange", + "description": "Bad named entity: ange without a semi-colon", + "output": [ + [ + "Character", + "&ange" + ] + ] + }, + { + "input": "⦤", + "description": "Named entity: ange; with a semi-colon", + "output": [ + [ + "Character", + "\u29a4" + ] + ] + }, + { + "input": "&angle", + "description": "Bad named entity: angle without a semi-colon", + "output": [ + [ + "Character", + "&angle" + ] + ] + }, + { + "input": "∠", + "description": "Named entity: angle; with a semi-colon", + "output": [ + [ + "Character", + "\u2220" + ] + ] + }, + { + "input": "&angmsd", + "description": "Bad named entity: angmsd without a semi-colon", + "output": [ + [ + "Character", + "&angmsd" + ] + ] + }, + { + "input": "∡", + "description": "Named entity: angmsd; with a semi-colon", + "output": [ + [ + "Character", + "\u2221" + ] + ] + }, + { + "input": "&angmsdaa", + "description": "Bad named entity: angmsdaa without a semi-colon", + "output": [ + [ + "Character", + "&angmsdaa" + ] + ] + }, + { + "input": "⦨", + "description": "Named entity: angmsdaa; with a semi-colon", + "output": [ + [ + "Character", + "\u29a8" + ] + ] + }, + { + "input": "&angmsdab", + "description": "Bad named entity: angmsdab without a semi-colon", + "output": [ + [ + "Character", + "&angmsdab" + ] + ] + }, + { + "input": "⦩", + "description": "Named entity: angmsdab; with a semi-colon", + "output": [ + [ + "Character", + "\u29a9" + ] + ] + }, + { + "input": "&angmsdac", + "description": "Bad named entity: angmsdac without a semi-colon", + "output": [ + [ + "Character", + "&angmsdac" + ] + ] + }, + { + "input": "⦪", + "description": "Named entity: angmsdac; with a semi-colon", + "output": [ + [ + "Character", + "\u29aa" + ] + ] + }, + { + "input": "&angmsdad", + "description": "Bad named entity: angmsdad without a semi-colon", + "output": [ + [ + "Character", + "&angmsdad" + ] + ] + }, + { + "input": "⦫", + "description": "Named entity: angmsdad; with a semi-colon", + "output": [ + [ + "Character", + "\u29ab" + ] + ] + }, + { + "input": "&angmsdae", + "description": "Bad named entity: angmsdae without a semi-colon", + "output": [ + [ + "Character", + "&angmsdae" + ] + ] + }, + { + "input": "⦬", + "description": "Named entity: angmsdae; with a semi-colon", + "output": [ + [ + "Character", + "\u29ac" + ] + ] + }, + { + "input": "&angmsdaf", + "description": "Bad named entity: angmsdaf without a semi-colon", + "output": [ + [ + "Character", + "&angmsdaf" + ] + ] + }, + { + "input": "⦭", + "description": "Named entity: angmsdaf; with a semi-colon", + "output": [ + [ + "Character", + "\u29ad" + ] + ] + }, + { + "input": "&angmsdag", + "description": "Bad named entity: angmsdag without a semi-colon", + "output": [ + [ + "Character", + "&angmsdag" + ] + ] + }, + { + "input": "⦮", + "description": "Named entity: angmsdag; with a semi-colon", + "output": [ + [ + "Character", + "\u29ae" + ] + ] + }, + { + "input": "&angmsdah", + "description": "Bad named entity: angmsdah without a semi-colon", + "output": [ + [ + "Character", + "&angmsdah" + ] + ] + }, + { + "input": "⦯", + "description": "Named entity: angmsdah; with a semi-colon", + "output": [ + [ + "Character", + "\u29af" + ] + ] + }, + { + "input": "&angrt", + "description": "Bad named entity: angrt without a semi-colon", + "output": [ + [ + "Character", + "&angrt" + ] + ] + }, + { + "input": "∟", + "description": "Named entity: angrt; with a semi-colon", + "output": [ + [ + "Character", + "\u221f" + ] + ] + }, + { + "input": "&angrtvb", + "description": "Bad named entity: angrtvb without a semi-colon", + "output": [ + [ + "Character", + "&angrtvb" + ] + ] + }, + { + "input": "⊾", + "description": "Named entity: angrtvb; with a semi-colon", + "output": [ + [ + "Character", + "\u22be" + ] + ] + }, + { + "input": "&angrtvbd", + "description": "Bad named entity: angrtvbd without a semi-colon", + "output": [ + [ + "Character", + "&angrtvbd" + ] + ] + }, + { + "input": "⦝", + "description": "Named entity: angrtvbd; with a semi-colon", + "output": [ + [ + "Character", + "\u299d" + ] + ] + }, + { + "input": "&angsph", + "description": "Bad named entity: angsph without a semi-colon", + "output": [ + [ + "Character", + "&angsph" + ] + ] + }, + { + "input": "∢", + "description": "Named entity: angsph; with a semi-colon", + "output": [ + [ + "Character", + "\u2222" + ] + ] + }, + { + "input": "&angst", + "description": "Bad named entity: angst without a semi-colon", + "output": [ + [ + "Character", + "&angst" + ] + ] + }, + { + "input": "Å", + "description": "Named entity: angst; with a semi-colon", + "output": [ + [ + "Character", + "\u00c5" + ] + ] + }, + { + "input": "&angzarr", + "description": "Bad named entity: angzarr without a semi-colon", + "output": [ + [ + "Character", + "&angzarr" + ] + ] + }, + { + "input": "⍼", + "description": "Named entity: angzarr; with a semi-colon", + "output": [ + [ + "Character", + "\u237c" + ] + ] + }, + { + "input": "&aogon", + "description": "Bad named entity: aogon without a semi-colon", + "output": [ + [ + "Character", + "&aogon" + ] + ] + }, + { + "input": "ą", + "description": "Named entity: aogon; with a semi-colon", + "output": [ + [ + "Character", + "\u0105" + ] + ] + }, + { + "input": "&aopf", + "description": "Bad named entity: aopf without a semi-colon", + "output": [ + [ + "Character", + "&aopf" + ] + ] + }, + { + "input": "𝕒", + "description": "Named entity: aopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd52" + ] + ] + }, + { + "input": "&ap", + "description": "Bad named entity: ap without a semi-colon", + "output": [ + [ + "Character", + "&ap" + ] + ] + }, + { + "input": "≈", + "description": "Named entity: ap; with a semi-colon", + "output": [ + [ + "Character", + "\u2248" + ] + ] + }, + { + "input": "&apE", + "description": "Bad named entity: apE without a semi-colon", + "output": [ + [ + "Character", + "&apE" + ] + ] + }, + { + "input": "⩰", + "description": "Named entity: apE; with a semi-colon", + "output": [ + [ + "Character", + "\u2a70" + ] + ] + }, + { + "input": "&apacir", + "description": "Bad named entity: apacir without a semi-colon", + "output": [ + [ + "Character", + "&apacir" + ] + ] + }, + { + "input": "⩯", + "description": "Named entity: apacir; with a semi-colon", + "output": [ + [ + "Character", + "\u2a6f" + ] + ] + }, + { + "input": "&ape", + "description": "Bad named entity: ape without a semi-colon", + "output": [ + [ + "Character", + "&ape" + ] + ] + }, + { + "input": "≊", + "description": "Named entity: ape; with a semi-colon", + "output": [ + [ + "Character", + "\u224a" + ] + ] + }, + { + "input": "&apid", + "description": "Bad named entity: apid without a semi-colon", + "output": [ + [ + "Character", + "&apid" + ] + ] + }, + { + "input": "≋", + "description": "Named entity: apid; with a semi-colon", + "output": [ + [ + "Character", + "\u224b" + ] + ] + }, + { + "input": "&apos", + "description": "Bad named entity: apos without a semi-colon", + "output": [ + [ + "Character", + "&apos" + ] + ] + }, + { + "input": "'", + "description": "Named entity: apos; with a semi-colon", + "output": [ + [ + "Character", + "'" + ] + ] + }, + { + "input": "&approx", + "description": "Bad named entity: approx without a semi-colon", + "output": [ + [ + "Character", + "&approx" + ] + ] + }, + { + "input": "≈", + "description": "Named entity: approx; with a semi-colon", + "output": [ + [ + "Character", + "\u2248" + ] + ] + }, + { + "input": "&approxeq", + "description": "Bad named entity: approxeq without a semi-colon", + "output": [ + [ + "Character", + "&approxeq" + ] + ] + }, + { + "input": "≊", + "description": "Named entity: approxeq; with a semi-colon", + "output": [ + [ + "Character", + "\u224a" + ] + ] + }, + { + "input": "å", + "description": "Named entity: aring without a semi-colon", + "output": [ + [ + "Character", + "\u00e5" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "å", + "description": "Named entity: aring; with a semi-colon", + "output": [ + [ + "Character", + "\u00e5" + ] + ] + }, + { + "input": "&ascr", + "description": "Bad named entity: ascr without a semi-colon", + "output": [ + [ + "Character", + "&ascr" + ] + ] + }, + { + "input": "𝒶", + "description": "Named entity: ascr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb6" + ] + ] + }, + { + "input": "&ast", + "description": "Bad named entity: ast without a semi-colon", + "output": [ + [ + "Character", + "&ast" + ] + ] + }, + { + "input": "*", + "description": "Named entity: ast; with a semi-colon", + "output": [ + [ + "Character", + "*" + ] + ] + }, + { + "input": "&asymp", + "description": "Bad named entity: asymp without a semi-colon", + "output": [ + [ + "Character", + "&asymp" + ] + ] + }, + { + "input": "≈", + "description": "Named entity: asymp; with a semi-colon", + "output": [ + [ + "Character", + "\u2248" + ] + ] + }, + { + "input": "&asympeq", + "description": "Bad named entity: asympeq without a semi-colon", + "output": [ + [ + "Character", + "&asympeq" + ] + ] + }, + { + "input": "≍", + "description": "Named entity: asympeq; with a semi-colon", + "output": [ + [ + "Character", + "\u224d" + ] + ] + }, + { + "input": "ã", + "description": "Named entity: atilde without a semi-colon", + "output": [ + [ + "Character", + "\u00e3" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ã", + "description": "Named entity: atilde; with a semi-colon", + "output": [ + [ + "Character", + "\u00e3" + ] + ] + }, + { + "input": "ä", + "description": "Named entity: auml without a semi-colon", + "output": [ + [ + "Character", + "\u00e4" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "ä", + "description": "Named entity: auml; with a semi-colon", + "output": [ + [ + "Character", + "\u00e4" + ] + ] + }, + { + "input": "&awconint", + "description": "Bad named entity: awconint without a semi-colon", + "output": [ + [ + "Character", + "&awconint" + ] + ] + }, + { + "input": "∳", + "description": "Named entity: awconint; with a semi-colon", + "output": [ + [ + "Character", + "\u2233" + ] + ] + }, + { + "input": "&awint", + "description": "Bad named entity: awint without a semi-colon", + "output": [ + [ + "Character", + "&awint" + ] + ] + }, + { + "input": "⨑", + "description": "Named entity: awint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a11" + ] + ] + }, + { + "input": "&bNot", + "description": "Bad named entity: bNot without a semi-colon", + "output": [ + [ + "Character", + "&bNot" + ] + ] + }, + { + "input": "⫭", + "description": "Named entity: bNot; with a semi-colon", + "output": [ + [ + "Character", + "\u2aed" + ] + ] + }, + { + "input": "&backcong", + "description": "Bad named entity: backcong without a semi-colon", + "output": [ + [ + "Character", + "&backcong" + ] + ] + }, + { + "input": "≌", + "description": "Named entity: backcong; with a semi-colon", + "output": [ + [ + "Character", + "\u224c" + ] + ] + }, + { + "input": "&backepsilon", + "description": "Bad named entity: backepsilon without a semi-colon", + "output": [ + [ + "Character", + "&backepsilon" + ] + ] + }, + { + "input": "϶", + "description": "Named entity: backepsilon; with a semi-colon", + "output": [ + [ + "Character", + "\u03f6" + ] + ] + }, + { + "input": "&backprime", + "description": "Bad named entity: backprime without a semi-colon", + "output": [ + [ + "Character", + "&backprime" + ] + ] + }, + { + "input": "‵", + "description": "Named entity: backprime; with a semi-colon", + "output": [ + [ + "Character", + "\u2035" + ] + ] + }, + { + "input": "&backsim", + "description": "Bad named entity: backsim without a semi-colon", + "output": [ + [ + "Character", + "&backsim" + ] + ] + }, + { + "input": "∽", + "description": "Named entity: backsim; with a semi-colon", + "output": [ + [ + "Character", + "\u223d" + ] + ] + }, + { + "input": "&backsimeq", + "description": "Bad named entity: backsimeq without a semi-colon", + "output": [ + [ + "Character", + "&backsimeq" + ] + ] + }, + { + "input": "⋍", + "description": "Named entity: backsimeq; with a semi-colon", + "output": [ + [ + "Character", + "\u22cd" + ] + ] + }, + { + "input": "&barvee", + "description": "Bad named entity: barvee without a semi-colon", + "output": [ + [ + "Character", + "&barvee" + ] + ] + }, + { + "input": "⊽", + "description": "Named entity: barvee; with a semi-colon", + "output": [ + [ + "Character", + "\u22bd" + ] + ] + }, + { + "input": "&barwed", + "description": "Bad named entity: barwed without a semi-colon", + "output": [ + [ + "Character", + "&barwed" + ] + ] + }, + { + "input": "⌅", + "description": "Named entity: barwed; with a semi-colon", + "output": [ + [ + "Character", + "\u2305" + ] + ] + }, + { + "input": "&barwedge", + "description": "Bad named entity: barwedge without a semi-colon", + "output": [ + [ + "Character", + "&barwedge" + ] + ] + }, + { + "input": "⌅", + "description": "Named entity: barwedge; with a semi-colon", + "output": [ + [ + "Character", + "\u2305" + ] + ] + }, + { + "input": "&bbrk", + "description": "Bad named entity: bbrk without a semi-colon", + "output": [ + [ + "Character", + "&bbrk" + ] + ] + }, + { + "input": "⎵", + "description": "Named entity: bbrk; with a semi-colon", + "output": [ + [ + "Character", + "\u23b5" + ] + ] + }, + { + "input": "&bbrktbrk", + "description": "Bad named entity: bbrktbrk without a semi-colon", + "output": [ + [ + "Character", + "&bbrktbrk" + ] + ] + }, + { + "input": "⎶", + "description": "Named entity: bbrktbrk; with a semi-colon", + "output": [ + [ + "Character", + "\u23b6" + ] + ] + }, + { + "input": "&bcong", + "description": "Bad named entity: bcong without a semi-colon", + "output": [ + [ + "Character", + "&bcong" + ] + ] + }, + { + "input": "≌", + "description": "Named entity: bcong; with a semi-colon", + "output": [ + [ + "Character", + "\u224c" + ] + ] + }, + { + "input": "&bcy", + "description": "Bad named entity: bcy without a semi-colon", + "output": [ + [ + "Character", + "&bcy" + ] + ] + }, + { + "input": "б", + "description": "Named entity: bcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0431" + ] + ] + }, + { + "input": "&bdquo", + "description": "Bad named entity: bdquo without a semi-colon", + "output": [ + [ + "Character", + "&bdquo" + ] + ] + }, + { + "input": "„", + "description": "Named entity: bdquo; with a semi-colon", + "output": [ + [ + "Character", + "\u201e" + ] + ] + }, + { + "input": "&becaus", + "description": "Bad named entity: becaus without a semi-colon", + "output": [ + [ + "Character", + "&becaus" + ] + ] + }, + { + "input": "∵", + "description": "Named entity: becaus; with a semi-colon", + "output": [ + [ + "Character", + "\u2235" + ] + ] + }, + { + "input": "&because", + "description": "Bad named entity: because without a semi-colon", + "output": [ + [ + "Character", + "&because" + ] + ] + }, + { + "input": "∵", + "description": "Named entity: because; with a semi-colon", + "output": [ + [ + "Character", + "\u2235" + ] + ] + }, + { + "input": "&bemptyv", + "description": "Bad named entity: bemptyv without a semi-colon", + "output": [ + [ + "Character", + "&bemptyv" + ] + ] + }, + { + "input": "⦰", + "description": "Named entity: bemptyv; with a semi-colon", + "output": [ + [ + "Character", + "\u29b0" + ] + ] + }, + { + "input": "&bepsi", + "description": "Bad named entity: bepsi without a semi-colon", + "output": [ + [ + "Character", + "&bepsi" + ] + ] + }, + { + "input": "϶", + "description": "Named entity: bepsi; with a semi-colon", + "output": [ + [ + "Character", + "\u03f6" + ] + ] + }, + { + "input": "&bernou", + "description": "Bad named entity: bernou without a semi-colon", + "output": [ + [ + "Character", + "&bernou" + ] + ] + }, + { + "input": "ℬ", + "description": "Named entity: bernou; with a semi-colon", + "output": [ + [ + "Character", + "\u212c" + ] + ] + }, + { + "input": "&beta", + "description": "Bad named entity: beta without a semi-colon", + "output": [ + [ + "Character", + "&beta" + ] + ] + }, + { + "input": "β", + "description": "Named entity: beta; with a semi-colon", + "output": [ + [ + "Character", + "\u03b2" + ] + ] + }, + { + "input": "&beth", + "description": "Bad named entity: beth without a semi-colon", + "output": [ + [ + "Character", + "&beth" + ] + ] + }, + { + "input": "ℶ", + "description": "Named entity: beth; with a semi-colon", + "output": [ + [ + "Character", + "\u2136" + ] + ] + }, + { + "input": "&between", + "description": "Bad named entity: between without a semi-colon", + "output": [ + [ + "Character", + "&between" + ] + ] + }, + { + "input": "≬", + "description": "Named entity: between; with a semi-colon", + "output": [ + [ + "Character", + "\u226c" + ] + ] + }, + { + "input": "&bfr", + "description": "Bad named entity: bfr without a semi-colon", + "output": [ + [ + "Character", + "&bfr" + ] + ] + }, + { + "input": "𝔟", + "description": "Named entity: bfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd1f" + ] + ] + }, + { + "input": "&bigcap", + "description": "Bad named entity: bigcap without a semi-colon", + "output": [ + [ + "Character", + "&bigcap" + ] + ] + }, + { + "input": "⋂", + "description": "Named entity: bigcap; with a semi-colon", + "output": [ + [ + "Character", + "\u22c2" + ] + ] + }, + { + "input": "&bigcirc", + "description": "Bad named entity: bigcirc without a semi-colon", + "output": [ + [ + "Character", + "&bigcirc" + ] + ] + }, + { + "input": "◯", + "description": "Named entity: bigcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u25ef" + ] + ] + }, + { + "input": "&bigcup", + "description": "Bad named entity: bigcup without a semi-colon", + "output": [ + [ + "Character", + "&bigcup" + ] + ] + }, + { + "input": "⋃", + "description": "Named entity: bigcup; with a semi-colon", + "output": [ + [ + "Character", + "\u22c3" + ] + ] + }, + { + "input": "&bigodot", + "description": "Bad named entity: bigodot without a semi-colon", + "output": [ + [ + "Character", + "&bigodot" + ] + ] + }, + { + "input": "⨀", + "description": "Named entity: bigodot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a00" + ] + ] + }, + { + "input": "&bigoplus", + "description": "Bad named entity: bigoplus without a semi-colon", + "output": [ + [ + "Character", + "&bigoplus" + ] + ] + }, + { + "input": "⨁", + "description": "Named entity: bigoplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a01" + ] + ] + }, + { + "input": "&bigotimes", + "description": "Bad named entity: bigotimes without a semi-colon", + "output": [ + [ + "Character", + "&bigotimes" + ] + ] + }, + { + "input": "⨂", + "description": "Named entity: bigotimes; with a semi-colon", + "output": [ + [ + "Character", + "\u2a02" + ] + ] + }, + { + "input": "&bigsqcup", + "description": "Bad named entity: bigsqcup without a semi-colon", + "output": [ + [ + "Character", + "&bigsqcup" + ] + ] + }, + { + "input": "⨆", + "description": "Named entity: bigsqcup; with a semi-colon", + "output": [ + [ + "Character", + "\u2a06" + ] + ] + }, + { + "input": "&bigstar", + "description": "Bad named entity: bigstar without a semi-colon", + "output": [ + [ + "Character", + "&bigstar" + ] + ] + }, + { + "input": "★", + "description": "Named entity: bigstar; with a semi-colon", + "output": [ + [ + "Character", + "\u2605" + ] + ] + }, + { + "input": "&bigtriangledown", + "description": "Bad named entity: bigtriangledown without a semi-colon", + "output": [ + [ + "Character", + "&bigtriangledown" + ] + ] + }, + { + "input": "▽", + "description": "Named entity: bigtriangledown; with a semi-colon", + "output": [ + [ + "Character", + "\u25bd" + ] + ] + }, + { + "input": "&bigtriangleup", + "description": "Bad named entity: bigtriangleup without a semi-colon", + "output": [ + [ + "Character", + "&bigtriangleup" + ] + ] + }, + { + "input": "△", + "description": "Named entity: bigtriangleup; with a semi-colon", + "output": [ + [ + "Character", + "\u25b3" + ] + ] + }, + { + "input": "&biguplus", + "description": "Bad named entity: biguplus without a semi-colon", + "output": [ + [ + "Character", + "&biguplus" + ] + ] + }, + { + "input": "⨄", + "description": "Named entity: biguplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a04" + ] + ] + }, + { + "input": "&bigvee", + "description": "Bad named entity: bigvee without a semi-colon", + "output": [ + [ + "Character", + "&bigvee" + ] + ] + }, + { + "input": "⋁", + "description": "Named entity: bigvee; with a semi-colon", + "output": [ + [ + "Character", + "\u22c1" + ] + ] + }, + { + "input": "&bigwedge", + "description": "Bad named entity: bigwedge without a semi-colon", + "output": [ + [ + "Character", + "&bigwedge" + ] + ] + }, + { + "input": "⋀", + "description": "Named entity: bigwedge; with a semi-colon", + "output": [ + [ + "Character", + "\u22c0" + ] + ] + }, + { + "input": "&bkarow", + "description": "Bad named entity: bkarow without a semi-colon", + "output": [ + [ + "Character", + "&bkarow" + ] + ] + }, + { + "input": "⤍", + "description": "Named entity: bkarow; with a semi-colon", + "output": [ + [ + "Character", + "\u290d" + ] + ] + }, + { + "input": "&blacklozenge", + "description": "Bad named entity: blacklozenge without a semi-colon", + "output": [ + [ + "Character", + "&blacklozenge" + ] + ] + }, + { + "input": "⧫", + "description": "Named entity: blacklozenge; with a semi-colon", + "output": [ + [ + "Character", + "\u29eb" + ] + ] + }, + { + "input": "&blacksquare", + "description": "Bad named entity: blacksquare without a semi-colon", + "output": [ + [ + "Character", + "&blacksquare" + ] + ] + }, + { + "input": "▪", + "description": "Named entity: blacksquare; with a semi-colon", + "output": [ + [ + "Character", + "\u25aa" + ] + ] + }, + { + "input": "&blacktriangle", + "description": "Bad named entity: blacktriangle without a semi-colon", + "output": [ + [ + "Character", + "&blacktriangle" + ] + ] + }, + { + "input": "▴", + "description": "Named entity: blacktriangle; with a semi-colon", + "output": [ + [ + "Character", + "\u25b4" + ] + ] + }, + { + "input": "&blacktriangledown", + "description": "Bad named entity: blacktriangledown without a semi-colon", + "output": [ + [ + "Character", + "&blacktriangledown" + ] + ] + }, + { + "input": "▾", + "description": "Named entity: blacktriangledown; with a semi-colon", + "output": [ + [ + "Character", + "\u25be" + ] + ] + }, + { + "input": "&blacktriangleleft", + "description": "Bad named entity: blacktriangleleft without a semi-colon", + "output": [ + [ + "Character", + "&blacktriangleleft" + ] + ] + }, + { + "input": "◂", + "description": "Named entity: blacktriangleleft; with a semi-colon", + "output": [ + [ + "Character", + "\u25c2" + ] + ] + }, + { + "input": "&blacktriangleright", + "description": "Bad named entity: blacktriangleright without a semi-colon", + "output": [ + [ + "Character", + "&blacktriangleright" + ] + ] + }, + { + "input": "▸", + "description": "Named entity: blacktriangleright; with a semi-colon", + "output": [ + [ + "Character", + "\u25b8" + ] + ] + }, + { + "input": "&blank", + "description": "Bad named entity: blank without a semi-colon", + "output": [ + [ + "Character", + "&blank" + ] + ] + }, + { + "input": "␣", + "description": "Named entity: blank; with a semi-colon", + "output": [ + [ + "Character", + "\u2423" + ] + ] + }, + { + "input": "&blk12", + "description": "Bad named entity: blk12 without a semi-colon", + "output": [ + [ + "Character", + "&blk12" + ] + ] + }, + { + "input": "▒", + "description": "Named entity: blk12; with a semi-colon", + "output": [ + [ + "Character", + "\u2592" + ] + ] + }, + { + "input": "&blk14", + "description": "Bad named entity: blk14 without a semi-colon", + "output": [ + [ + "Character", + "&blk14" + ] + ] + }, + { + "input": "░", + "description": "Named entity: blk14; with a semi-colon", + "output": [ + [ + "Character", + "\u2591" + ] + ] + }, + { + "input": "&blk34", + "description": "Bad named entity: blk34 without a semi-colon", + "output": [ + [ + "Character", + "&blk34" + ] + ] + }, + { + "input": "▓", + "description": "Named entity: blk34; with a semi-colon", + "output": [ + [ + "Character", + "\u2593" + ] + ] + }, + { + "input": "&block", + "description": "Bad named entity: block without a semi-colon", + "output": [ + [ + "Character", + "&block" + ] + ] + }, + { + "input": "█", + "description": "Named entity: block; with a semi-colon", + "output": [ + [ + "Character", + "\u2588" + ] + ] + }, + { + "input": "&bne", + "description": "Bad named entity: bne without a semi-colon", + "output": [ + [ + "Character", + "&bne" + ] + ] + }, + { + "input": "=⃥", + "description": "Named entity: bne; with a semi-colon", + "output": [ + [ + "Character", + "=\u20e5" + ] + ] + }, + { + "input": "&bnequiv", + "description": "Bad named entity: bnequiv without a semi-colon", + "output": [ + [ + "Character", + "&bnequiv" + ] + ] + }, + { + "input": "≡⃥", + "description": "Named entity: bnequiv; with a semi-colon", + "output": [ + [ + "Character", + "\u2261\u20e5" + ] + ] + }, + { + "input": "&bnot", + "description": "Bad named entity: bnot without a semi-colon", + "output": [ + [ + "Character", + "&bnot" + ] + ] + }, + { + "input": "⌐", + "description": "Named entity: bnot; with a semi-colon", + "output": [ + [ + "Character", + "\u2310" + ] + ] + }, + { + "input": "&bopf", + "description": "Bad named entity: bopf without a semi-colon", + "output": [ + [ + "Character", + "&bopf" + ] + ] + }, + { + "input": "𝕓", + "description": "Named entity: bopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd53" + ] + ] + }, + { + "input": "&bot", + "description": "Bad named entity: bot without a semi-colon", + "output": [ + [ + "Character", + "&bot" + ] + ] + }, + { + "input": "⊥", + "description": "Named entity: bot; with a semi-colon", + "output": [ + [ + "Character", + "\u22a5" + ] + ] + }, + { + "input": "&bottom", + "description": "Bad named entity: bottom without a semi-colon", + "output": [ + [ + "Character", + "&bottom" + ] + ] + }, + { + "input": "⊥", + "description": "Named entity: bottom; with a semi-colon", + "output": [ + [ + "Character", + "\u22a5" + ] + ] + }, + { + "input": "&bowtie", + "description": "Bad named entity: bowtie without a semi-colon", + "output": [ + [ + "Character", + "&bowtie" + ] + ] + }, + { + "input": "⋈", + "description": "Named entity: bowtie; with a semi-colon", + "output": [ + [ + "Character", + "\u22c8" + ] + ] + }, + { + "input": "&boxDL", + "description": "Bad named entity: boxDL without a semi-colon", + "output": [ + [ + "Character", + "&boxDL" + ] + ] + }, + { + "input": "╗", + "description": "Named entity: boxDL; with a semi-colon", + "output": [ + [ + "Character", + "\u2557" + ] + ] + }, + { + "input": "&boxDR", + "description": "Bad named entity: boxDR without a semi-colon", + "output": [ + [ + "Character", + "&boxDR" + ] + ] + }, + { + "input": "╔", + "description": "Named entity: boxDR; with a semi-colon", + "output": [ + [ + "Character", + "\u2554" + ] + ] + }, + { + "input": "&boxDl", + "description": "Bad named entity: boxDl without a semi-colon", + "output": [ + [ + "Character", + "&boxDl" + ] + ] + }, + { + "input": "╖", + "description": "Named entity: boxDl; with a semi-colon", + "output": [ + [ + "Character", + "\u2556" + ] + ] + }, + { + "input": "&boxDr", + "description": "Bad named entity: boxDr without a semi-colon", + "output": [ + [ + "Character", + "&boxDr" + ] + ] + }, + { + "input": "╓", + "description": "Named entity: boxDr; with a semi-colon", + "output": [ + [ + "Character", + "\u2553" + ] + ] + }, + { + "input": "&boxH", + "description": "Bad named entity: boxH without a semi-colon", + "output": [ + [ + "Character", + "&boxH" + ] + ] + }, + { + "input": "═", + "description": "Named entity: boxH; with a semi-colon", + "output": [ + [ + "Character", + "\u2550" + ] + ] + }, + { + "input": "&boxHD", + "description": "Bad named entity: boxHD without a semi-colon", + "output": [ + [ + "Character", + "&boxHD" + ] + ] + }, + { + "input": "╦", + "description": "Named entity: boxHD; with a semi-colon", + "output": [ + [ + "Character", + "\u2566" + ] + ] + }, + { + "input": "&boxHU", + "description": "Bad named entity: boxHU without a semi-colon", + "output": [ + [ + "Character", + "&boxHU" + ] + ] + }, + { + "input": "╩", + "description": "Named entity: boxHU; with a semi-colon", + "output": [ + [ + "Character", + "\u2569" + ] + ] + }, + { + "input": "&boxHd", + "description": "Bad named entity: boxHd without a semi-colon", + "output": [ + [ + "Character", + "&boxHd" + ] + ] + }, + { + "input": "╤", + "description": "Named entity: boxHd; with a semi-colon", + "output": [ + [ + "Character", + "\u2564" + ] + ] + }, + { + "input": "&boxHu", + "description": "Bad named entity: boxHu without a semi-colon", + "output": [ + [ + "Character", + "&boxHu" + ] + ] + }, + { + "input": "╧", + "description": "Named entity: boxHu; with a semi-colon", + "output": [ + [ + "Character", + "\u2567" + ] + ] + }, + { + "input": "&boxUL", + "description": "Bad named entity: boxUL without a semi-colon", + "output": [ + [ + "Character", + "&boxUL" + ] + ] + }, + { + "input": "╝", + "description": "Named entity: boxUL; with a semi-colon", + "output": [ + [ + "Character", + "\u255d" + ] + ] + }, + { + "input": "&boxUR", + "description": "Bad named entity: boxUR without a semi-colon", + "output": [ + [ + "Character", + "&boxUR" + ] + ] + }, + { + "input": "╚", + "description": "Named entity: boxUR; with a semi-colon", + "output": [ + [ + "Character", + "\u255a" + ] + ] + }, + { + "input": "&boxUl", + "description": "Bad named entity: boxUl without a semi-colon", + "output": [ + [ + "Character", + "&boxUl" + ] + ] + }, + { + "input": "╜", + "description": "Named entity: boxUl; with a semi-colon", + "output": [ + [ + "Character", + "\u255c" + ] + ] + }, + { + "input": "&boxUr", + "description": "Bad named entity: boxUr without a semi-colon", + "output": [ + [ + "Character", + "&boxUr" + ] + ] + }, + { + "input": "╙", + "description": "Named entity: boxUr; with a semi-colon", + "output": [ + [ + "Character", + "\u2559" + ] + ] + }, + { + "input": "&boxV", + "description": "Bad named entity: boxV without a semi-colon", + "output": [ + [ + "Character", + "&boxV" + ] + ] + }, + { + "input": "║", + "description": "Named entity: boxV; with a semi-colon", + "output": [ + [ + "Character", + "\u2551" + ] + ] + }, + { + "input": "&boxVH", + "description": "Bad named entity: boxVH without a semi-colon", + "output": [ + [ + "Character", + "&boxVH" + ] + ] + }, + { + "input": "╬", + "description": "Named entity: boxVH; with a semi-colon", + "output": [ + [ + "Character", + "\u256c" + ] + ] + }, + { + "input": "&boxVL", + "description": "Bad named entity: boxVL without a semi-colon", + "output": [ + [ + "Character", + "&boxVL" + ] + ] + }, + { + "input": "╣", + "description": "Named entity: boxVL; with a semi-colon", + "output": [ + [ + "Character", + "\u2563" + ] + ] + }, + { + "input": "&boxVR", + "description": "Bad named entity: boxVR without a semi-colon", + "output": [ + [ + "Character", + "&boxVR" + ] + ] + }, + { + "input": "╠", + "description": "Named entity: boxVR; with a semi-colon", + "output": [ + [ + "Character", + "\u2560" + ] + ] + }, + { + "input": "&boxVh", + "description": "Bad named entity: boxVh without a semi-colon", + "output": [ + [ + "Character", + "&boxVh" + ] + ] + }, + { + "input": "╫", + "description": "Named entity: boxVh; with a semi-colon", + "output": [ + [ + "Character", + "\u256b" + ] + ] + }, + { + "input": "&boxVl", + "description": "Bad named entity: boxVl without a semi-colon", + "output": [ + [ + "Character", + "&boxVl" + ] + ] + }, + { + "input": "╢", + "description": "Named entity: boxVl; with a semi-colon", + "output": [ + [ + "Character", + "\u2562" + ] + ] + }, + { + "input": "&boxVr", + "description": "Bad named entity: boxVr without a semi-colon", + "output": [ + [ + "Character", + "&boxVr" + ] + ] + }, + { + "input": "╟", + "description": "Named entity: boxVr; with a semi-colon", + "output": [ + [ + "Character", + "\u255f" + ] + ] + }, + { + "input": "&boxbox", + "description": "Bad named entity: boxbox without a semi-colon", + "output": [ + [ + "Character", + "&boxbox" + ] + ] + }, + { + "input": "⧉", + "description": "Named entity: boxbox; with a semi-colon", + "output": [ + [ + "Character", + "\u29c9" + ] + ] + }, + { + "input": "&boxdL", + "description": "Bad named entity: boxdL without a semi-colon", + "output": [ + [ + "Character", + "&boxdL" + ] + ] + }, + { + "input": "╕", + "description": "Named entity: boxdL; with a semi-colon", + "output": [ + [ + "Character", + "\u2555" + ] + ] + }, + { + "input": "&boxdR", + "description": "Bad named entity: boxdR without a semi-colon", + "output": [ + [ + "Character", + "&boxdR" + ] + ] + }, + { + "input": "╒", + "description": "Named entity: boxdR; with a semi-colon", + "output": [ + [ + "Character", + "\u2552" + ] + ] + }, + { + "input": "&boxdl", + "description": "Bad named entity: boxdl without a semi-colon", + "output": [ + [ + "Character", + "&boxdl" + ] + ] + }, + { + "input": "┐", + "description": "Named entity: boxdl; with a semi-colon", + "output": [ + [ + "Character", + "\u2510" + ] + ] + }, + { + "input": "&boxdr", + "description": "Bad named entity: boxdr without a semi-colon", + "output": [ + [ + "Character", + "&boxdr" + ] + ] + }, + { + "input": "┌", + "description": "Named entity: boxdr; with a semi-colon", + "output": [ + [ + "Character", + "\u250c" + ] + ] + }, + { + "input": "&boxh", + "description": "Bad named entity: boxh without a semi-colon", + "output": [ + [ + "Character", + "&boxh" + ] + ] + }, + { + "input": "─", + "description": "Named entity: boxh; with a semi-colon", + "output": [ + [ + "Character", + "\u2500" + ] + ] + }, + { + "input": "&boxhD", + "description": "Bad named entity: boxhD without a semi-colon", + "output": [ + [ + "Character", + "&boxhD" + ] + ] + }, + { + "input": "╥", + "description": "Named entity: boxhD; with a semi-colon", + "output": [ + [ + "Character", + "\u2565" + ] + ] + }, + { + "input": "&boxhU", + "description": "Bad named entity: boxhU without a semi-colon", + "output": [ + [ + "Character", + "&boxhU" + ] + ] + }, + { + "input": "╨", + "description": "Named entity: boxhU; with a semi-colon", + "output": [ + [ + "Character", + "\u2568" + ] + ] + }, + { + "input": "&boxhd", + "description": "Bad named entity: boxhd without a semi-colon", + "output": [ + [ + "Character", + "&boxhd" + ] + ] + }, + { + "input": "┬", + "description": "Named entity: boxhd; with a semi-colon", + "output": [ + [ + "Character", + "\u252c" + ] + ] + }, + { + "input": "&boxhu", + "description": "Bad named entity: boxhu without a semi-colon", + "output": [ + [ + "Character", + "&boxhu" + ] + ] + }, + { + "input": "┴", + "description": "Named entity: boxhu; with a semi-colon", + "output": [ + [ + "Character", + "\u2534" + ] + ] + }, + { + "input": "&boxminus", + "description": "Bad named entity: boxminus without a semi-colon", + "output": [ + [ + "Character", + "&boxminus" + ] + ] + }, + { + "input": "⊟", + "description": "Named entity: boxminus; with a semi-colon", + "output": [ + [ + "Character", + "\u229f" + ] + ] + }, + { + "input": "&boxplus", + "description": "Bad named entity: boxplus without a semi-colon", + "output": [ + [ + "Character", + "&boxplus" + ] + ] + }, + { + "input": "⊞", + "description": "Named entity: boxplus; with a semi-colon", + "output": [ + [ + "Character", + "\u229e" + ] + ] + }, + { + "input": "&boxtimes", + "description": "Bad named entity: boxtimes without a semi-colon", + "output": [ + [ + "Character", + "&boxtimes" + ] + ] + }, + { + "input": "⊠", + "description": "Named entity: boxtimes; with a semi-colon", + "output": [ + [ + "Character", + "\u22a0" + ] + ] + }, + { + "input": "&boxuL", + "description": "Bad named entity: boxuL without a semi-colon", + "output": [ + [ + "Character", + "&boxuL" + ] + ] + }, + { + "input": "╛", + "description": "Named entity: boxuL; with a semi-colon", + "output": [ + [ + "Character", + "\u255b" + ] + ] + }, + { + "input": "&boxuR", + "description": "Bad named entity: boxuR without a semi-colon", + "output": [ + [ + "Character", + "&boxuR" + ] + ] + }, + { + "input": "╘", + "description": "Named entity: boxuR; with a semi-colon", + "output": [ + [ + "Character", + "\u2558" + ] + ] + }, + { + "input": "&boxul", + "description": "Bad named entity: boxul without a semi-colon", + "output": [ + [ + "Character", + "&boxul" + ] + ] + }, + { + "input": "┘", + "description": "Named entity: boxul; with a semi-colon", + "output": [ + [ + "Character", + "\u2518" + ] + ] + }, + { + "input": "&boxur", + "description": "Bad named entity: boxur without a semi-colon", + "output": [ + [ + "Character", + "&boxur" + ] + ] + }, + { + "input": "└", + "description": "Named entity: boxur; with a semi-colon", + "output": [ + [ + "Character", + "\u2514" + ] + ] + }, + { + "input": "&boxv", + "description": "Bad named entity: boxv without a semi-colon", + "output": [ + [ + "Character", + "&boxv" + ] + ] + }, + { + "input": "│", + "description": "Named entity: boxv; with a semi-colon", + "output": [ + [ + "Character", + "\u2502" + ] + ] + }, + { + "input": "&boxvH", + "description": "Bad named entity: boxvH without a semi-colon", + "output": [ + [ + "Character", + "&boxvH" + ] + ] + }, + { + "input": "╪", + "description": "Named entity: boxvH; with a semi-colon", + "output": [ + [ + "Character", + "\u256a" + ] + ] + }, + { + "input": "&boxvL", + "description": "Bad named entity: boxvL without a semi-colon", + "output": [ + [ + "Character", + "&boxvL" + ] + ] + }, + { + "input": "╡", + "description": "Named entity: boxvL; with a semi-colon", + "output": [ + [ + "Character", + "\u2561" + ] + ] + }, + { + "input": "&boxvR", + "description": "Bad named entity: boxvR without a semi-colon", + "output": [ + [ + "Character", + "&boxvR" + ] + ] + }, + { + "input": "╞", + "description": "Named entity: boxvR; with a semi-colon", + "output": [ + [ + "Character", + "\u255e" + ] + ] + }, + { + "input": "&boxvh", + "description": "Bad named entity: boxvh without a semi-colon", + "output": [ + [ + "Character", + "&boxvh" + ] + ] + }, + { + "input": "┼", + "description": "Named entity: boxvh; with a semi-colon", + "output": [ + [ + "Character", + "\u253c" + ] + ] + }, + { + "input": "&boxvl", + "description": "Bad named entity: boxvl without a semi-colon", + "output": [ + [ + "Character", + "&boxvl" + ] + ] + }, + { + "input": "┤", + "description": "Named entity: boxvl; with a semi-colon", + "output": [ + [ + "Character", + "\u2524" + ] + ] + }, + { + "input": "&boxvr", + "description": "Bad named entity: boxvr without a semi-colon", + "output": [ + [ + "Character", + "&boxvr" + ] + ] + }, + { + "input": "├", + "description": "Named entity: boxvr; with a semi-colon", + "output": [ + [ + "Character", + "\u251c" + ] + ] + }, + { + "input": "&bprime", + "description": "Bad named entity: bprime without a semi-colon", + "output": [ + [ + "Character", + "&bprime" + ] + ] + }, + { + "input": "‵", + "description": "Named entity: bprime; with a semi-colon", + "output": [ + [ + "Character", + "\u2035" + ] + ] + }, + { + "input": "&breve", + "description": "Bad named entity: breve without a semi-colon", + "output": [ + [ + "Character", + "&breve" + ] + ] + }, + { + "input": "˘", + "description": "Named entity: breve; with a semi-colon", + "output": [ + [ + "Character", + "\u02d8" + ] + ] + }, + { + "input": "¦", + "description": "Named entity: brvbar without a semi-colon", + "output": [ + [ + "Character", + "\u00a6" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "¦", + "description": "Named entity: brvbar; with a semi-colon", + "output": [ + [ + "Character", + "\u00a6" + ] + ] + }, + { + "input": "&bscr", + "description": "Bad named entity: bscr without a semi-colon", + "output": [ + [ + "Character", + "&bscr" + ] + ] + }, + { + "input": "𝒷", + "description": "Named entity: bscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb7" + ] + ] + }, + { + "input": "&bsemi", + "description": "Bad named entity: bsemi without a semi-colon", + "output": [ + [ + "Character", + "&bsemi" + ] + ] + }, + { + "input": "⁏", + "description": "Named entity: bsemi; with a semi-colon", + "output": [ + [ + "Character", + "\u204f" + ] + ] + }, + { + "input": "&bsim", + "description": "Bad named entity: bsim without a semi-colon", + "output": [ + [ + "Character", + "&bsim" + ] + ] + }, + { + "input": "∽", + "description": "Named entity: bsim; with a semi-colon", + "output": [ + [ + "Character", + "\u223d" + ] + ] + }, + { + "input": "&bsime", + "description": "Bad named entity: bsime without a semi-colon", + "output": [ + [ + "Character", + "&bsime" + ] + ] + }, + { + "input": "⋍", + "description": "Named entity: bsime; with a semi-colon", + "output": [ + [ + "Character", + "\u22cd" + ] + ] + }, + { + "input": "&bsol", + "description": "Bad named entity: bsol without a semi-colon", + "output": [ + [ + "Character", + "&bsol" + ] + ] + }, + { + "input": "\", + "description": "Named entity: bsol; with a semi-colon", + "output": [ + [ + "Character", + "\\" + ] + ] + }, + { + "input": "&bsolb", + "description": "Bad named entity: bsolb without a semi-colon", + "output": [ + [ + "Character", + "&bsolb" + ] + ] + }, + { + "input": "⧅", + "description": "Named entity: bsolb; with a semi-colon", + "output": [ + [ + "Character", + "\u29c5" + ] + ] + }, + { + "input": "&bsolhsub", + "description": "Bad named entity: bsolhsub without a semi-colon", + "output": [ + [ + "Character", + "&bsolhsub" + ] + ] + }, + { + "input": "⟈", + "description": "Named entity: bsolhsub; with a semi-colon", + "output": [ + [ + "Character", + "\u27c8" + ] + ] + }, + { + "input": "&bull", + "description": "Bad named entity: bull without a semi-colon", + "output": [ + [ + "Character", + "&bull" + ] + ] + }, + { + "input": "•", + "description": "Named entity: bull; with a semi-colon", + "output": [ + [ + "Character", + "\u2022" + ] + ] + }, + { + "input": "&bullet", + "description": "Bad named entity: bullet without a semi-colon", + "output": [ + [ + "Character", + "&bullet" + ] + ] + }, + { + "input": "•", + "description": "Named entity: bullet; with a semi-colon", + "output": [ + [ + "Character", + "\u2022" + ] + ] + }, + { + "input": "&bump", + "description": "Bad named entity: bump without a semi-colon", + "output": [ + [ + "Character", + "&bump" + ] + ] + }, + { + "input": "≎", + "description": "Named entity: bump; with a semi-colon", + "output": [ + [ + "Character", + "\u224e" + ] + ] + }, + { + "input": "&bumpE", + "description": "Bad named entity: bumpE without a semi-colon", + "output": [ + [ + "Character", + "&bumpE" + ] + ] + }, + { + "input": "⪮", + "description": "Named entity: bumpE; with a semi-colon", + "output": [ + [ + "Character", + "\u2aae" + ] + ] + }, + { + "input": "&bumpe", + "description": "Bad named entity: bumpe without a semi-colon", + "output": [ + [ + "Character", + "&bumpe" + ] + ] + }, + { + "input": "≏", + "description": "Named entity: bumpe; with a semi-colon", + "output": [ + [ + "Character", + "\u224f" + ] + ] + }, + { + "input": "&bumpeq", + "description": "Bad named entity: bumpeq without a semi-colon", + "output": [ + [ + "Character", + "&bumpeq" + ] + ] + }, + { + "input": "≏", + "description": "Named entity: bumpeq; with a semi-colon", + "output": [ + [ + "Character", + "\u224f" + ] + ] + }, + { + "input": "&cacute", + "description": "Bad named entity: cacute without a semi-colon", + "output": [ + [ + "Character", + "&cacute" + ] + ] + }, + { + "input": "ć", + "description": "Named entity: cacute; with a semi-colon", + "output": [ + [ + "Character", + "\u0107" + ] + ] + }, + { + "input": "&cap", + "description": "Bad named entity: cap without a semi-colon", + "output": [ + [ + "Character", + "&cap" + ] + ] + }, + { + "input": "∩", + "description": "Named entity: cap; with a semi-colon", + "output": [ + [ + "Character", + "\u2229" + ] + ] + }, + { + "input": "&capand", + "description": "Bad named entity: capand without a semi-colon", + "output": [ + [ + "Character", + "&capand" + ] + ] + }, + { + "input": "⩄", + "description": "Named entity: capand; with a semi-colon", + "output": [ + [ + "Character", + "\u2a44" + ] + ] + }, + { + "input": "&capbrcup", + "description": "Bad named entity: capbrcup without a semi-colon", + "output": [ + [ + "Character", + "&capbrcup" + ] + ] + }, + { + "input": "⩉", + "description": "Named entity: capbrcup; with a semi-colon", + "output": [ + [ + "Character", + "\u2a49" + ] + ] + }, + { + "input": "&capcap", + "description": "Bad named entity: capcap without a semi-colon", + "output": [ + [ + "Character", + "&capcap" + ] + ] + }, + { + "input": "⩋", + "description": "Named entity: capcap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a4b" + ] + ] + }, + { + "input": "&capcup", + "description": "Bad named entity: capcup without a semi-colon", + "output": [ + [ + "Character", + "&capcup" + ] + ] + }, + { + "input": "⩇", + "description": "Named entity: capcup; with a semi-colon", + "output": [ + [ + "Character", + "\u2a47" + ] + ] + }, + { + "input": "&capdot", + "description": "Bad named entity: capdot without a semi-colon", + "output": [ + [ + "Character", + "&capdot" + ] + ] + }, + { + "input": "⩀", + "description": "Named entity: capdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a40" + ] + ] + }, + { + "input": "&caps", + "description": "Bad named entity: caps without a semi-colon", + "output": [ + [ + "Character", + "&caps" + ] + ] + }, + { + "input": "∩︀", + "description": "Named entity: caps; with a semi-colon", + "output": [ + [ + "Character", + "\u2229\ufe00" + ] + ] + }, + { + "input": "&caret", + "description": "Bad named entity: caret without a semi-colon", + "output": [ + [ + "Character", + "&caret" + ] + ] + }, + { + "input": "⁁", + "description": "Named entity: caret; with a semi-colon", + "output": [ + [ + "Character", + "\u2041" + ] + ] + }, + { + "input": "&caron", + "description": "Bad named entity: caron without a semi-colon", + "output": [ + [ + "Character", + "&caron" + ] + ] + }, + { + "input": "ˇ", + "description": "Named entity: caron; with a semi-colon", + "output": [ + [ + "Character", + "\u02c7" + ] + ] + }, + { + "input": "&ccaps", + "description": "Bad named entity: ccaps without a semi-colon", + "output": [ + [ + "Character", + "&ccaps" + ] + ] + }, + { + "input": "⩍", + "description": "Named entity: ccaps; with a semi-colon", + "output": [ + [ + "Character", + "\u2a4d" + ] + ] + }, + { + "input": "&ccaron", + "description": "Bad named entity: ccaron without a semi-colon", + "output": [ + [ + "Character", + "&ccaron" + ] + ] + }, + { + "input": "č", + "description": "Named entity: ccaron; with a semi-colon", + "output": [ + [ + "Character", + "\u010d" + ] + ] + }, + { + "input": "ç", + "description": "Named entity: ccedil without a semi-colon", + "output": [ + [ + "Character", + "\u00e7" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ç", + "description": "Named entity: ccedil; with a semi-colon", + "output": [ + [ + "Character", + "\u00e7" + ] + ] + }, + { + "input": "&ccirc", + "description": "Bad named entity: ccirc without a semi-colon", + "output": [ + [ + "Character", + "&ccirc" + ] + ] + }, + { + "input": "ĉ", + "description": "Named entity: ccirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0109" + ] + ] + }, + { + "input": "&ccups", + "description": "Bad named entity: ccups without a semi-colon", + "output": [ + [ + "Character", + "&ccups" + ] + ] + }, + { + "input": "⩌", + "description": "Named entity: ccups; with a semi-colon", + "output": [ + [ + "Character", + "\u2a4c" + ] + ] + }, + { + "input": "&ccupssm", + "description": "Bad named entity: ccupssm without a semi-colon", + "output": [ + [ + "Character", + "&ccupssm" + ] + ] + }, + { + "input": "⩐", + "description": "Named entity: ccupssm; with a semi-colon", + "output": [ + [ + "Character", + "\u2a50" + ] + ] + }, + { + "input": "&cdot", + "description": "Bad named entity: cdot without a semi-colon", + "output": [ + [ + "Character", + "&cdot" + ] + ] + }, + { + "input": "ċ", + "description": "Named entity: cdot; with a semi-colon", + "output": [ + [ + "Character", + "\u010b" + ] + ] + }, + { + "input": "¸", + "description": "Named entity: cedil without a semi-colon", + "output": [ + [ + "Character", + "\u00b8" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "¸", + "description": "Named entity: cedil; with a semi-colon", + "output": [ + [ + "Character", + "\u00b8" + ] + ] + }, + { + "input": "&cemptyv", + "description": "Bad named entity: cemptyv without a semi-colon", + "output": [ + [ + "Character", + "&cemptyv" + ] + ] + }, + { + "input": "⦲", + "description": "Named entity: cemptyv; with a semi-colon", + "output": [ + [ + "Character", + "\u29b2" + ] + ] + }, + { + "input": "¢", + "description": "Named entity: cent without a semi-colon", + "output": [ + [ + "Character", + "\u00a2" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "¢", + "description": "Named entity: cent; with a semi-colon", + "output": [ + [ + "Character", + "\u00a2" + ] + ] + }, + { + "input": "·", + "description": "Named entity: centerdot; with a semi-colon", + "output": [ + [ + "Character", + "\u00b7" + ] + ] + }, + { + "input": "&cfr", + "description": "Bad named entity: cfr without a semi-colon", + "output": [ + [ + "Character", + "&cfr" + ] + ] + }, + { + "input": "𝔠", + "description": "Named entity: cfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd20" + ] + ] + }, + { + "input": "&chcy", + "description": "Bad named entity: chcy without a semi-colon", + "output": [ + [ + "Character", + "&chcy" + ] + ] + }, + { + "input": "ч", + "description": "Named entity: chcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0447" + ] + ] + }, + { + "input": "&check", + "description": "Bad named entity: check without a semi-colon", + "output": [ + [ + "Character", + "&check" + ] + ] + }, + { + "input": "✓", + "description": "Named entity: check; with a semi-colon", + "output": [ + [ + "Character", + "\u2713" + ] + ] + }, + { + "input": "&checkmark", + "description": "Bad named entity: checkmark without a semi-colon", + "output": [ + [ + "Character", + "&checkmark" + ] + ] + }, + { + "input": "✓", + "description": "Named entity: checkmark; with a semi-colon", + "output": [ + [ + "Character", + "\u2713" + ] + ] + }, + { + "input": "&chi", + "description": "Bad named entity: chi without a semi-colon", + "output": [ + [ + "Character", + "&chi" + ] + ] + }, + { + "input": "χ", + "description": "Named entity: chi; with a semi-colon", + "output": [ + [ + "Character", + "\u03c7" + ] + ] + }, + { + "input": "&cir", + "description": "Bad named entity: cir without a semi-colon", + "output": [ + [ + "Character", + "&cir" + ] + ] + }, + { + "input": "○", + "description": "Named entity: cir; with a semi-colon", + "output": [ + [ + "Character", + "\u25cb" + ] + ] + }, + { + "input": "&cirE", + "description": "Bad named entity: cirE without a semi-colon", + "output": [ + [ + "Character", + "&cirE" + ] + ] + }, + { + "input": "⧃", + "description": "Named entity: cirE; with a semi-colon", + "output": [ + [ + "Character", + "\u29c3" + ] + ] + }, + { + "input": "&circ", + "description": "Bad named entity: circ without a semi-colon", + "output": [ + [ + "Character", + "&circ" + ] + ] + }, + { + "input": "ˆ", + "description": "Named entity: circ; with a semi-colon", + "output": [ + [ + "Character", + "\u02c6" + ] + ] + }, + { + "input": "&circeq", + "description": "Bad named entity: circeq without a semi-colon", + "output": [ + [ + "Character", + "&circeq" + ] + ] + }, + { + "input": "≗", + "description": "Named entity: circeq; with a semi-colon", + "output": [ + [ + "Character", + "\u2257" + ] + ] + }, + { + "input": "&circlearrowleft", + "description": "Bad named entity: circlearrowleft without a semi-colon", + "output": [ + [ + "Character", + "&circlearrowleft" + ] + ] + }, + { + "input": "↺", + "description": "Named entity: circlearrowleft; with a semi-colon", + "output": [ + [ + "Character", + "\u21ba" + ] + ] + }, + { + "input": "&circlearrowright", + "description": "Bad named entity: circlearrowright without a semi-colon", + "output": [ + [ + "Character", + "&circlearrowright" + ] + ] + }, + { + "input": "↻", + "description": "Named entity: circlearrowright; with a semi-colon", + "output": [ + [ + "Character", + "\u21bb" + ] + ] + }, + { + "input": "&circledR", + "description": "Bad named entity: circledR without a semi-colon", + "output": [ + [ + "Character", + "&circledR" + ] + ] + }, + { + "input": "®", + "description": "Named entity: circledR; with a semi-colon", + "output": [ + [ + "Character", + "\u00ae" + ] + ] + }, + { + "input": "&circledS", + "description": "Bad named entity: circledS without a semi-colon", + "output": [ + [ + "Character", + "&circledS" + ] + ] + }, + { + "input": "Ⓢ", + "description": "Named entity: circledS; with a semi-colon", + "output": [ + [ + "Character", + "\u24c8" + ] + ] + }, + { + "input": "&circledast", + "description": "Bad named entity: circledast without a semi-colon", + "output": [ + [ + "Character", + "&circledast" + ] + ] + }, + { + "input": "⊛", + "description": "Named entity: circledast; with a semi-colon", + "output": [ + [ + "Character", + "\u229b" + ] + ] + }, + { + "input": "&circledcirc", + "description": "Bad named entity: circledcirc without a semi-colon", + "output": [ + [ + "Character", + "&circledcirc" + ] + ] + }, + { + "input": "⊚", + "description": "Named entity: circledcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u229a" + ] + ] + }, + { + "input": "&circleddash", + "description": "Bad named entity: circleddash without a semi-colon", + "output": [ + [ + "Character", + "&circleddash" + ] + ] + }, + { + "input": "⊝", + "description": "Named entity: circleddash; with a semi-colon", + "output": [ + [ + "Character", + "\u229d" + ] + ] + }, + { + "input": "&cire", + "description": "Bad named entity: cire without a semi-colon", + "output": [ + [ + "Character", + "&cire" + ] + ] + }, + { + "input": "≗", + "description": "Named entity: cire; with a semi-colon", + "output": [ + [ + "Character", + "\u2257" + ] + ] + }, + { + "input": "&cirfnint", + "description": "Bad named entity: cirfnint without a semi-colon", + "output": [ + [ + "Character", + "&cirfnint" + ] + ] + }, + { + "input": "⨐", + "description": "Named entity: cirfnint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a10" + ] + ] + }, + { + "input": "&cirmid", + "description": "Bad named entity: cirmid without a semi-colon", + "output": [ + [ + "Character", + "&cirmid" + ] + ] + }, + { + "input": "⫯", + "description": "Named entity: cirmid; with a semi-colon", + "output": [ + [ + "Character", + "\u2aef" + ] + ] + }, + { + "input": "&cirscir", + "description": "Bad named entity: cirscir without a semi-colon", + "output": [ + [ + "Character", + "&cirscir" + ] + ] + }, + { + "input": "⧂", + "description": "Named entity: cirscir; with a semi-colon", + "output": [ + [ + "Character", + "\u29c2" + ] + ] + }, + { + "input": "&clubs", + "description": "Bad named entity: clubs without a semi-colon", + "output": [ + [ + "Character", + "&clubs" + ] + ] + }, + { + "input": "♣", + "description": "Named entity: clubs; with a semi-colon", + "output": [ + [ + "Character", + "\u2663" + ] + ] + }, + { + "input": "&clubsuit", + "description": "Bad named entity: clubsuit without a semi-colon", + "output": [ + [ + "Character", + "&clubsuit" + ] + ] + }, + { + "input": "♣", + "description": "Named entity: clubsuit; with a semi-colon", + "output": [ + [ + "Character", + "\u2663" + ] + ] + }, + { + "input": "&colon", + "description": "Bad named entity: colon without a semi-colon", + "output": [ + [ + "Character", + "&colon" + ] + ] + }, + { + "input": ":", + "description": "Named entity: colon; with a semi-colon", + "output": [ + [ + "Character", + ":" + ] + ] + }, + { + "input": "&colone", + "description": "Bad named entity: colone without a semi-colon", + "output": [ + [ + "Character", + "&colone" + ] + ] + }, + { + "input": "≔", + "description": "Named entity: colone; with a semi-colon", + "output": [ + [ + "Character", + "\u2254" + ] + ] + }, + { + "input": "&coloneq", + "description": "Bad named entity: coloneq without a semi-colon", + "output": [ + [ + "Character", + "&coloneq" + ] + ] + }, + { + "input": "≔", + "description": "Named entity: coloneq; with a semi-colon", + "output": [ + [ + "Character", + "\u2254" + ] + ] + }, + { + "input": "&comma", + "description": "Bad named entity: comma without a semi-colon", + "output": [ + [ + "Character", + "&comma" + ] + ] + }, + { + "input": ",", + "description": "Named entity: comma; with a semi-colon", + "output": [ + [ + "Character", + "," + ] + ] + }, + { + "input": "&commat", + "description": "Bad named entity: commat without a semi-colon", + "output": [ + [ + "Character", + "&commat" + ] + ] + }, + { + "input": "@", + "description": "Named entity: commat; with a semi-colon", + "output": [ + [ + "Character", + "@" + ] + ] + }, + { + "input": "&comp", + "description": "Bad named entity: comp without a semi-colon", + "output": [ + [ + "Character", + "&comp" + ] + ] + }, + { + "input": "∁", + "description": "Named entity: comp; with a semi-colon", + "output": [ + [ + "Character", + "\u2201" + ] + ] + }, + { + "input": "&compfn", + "description": "Bad named entity: compfn without a semi-colon", + "output": [ + [ + "Character", + "&compfn" + ] + ] + }, + { + "input": "∘", + "description": "Named entity: compfn; with a semi-colon", + "output": [ + [ + "Character", + "\u2218" + ] + ] + }, + { + "input": "&complement", + "description": "Bad named entity: complement without a semi-colon", + "output": [ + [ + "Character", + "&complement" + ] + ] + }, + { + "input": "∁", + "description": "Named entity: complement; with a semi-colon", + "output": [ + [ + "Character", + "\u2201" + ] + ] + }, + { + "input": "&complexes", + "description": "Bad named entity: complexes without a semi-colon", + "output": [ + [ + "Character", + "&complexes" + ] + ] + }, + { + "input": "ℂ", + "description": "Named entity: complexes; with a semi-colon", + "output": [ + [ + "Character", + "\u2102" + ] + ] + }, + { + "input": "&cong", + "description": "Bad named entity: cong without a semi-colon", + "output": [ + [ + "Character", + "&cong" + ] + ] + }, + { + "input": "≅", + "description": "Named entity: cong; with a semi-colon", + "output": [ + [ + "Character", + "\u2245" + ] + ] + }, + { + "input": "&congdot", + "description": "Bad named entity: congdot without a semi-colon", + "output": [ + [ + "Character", + "&congdot" + ] + ] + }, + { + "input": "⩭", + "description": "Named entity: congdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a6d" + ] + ] + }, + { + "input": "&conint", + "description": "Bad named entity: conint without a semi-colon", + "output": [ + [ + "Character", + "&conint" + ] + ] + }, + { + "input": "∮", + "description": "Named entity: conint; with a semi-colon", + "output": [ + [ + "Character", + "\u222e" + ] + ] + }, + { + "input": "&copf", + "description": "Bad named entity: copf without a semi-colon", + "output": [ + [ + "Character", + "&copf" + ] + ] + }, + { + "input": "𝕔", + "description": "Named entity: copf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd54" + ] + ] + }, + { + "input": "&coprod", + "description": "Bad named entity: coprod without a semi-colon", + "output": [ + [ + "Character", + "&coprod" + ] + ] + }, + { + "input": "∐", + "description": "Named entity: coprod; with a semi-colon", + "output": [ + [ + "Character", + "\u2210" + ] + ] + }, + { + "input": "©", + "description": "Named entity: copy without a semi-colon", + "output": [ + [ + "Character", + "\u00a9" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "©", + "description": "Named entity: copy; with a semi-colon", + "output": [ + [ + "Character", + "\u00a9" + ] + ] + }, + { + "input": "℗", + "description": "Named entity: copysr; with a semi-colon", + "output": [ + [ + "Character", + "\u2117" + ] + ] + }, + { + "input": "&crarr", + "description": "Bad named entity: crarr without a semi-colon", + "output": [ + [ + "Character", + "&crarr" + ] + ] + }, + { + "input": "↵", + "description": "Named entity: crarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21b5" + ] + ] + }, + { + "input": "&cross", + "description": "Bad named entity: cross without a semi-colon", + "output": [ + [ + "Character", + "&cross" + ] + ] + }, + { + "input": "✗", + "description": "Named entity: cross; with a semi-colon", + "output": [ + [ + "Character", + "\u2717" + ] + ] + }, + { + "input": "&cscr", + "description": "Bad named entity: cscr without a semi-colon", + "output": [ + [ + "Character", + "&cscr" + ] + ] + }, + { + "input": "𝒸", + "description": "Named entity: cscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb8" + ] + ] + }, + { + "input": "&csub", + "description": "Bad named entity: csub without a semi-colon", + "output": [ + [ + "Character", + "&csub" + ] + ] + }, + { + "input": "⫏", + "description": "Named entity: csub; with a semi-colon", + "output": [ + [ + "Character", + "\u2acf" + ] + ] + }, + { + "input": "&csube", + "description": "Bad named entity: csube without a semi-colon", + "output": [ + [ + "Character", + "&csube" + ] + ] + }, + { + "input": "⫑", + "description": "Named entity: csube; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad1" + ] + ] + }, + { + "input": "&csup", + "description": "Bad named entity: csup without a semi-colon", + "output": [ + [ + "Character", + "&csup" + ] + ] + }, + { + "input": "⫐", + "description": "Named entity: csup; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad0" + ] + ] + }, + { + "input": "&csupe", + "description": "Bad named entity: csupe without a semi-colon", + "output": [ + [ + "Character", + "&csupe" + ] + ] + }, + { + "input": "⫒", + "description": "Named entity: csupe; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad2" + ] + ] + }, + { + "input": "&ctdot", + "description": "Bad named entity: ctdot without a semi-colon", + "output": [ + [ + "Character", + "&ctdot" + ] + ] + }, + { + "input": "⋯", + "description": "Named entity: ctdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22ef" + ] + ] + }, + { + "input": "&cudarrl", + "description": "Bad named entity: cudarrl without a semi-colon", + "output": [ + [ + "Character", + "&cudarrl" + ] + ] + }, + { + "input": "⤸", + "description": "Named entity: cudarrl; with a semi-colon", + "output": [ + [ + "Character", + "\u2938" + ] + ] + }, + { + "input": "&cudarrr", + "description": "Bad named entity: cudarrr without a semi-colon", + "output": [ + [ + "Character", + "&cudarrr" + ] + ] + }, + { + "input": "⤵", + "description": "Named entity: cudarrr; with a semi-colon", + "output": [ + [ + "Character", + "\u2935" + ] + ] + }, + { + "input": "&cuepr", + "description": "Bad named entity: cuepr without a semi-colon", + "output": [ + [ + "Character", + "&cuepr" + ] + ] + }, + { + "input": "⋞", + "description": "Named entity: cuepr; with a semi-colon", + "output": [ + [ + "Character", + "\u22de" + ] + ] + }, + { + "input": "&cuesc", + "description": "Bad named entity: cuesc without a semi-colon", + "output": [ + [ + "Character", + "&cuesc" + ] + ] + }, + { + "input": "⋟", + "description": "Named entity: cuesc; with a semi-colon", + "output": [ + [ + "Character", + "\u22df" + ] + ] + }, + { + "input": "&cularr", + "description": "Bad named entity: cularr without a semi-colon", + "output": [ + [ + "Character", + "&cularr" + ] + ] + }, + { + "input": "↶", + "description": "Named entity: cularr; with a semi-colon", + "output": [ + [ + "Character", + "\u21b6" + ] + ] + }, + { + "input": "&cularrp", + "description": "Bad named entity: cularrp without a semi-colon", + "output": [ + [ + "Character", + "&cularrp" + ] + ] + }, + { + "input": "⤽", + "description": "Named entity: cularrp; with a semi-colon", + "output": [ + [ + "Character", + "\u293d" + ] + ] + }, + { + "input": "&cup", + "description": "Bad named entity: cup without a semi-colon", + "output": [ + [ + "Character", + "&cup" + ] + ] + }, + { + "input": "∪", + "description": "Named entity: cup; with a semi-colon", + "output": [ + [ + "Character", + "\u222a" + ] + ] + }, + { + "input": "&cupbrcap", + "description": "Bad named entity: cupbrcap without a semi-colon", + "output": [ + [ + "Character", + "&cupbrcap" + ] + ] + }, + { + "input": "⩈", + "description": "Named entity: cupbrcap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a48" + ] + ] + }, + { + "input": "&cupcap", + "description": "Bad named entity: cupcap without a semi-colon", + "output": [ + [ + "Character", + "&cupcap" + ] + ] + }, + { + "input": "⩆", + "description": "Named entity: cupcap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a46" + ] + ] + }, + { + "input": "&cupcup", + "description": "Bad named entity: cupcup without a semi-colon", + "output": [ + [ + "Character", + "&cupcup" + ] + ] + }, + { + "input": "⩊", + "description": "Named entity: cupcup; with a semi-colon", + "output": [ + [ + "Character", + "\u2a4a" + ] + ] + }, + { + "input": "&cupdot", + "description": "Bad named entity: cupdot without a semi-colon", + "output": [ + [ + "Character", + "&cupdot" + ] + ] + }, + { + "input": "⊍", + "description": "Named entity: cupdot; with a semi-colon", + "output": [ + [ + "Character", + "\u228d" + ] + ] + }, + { + "input": "&cupor", + "description": "Bad named entity: cupor without a semi-colon", + "output": [ + [ + "Character", + "&cupor" + ] + ] + }, + { + "input": "⩅", + "description": "Named entity: cupor; with a semi-colon", + "output": [ + [ + "Character", + "\u2a45" + ] + ] + }, + { + "input": "&cups", + "description": "Bad named entity: cups without a semi-colon", + "output": [ + [ + "Character", + "&cups" + ] + ] + }, + { + "input": "∪︀", + "description": "Named entity: cups; with a semi-colon", + "output": [ + [ + "Character", + "\u222a\ufe00" + ] + ] + }, + { + "input": "&curarr", + "description": "Bad named entity: curarr without a semi-colon", + "output": [ + [ + "Character", + "&curarr" + ] + ] + }, + { + "input": "↷", + "description": "Named entity: curarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21b7" + ] + ] + }, + { + "input": "&curarrm", + "description": "Bad named entity: curarrm without a semi-colon", + "output": [ + [ + "Character", + "&curarrm" + ] + ] + }, + { + "input": "⤼", + "description": "Named entity: curarrm; with a semi-colon", + "output": [ + [ + "Character", + "\u293c" + ] + ] + }, + { + "input": "&curlyeqprec", + "description": "Bad named entity: curlyeqprec without a semi-colon", + "output": [ + [ + "Character", + "&curlyeqprec" + ] + ] + }, + { + "input": "⋞", + "description": "Named entity: curlyeqprec; with a semi-colon", + "output": [ + [ + "Character", + "\u22de" + ] + ] + }, + { + "input": "&curlyeqsucc", + "description": "Bad named entity: curlyeqsucc without a semi-colon", + "output": [ + [ + "Character", + "&curlyeqsucc" + ] + ] + }, + { + "input": "⋟", + "description": "Named entity: curlyeqsucc; with a semi-colon", + "output": [ + [ + "Character", + "\u22df" + ] + ] + }, + { + "input": "&curlyvee", + "description": "Bad named entity: curlyvee without a semi-colon", + "output": [ + [ + "Character", + "&curlyvee" + ] + ] + }, + { + "input": "⋎", + "description": "Named entity: curlyvee; with a semi-colon", + "output": [ + [ + "Character", + "\u22ce" + ] + ] + }, + { + "input": "&curlywedge", + "description": "Bad named entity: curlywedge without a semi-colon", + "output": [ + [ + "Character", + "&curlywedge" + ] + ] + }, + { + "input": "⋏", + "description": "Named entity: curlywedge; with a semi-colon", + "output": [ + [ + "Character", + "\u22cf" + ] + ] + }, + { + "input": "¤", + "description": "Named entity: curren without a semi-colon", + "output": [ + [ + "Character", + "\u00a4" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "¤", + "description": "Named entity: curren; with a semi-colon", + "output": [ + [ + "Character", + "\u00a4" + ] + ] + }, + { + "input": "&curvearrowleft", + "description": "Bad named entity: curvearrowleft without a semi-colon", + "output": [ + [ + "Character", + "&curvearrowleft" + ] + ] + }, + { + "input": "↶", + "description": "Named entity: curvearrowleft; with a semi-colon", + "output": [ + [ + "Character", + "\u21b6" + ] + ] + }, + { + "input": "&curvearrowright", + "description": "Bad named entity: curvearrowright without a semi-colon", + "output": [ + [ + "Character", + "&curvearrowright" + ] + ] + }, + { + "input": "↷", + "description": "Named entity: curvearrowright; with a semi-colon", + "output": [ + [ + "Character", + "\u21b7" + ] + ] + }, + { + "input": "&cuvee", + "description": "Bad named entity: cuvee without a semi-colon", + "output": [ + [ + "Character", + "&cuvee" + ] + ] + }, + { + "input": "⋎", + "description": "Named entity: cuvee; with a semi-colon", + "output": [ + [ + "Character", + "\u22ce" + ] + ] + }, + { + "input": "&cuwed", + "description": "Bad named entity: cuwed without a semi-colon", + "output": [ + [ + "Character", + "&cuwed" + ] + ] + }, + { + "input": "⋏", + "description": "Named entity: cuwed; with a semi-colon", + "output": [ + [ + "Character", + "\u22cf" + ] + ] + }, + { + "input": "&cwconint", + "description": "Bad named entity: cwconint without a semi-colon", + "output": [ + [ + "Character", + "&cwconint" + ] + ] + }, + { + "input": "∲", + "description": "Named entity: cwconint; with a semi-colon", + "output": [ + [ + "Character", + "\u2232" + ] + ] + }, + { + "input": "&cwint", + "description": "Bad named entity: cwint without a semi-colon", + "output": [ + [ + "Character", + "&cwint" + ] + ] + }, + { + "input": "∱", + "description": "Named entity: cwint; with a semi-colon", + "output": [ + [ + "Character", + "\u2231" + ] + ] + }, + { + "input": "&cylcty", + "description": "Bad named entity: cylcty without a semi-colon", + "output": [ + [ + "Character", + "&cylcty" + ] + ] + }, + { + "input": "⌭", + "description": "Named entity: cylcty; with a semi-colon", + "output": [ + [ + "Character", + "\u232d" + ] + ] + }, + { + "input": "&dArr", + "description": "Bad named entity: dArr without a semi-colon", + "output": [ + [ + "Character", + "&dArr" + ] + ] + }, + { + "input": "⇓", + "description": "Named entity: dArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d3" + ] + ] + }, + { + "input": "&dHar", + "description": "Bad named entity: dHar without a semi-colon", + "output": [ + [ + "Character", + "&dHar" + ] + ] + }, + { + "input": "⥥", + "description": "Named entity: dHar; with a semi-colon", + "output": [ + [ + "Character", + "\u2965" + ] + ] + }, + { + "input": "&dagger", + "description": "Bad named entity: dagger without a semi-colon", + "output": [ + [ + "Character", + "&dagger" + ] + ] + }, + { + "input": "†", + "description": "Named entity: dagger; with a semi-colon", + "output": [ + [ + "Character", + "\u2020" + ] + ] + }, + { + "input": "&daleth", + "description": "Bad named entity: daleth without a semi-colon", + "output": [ + [ + "Character", + "&daleth" + ] + ] + }, + { + "input": "ℸ", + "description": "Named entity: daleth; with a semi-colon", + "output": [ + [ + "Character", + "\u2138" + ] + ] + }, + { + "input": "&darr", + "description": "Bad named entity: darr without a semi-colon", + "output": [ + [ + "Character", + "&darr" + ] + ] + }, + { + "input": "↓", + "description": "Named entity: darr; with a semi-colon", + "output": [ + [ + "Character", + "\u2193" + ] + ] + }, + { + "input": "&dash", + "description": "Bad named entity: dash without a semi-colon", + "output": [ + [ + "Character", + "&dash" + ] + ] + }, + { + "input": "‐", + "description": "Named entity: dash; with a semi-colon", + "output": [ + [ + "Character", + "\u2010" + ] + ] + }, + { + "input": "&dashv", + "description": "Bad named entity: dashv without a semi-colon", + "output": [ + [ + "Character", + "&dashv" + ] + ] + }, + { + "input": "⊣", + "description": "Named entity: dashv; with a semi-colon", + "output": [ + [ + "Character", + "\u22a3" + ] + ] + }, + { + "input": "&dbkarow", + "description": "Bad named entity: dbkarow without a semi-colon", + "output": [ + [ + "Character", + "&dbkarow" + ] + ] + }, + { + "input": "⤏", + "description": "Named entity: dbkarow; with a semi-colon", + "output": [ + [ + "Character", + "\u290f" + ] + ] + }, + { + "input": "&dblac", + "description": "Bad named entity: dblac without a semi-colon", + "output": [ + [ + "Character", + "&dblac" + ] + ] + }, + { + "input": "˝", + "description": "Named entity: dblac; with a semi-colon", + "output": [ + [ + "Character", + "\u02dd" + ] + ] + }, + { + "input": "&dcaron", + "description": "Bad named entity: dcaron without a semi-colon", + "output": [ + [ + "Character", + "&dcaron" + ] + ] + }, + { + "input": "ď", + "description": "Named entity: dcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u010f" + ] + ] + }, + { + "input": "&dcy", + "description": "Bad named entity: dcy without a semi-colon", + "output": [ + [ + "Character", + "&dcy" + ] + ] + }, + { + "input": "д", + "description": "Named entity: dcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0434" + ] + ] + }, + { + "input": "&dd", + "description": "Bad named entity: dd without a semi-colon", + "output": [ + [ + "Character", + "&dd" + ] + ] + }, + { + "input": "ⅆ", + "description": "Named entity: dd; with a semi-colon", + "output": [ + [ + "Character", + "\u2146" + ] + ] + }, + { + "input": "&ddagger", + "description": "Bad named entity: ddagger without a semi-colon", + "output": [ + [ + "Character", + "&ddagger" + ] + ] + }, + { + "input": "‡", + "description": "Named entity: ddagger; with a semi-colon", + "output": [ + [ + "Character", + "\u2021" + ] + ] + }, + { + "input": "&ddarr", + "description": "Bad named entity: ddarr without a semi-colon", + "output": [ + [ + "Character", + "&ddarr" + ] + ] + }, + { + "input": "⇊", + "description": "Named entity: ddarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21ca" + ] + ] + }, + { + "input": "&ddotseq", + "description": "Bad named entity: ddotseq without a semi-colon", + "output": [ + [ + "Character", + "&ddotseq" + ] + ] + }, + { + "input": "⩷", + "description": "Named entity: ddotseq; with a semi-colon", + "output": [ + [ + "Character", + "\u2a77" + ] + ] + }, + { + "input": "°", + "description": "Named entity: deg without a semi-colon", + "output": [ + [ + "Character", + "\u00b0" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "°", + "description": "Named entity: deg; with a semi-colon", + "output": [ + [ + "Character", + "\u00b0" + ] + ] + }, + { + "input": "&delta", + "description": "Bad named entity: delta without a semi-colon", + "output": [ + [ + "Character", + "&delta" + ] + ] + }, + { + "input": "δ", + "description": "Named entity: delta; with a semi-colon", + "output": [ + [ + "Character", + "\u03b4" + ] + ] + }, + { + "input": "&demptyv", + "description": "Bad named entity: demptyv without a semi-colon", + "output": [ + [ + "Character", + "&demptyv" + ] + ] + }, + { + "input": "⦱", + "description": "Named entity: demptyv; with a semi-colon", + "output": [ + [ + "Character", + "\u29b1" + ] + ] + }, + { + "input": "&dfisht", + "description": "Bad named entity: dfisht without a semi-colon", + "output": [ + [ + "Character", + "&dfisht" + ] + ] + }, + { + "input": "⥿", + "description": "Named entity: dfisht; with a semi-colon", + "output": [ + [ + "Character", + "\u297f" + ] + ] + }, + { + "input": "&dfr", + "description": "Bad named entity: dfr without a semi-colon", + "output": [ + [ + "Character", + "&dfr" + ] + ] + }, + { + "input": "𝔡", + "description": "Named entity: dfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd21" + ] + ] + }, + { + "input": "&dharl", + "description": "Bad named entity: dharl without a semi-colon", + "output": [ + [ + "Character", + "&dharl" + ] + ] + }, + { + "input": "⇃", + "description": "Named entity: dharl; with a semi-colon", + "output": [ + [ + "Character", + "\u21c3" + ] + ] + }, + { + "input": "&dharr", + "description": "Bad named entity: dharr without a semi-colon", + "output": [ + [ + "Character", + "&dharr" + ] + ] + }, + { + "input": "⇂", + "description": "Named entity: dharr; with a semi-colon", + "output": [ + [ + "Character", + "\u21c2" + ] + ] + }, + { + "input": "&diam", + "description": "Bad named entity: diam without a semi-colon", + "output": [ + [ + "Character", + "&diam" + ] + ] + }, + { + "input": "⋄", + "description": "Named entity: diam; with a semi-colon", + "output": [ + [ + "Character", + "\u22c4" + ] + ] + }, + { + "input": "&diamond", + "description": "Bad named entity: diamond without a semi-colon", + "output": [ + [ + "Character", + "&diamond" + ] + ] + }, + { + "input": "⋄", + "description": "Named entity: diamond; with a semi-colon", + "output": [ + [ + "Character", + "\u22c4" + ] + ] + }, + { + "input": "&diamondsuit", + "description": "Bad named entity: diamondsuit without a semi-colon", + "output": [ + [ + "Character", + "&diamondsuit" + ] + ] + }, + { + "input": "♦", + "description": "Named entity: diamondsuit; with a semi-colon", + "output": [ + [ + "Character", + "\u2666" + ] + ] + }, + { + "input": "&diams", + "description": "Bad named entity: diams without a semi-colon", + "output": [ + [ + "Character", + "&diams" + ] + ] + }, + { + "input": "♦", + "description": "Named entity: diams; with a semi-colon", + "output": [ + [ + "Character", + "\u2666" + ] + ] + }, + { + "input": "&die", + "description": "Bad named entity: die without a semi-colon", + "output": [ + [ + "Character", + "&die" + ] + ] + }, + { + "input": "¨", + "description": "Named entity: die; with a semi-colon", + "output": [ + [ + "Character", + "\u00a8" + ] + ] + }, + { + "input": "&digamma", + "description": "Bad named entity: digamma without a semi-colon", + "output": [ + [ + "Character", + "&digamma" + ] + ] + }, + { + "input": "ϝ", + "description": "Named entity: digamma; with a semi-colon", + "output": [ + [ + "Character", + "\u03dd" + ] + ] + }, + { + "input": "&disin", + "description": "Bad named entity: disin without a semi-colon", + "output": [ + [ + "Character", + "&disin" + ] + ] + }, + { + "input": "⋲", + "description": "Named entity: disin; with a semi-colon", + "output": [ + [ + "Character", + "\u22f2" + ] + ] + }, + { + "input": "&div", + "description": "Bad named entity: div without a semi-colon", + "output": [ + [ + "Character", + "&div" + ] + ] + }, + { + "input": "÷", + "description": "Named entity: div; with a semi-colon", + "output": [ + [ + "Character", + "\u00f7" + ] + ] + }, + { + "input": "÷", + "description": "Named entity: divide without a semi-colon", + "output": [ + [ + "Character", + "\u00f7" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "÷", + "description": "Named entity: divide; with a semi-colon", + "output": [ + [ + "Character", + "\u00f7" + ] + ] + }, + { + "input": "⋇", + "description": "Named entity: divideontimes; with a semi-colon", + "output": [ + [ + "Character", + "\u22c7" + ] + ] + }, + { + "input": "&divonx", + "description": "Bad named entity: divonx without a semi-colon", + "output": [ + [ + "Character", + "&divonx" + ] + ] + }, + { + "input": "⋇", + "description": "Named entity: divonx; with a semi-colon", + "output": [ + [ + "Character", + "\u22c7" + ] + ] + }, + { + "input": "&djcy", + "description": "Bad named entity: djcy without a semi-colon", + "output": [ + [ + "Character", + "&djcy" + ] + ] + }, + { + "input": "ђ", + "description": "Named entity: djcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0452" + ] + ] + }, + { + "input": "&dlcorn", + "description": "Bad named entity: dlcorn without a semi-colon", + "output": [ + [ + "Character", + "&dlcorn" + ] + ] + }, + { + "input": "⌞", + "description": "Named entity: dlcorn; with a semi-colon", + "output": [ + [ + "Character", + "\u231e" + ] + ] + }, + { + "input": "&dlcrop", + "description": "Bad named entity: dlcrop without a semi-colon", + "output": [ + [ + "Character", + "&dlcrop" + ] + ] + }, + { + "input": "⌍", + "description": "Named entity: dlcrop; with a semi-colon", + "output": [ + [ + "Character", + "\u230d" + ] + ] + }, + { + "input": "&dollar", + "description": "Bad named entity: dollar without a semi-colon", + "output": [ + [ + "Character", + "&dollar" + ] + ] + }, + { + "input": "$", + "description": "Named entity: dollar; with a semi-colon", + "output": [ + [ + "Character", + "$" + ] + ] + }, + { + "input": "&dopf", + "description": "Bad named entity: dopf without a semi-colon", + "output": [ + [ + "Character", + "&dopf" + ] + ] + }, + { + "input": "𝕕", + "description": "Named entity: dopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd55" + ] + ] + }, + { + "input": "&dot", + "description": "Bad named entity: dot without a semi-colon", + "output": [ + [ + "Character", + "&dot" + ] + ] + }, + { + "input": "˙", + "description": "Named entity: dot; with a semi-colon", + "output": [ + [ + "Character", + "\u02d9" + ] + ] + }, + { + "input": "&doteq", + "description": "Bad named entity: doteq without a semi-colon", + "output": [ + [ + "Character", + "&doteq" + ] + ] + }, + { + "input": "≐", + "description": "Named entity: doteq; with a semi-colon", + "output": [ + [ + "Character", + "\u2250" + ] + ] + }, + { + "input": "&doteqdot", + "description": "Bad named entity: doteqdot without a semi-colon", + "output": [ + [ + "Character", + "&doteqdot" + ] + ] + }, + { + "input": "≑", + "description": "Named entity: doteqdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2251" + ] + ] + }, + { + "input": "&dotminus", + "description": "Bad named entity: dotminus without a semi-colon", + "output": [ + [ + "Character", + "&dotminus" + ] + ] + }, + { + "input": "∸", + "description": "Named entity: dotminus; with a semi-colon", + "output": [ + [ + "Character", + "\u2238" + ] + ] + }, + { + "input": "&dotplus", + "description": "Bad named entity: dotplus without a semi-colon", + "output": [ + [ + "Character", + "&dotplus" + ] + ] + }, + { + "input": "∔", + "description": "Named entity: dotplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2214" + ] + ] + }, + { + "input": "&dotsquare", + "description": "Bad named entity: dotsquare without a semi-colon", + "output": [ + [ + "Character", + "&dotsquare" + ] + ] + }, + { + "input": "⊡", + "description": "Named entity: dotsquare; with a semi-colon", + "output": [ + [ + "Character", + "\u22a1" + ] + ] + }, + { + "input": "&doublebarwedge", + "description": "Bad named entity: doublebarwedge without a semi-colon", + "output": [ + [ + "Character", + "&doublebarwedge" + ] + ] + }, + { + "input": "⌆", + "description": "Named entity: doublebarwedge; with a semi-colon", + "output": [ + [ + "Character", + "\u2306" + ] + ] + }, + { + "input": "&downarrow", + "description": "Bad named entity: downarrow without a semi-colon", + "output": [ + [ + "Character", + "&downarrow" + ] + ] + }, + { + "input": "↓", + "description": "Named entity: downarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2193" + ] + ] + }, + { + "input": "&downdownarrows", + "description": "Bad named entity: downdownarrows without a semi-colon", + "output": [ + [ + "Character", + "&downdownarrows" + ] + ] + }, + { + "input": "⇊", + "description": "Named entity: downdownarrows; with a semi-colon", + "output": [ + [ + "Character", + "\u21ca" + ] + ] + }, + { + "input": "&downharpoonleft", + "description": "Bad named entity: downharpoonleft without a semi-colon", + "output": [ + [ + "Character", + "&downharpoonleft" + ] + ] + }, + { + "input": "⇃", + "description": "Named entity: downharpoonleft; with a semi-colon", + "output": [ + [ + "Character", + "\u21c3" + ] + ] + }, + { + "input": "&downharpoonright", + "description": "Bad named entity: downharpoonright without a semi-colon", + "output": [ + [ + "Character", + "&downharpoonright" + ] + ] + }, + { + "input": "⇂", + "description": "Named entity: downharpoonright; with a semi-colon", + "output": [ + [ + "Character", + "\u21c2" + ] + ] + }, + { + "input": "&drbkarow", + "description": "Bad named entity: drbkarow without a semi-colon", + "output": [ + [ + "Character", + "&drbkarow" + ] + ] + }, + { + "input": "⤐", + "description": "Named entity: drbkarow; with a semi-colon", + "output": [ + [ + "Character", + "\u2910" + ] + ] + }, + { + "input": "&drcorn", + "description": "Bad named entity: drcorn without a semi-colon", + "output": [ + [ + "Character", + "&drcorn" + ] + ] + }, + { + "input": "⌟", + "description": "Named entity: drcorn; with a semi-colon", + "output": [ + [ + "Character", + "\u231f" + ] + ] + }, + { + "input": "&drcrop", + "description": "Bad named entity: drcrop without a semi-colon", + "output": [ + [ + "Character", + "&drcrop" + ] + ] + }, + { + "input": "⌌", + "description": "Named entity: drcrop; with a semi-colon", + "output": [ + [ + "Character", + "\u230c" + ] + ] + }, + { + "input": "&dscr", + "description": "Bad named entity: dscr without a semi-colon", + "output": [ + [ + "Character", + "&dscr" + ] + ] + }, + { + "input": "𝒹", + "description": "Named entity: dscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcb9" + ] + ] + }, + { + "input": "&dscy", + "description": "Bad named entity: dscy without a semi-colon", + "output": [ + [ + "Character", + "&dscy" + ] + ] + }, + { + "input": "ѕ", + "description": "Named entity: dscy; with a semi-colon", + "output": [ + [ + "Character", + "\u0455" + ] + ] + }, + { + "input": "&dsol", + "description": "Bad named entity: dsol without a semi-colon", + "output": [ + [ + "Character", + "&dsol" + ] + ] + }, + { + "input": "⧶", + "description": "Named entity: dsol; with a semi-colon", + "output": [ + [ + "Character", + "\u29f6" + ] + ] + }, + { + "input": "&dstrok", + "description": "Bad named entity: dstrok without a semi-colon", + "output": [ + [ + "Character", + "&dstrok" + ] + ] + }, + { + "input": "đ", + "description": "Named entity: dstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0111" + ] + ] + }, + { + "input": "&dtdot", + "description": "Bad named entity: dtdot without a semi-colon", + "output": [ + [ + "Character", + "&dtdot" + ] + ] + }, + { + "input": "⋱", + "description": "Named entity: dtdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22f1" + ] + ] + }, + { + "input": "&dtri", + "description": "Bad named entity: dtri without a semi-colon", + "output": [ + [ + "Character", + "&dtri" + ] + ] + }, + { + "input": "▿", + "description": "Named entity: dtri; with a semi-colon", + "output": [ + [ + "Character", + "\u25bf" + ] + ] + }, + { + "input": "&dtrif", + "description": "Bad named entity: dtrif without a semi-colon", + "output": [ + [ + "Character", + "&dtrif" + ] + ] + }, + { + "input": "▾", + "description": "Named entity: dtrif; with a semi-colon", + "output": [ + [ + "Character", + "\u25be" + ] + ] + }, + { + "input": "&duarr", + "description": "Bad named entity: duarr without a semi-colon", + "output": [ + [ + "Character", + "&duarr" + ] + ] + }, + { + "input": "⇵", + "description": "Named entity: duarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21f5" + ] + ] + }, + { + "input": "&duhar", + "description": "Bad named entity: duhar without a semi-colon", + "output": [ + [ + "Character", + "&duhar" + ] + ] + }, + { + "input": "⥯", + "description": "Named entity: duhar; with a semi-colon", + "output": [ + [ + "Character", + "\u296f" + ] + ] + }, + { + "input": "&dwangle", + "description": "Bad named entity: dwangle without a semi-colon", + "output": [ + [ + "Character", + "&dwangle" + ] + ] + }, + { + "input": "⦦", + "description": "Named entity: dwangle; with a semi-colon", + "output": [ + [ + "Character", + "\u29a6" + ] + ] + }, + { + "input": "&dzcy", + "description": "Bad named entity: dzcy without a semi-colon", + "output": [ + [ + "Character", + "&dzcy" + ] + ] + }, + { + "input": "џ", + "description": "Named entity: dzcy; with a semi-colon", + "output": [ + [ + "Character", + "\u045f" + ] + ] + }, + { + "input": "&dzigrarr", + "description": "Bad named entity: dzigrarr without a semi-colon", + "output": [ + [ + "Character", + "&dzigrarr" + ] + ] + }, + { + "input": "⟿", + "description": "Named entity: dzigrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u27ff" + ] + ] + }, + { + "input": "&eDDot", + "description": "Bad named entity: eDDot without a semi-colon", + "output": [ + [ + "Character", + "&eDDot" + ] + ] + }, + { + "input": "⩷", + "description": "Named entity: eDDot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a77" + ] + ] + }, + { + "input": "&eDot", + "description": "Bad named entity: eDot without a semi-colon", + "output": [ + [ + "Character", + "&eDot" + ] + ] + }, + { + "input": "≑", + "description": "Named entity: eDot; with a semi-colon", + "output": [ + [ + "Character", + "\u2251" + ] + ] + }, + { + "input": "é", + "description": "Named entity: eacute without a semi-colon", + "output": [ + [ + "Character", + "\u00e9" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "é", + "description": "Named entity: eacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00e9" + ] + ] + }, + { + "input": "&easter", + "description": "Bad named entity: easter without a semi-colon", + "output": [ + [ + "Character", + "&easter" + ] + ] + }, + { + "input": "⩮", + "description": "Named entity: easter; with a semi-colon", + "output": [ + [ + "Character", + "\u2a6e" + ] + ] + }, + { + "input": "&ecaron", + "description": "Bad named entity: ecaron without a semi-colon", + "output": [ + [ + "Character", + "&ecaron" + ] + ] + }, + { + "input": "ě", + "description": "Named entity: ecaron; with a semi-colon", + "output": [ + [ + "Character", + "\u011b" + ] + ] + }, + { + "input": "&ecir", + "description": "Bad named entity: ecir without a semi-colon", + "output": [ + [ + "Character", + "&ecir" + ] + ] + }, + { + "input": "≖", + "description": "Named entity: ecir; with a semi-colon", + "output": [ + [ + "Character", + "\u2256" + ] + ] + }, + { + "input": "ê", + "description": "Named entity: ecirc without a semi-colon", + "output": [ + [ + "Character", + "\u00ea" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "ê", + "description": "Named entity: ecirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00ea" + ] + ] + }, + { + "input": "&ecolon", + "description": "Bad named entity: ecolon without a semi-colon", + "output": [ + [ + "Character", + "&ecolon" + ] + ] + }, + { + "input": "≕", + "description": "Named entity: ecolon; with a semi-colon", + "output": [ + [ + "Character", + "\u2255" + ] + ] + }, + { + "input": "&ecy", + "description": "Bad named entity: ecy without a semi-colon", + "output": [ + [ + "Character", + "&ecy" + ] + ] + }, + { + "input": "э", + "description": "Named entity: ecy; with a semi-colon", + "output": [ + [ + "Character", + "\u044d" + ] + ] + }, + { + "input": "&edot", + "description": "Bad named entity: edot without a semi-colon", + "output": [ + [ + "Character", + "&edot" + ] + ] + }, + { + "input": "ė", + "description": "Named entity: edot; with a semi-colon", + "output": [ + [ + "Character", + "\u0117" + ] + ] + }, + { + "input": "&ee", + "description": "Bad named entity: ee without a semi-colon", + "output": [ + [ + "Character", + "&ee" + ] + ] + }, + { + "input": "ⅇ", + "description": "Named entity: ee; with a semi-colon", + "output": [ + [ + "Character", + "\u2147" + ] + ] + }, + { + "input": "&efDot", + "description": "Bad named entity: efDot without a semi-colon", + "output": [ + [ + "Character", + "&efDot" + ] + ] + }, + { + "input": "≒", + "description": "Named entity: efDot; with a semi-colon", + "output": [ + [ + "Character", + "\u2252" + ] + ] + }, + { + "input": "&efr", + "description": "Bad named entity: efr without a semi-colon", + "output": [ + [ + "Character", + "&efr" + ] + ] + }, + { + "input": "𝔢", + "description": "Named entity: efr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd22" + ] + ] + }, + { + "input": "&eg", + "description": "Bad named entity: eg without a semi-colon", + "output": [ + [ + "Character", + "&eg" + ] + ] + }, + { + "input": "⪚", + "description": "Named entity: eg; with a semi-colon", + "output": [ + [ + "Character", + "\u2a9a" + ] + ] + }, + { + "input": "è", + "description": "Named entity: egrave without a semi-colon", + "output": [ + [ + "Character", + "\u00e8" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "è", + "description": "Named entity: egrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00e8" + ] + ] + }, + { + "input": "&egs", + "description": "Bad named entity: egs without a semi-colon", + "output": [ + [ + "Character", + "&egs" + ] + ] + }, + { + "input": "⪖", + "description": "Named entity: egs; with a semi-colon", + "output": [ + [ + "Character", + "\u2a96" + ] + ] + }, + { + "input": "&egsdot", + "description": "Bad named entity: egsdot without a semi-colon", + "output": [ + [ + "Character", + "&egsdot" + ] + ] + }, + { + "input": "⪘", + "description": "Named entity: egsdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a98" + ] + ] + }, + { + "input": "&el", + "description": "Bad named entity: el without a semi-colon", + "output": [ + [ + "Character", + "&el" + ] + ] + }, + { + "input": "⪙", + "description": "Named entity: el; with a semi-colon", + "output": [ + [ + "Character", + "\u2a99" + ] + ] + }, + { + "input": "&elinters", + "description": "Bad named entity: elinters without a semi-colon", + "output": [ + [ + "Character", + "&elinters" + ] + ] + }, + { + "input": "⏧", + "description": "Named entity: elinters; with a semi-colon", + "output": [ + [ + "Character", + "\u23e7" + ] + ] + }, + { + "input": "&ell", + "description": "Bad named entity: ell without a semi-colon", + "output": [ + [ + "Character", + "&ell" + ] + ] + }, + { + "input": "ℓ", + "description": "Named entity: ell; with a semi-colon", + "output": [ + [ + "Character", + "\u2113" + ] + ] + }, + { + "input": "&els", + "description": "Bad named entity: els without a semi-colon", + "output": [ + [ + "Character", + "&els" + ] + ] + }, + { + "input": "⪕", + "description": "Named entity: els; with a semi-colon", + "output": [ + [ + "Character", + "\u2a95" + ] + ] + }, + { + "input": "&elsdot", + "description": "Bad named entity: elsdot without a semi-colon", + "output": [ + [ + "Character", + "&elsdot" + ] + ] + }, + { + "input": "⪗", + "description": "Named entity: elsdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a97" + ] + ] + }, + { + "input": "&emacr", + "description": "Bad named entity: emacr without a semi-colon", + "output": [ + [ + "Character", + "&emacr" + ] + ] + }, + { + "input": "ē", + "description": "Named entity: emacr; with a semi-colon", + "output": [ + [ + "Character", + "\u0113" + ] + ] + }, + { + "input": "&empty", + "description": "Bad named entity: empty without a semi-colon", + "output": [ + [ + "Character", + "&empty" + ] + ] + }, + { + "input": "∅", + "description": "Named entity: empty; with a semi-colon", + "output": [ + [ + "Character", + "\u2205" + ] + ] + }, + { + "input": "&emptyset", + "description": "Bad named entity: emptyset without a semi-colon", + "output": [ + [ + "Character", + "&emptyset" + ] + ] + }, + { + "input": "∅", + "description": "Named entity: emptyset; with a semi-colon", + "output": [ + [ + "Character", + "\u2205" + ] + ] + }, + { + "input": "&emptyv", + "description": "Bad named entity: emptyv without a semi-colon", + "output": [ + [ + "Character", + "&emptyv" + ] + ] + }, + { + "input": "∅", + "description": "Named entity: emptyv; with a semi-colon", + "output": [ + [ + "Character", + "\u2205" + ] + ] + }, + { + "input": "&emsp", + "description": "Bad named entity: emsp without a semi-colon", + "output": [ + [ + "Character", + "&emsp" + ] + ] + }, + { + "input": "&emsp13", + "description": "Bad named entity: emsp13 without a semi-colon", + "output": [ + [ + "Character", + "&emsp13" + ] + ] + }, + { + "input": " ", + "description": "Named entity: emsp13; with a semi-colon", + "output": [ + [ + "Character", + "\u2004" + ] + ] + }, + { + "input": "&emsp14", + "description": "Bad named entity: emsp14 without a semi-colon", + "output": [ + [ + "Character", + "&emsp14" + ] + ] + }, + { + "input": " ", + "description": "Named entity: emsp14; with a semi-colon", + "output": [ + [ + "Character", + "\u2005" + ] + ] + }, + { + "input": " ", + "description": "Named entity: emsp; with a semi-colon", + "output": [ + [ + "Character", + "\u2003" + ] + ] + }, + { + "input": "&eng", + "description": "Bad named entity: eng without a semi-colon", + "output": [ + [ + "Character", + "&eng" + ] + ] + }, + { + "input": "ŋ", + "description": "Named entity: eng; with a semi-colon", + "output": [ + [ + "Character", + "\u014b" + ] + ] + }, + { + "input": "&ensp", + "description": "Bad named entity: ensp without a semi-colon", + "output": [ + [ + "Character", + "&ensp" + ] + ] + }, + { + "input": " ", + "description": "Named entity: ensp; with a semi-colon", + "output": [ + [ + "Character", + "\u2002" + ] + ] + }, + { + "input": "&eogon", + "description": "Bad named entity: eogon without a semi-colon", + "output": [ + [ + "Character", + "&eogon" + ] + ] + }, + { + "input": "ę", + "description": "Named entity: eogon; with a semi-colon", + "output": [ + [ + "Character", + "\u0119" + ] + ] + }, + { + "input": "&eopf", + "description": "Bad named entity: eopf without a semi-colon", + "output": [ + [ + "Character", + "&eopf" + ] + ] + }, + { + "input": "𝕖", + "description": "Named entity: eopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd56" + ] + ] + }, + { + "input": "&epar", + "description": "Bad named entity: epar without a semi-colon", + "output": [ + [ + "Character", + "&epar" + ] + ] + }, + { + "input": "⋕", + "description": "Named entity: epar; with a semi-colon", + "output": [ + [ + "Character", + "\u22d5" + ] + ] + }, + { + "input": "&eparsl", + "description": "Bad named entity: eparsl without a semi-colon", + "output": [ + [ + "Character", + "&eparsl" + ] + ] + }, + { + "input": "⧣", + "description": "Named entity: eparsl; with a semi-colon", + "output": [ + [ + "Character", + "\u29e3" + ] + ] + }, + { + "input": "&eplus", + "description": "Bad named entity: eplus without a semi-colon", + "output": [ + [ + "Character", + "&eplus" + ] + ] + }, + { + "input": "⩱", + "description": "Named entity: eplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a71" + ] + ] + }, + { + "input": "&epsi", + "description": "Bad named entity: epsi without a semi-colon", + "output": [ + [ + "Character", + "&epsi" + ] + ] + }, + { + "input": "ε", + "description": "Named entity: epsi; with a semi-colon", + "output": [ + [ + "Character", + "\u03b5" + ] + ] + }, + { + "input": "&epsilon", + "description": "Bad named entity: epsilon without a semi-colon", + "output": [ + [ + "Character", + "&epsilon" + ] + ] + }, + { + "input": "ε", + "description": "Named entity: epsilon; with a semi-colon", + "output": [ + [ + "Character", + "\u03b5" + ] + ] + }, + { + "input": "&epsiv", + "description": "Bad named entity: epsiv without a semi-colon", + "output": [ + [ + "Character", + "&epsiv" + ] + ] + }, + { + "input": "ϵ", + "description": "Named entity: epsiv; with a semi-colon", + "output": [ + [ + "Character", + "\u03f5" + ] + ] + }, + { + "input": "&eqcirc", + "description": "Bad named entity: eqcirc without a semi-colon", + "output": [ + [ + "Character", + "&eqcirc" + ] + ] + }, + { + "input": "≖", + "description": "Named entity: eqcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u2256" + ] + ] + }, + { + "input": "&eqcolon", + "description": "Bad named entity: eqcolon without a semi-colon", + "output": [ + [ + "Character", + "&eqcolon" + ] + ] + }, + { + "input": "≕", + "description": "Named entity: eqcolon; with a semi-colon", + "output": [ + [ + "Character", + "\u2255" + ] + ] + }, + { + "input": "&eqsim", + "description": "Bad named entity: eqsim without a semi-colon", + "output": [ + [ + "Character", + "&eqsim" + ] + ] + }, + { + "input": "≂", + "description": "Named entity: eqsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2242" + ] + ] + }, + { + "input": "&eqslantgtr", + "description": "Bad named entity: eqslantgtr without a semi-colon", + "output": [ + [ + "Character", + "&eqslantgtr" + ] + ] + }, + { + "input": "⪖", + "description": "Named entity: eqslantgtr; with a semi-colon", + "output": [ + [ + "Character", + "\u2a96" + ] + ] + }, + { + "input": "&eqslantless", + "description": "Bad named entity: eqslantless without a semi-colon", + "output": [ + [ + "Character", + "&eqslantless" + ] + ] + }, + { + "input": "⪕", + "description": "Named entity: eqslantless; with a semi-colon", + "output": [ + [ + "Character", + "\u2a95" + ] + ] + }, + { + "input": "&equals", + "description": "Bad named entity: equals without a semi-colon", + "output": [ + [ + "Character", + "&equals" + ] + ] + }, + { + "input": "=", + "description": "Named entity: equals; with a semi-colon", + "output": [ + [ + "Character", + "=" + ] + ] + }, + { + "input": "&equest", + "description": "Bad named entity: equest without a semi-colon", + "output": [ + [ + "Character", + "&equest" + ] + ] + }, + { + "input": "≟", + "description": "Named entity: equest; with a semi-colon", + "output": [ + [ + "Character", + "\u225f" + ] + ] + }, + { + "input": "&equiv", + "description": "Bad named entity: equiv without a semi-colon", + "output": [ + [ + "Character", + "&equiv" + ] + ] + }, + { + "input": "≡", + "description": "Named entity: equiv; with a semi-colon", + "output": [ + [ + "Character", + "\u2261" + ] + ] + }, + { + "input": "&equivDD", + "description": "Bad named entity: equivDD without a semi-colon", + "output": [ + [ + "Character", + "&equivDD" + ] + ] + }, + { + "input": "⩸", + "description": "Named entity: equivDD; with a semi-colon", + "output": [ + [ + "Character", + "\u2a78" + ] + ] + }, + { + "input": "&eqvparsl", + "description": "Bad named entity: eqvparsl without a semi-colon", + "output": [ + [ + "Character", + "&eqvparsl" + ] + ] + }, + { + "input": "⧥", + "description": "Named entity: eqvparsl; with a semi-colon", + "output": [ + [ + "Character", + "\u29e5" + ] + ] + }, + { + "input": "&erDot", + "description": "Bad named entity: erDot without a semi-colon", + "output": [ + [ + "Character", + "&erDot" + ] + ] + }, + { + "input": "≓", + "description": "Named entity: erDot; with a semi-colon", + "output": [ + [ + "Character", + "\u2253" + ] + ] + }, + { + "input": "&erarr", + "description": "Bad named entity: erarr without a semi-colon", + "output": [ + [ + "Character", + "&erarr" + ] + ] + }, + { + "input": "⥱", + "description": "Named entity: erarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2971" + ] + ] + }, + { + "input": "&escr", + "description": "Bad named entity: escr without a semi-colon", + "output": [ + [ + "Character", + "&escr" + ] + ] + }, + { + "input": "ℯ", + "description": "Named entity: escr; with a semi-colon", + "output": [ + [ + "Character", + "\u212f" + ] + ] + }, + { + "input": "&esdot", + "description": "Bad named entity: esdot without a semi-colon", + "output": [ + [ + "Character", + "&esdot" + ] + ] + }, + { + "input": "≐", + "description": "Named entity: esdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2250" + ] + ] + }, + { + "input": "&esim", + "description": "Bad named entity: esim without a semi-colon", + "output": [ + [ + "Character", + "&esim" + ] + ] + }, + { + "input": "≂", + "description": "Named entity: esim; with a semi-colon", + "output": [ + [ + "Character", + "\u2242" + ] + ] + }, + { + "input": "&eta", + "description": "Bad named entity: eta without a semi-colon", + "output": [ + [ + "Character", + "&eta" + ] + ] + }, + { + "input": "η", + "description": "Named entity: eta; with a semi-colon", + "output": [ + [ + "Character", + "\u03b7" + ] + ] + }, + { + "input": "ð", + "description": "Named entity: eth without a semi-colon", + "output": [ + [ + "Character", + "\u00f0" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "ð", + "description": "Named entity: eth; with a semi-colon", + "output": [ + [ + "Character", + "\u00f0" + ] + ] + }, + { + "input": "ë", + "description": "Named entity: euml without a semi-colon", + "output": [ + [ + "Character", + "\u00eb" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "ë", + "description": "Named entity: euml; with a semi-colon", + "output": [ + [ + "Character", + "\u00eb" + ] + ] + }, + { + "input": "&euro", + "description": "Bad named entity: euro without a semi-colon", + "output": [ + [ + "Character", + "&euro" + ] + ] + }, + { + "input": "€", + "description": "Named entity: euro; with a semi-colon", + "output": [ + [ + "Character", + "\u20ac" + ] + ] + }, + { + "input": "&excl", + "description": "Bad named entity: excl without a semi-colon", + "output": [ + [ + "Character", + "&excl" + ] + ] + }, + { + "input": "!", + "description": "Named entity: excl; with a semi-colon", + "output": [ + [ + "Character", + "!" + ] + ] + }, + { + "input": "&exist", + "description": "Bad named entity: exist without a semi-colon", + "output": [ + [ + "Character", + "&exist" + ] + ] + }, + { + "input": "∃", + "description": "Named entity: exist; with a semi-colon", + "output": [ + [ + "Character", + "\u2203" + ] + ] + }, + { + "input": "&expectation", + "description": "Bad named entity: expectation without a semi-colon", + "output": [ + [ + "Character", + "&expectation" + ] + ] + }, + { + "input": "ℰ", + "description": "Named entity: expectation; with a semi-colon", + "output": [ + [ + "Character", + "\u2130" + ] + ] + }, + { + "input": "&exponentiale", + "description": "Bad named entity: exponentiale without a semi-colon", + "output": [ + [ + "Character", + "&exponentiale" + ] + ] + }, + { + "input": "ⅇ", + "description": "Named entity: exponentiale; with a semi-colon", + "output": [ + [ + "Character", + "\u2147" + ] + ] + }, + { + "input": "&fallingdotseq", + "description": "Bad named entity: fallingdotseq without a semi-colon", + "output": [ + [ + "Character", + "&fallingdotseq" + ] + ] + }, + { + "input": "≒", + "description": "Named entity: fallingdotseq; with a semi-colon", + "output": [ + [ + "Character", + "\u2252" + ] + ] + }, + { + "input": "&fcy", + "description": "Bad named entity: fcy without a semi-colon", + "output": [ + [ + "Character", + "&fcy" + ] + ] + }, + { + "input": "ф", + "description": "Named entity: fcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0444" + ] + ] + }, + { + "input": "&female", + "description": "Bad named entity: female without a semi-colon", + "output": [ + [ + "Character", + "&female" + ] + ] + }, + { + "input": "♀", + "description": "Named entity: female; with a semi-colon", + "output": [ + [ + "Character", + "\u2640" + ] + ] + }, + { + "input": "&ffilig", + "description": "Bad named entity: ffilig without a semi-colon", + "output": [ + [ + "Character", + "&ffilig" + ] + ] + }, + { + "input": "ffi", + "description": "Named entity: ffilig; with a semi-colon", + "output": [ + [ + "Character", + "\ufb03" + ] + ] + }, + { + "input": "&fflig", + "description": "Bad named entity: fflig without a semi-colon", + "output": [ + [ + "Character", + "&fflig" + ] + ] + }, + { + "input": "ff", + "description": "Named entity: fflig; with a semi-colon", + "output": [ + [ + "Character", + "\ufb00" + ] + ] + }, + { + "input": "&ffllig", + "description": "Bad named entity: ffllig without a semi-colon", + "output": [ + [ + "Character", + "&ffllig" + ] + ] + }, + { + "input": "ffl", + "description": "Named entity: ffllig; with a semi-colon", + "output": [ + [ + "Character", + "\ufb04" + ] + ] + }, + { + "input": "&ffr", + "description": "Bad named entity: ffr without a semi-colon", + "output": [ + [ + "Character", + "&ffr" + ] + ] + }, + { + "input": "𝔣", + "description": "Named entity: ffr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd23" + ] + ] + }, + { + "input": "&filig", + "description": "Bad named entity: filig without a semi-colon", + "output": [ + [ + "Character", + "&filig" + ] + ] + }, + { + "input": "fi", + "description": "Named entity: filig; with a semi-colon", + "output": [ + [ + "Character", + "\ufb01" + ] + ] + }, + { + "input": "&fjlig", + "description": "Bad named entity: fjlig without a semi-colon", + "output": [ + [ + "Character", + "&fjlig" + ] + ] + }, + { + "input": "fj", + "description": "Named entity: fjlig; with a semi-colon", + "output": [ + [ + "Character", + "fj" + ] + ] + }, + { + "input": "&flat", + "description": "Bad named entity: flat without a semi-colon", + "output": [ + [ + "Character", + "&flat" + ] + ] + }, + { + "input": "♭", + "description": "Named entity: flat; with a semi-colon", + "output": [ + [ + "Character", + "\u266d" + ] + ] + }, + { + "input": "&fllig", + "description": "Bad named entity: fllig without a semi-colon", + "output": [ + [ + "Character", + "&fllig" + ] + ] + }, + { + "input": "fl", + "description": "Named entity: fllig; with a semi-colon", + "output": [ + [ + "Character", + "\ufb02" + ] + ] + }, + { + "input": "&fltns", + "description": "Bad named entity: fltns without a semi-colon", + "output": [ + [ + "Character", + "&fltns" + ] + ] + }, + { + "input": "▱", + "description": "Named entity: fltns; with a semi-colon", + "output": [ + [ + "Character", + "\u25b1" + ] + ] + }, + { + "input": "&fnof", + "description": "Bad named entity: fnof without a semi-colon", + "output": [ + [ + "Character", + "&fnof" + ] + ] + }, + { + "input": "ƒ", + "description": "Named entity: fnof; with a semi-colon", + "output": [ + [ + "Character", + "\u0192" + ] + ] + }, + { + "input": "&fopf", + "description": "Bad named entity: fopf without a semi-colon", + "output": [ + [ + "Character", + "&fopf" + ] + ] + }, + { + "input": "𝕗", + "description": "Named entity: fopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd57" + ] + ] + }, + { + "input": "&forall", + "description": "Bad named entity: forall without a semi-colon", + "output": [ + [ + "Character", + "&forall" + ] + ] + }, + { + "input": "∀", + "description": "Named entity: forall; with a semi-colon", + "output": [ + [ + "Character", + "\u2200" + ] + ] + }, + { + "input": "&fork", + "description": "Bad named entity: fork without a semi-colon", + "output": [ + [ + "Character", + "&fork" + ] + ] + }, + { + "input": "⋔", + "description": "Named entity: fork; with a semi-colon", + "output": [ + [ + "Character", + "\u22d4" + ] + ] + }, + { + "input": "&forkv", + "description": "Bad named entity: forkv without a semi-colon", + "output": [ + [ + "Character", + "&forkv" + ] + ] + }, + { + "input": "⫙", + "description": "Named entity: forkv; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad9" + ] + ] + }, + { + "input": "&fpartint", + "description": "Bad named entity: fpartint without a semi-colon", + "output": [ + [ + "Character", + "&fpartint" + ] + ] + }, + { + "input": "⨍", + "description": "Named entity: fpartint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a0d" + ] + ] + }, + { + "input": "½", + "description": "Named entity: frac12 without a semi-colon", + "output": [ + [ + "Character", + "\u00bd" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "½", + "description": "Named entity: frac12; with a semi-colon", + "output": [ + [ + "Character", + "\u00bd" + ] + ] + }, + { + "input": "&frac13", + "description": "Bad named entity: frac13 without a semi-colon", + "output": [ + [ + "Character", + "&frac13" + ] + ] + }, + { + "input": "⅓", + "description": "Named entity: frac13; with a semi-colon", + "output": [ + [ + "Character", + "\u2153" + ] + ] + }, + { + "input": "¼", + "description": "Named entity: frac14 without a semi-colon", + "output": [ + [ + "Character", + "\u00bc" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "¼", + "description": "Named entity: frac14; with a semi-colon", + "output": [ + [ + "Character", + "\u00bc" + ] + ] + }, + { + "input": "&frac15", + "description": "Bad named entity: frac15 without a semi-colon", + "output": [ + [ + "Character", + "&frac15" + ] + ] + }, + { + "input": "⅕", + "description": "Named entity: frac15; with a semi-colon", + "output": [ + [ + "Character", + "\u2155" + ] + ] + }, + { + "input": "&frac16", + "description": "Bad named entity: frac16 without a semi-colon", + "output": [ + [ + "Character", + "&frac16" + ] + ] + }, + { + "input": "⅙", + "description": "Named entity: frac16; with a semi-colon", + "output": [ + [ + "Character", + "\u2159" + ] + ] + }, + { + "input": "&frac18", + "description": "Bad named entity: frac18 without a semi-colon", + "output": [ + [ + "Character", + "&frac18" + ] + ] + }, + { + "input": "⅛", + "description": "Named entity: frac18; with a semi-colon", + "output": [ + [ + "Character", + "\u215b" + ] + ] + }, + { + "input": "&frac23", + "description": "Bad named entity: frac23 without a semi-colon", + "output": [ + [ + "Character", + "&frac23" + ] + ] + }, + { + "input": "⅔", + "description": "Named entity: frac23; with a semi-colon", + "output": [ + [ + "Character", + "\u2154" + ] + ] + }, + { + "input": "&frac25", + "description": "Bad named entity: frac25 without a semi-colon", + "output": [ + [ + "Character", + "&frac25" + ] + ] + }, + { + "input": "⅖", + "description": "Named entity: frac25; with a semi-colon", + "output": [ + [ + "Character", + "\u2156" + ] + ] + }, + { + "input": "¾", + "description": "Named entity: frac34 without a semi-colon", + "output": [ + [ + "Character", + "\u00be" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "¾", + "description": "Named entity: frac34; with a semi-colon", + "output": [ + [ + "Character", + "\u00be" + ] + ] + }, + { + "input": "&frac35", + "description": "Bad named entity: frac35 without a semi-colon", + "output": [ + [ + "Character", + "&frac35" + ] + ] + }, + { + "input": "⅗", + "description": "Named entity: frac35; with a semi-colon", + "output": [ + [ + "Character", + "\u2157" + ] + ] + }, + { + "input": "&frac38", + "description": "Bad named entity: frac38 without a semi-colon", + "output": [ + [ + "Character", + "&frac38" + ] + ] + }, + { + "input": "⅜", + "description": "Named entity: frac38; with a semi-colon", + "output": [ + [ + "Character", + "\u215c" + ] + ] + }, + { + "input": "&frac45", + "description": "Bad named entity: frac45 without a semi-colon", + "output": [ + [ + "Character", + "&frac45" + ] + ] + }, + { + "input": "⅘", + "description": "Named entity: frac45; with a semi-colon", + "output": [ + [ + "Character", + "\u2158" + ] + ] + }, + { + "input": "&frac56", + "description": "Bad named entity: frac56 without a semi-colon", + "output": [ + [ + "Character", + "&frac56" + ] + ] + }, + { + "input": "⅚", + "description": "Named entity: frac56; with a semi-colon", + "output": [ + [ + "Character", + "\u215a" + ] + ] + }, + { + "input": "&frac58", + "description": "Bad named entity: frac58 without a semi-colon", + "output": [ + [ + "Character", + "&frac58" + ] + ] + }, + { + "input": "⅝", + "description": "Named entity: frac58; with a semi-colon", + "output": [ + [ + "Character", + "\u215d" + ] + ] + }, + { + "input": "&frac78", + "description": "Bad named entity: frac78 without a semi-colon", + "output": [ + [ + "Character", + "&frac78" + ] + ] + }, + { + "input": "⅞", + "description": "Named entity: frac78; with a semi-colon", + "output": [ + [ + "Character", + "\u215e" + ] + ] + }, + { + "input": "&frasl", + "description": "Bad named entity: frasl without a semi-colon", + "output": [ + [ + "Character", + "&frasl" + ] + ] + }, + { + "input": "⁄", + "description": "Named entity: frasl; with a semi-colon", + "output": [ + [ + "Character", + "\u2044" + ] + ] + }, + { + "input": "&frown", + "description": "Bad named entity: frown without a semi-colon", + "output": [ + [ + "Character", + "&frown" + ] + ] + }, + { + "input": "⌢", + "description": "Named entity: frown; with a semi-colon", + "output": [ + [ + "Character", + "\u2322" + ] + ] + }, + { + "input": "&fscr", + "description": "Bad named entity: fscr without a semi-colon", + "output": [ + [ + "Character", + "&fscr" + ] + ] + }, + { + "input": "𝒻", + "description": "Named entity: fscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcbb" + ] + ] + }, + { + "input": "&gE", + "description": "Bad named entity: gE without a semi-colon", + "output": [ + [ + "Character", + "&gE" + ] + ] + }, + { + "input": "≧", + "description": "Named entity: gE; with a semi-colon", + "output": [ + [ + "Character", + "\u2267" + ] + ] + }, + { + "input": "&gEl", + "description": "Bad named entity: gEl without a semi-colon", + "output": [ + [ + "Character", + "&gEl" + ] + ] + }, + { + "input": "⪌", + "description": "Named entity: gEl; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8c" + ] + ] + }, + { + "input": "&gacute", + "description": "Bad named entity: gacute without a semi-colon", + "output": [ + [ + "Character", + "&gacute" + ] + ] + }, + { + "input": "ǵ", + "description": "Named entity: gacute; with a semi-colon", + "output": [ + [ + "Character", + "\u01f5" + ] + ] + }, + { + "input": "&gamma", + "description": "Bad named entity: gamma without a semi-colon", + "output": [ + [ + "Character", + "&gamma" + ] + ] + }, + { + "input": "γ", + "description": "Named entity: gamma; with a semi-colon", + "output": [ + [ + "Character", + "\u03b3" + ] + ] + }, + { + "input": "&gammad", + "description": "Bad named entity: gammad without a semi-colon", + "output": [ + [ + "Character", + "&gammad" + ] + ] + }, + { + "input": "ϝ", + "description": "Named entity: gammad; with a semi-colon", + "output": [ + [ + "Character", + "\u03dd" + ] + ] + }, + { + "input": "&gap", + "description": "Bad named entity: gap without a semi-colon", + "output": [ + [ + "Character", + "&gap" + ] + ] + }, + { + "input": "⪆", + "description": "Named entity: gap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a86" + ] + ] + }, + { + "input": "&gbreve", + "description": "Bad named entity: gbreve without a semi-colon", + "output": [ + [ + "Character", + "&gbreve" + ] + ] + }, + { + "input": "ğ", + "description": "Named entity: gbreve; with a semi-colon", + "output": [ + [ + "Character", + "\u011f" + ] + ] + }, + { + "input": "&gcirc", + "description": "Bad named entity: gcirc without a semi-colon", + "output": [ + [ + "Character", + "&gcirc" + ] + ] + }, + { + "input": "ĝ", + "description": "Named entity: gcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u011d" + ] + ] + }, + { + "input": "&gcy", + "description": "Bad named entity: gcy without a semi-colon", + "output": [ + [ + "Character", + "&gcy" + ] + ] + }, + { + "input": "г", + "description": "Named entity: gcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0433" + ] + ] + }, + { + "input": "&gdot", + "description": "Bad named entity: gdot without a semi-colon", + "output": [ + [ + "Character", + "&gdot" + ] + ] + }, + { + "input": "ġ", + "description": "Named entity: gdot; with a semi-colon", + "output": [ + [ + "Character", + "\u0121" + ] + ] + }, + { + "input": "&ge", + "description": "Bad named entity: ge without a semi-colon", + "output": [ + [ + "Character", + "&ge" + ] + ] + }, + { + "input": "≥", + "description": "Named entity: ge; with a semi-colon", + "output": [ + [ + "Character", + "\u2265" + ] + ] + }, + { + "input": "&gel", + "description": "Bad named entity: gel without a semi-colon", + "output": [ + [ + "Character", + "&gel" + ] + ] + }, + { + "input": "⋛", + "description": "Named entity: gel; with a semi-colon", + "output": [ + [ + "Character", + "\u22db" + ] + ] + }, + { + "input": "&geq", + "description": "Bad named entity: geq without a semi-colon", + "output": [ + [ + "Character", + "&geq" + ] + ] + }, + { + "input": "≥", + "description": "Named entity: geq; with a semi-colon", + "output": [ + [ + "Character", + "\u2265" + ] + ] + }, + { + "input": "&geqq", + "description": "Bad named entity: geqq without a semi-colon", + "output": [ + [ + "Character", + "&geqq" + ] + ] + }, + { + "input": "≧", + "description": "Named entity: geqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2267" + ] + ] + }, + { + "input": "&geqslant", + "description": "Bad named entity: geqslant without a semi-colon", + "output": [ + [ + "Character", + "&geqslant" + ] + ] + }, + { + "input": "⩾", + "description": "Named entity: geqslant; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7e" + ] + ] + }, + { + "input": "&ges", + "description": "Bad named entity: ges without a semi-colon", + "output": [ + [ + "Character", + "&ges" + ] + ] + }, + { + "input": "⩾", + "description": "Named entity: ges; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7e" + ] + ] + }, + { + "input": "&gescc", + "description": "Bad named entity: gescc without a semi-colon", + "output": [ + [ + "Character", + "&gescc" + ] + ] + }, + { + "input": "⪩", + "description": "Named entity: gescc; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa9" + ] + ] + }, + { + "input": "&gesdot", + "description": "Bad named entity: gesdot without a semi-colon", + "output": [ + [ + "Character", + "&gesdot" + ] + ] + }, + { + "input": "⪀", + "description": "Named entity: gesdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a80" + ] + ] + }, + { + "input": "&gesdoto", + "description": "Bad named entity: gesdoto without a semi-colon", + "output": [ + [ + "Character", + "&gesdoto" + ] + ] + }, + { + "input": "⪂", + "description": "Named entity: gesdoto; with a semi-colon", + "output": [ + [ + "Character", + "\u2a82" + ] + ] + }, + { + "input": "&gesdotol", + "description": "Bad named entity: gesdotol without a semi-colon", + "output": [ + [ + "Character", + "&gesdotol" + ] + ] + }, + { + "input": "⪄", + "description": "Named entity: gesdotol; with a semi-colon", + "output": [ + [ + "Character", + "\u2a84" + ] + ] + }, + { + "input": "&gesl", + "description": "Bad named entity: gesl without a semi-colon", + "output": [ + [ + "Character", + "&gesl" + ] + ] + }, + { + "input": "⋛︀", + "description": "Named entity: gesl; with a semi-colon", + "output": [ + [ + "Character", + "\u22db\ufe00" + ] + ] + }, + { + "input": "&gesles", + "description": "Bad named entity: gesles without a semi-colon", + "output": [ + [ + "Character", + "&gesles" + ] + ] + }, + { + "input": "⪔", + "description": "Named entity: gesles; with a semi-colon", + "output": [ + [ + "Character", + "\u2a94" + ] + ] + }, + { + "input": "&gfr", + "description": "Bad named entity: gfr without a semi-colon", + "output": [ + [ + "Character", + "&gfr" + ] + ] + }, + { + "input": "𝔤", + "description": "Named entity: gfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd24" + ] + ] + }, + { + "input": "&gg", + "description": "Bad named entity: gg without a semi-colon", + "output": [ + [ + "Character", + "&gg" + ] + ] + }, + { + "input": "≫", + "description": "Named entity: gg; with a semi-colon", + "output": [ + [ + "Character", + "\u226b" + ] + ] + }, + { + "input": "&ggg", + "description": "Bad named entity: ggg without a semi-colon", + "output": [ + [ + "Character", + "&ggg" + ] + ] + }, + { + "input": "⋙", + "description": "Named entity: ggg; with a semi-colon", + "output": [ + [ + "Character", + "\u22d9" + ] + ] + }, + { + "input": "&gimel", + "description": "Bad named entity: gimel without a semi-colon", + "output": [ + [ + "Character", + "&gimel" + ] + ] + }, + { + "input": "ℷ", + "description": "Named entity: gimel; with a semi-colon", + "output": [ + [ + "Character", + "\u2137" + ] + ] + }, + { + "input": "&gjcy", + "description": "Bad named entity: gjcy without a semi-colon", + "output": [ + [ + "Character", + "&gjcy" + ] + ] + }, + { + "input": "ѓ", + "description": "Named entity: gjcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0453" + ] + ] + }, + { + "input": "&gl", + "description": "Bad named entity: gl without a semi-colon", + "output": [ + [ + "Character", + "&gl" + ] + ] + }, + { + "input": "≷", + "description": "Named entity: gl; with a semi-colon", + "output": [ + [ + "Character", + "\u2277" + ] + ] + }, + { + "input": "&glE", + "description": "Bad named entity: glE without a semi-colon", + "output": [ + [ + "Character", + "&glE" + ] + ] + }, + { + "input": "⪒", + "description": "Named entity: glE; with a semi-colon", + "output": [ + [ + "Character", + "\u2a92" + ] + ] + }, + { + "input": "&gla", + "description": "Bad named entity: gla without a semi-colon", + "output": [ + [ + "Character", + "&gla" + ] + ] + }, + { + "input": "⪥", + "description": "Named entity: gla; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa5" + ] + ] + }, + { + "input": "&glj", + "description": "Bad named entity: glj without a semi-colon", + "output": [ + [ + "Character", + "&glj" + ] + ] + }, + { + "input": "⪤", + "description": "Named entity: glj; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa4" + ] + ] + }, + { + "input": "&gnE", + "description": "Bad named entity: gnE without a semi-colon", + "output": [ + [ + "Character", + "&gnE" + ] + ] + }, + { + "input": "≩", + "description": "Named entity: gnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2269" + ] + ] + }, + { + "input": "&gnap", + "description": "Bad named entity: gnap without a semi-colon", + "output": [ + [ + "Character", + "&gnap" + ] + ] + }, + { + "input": "⪊", + "description": "Named entity: gnap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8a" + ] + ] + }, + { + "input": "&gnapprox", + "description": "Bad named entity: gnapprox without a semi-colon", + "output": [ + [ + "Character", + "&gnapprox" + ] + ] + }, + { + "input": "⪊", + "description": "Named entity: gnapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8a" + ] + ] + }, + { + "input": "&gne", + "description": "Bad named entity: gne without a semi-colon", + "output": [ + [ + "Character", + "&gne" + ] + ] + }, + { + "input": "⪈", + "description": "Named entity: gne; with a semi-colon", + "output": [ + [ + "Character", + "\u2a88" + ] + ] + }, + { + "input": "&gneq", + "description": "Bad named entity: gneq without a semi-colon", + "output": [ + [ + "Character", + "&gneq" + ] + ] + }, + { + "input": "⪈", + "description": "Named entity: gneq; with a semi-colon", + "output": [ + [ + "Character", + "\u2a88" + ] + ] + }, + { + "input": "&gneqq", + "description": "Bad named entity: gneqq without a semi-colon", + "output": [ + [ + "Character", + "&gneqq" + ] + ] + }, + { + "input": "≩", + "description": "Named entity: gneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2269" + ] + ] + }, + { + "input": "&gnsim", + "description": "Bad named entity: gnsim without a semi-colon", + "output": [ + [ + "Character", + "&gnsim" + ] + ] + }, + { + "input": "⋧", + "description": "Named entity: gnsim; with a semi-colon", + "output": [ + [ + "Character", + "\u22e7" + ] + ] + }, + { + "input": "&gopf", + "description": "Bad named entity: gopf without a semi-colon", + "output": [ + [ + "Character", + "&gopf" + ] + ] + }, + { + "input": "𝕘", + "description": "Named entity: gopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd58" + ] + ] + }, + { + "input": "&grave", + "description": "Bad named entity: grave without a semi-colon", + "output": [ + [ + "Character", + "&grave" + ] + ] + }, + { + "input": "`", + "description": "Named entity: grave; with a semi-colon", + "output": [ + [ + "Character", + "`" + ] + ] + }, + { + "input": "&gscr", + "description": "Bad named entity: gscr without a semi-colon", + "output": [ + [ + "Character", + "&gscr" + ] + ] + }, + { + "input": "ℊ", + "description": "Named entity: gscr; with a semi-colon", + "output": [ + [ + "Character", + "\u210a" + ] + ] + }, + { + "input": "&gsim", + "description": "Bad named entity: gsim without a semi-colon", + "output": [ + [ + "Character", + "&gsim" + ] + ] + }, + { + "input": "≳", + "description": "Named entity: gsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2273" + ] + ] + }, + { + "input": "&gsime", + "description": "Bad named entity: gsime without a semi-colon", + "output": [ + [ + "Character", + "&gsime" + ] + ] + }, + { + "input": "⪎", + "description": "Named entity: gsime; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8e" + ] + ] + }, + { + "input": "&gsiml", + "description": "Bad named entity: gsiml without a semi-colon", + "output": [ + [ + "Character", + "&gsiml" + ] + ] + }, + { + "input": "⪐", + "description": "Named entity: gsiml; with a semi-colon", + "output": [ + [ + "Character", + "\u2a90" + ] + ] + }, + { + "input": ">", + "description": "Named entity: gt without a semi-colon", + "output": [ + [ + "Character", + ">" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 4 } + ] + }, + { + "input": ">", + "description": "Named entity: gt; with a semi-colon", + "output": [ + [ + "Character", + ">" + ] + ] + }, + { + "input": "⪧", + "description": "Named entity: gtcc; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa7" + ] + ] + }, + { + "input": "⩺", + "description": "Named entity: gtcir; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7a" + ] + ] + }, + { + "input": "⋗", + "description": "Named entity: gtdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22d7" + ] + ] + }, + { + "input": "⦕", + "description": "Named entity: gtlPar; with a semi-colon", + "output": [ + [ + "Character", + "\u2995" + ] + ] + }, + { + "input": "⩼", + "description": "Named entity: gtquest; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7c" + ] + ] + }, + { + "input": "⪆", + "description": "Named entity: gtrapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2a86" + ] + ] + }, + { + "input": "⥸", + "description": "Named entity: gtrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2978" + ] + ] + }, + { + "input": "⋗", + "description": "Named entity: gtrdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22d7" + ] + ] + }, + { + "input": "⋛", + "description": "Named entity: gtreqless; with a semi-colon", + "output": [ + [ + "Character", + "\u22db" + ] + ] + }, + { + "input": "⪌", + "description": "Named entity: gtreqqless; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8c" + ] + ] + }, + { + "input": "≷", + "description": "Named entity: gtrless; with a semi-colon", + "output": [ + [ + "Character", + "\u2277" + ] + ] + }, + { + "input": "≳", + "description": "Named entity: gtrsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2273" + ] + ] + }, + { + "input": "&gvertneqq", + "description": "Bad named entity: gvertneqq without a semi-colon", + "output": [ + [ + "Character", + "&gvertneqq" + ] + ] + }, + { + "input": "≩︀", + "description": "Named entity: gvertneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2269\ufe00" + ] + ] + }, + { + "input": "&gvnE", + "description": "Bad named entity: gvnE without a semi-colon", + "output": [ + [ + "Character", + "&gvnE" + ] + ] + }, + { + "input": "≩︀", + "description": "Named entity: gvnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2269\ufe00" + ] + ] + }, + { + "input": "&hArr", + "description": "Bad named entity: hArr without a semi-colon", + "output": [ + [ + "Character", + "&hArr" + ] + ] + }, + { + "input": "⇔", + "description": "Named entity: hArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d4" + ] + ] + }, + { + "input": "&hairsp", + "description": "Bad named entity: hairsp without a semi-colon", + "output": [ + [ + "Character", + "&hairsp" + ] + ] + }, + { + "input": " ", + "description": "Named entity: hairsp; with a semi-colon", + "output": [ + [ + "Character", + "\u200a" + ] + ] + }, + { + "input": "&half", + "description": "Bad named entity: half without a semi-colon", + "output": [ + [ + "Character", + "&half" + ] + ] + }, + { + "input": "½", + "description": "Named entity: half; with a semi-colon", + "output": [ + [ + "Character", + "\u00bd" + ] + ] + }, + { + "input": "&hamilt", + "description": "Bad named entity: hamilt without a semi-colon", + "output": [ + [ + "Character", + "&hamilt" + ] + ] + }, + { + "input": "ℋ", + "description": "Named entity: hamilt; with a semi-colon", + "output": [ + [ + "Character", + "\u210b" + ] + ] + }, + { + "input": "&hardcy", + "description": "Bad named entity: hardcy without a semi-colon", + "output": [ + [ + "Character", + "&hardcy" + ] + ] + }, + { + "input": "ъ", + "description": "Named entity: hardcy; with a semi-colon", + "output": [ + [ + "Character", + "\u044a" + ] + ] + }, + { + "input": "&harr", + "description": "Bad named entity: harr without a semi-colon", + "output": [ + [ + "Character", + "&harr" + ] + ] + }, + { + "input": "↔", + "description": "Named entity: harr; with a semi-colon", + "output": [ + [ + "Character", + "\u2194" + ] + ] + }, + { + "input": "&harrcir", + "description": "Bad named entity: harrcir without a semi-colon", + "output": [ + [ + "Character", + "&harrcir" + ] + ] + }, + { + "input": "⥈", + "description": "Named entity: harrcir; with a semi-colon", + "output": [ + [ + "Character", + "\u2948" + ] + ] + }, + { + "input": "&harrw", + "description": "Bad named entity: harrw without a semi-colon", + "output": [ + [ + "Character", + "&harrw" + ] + ] + }, + { + "input": "↭", + "description": "Named entity: harrw; with a semi-colon", + "output": [ + [ + "Character", + "\u21ad" + ] + ] + }, + { + "input": "&hbar", + "description": "Bad named entity: hbar without a semi-colon", + "output": [ + [ + "Character", + "&hbar" + ] + ] + }, + { + "input": "ℏ", + "description": "Named entity: hbar; with a semi-colon", + "output": [ + [ + "Character", + "\u210f" + ] + ] + }, + { + "input": "&hcirc", + "description": "Bad named entity: hcirc without a semi-colon", + "output": [ + [ + "Character", + "&hcirc" + ] + ] + }, + { + "input": "ĥ", + "description": "Named entity: hcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0125" + ] + ] + }, + { + "input": "&hearts", + "description": "Bad named entity: hearts without a semi-colon", + "output": [ + [ + "Character", + "&hearts" + ] + ] + }, + { + "input": "♥", + "description": "Named entity: hearts; with a semi-colon", + "output": [ + [ + "Character", + "\u2665" + ] + ] + }, + { + "input": "&heartsuit", + "description": "Bad named entity: heartsuit without a semi-colon", + "output": [ + [ + "Character", + "&heartsuit" + ] + ] + }, + { + "input": "♥", + "description": "Named entity: heartsuit; with a semi-colon", + "output": [ + [ + "Character", + "\u2665" + ] + ] + }, + { + "input": "&hellip", + "description": "Bad named entity: hellip without a semi-colon", + "output": [ + [ + "Character", + "&hellip" + ] + ] + }, + { + "input": "…", + "description": "Named entity: hellip; with a semi-colon", + "output": [ + [ + "Character", + "\u2026" + ] + ] + }, + { + "input": "&hercon", + "description": "Bad named entity: hercon without a semi-colon", + "output": [ + [ + "Character", + "&hercon" + ] + ] + }, + { + "input": "⊹", + "description": "Named entity: hercon; with a semi-colon", + "output": [ + [ + "Character", + "\u22b9" + ] + ] + }, + { + "input": "&hfr", + "description": "Bad named entity: hfr without a semi-colon", + "output": [ + [ + "Character", + "&hfr" + ] + ] + }, + { + "input": "𝔥", + "description": "Named entity: hfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd25" + ] + ] + }, + { + "input": "&hksearow", + "description": "Bad named entity: hksearow without a semi-colon", + "output": [ + [ + "Character", + "&hksearow" + ] + ] + }, + { + "input": "⤥", + "description": "Named entity: hksearow; with a semi-colon", + "output": [ + [ + "Character", + "\u2925" + ] + ] + }, + { + "input": "&hkswarow", + "description": "Bad named entity: hkswarow without a semi-colon", + "output": [ + [ + "Character", + "&hkswarow" + ] + ] + }, + { + "input": "⤦", + "description": "Named entity: hkswarow; with a semi-colon", + "output": [ + [ + "Character", + "\u2926" + ] + ] + }, + { + "input": "&hoarr", + "description": "Bad named entity: hoarr without a semi-colon", + "output": [ + [ + "Character", + "&hoarr" + ] + ] + }, + { + "input": "⇿", + "description": "Named entity: hoarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21ff" + ] + ] + }, + { + "input": "&homtht", + "description": "Bad named entity: homtht without a semi-colon", + "output": [ + [ + "Character", + "&homtht" + ] + ] + }, + { + "input": "∻", + "description": "Named entity: homtht; with a semi-colon", + "output": [ + [ + "Character", + "\u223b" + ] + ] + }, + { + "input": "&hookleftarrow", + "description": "Bad named entity: hookleftarrow without a semi-colon", + "output": [ + [ + "Character", + "&hookleftarrow" + ] + ] + }, + { + "input": "↩", + "description": "Named entity: hookleftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21a9" + ] + ] + }, + { + "input": "&hookrightarrow", + "description": "Bad named entity: hookrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&hookrightarrow" + ] + ] + }, + { + "input": "↪", + "description": "Named entity: hookrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21aa" + ] + ] + }, + { + "input": "&hopf", + "description": "Bad named entity: hopf without a semi-colon", + "output": [ + [ + "Character", + "&hopf" + ] + ] + }, + { + "input": "𝕙", + "description": "Named entity: hopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd59" + ] + ] + }, + { + "input": "&horbar", + "description": "Bad named entity: horbar without a semi-colon", + "output": [ + [ + "Character", + "&horbar" + ] + ] + }, + { + "input": "―", + "description": "Named entity: horbar; with a semi-colon", + "output": [ + [ + "Character", + "\u2015" + ] + ] + }, + { + "input": "&hscr", + "description": "Bad named entity: hscr without a semi-colon", + "output": [ + [ + "Character", + "&hscr" + ] + ] + }, + { + "input": "𝒽", + "description": "Named entity: hscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcbd" + ] + ] + }, + { + "input": "&hslash", + "description": "Bad named entity: hslash without a semi-colon", + "output": [ + [ + "Character", + "&hslash" + ] + ] + }, + { + "input": "ℏ", + "description": "Named entity: hslash; with a semi-colon", + "output": [ + [ + "Character", + "\u210f" + ] + ] + }, + { + "input": "&hstrok", + "description": "Bad named entity: hstrok without a semi-colon", + "output": [ + [ + "Character", + "&hstrok" + ] + ] + }, + { + "input": "ħ", + "description": "Named entity: hstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0127" + ] + ] + }, + { + "input": "&hybull", + "description": "Bad named entity: hybull without a semi-colon", + "output": [ + [ + "Character", + "&hybull" + ] + ] + }, + { + "input": "⁃", + "description": "Named entity: hybull; with a semi-colon", + "output": [ + [ + "Character", + "\u2043" + ] + ] + }, + { + "input": "&hyphen", + "description": "Bad named entity: hyphen without a semi-colon", + "output": [ + [ + "Character", + "&hyphen" + ] + ] + }, + { + "input": "‐", + "description": "Named entity: hyphen; with a semi-colon", + "output": [ + [ + "Character", + "\u2010" + ] + ] + }, + { + "input": "í", + "description": "Named entity: iacute without a semi-colon", + "output": [ + [ + "Character", + "\u00ed" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "í", + "description": "Named entity: iacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00ed" + ] + ] + }, + { + "input": "&ic", + "description": "Bad named entity: ic without a semi-colon", + "output": [ + [ + "Character", + "&ic" + ] + ] + }, + { + "input": "⁣", + "description": "Named entity: ic; with a semi-colon", + "output": [ + [ + "Character", + "\u2063" + ] + ] + }, + { + "input": "î", + "description": "Named entity: icirc without a semi-colon", + "output": [ + [ + "Character", + "\u00ee" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "î", + "description": "Named entity: icirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00ee" + ] + ] + }, + { + "input": "&icy", + "description": "Bad named entity: icy without a semi-colon", + "output": [ + [ + "Character", + "&icy" + ] + ] + }, + { + "input": "и", + "description": "Named entity: icy; with a semi-colon", + "output": [ + [ + "Character", + "\u0438" + ] + ] + }, + { + "input": "&iecy", + "description": "Bad named entity: iecy without a semi-colon", + "output": [ + [ + "Character", + "&iecy" + ] + ] + }, + { + "input": "е", + "description": "Named entity: iecy; with a semi-colon", + "output": [ + [ + "Character", + "\u0435" + ] + ] + }, + { + "input": "¡", + "description": "Named entity: iexcl without a semi-colon", + "output": [ + [ + "Character", + "\u00a1" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "¡", + "description": "Named entity: iexcl; with a semi-colon", + "output": [ + [ + "Character", + "\u00a1" + ] + ] + }, + { + "input": "&iff", + "description": "Bad named entity: iff without a semi-colon", + "output": [ + [ + "Character", + "&iff" + ] + ] + }, + { + "input": "⇔", + "description": "Named entity: iff; with a semi-colon", + "output": [ + [ + "Character", + "\u21d4" + ] + ] + }, + { + "input": "&ifr", + "description": "Bad named entity: ifr without a semi-colon", + "output": [ + [ + "Character", + "&ifr" + ] + ] + }, + { + "input": "𝔦", + "description": "Named entity: ifr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd26" + ] + ] + }, + { + "input": "ì", + "description": "Named entity: igrave without a semi-colon", + "output": [ + [ + "Character", + "\u00ec" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ì", + "description": "Named entity: igrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00ec" + ] + ] + }, + { + "input": "&ii", + "description": "Bad named entity: ii without a semi-colon", + "output": [ + [ + "Character", + "&ii" + ] + ] + }, + { + "input": "ⅈ", + "description": "Named entity: ii; with a semi-colon", + "output": [ + [ + "Character", + "\u2148" + ] + ] + }, + { + "input": "&iiiint", + "description": "Bad named entity: iiiint without a semi-colon", + "output": [ + [ + "Character", + "&iiiint" + ] + ] + }, + { + "input": "⨌", + "description": "Named entity: iiiint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a0c" + ] + ] + }, + { + "input": "&iiint", + "description": "Bad named entity: iiint without a semi-colon", + "output": [ + [ + "Character", + "&iiint" + ] + ] + }, + { + "input": "∭", + "description": "Named entity: iiint; with a semi-colon", + "output": [ + [ + "Character", + "\u222d" + ] + ] + }, + { + "input": "&iinfin", + "description": "Bad named entity: iinfin without a semi-colon", + "output": [ + [ + "Character", + "&iinfin" + ] + ] + }, + { + "input": "⧜", + "description": "Named entity: iinfin; with a semi-colon", + "output": [ + [ + "Character", + "\u29dc" + ] + ] + }, + { + "input": "&iiota", + "description": "Bad named entity: iiota without a semi-colon", + "output": [ + [ + "Character", + "&iiota" + ] + ] + }, + { + "input": "℩", + "description": "Named entity: iiota; with a semi-colon", + "output": [ + [ + "Character", + "\u2129" + ] + ] + }, + { + "input": "&ijlig", + "description": "Bad named entity: ijlig without a semi-colon", + "output": [ + [ + "Character", + "&ijlig" + ] + ] + }, + { + "input": "ij", + "description": "Named entity: ijlig; with a semi-colon", + "output": [ + [ + "Character", + "\u0133" + ] + ] + }, + { + "input": "&imacr", + "description": "Bad named entity: imacr without a semi-colon", + "output": [ + [ + "Character", + "&imacr" + ] + ] + }, + { + "input": "ī", + "description": "Named entity: imacr; with a semi-colon", + "output": [ + [ + "Character", + "\u012b" + ] + ] + }, + { + "input": "&image", + "description": "Bad named entity: image without a semi-colon", + "output": [ + [ + "Character", + "&image" + ] + ] + }, + { + "input": "ℑ", + "description": "Named entity: image; with a semi-colon", + "output": [ + [ + "Character", + "\u2111" + ] + ] + }, + { + "input": "&imagline", + "description": "Bad named entity: imagline without a semi-colon", + "output": [ + [ + "Character", + "&imagline" + ] + ] + }, + { + "input": "ℐ", + "description": "Named entity: imagline; with a semi-colon", + "output": [ + [ + "Character", + "\u2110" + ] + ] + }, + { + "input": "&imagpart", + "description": "Bad named entity: imagpart without a semi-colon", + "output": [ + [ + "Character", + "&imagpart" + ] + ] + }, + { + "input": "ℑ", + "description": "Named entity: imagpart; with a semi-colon", + "output": [ + [ + "Character", + "\u2111" + ] + ] + }, + { + "input": "&imath", + "description": "Bad named entity: imath without a semi-colon", + "output": [ + [ + "Character", + "&imath" + ] + ] + }, + { + "input": "ı", + "description": "Named entity: imath; with a semi-colon", + "output": [ + [ + "Character", + "\u0131" + ] + ] + }, + { + "input": "&imof", + "description": "Bad named entity: imof without a semi-colon", + "output": [ + [ + "Character", + "&imof" + ] + ] + }, + { + "input": "⊷", + "description": "Named entity: imof; with a semi-colon", + "output": [ + [ + "Character", + "\u22b7" + ] + ] + }, + { + "input": "&imped", + "description": "Bad named entity: imped without a semi-colon", + "output": [ + [ + "Character", + "&imped" + ] + ] + }, + { + "input": "Ƶ", + "description": "Named entity: imped; with a semi-colon", + "output": [ + [ + "Character", + "\u01b5" + ] + ] + }, + { + "input": "&in", + "description": "Bad named entity: in without a semi-colon", + "output": [ + [ + "Character", + "&in" + ] + ] + }, + { + "input": "∈", + "description": "Named entity: in; with a semi-colon", + "output": [ + [ + "Character", + "\u2208" + ] + ] + }, + { + "input": "&incare", + "description": "Bad named entity: incare without a semi-colon", + "output": [ + [ + "Character", + "&incare" + ] + ] + }, + { + "input": "℅", + "description": "Named entity: incare; with a semi-colon", + "output": [ + [ + "Character", + "\u2105" + ] + ] + }, + { + "input": "&infin", + "description": "Bad named entity: infin without a semi-colon", + "output": [ + [ + "Character", + "&infin" + ] + ] + }, + { + "input": "∞", + "description": "Named entity: infin; with a semi-colon", + "output": [ + [ + "Character", + "\u221e" + ] + ] + }, + { + "input": "&infintie", + "description": "Bad named entity: infintie without a semi-colon", + "output": [ + [ + "Character", + "&infintie" + ] + ] + }, + { + "input": "⧝", + "description": "Named entity: infintie; with a semi-colon", + "output": [ + [ + "Character", + "\u29dd" + ] + ] + }, + { + "input": "&inodot", + "description": "Bad named entity: inodot without a semi-colon", + "output": [ + [ + "Character", + "&inodot" + ] + ] + }, + { + "input": "ı", + "description": "Named entity: inodot; with a semi-colon", + "output": [ + [ + "Character", + "\u0131" + ] + ] + }, + { + "input": "&int", + "description": "Bad named entity: int without a semi-colon", + "output": [ + [ + "Character", + "&int" + ] + ] + }, + { + "input": "∫", + "description": "Named entity: int; with a semi-colon", + "output": [ + [ + "Character", + "\u222b" + ] + ] + }, + { + "input": "&intcal", + "description": "Bad named entity: intcal without a semi-colon", + "output": [ + [ + "Character", + "&intcal" + ] + ] + }, + { + "input": "⊺", + "description": "Named entity: intcal; with a semi-colon", + "output": [ + [ + "Character", + "\u22ba" + ] + ] + }, + { + "input": "&integers", + "description": "Bad named entity: integers without a semi-colon", + "output": [ + [ + "Character", + "&integers" + ] + ] + }, + { + "input": "ℤ", + "description": "Named entity: integers; with a semi-colon", + "output": [ + [ + "Character", + "\u2124" + ] + ] + }, + { + "input": "&intercal", + "description": "Bad named entity: intercal without a semi-colon", + "output": [ + [ + "Character", + "&intercal" + ] + ] + }, + { + "input": "⊺", + "description": "Named entity: intercal; with a semi-colon", + "output": [ + [ + "Character", + "\u22ba" + ] + ] + }, + { + "input": "&intlarhk", + "description": "Bad named entity: intlarhk without a semi-colon", + "output": [ + [ + "Character", + "&intlarhk" + ] + ] + }, + { + "input": "⨗", + "description": "Named entity: intlarhk; with a semi-colon", + "output": [ + [ + "Character", + "\u2a17" + ] + ] + }, + { + "input": "&intprod", + "description": "Bad named entity: intprod without a semi-colon", + "output": [ + [ + "Character", + "&intprod" + ] + ] + }, + { + "input": "⨼", + "description": "Named entity: intprod; with a semi-colon", + "output": [ + [ + "Character", + "\u2a3c" + ] + ] + }, + { + "input": "&iocy", + "description": "Bad named entity: iocy without a semi-colon", + "output": [ + [ + "Character", + "&iocy" + ] + ] + }, + { + "input": "ё", + "description": "Named entity: iocy; with a semi-colon", + "output": [ + [ + "Character", + "\u0451" + ] + ] + }, + { + "input": "&iogon", + "description": "Bad named entity: iogon without a semi-colon", + "output": [ + [ + "Character", + "&iogon" + ] + ] + }, + { + "input": "į", + "description": "Named entity: iogon; with a semi-colon", + "output": [ + [ + "Character", + "\u012f" + ] + ] + }, + { + "input": "&iopf", + "description": "Bad named entity: iopf without a semi-colon", + "output": [ + [ + "Character", + "&iopf" + ] + ] + }, + { + "input": "𝕚", + "description": "Named entity: iopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd5a" + ] + ] + }, + { + "input": "&iota", + "description": "Bad named entity: iota without a semi-colon", + "output": [ + [ + "Character", + "&iota" + ] + ] + }, + { + "input": "ι", + "description": "Named entity: iota; with a semi-colon", + "output": [ + [ + "Character", + "\u03b9" + ] + ] + }, + { + "input": "&iprod", + "description": "Bad named entity: iprod without a semi-colon", + "output": [ + [ + "Character", + "&iprod" + ] + ] + }, + { + "input": "⨼", + "description": "Named entity: iprod; with a semi-colon", + "output": [ + [ + "Character", + "\u2a3c" + ] + ] + }, + { + "input": "¿", + "description": "Named entity: iquest without a semi-colon", + "output": [ + [ + "Character", + "\u00bf" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "¿", + "description": "Named entity: iquest; with a semi-colon", + "output": [ + [ + "Character", + "\u00bf" + ] + ] + }, + { + "input": "&iscr", + "description": "Bad named entity: iscr without a semi-colon", + "output": [ + [ + "Character", + "&iscr" + ] + ] + }, + { + "input": "𝒾", + "description": "Named entity: iscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcbe" + ] + ] + }, + { + "input": "&isin", + "description": "Bad named entity: isin without a semi-colon", + "output": [ + [ + "Character", + "&isin" + ] + ] + }, + { + "input": "∈", + "description": "Named entity: isin; with a semi-colon", + "output": [ + [ + "Character", + "\u2208" + ] + ] + }, + { + "input": "&isinE", + "description": "Bad named entity: isinE without a semi-colon", + "output": [ + [ + "Character", + "&isinE" + ] + ] + }, + { + "input": "⋹", + "description": "Named entity: isinE; with a semi-colon", + "output": [ + [ + "Character", + "\u22f9" + ] + ] + }, + { + "input": "&isindot", + "description": "Bad named entity: isindot without a semi-colon", + "output": [ + [ + "Character", + "&isindot" + ] + ] + }, + { + "input": "⋵", + "description": "Named entity: isindot; with a semi-colon", + "output": [ + [ + "Character", + "\u22f5" + ] + ] + }, + { + "input": "&isins", + "description": "Bad named entity: isins without a semi-colon", + "output": [ + [ + "Character", + "&isins" + ] + ] + }, + { + "input": "⋴", + "description": "Named entity: isins; with a semi-colon", + "output": [ + [ + "Character", + "\u22f4" + ] + ] + }, + { + "input": "&isinsv", + "description": "Bad named entity: isinsv without a semi-colon", + "output": [ + [ + "Character", + "&isinsv" + ] + ] + }, + { + "input": "⋳", + "description": "Named entity: isinsv; with a semi-colon", + "output": [ + [ + "Character", + "\u22f3" + ] + ] + }, + { + "input": "&isinv", + "description": "Bad named entity: isinv without a semi-colon", + "output": [ + [ + "Character", + "&isinv" + ] + ] + }, + { + "input": "∈", + "description": "Named entity: isinv; with a semi-colon", + "output": [ + [ + "Character", + "\u2208" + ] + ] + }, + { + "input": "&it", + "description": "Bad named entity: it without a semi-colon", + "output": [ + [ + "Character", + "&it" + ] + ] + }, + { + "input": "⁢", + "description": "Named entity: it; with a semi-colon", + "output": [ + [ + "Character", + "\u2062" + ] + ] + }, + { + "input": "&itilde", + "description": "Bad named entity: itilde without a semi-colon", + "output": [ + [ + "Character", + "&itilde" + ] + ] + }, + { + "input": "ĩ", + "description": "Named entity: itilde; with a semi-colon", + "output": [ + [ + "Character", + "\u0129" + ] + ] + }, + { + "input": "&iukcy", + "description": "Bad named entity: iukcy without a semi-colon", + "output": [ + [ + "Character", + "&iukcy" + ] + ] + }, + { + "input": "і", + "description": "Named entity: iukcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0456" + ] + ] + }, + { + "input": "ï", + "description": "Named entity: iuml without a semi-colon", + "output": [ + [ + "Character", + "\u00ef" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "ï", + "description": "Named entity: iuml; with a semi-colon", + "output": [ + [ + "Character", + "\u00ef" + ] + ] + }, + { + "input": "&jcirc", + "description": "Bad named entity: jcirc without a semi-colon", + "output": [ + [ + "Character", + "&jcirc" + ] + ] + }, + { + "input": "ĵ", + "description": "Named entity: jcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0135" + ] + ] + }, + { + "input": "&jcy", + "description": "Bad named entity: jcy without a semi-colon", + "output": [ + [ + "Character", + "&jcy" + ] + ] + }, + { + "input": "й", + "description": "Named entity: jcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0439" + ] + ] + }, + { + "input": "&jfr", + "description": "Bad named entity: jfr without a semi-colon", + "output": [ + [ + "Character", + "&jfr" + ] + ] + }, + { + "input": "𝔧", + "description": "Named entity: jfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd27" + ] + ] + }, + { + "input": "&jmath", + "description": "Bad named entity: jmath without a semi-colon", + "output": [ + [ + "Character", + "&jmath" + ] + ] + }, + { + "input": "ȷ", + "description": "Named entity: jmath; with a semi-colon", + "output": [ + [ + "Character", + "\u0237" + ] + ] + }, + { + "input": "&jopf", + "description": "Bad named entity: jopf without a semi-colon", + "output": [ + [ + "Character", + "&jopf" + ] + ] + }, + { + "input": "𝕛", + "description": "Named entity: jopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd5b" + ] + ] + }, + { + "input": "&jscr", + "description": "Bad named entity: jscr without a semi-colon", + "output": [ + [ + "Character", + "&jscr" + ] + ] + }, + { + "input": "𝒿", + "description": "Named entity: jscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcbf" + ] + ] + }, + { + "input": "&jsercy", + "description": "Bad named entity: jsercy without a semi-colon", + "output": [ + [ + "Character", + "&jsercy" + ] + ] + }, + { + "input": "ј", + "description": "Named entity: jsercy; with a semi-colon", + "output": [ + [ + "Character", + "\u0458" + ] + ] + }, + { + "input": "&jukcy", + "description": "Bad named entity: jukcy without a semi-colon", + "output": [ + [ + "Character", + "&jukcy" + ] + ] + }, + { + "input": "є", + "description": "Named entity: jukcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0454" + ] + ] + }, + { + "input": "&kappa", + "description": "Bad named entity: kappa without a semi-colon", + "output": [ + [ + "Character", + "&kappa" + ] + ] + }, + { + "input": "κ", + "description": "Named entity: kappa; with a semi-colon", + "output": [ + [ + "Character", + "\u03ba" + ] + ] + }, + { + "input": "&kappav", + "description": "Bad named entity: kappav without a semi-colon", + "output": [ + [ + "Character", + "&kappav" + ] + ] + }, + { + "input": "ϰ", + "description": "Named entity: kappav; with a semi-colon", + "output": [ + [ + "Character", + "\u03f0" + ] + ] + }, + { + "input": "&kcedil", + "description": "Bad named entity: kcedil without a semi-colon", + "output": [ + [ + "Character", + "&kcedil" + ] + ] + }, + { + "input": "ķ", + "description": "Named entity: kcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0137" + ] + ] + }, + { + "input": "&kcy", + "description": "Bad named entity: kcy without a semi-colon", + "output": [ + [ + "Character", + "&kcy" + ] + ] + }, + { + "input": "к", + "description": "Named entity: kcy; with a semi-colon", + "output": [ + [ + "Character", + "\u043a" + ] + ] + }, + { + "input": "&kfr", + "description": "Bad named entity: kfr without a semi-colon", + "output": [ + [ + "Character", + "&kfr" + ] + ] + }, + { + "input": "𝔨", + "description": "Named entity: kfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd28" + ] + ] + }, + { + "input": "&kgreen", + "description": "Bad named entity: kgreen without a semi-colon", + "output": [ + [ + "Character", + "&kgreen" + ] + ] + }, + { + "input": "ĸ", + "description": "Named entity: kgreen; with a semi-colon", + "output": [ + [ + "Character", + "\u0138" + ] + ] + }, + { + "input": "&khcy", + "description": "Bad named entity: khcy without a semi-colon", + "output": [ + [ + "Character", + "&khcy" + ] + ] + }, + { + "input": "х", + "description": "Named entity: khcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0445" + ] + ] + }, + { + "input": "&kjcy", + "description": "Bad named entity: kjcy without a semi-colon", + "output": [ + [ + "Character", + "&kjcy" + ] + ] + }, + { + "input": "ќ", + "description": "Named entity: kjcy; with a semi-colon", + "output": [ + [ + "Character", + "\u045c" + ] + ] + }, + { + "input": "&kopf", + "description": "Bad named entity: kopf without a semi-colon", + "output": [ + [ + "Character", + "&kopf" + ] + ] + }, + { + "input": "𝕜", + "description": "Named entity: kopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd5c" + ] + ] + }, + { + "input": "&kscr", + "description": "Bad named entity: kscr without a semi-colon", + "output": [ + [ + "Character", + "&kscr" + ] + ] + }, + { + "input": "𝓀", + "description": "Named entity: kscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc0" + ] + ] + }, + { + "input": "&lAarr", + "description": "Bad named entity: lAarr without a semi-colon", + "output": [ + [ + "Character", + "&lAarr" + ] + ] + }, + { + "input": "⇚", + "description": "Named entity: lAarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21da" + ] + ] + }, + { + "input": "&lArr", + "description": "Bad named entity: lArr without a semi-colon", + "output": [ + [ + "Character", + "&lArr" + ] + ] + }, + { + "input": "⇐", + "description": "Named entity: lArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d0" + ] + ] + }, + { + "input": "&lAtail", + "description": "Bad named entity: lAtail without a semi-colon", + "output": [ + [ + "Character", + "&lAtail" + ] + ] + }, + { + "input": "⤛", + "description": "Named entity: lAtail; with a semi-colon", + "output": [ + [ + "Character", + "\u291b" + ] + ] + }, + { + "input": "&lBarr", + "description": "Bad named entity: lBarr without a semi-colon", + "output": [ + [ + "Character", + "&lBarr" + ] + ] + }, + { + "input": "⤎", + "description": "Named entity: lBarr; with a semi-colon", + "output": [ + [ + "Character", + "\u290e" + ] + ] + }, + { + "input": "&lE", + "description": "Bad named entity: lE without a semi-colon", + "output": [ + [ + "Character", + "&lE" + ] + ] + }, + { + "input": "≦", + "description": "Named entity: lE; with a semi-colon", + "output": [ + [ + "Character", + "\u2266" + ] + ] + }, + { + "input": "&lEg", + "description": "Bad named entity: lEg without a semi-colon", + "output": [ + [ + "Character", + "&lEg" + ] + ] + }, + { + "input": "⪋", + "description": "Named entity: lEg; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8b" + ] + ] + }, + { + "input": "&lHar", + "description": "Bad named entity: lHar without a semi-colon", + "output": [ + [ + "Character", + "&lHar" + ] + ] + }, + { + "input": "⥢", + "description": "Named entity: lHar; with a semi-colon", + "output": [ + [ + "Character", + "\u2962" + ] + ] + }, + { + "input": "&lacute", + "description": "Bad named entity: lacute without a semi-colon", + "output": [ + [ + "Character", + "&lacute" + ] + ] + }, + { + "input": "ĺ", + "description": "Named entity: lacute; with a semi-colon", + "output": [ + [ + "Character", + "\u013a" + ] + ] + }, + { + "input": "&laemptyv", + "description": "Bad named entity: laemptyv without a semi-colon", + "output": [ + [ + "Character", + "&laemptyv" + ] + ] + }, + { + "input": "⦴", + "description": "Named entity: laemptyv; with a semi-colon", + "output": [ + [ + "Character", + "\u29b4" + ] + ] + }, + { + "input": "&lagran", + "description": "Bad named entity: lagran without a semi-colon", + "output": [ + [ + "Character", + "&lagran" + ] + ] + }, + { + "input": "ℒ", + "description": "Named entity: lagran; with a semi-colon", + "output": [ + [ + "Character", + "\u2112" + ] + ] + }, + { + "input": "&lambda", + "description": "Bad named entity: lambda without a semi-colon", + "output": [ + [ + "Character", + "&lambda" + ] + ] + }, + { + "input": "λ", + "description": "Named entity: lambda; with a semi-colon", + "output": [ + [ + "Character", + "\u03bb" + ] + ] + }, + { + "input": "&lang", + "description": "Bad named entity: lang without a semi-colon", + "output": [ + [ + "Character", + "&lang" + ] + ] + }, + { + "input": "⟨", + "description": "Named entity: lang; with a semi-colon", + "output": [ + [ + "Character", + "\u27e8" + ] + ] + }, + { + "input": "&langd", + "description": "Bad named entity: langd without a semi-colon", + "output": [ + [ + "Character", + "&langd" + ] + ] + }, + { + "input": "⦑", + "description": "Named entity: langd; with a semi-colon", + "output": [ + [ + "Character", + "\u2991" + ] + ] + }, + { + "input": "&langle", + "description": "Bad named entity: langle without a semi-colon", + "output": [ + [ + "Character", + "&langle" + ] + ] + }, + { + "input": "⟨", + "description": "Named entity: langle; with a semi-colon", + "output": [ + [ + "Character", + "\u27e8" + ] + ] + }, + { + "input": "&lap", + "description": "Bad named entity: lap without a semi-colon", + "output": [ + [ + "Character", + "&lap" + ] + ] + }, + { + "input": "⪅", + "description": "Named entity: lap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a85" + ] + ] + }, + { + "input": "«", + "description": "Named entity: laquo without a semi-colon", + "output": [ + [ + "Character", + "\u00ab" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "«", + "description": "Named entity: laquo; with a semi-colon", + "output": [ + [ + "Character", + "\u00ab" + ] + ] + }, + { + "input": "&larr", + "description": "Bad named entity: larr without a semi-colon", + "output": [ + [ + "Character", + "&larr" + ] + ] + }, + { + "input": "←", + "description": "Named entity: larr; with a semi-colon", + "output": [ + [ + "Character", + "\u2190" + ] + ] + }, + { + "input": "&larrb", + "description": "Bad named entity: larrb without a semi-colon", + "output": [ + [ + "Character", + "&larrb" + ] + ] + }, + { + "input": "⇤", + "description": "Named entity: larrb; with a semi-colon", + "output": [ + [ + "Character", + "\u21e4" + ] + ] + }, + { + "input": "&larrbfs", + "description": "Bad named entity: larrbfs without a semi-colon", + "output": [ + [ + "Character", + "&larrbfs" + ] + ] + }, + { + "input": "⤟", + "description": "Named entity: larrbfs; with a semi-colon", + "output": [ + [ + "Character", + "\u291f" + ] + ] + }, + { + "input": "&larrfs", + "description": "Bad named entity: larrfs without a semi-colon", + "output": [ + [ + "Character", + "&larrfs" + ] + ] + }, + { + "input": "⤝", + "description": "Named entity: larrfs; with a semi-colon", + "output": [ + [ + "Character", + "\u291d" + ] + ] + }, + { + "input": "&larrhk", + "description": "Bad named entity: larrhk without a semi-colon", + "output": [ + [ + "Character", + "&larrhk" + ] + ] + }, + { + "input": "↩", + "description": "Named entity: larrhk; with a semi-colon", + "output": [ + [ + "Character", + "\u21a9" + ] + ] + }, + { + "input": "&larrlp", + "description": "Bad named entity: larrlp without a semi-colon", + "output": [ + [ + "Character", + "&larrlp" + ] + ] + }, + { + "input": "↫", + "description": "Named entity: larrlp; with a semi-colon", + "output": [ + [ + "Character", + "\u21ab" + ] + ] + }, + { + "input": "&larrpl", + "description": "Bad named entity: larrpl without a semi-colon", + "output": [ + [ + "Character", + "&larrpl" + ] + ] + }, + { + "input": "⤹", + "description": "Named entity: larrpl; with a semi-colon", + "output": [ + [ + "Character", + "\u2939" + ] + ] + }, + { + "input": "&larrsim", + "description": "Bad named entity: larrsim without a semi-colon", + "output": [ + [ + "Character", + "&larrsim" + ] + ] + }, + { + "input": "⥳", + "description": "Named entity: larrsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2973" + ] + ] + }, + { + "input": "&larrtl", + "description": "Bad named entity: larrtl without a semi-colon", + "output": [ + [ + "Character", + "&larrtl" + ] + ] + }, + { + "input": "↢", + "description": "Named entity: larrtl; with a semi-colon", + "output": [ + [ + "Character", + "\u21a2" + ] + ] + }, + { + "input": "&lat", + "description": "Bad named entity: lat without a semi-colon", + "output": [ + [ + "Character", + "&lat" + ] + ] + }, + { + "input": "⪫", + "description": "Named entity: lat; with a semi-colon", + "output": [ + [ + "Character", + "\u2aab" + ] + ] + }, + { + "input": "&latail", + "description": "Bad named entity: latail without a semi-colon", + "output": [ + [ + "Character", + "&latail" + ] + ] + }, + { + "input": "⤙", + "description": "Named entity: latail; with a semi-colon", + "output": [ + [ + "Character", + "\u2919" + ] + ] + }, + { + "input": "&late", + "description": "Bad named entity: late without a semi-colon", + "output": [ + [ + "Character", + "&late" + ] + ] + }, + { + "input": "⪭", + "description": "Named entity: late; with a semi-colon", + "output": [ + [ + "Character", + "\u2aad" + ] + ] + }, + { + "input": "&lates", + "description": "Bad named entity: lates without a semi-colon", + "output": [ + [ + "Character", + "&lates" + ] + ] + }, + { + "input": "⪭︀", + "description": "Named entity: lates; with a semi-colon", + "output": [ + [ + "Character", + "\u2aad\ufe00" + ] + ] + }, + { + "input": "&lbarr", + "description": "Bad named entity: lbarr without a semi-colon", + "output": [ + [ + "Character", + "&lbarr" + ] + ] + }, + { + "input": "⤌", + "description": "Named entity: lbarr; with a semi-colon", + "output": [ + [ + "Character", + "\u290c" + ] + ] + }, + { + "input": "&lbbrk", + "description": "Bad named entity: lbbrk without a semi-colon", + "output": [ + [ + "Character", + "&lbbrk" + ] + ] + }, + { + "input": "❲", + "description": "Named entity: lbbrk; with a semi-colon", + "output": [ + [ + "Character", + "\u2772" + ] + ] + }, + { + "input": "&lbrace", + "description": "Bad named entity: lbrace without a semi-colon", + "output": [ + [ + "Character", + "&lbrace" + ] + ] + }, + { + "input": "{", + "description": "Named entity: lbrace; with a semi-colon", + "output": [ + [ + "Character", + "{" + ] + ] + }, + { + "input": "&lbrack", + "description": "Bad named entity: lbrack without a semi-colon", + "output": [ + [ + "Character", + "&lbrack" + ] + ] + }, + { + "input": "[", + "description": "Named entity: lbrack; with a semi-colon", + "output": [ + [ + "Character", + "[" + ] + ] + }, + { + "input": "&lbrke", + "description": "Bad named entity: lbrke without a semi-colon", + "output": [ + [ + "Character", + "&lbrke" + ] + ] + }, + { + "input": "⦋", + "description": "Named entity: lbrke; with a semi-colon", + "output": [ + [ + "Character", + "\u298b" + ] + ] + }, + { + "input": "&lbrksld", + "description": "Bad named entity: lbrksld without a semi-colon", + "output": [ + [ + "Character", + "&lbrksld" + ] + ] + }, + { + "input": "⦏", + "description": "Named entity: lbrksld; with a semi-colon", + "output": [ + [ + "Character", + "\u298f" + ] + ] + }, + { + "input": "&lbrkslu", + "description": "Bad named entity: lbrkslu without a semi-colon", + "output": [ + [ + "Character", + "&lbrkslu" + ] + ] + }, + { + "input": "⦍", + "description": "Named entity: lbrkslu; with a semi-colon", + "output": [ + [ + "Character", + "\u298d" + ] + ] + }, + { + "input": "&lcaron", + "description": "Bad named entity: lcaron without a semi-colon", + "output": [ + [ + "Character", + "&lcaron" + ] + ] + }, + { + "input": "ľ", + "description": "Named entity: lcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u013e" + ] + ] + }, + { + "input": "&lcedil", + "description": "Bad named entity: lcedil without a semi-colon", + "output": [ + [ + "Character", + "&lcedil" + ] + ] + }, + { + "input": "ļ", + "description": "Named entity: lcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u013c" + ] + ] + }, + { + "input": "&lceil", + "description": "Bad named entity: lceil without a semi-colon", + "output": [ + [ + "Character", + "&lceil" + ] + ] + }, + { + "input": "⌈", + "description": "Named entity: lceil; with a semi-colon", + "output": [ + [ + "Character", + "\u2308" + ] + ] + }, + { + "input": "&lcub", + "description": "Bad named entity: lcub without a semi-colon", + "output": [ + [ + "Character", + "&lcub" + ] + ] + }, + { + "input": "{", + "description": "Named entity: lcub; with a semi-colon", + "output": [ + [ + "Character", + "{" + ] + ] + }, + { + "input": "&lcy", + "description": "Bad named entity: lcy without a semi-colon", + "output": [ + [ + "Character", + "&lcy" + ] + ] + }, + { + "input": "л", + "description": "Named entity: lcy; with a semi-colon", + "output": [ + [ + "Character", + "\u043b" + ] + ] + }, + { + "input": "&ldca", + "description": "Bad named entity: ldca without a semi-colon", + "output": [ + [ + "Character", + "&ldca" + ] + ] + }, + { + "input": "⤶", + "description": "Named entity: ldca; with a semi-colon", + "output": [ + [ + "Character", + "\u2936" + ] + ] + }, + { + "input": "&ldquo", + "description": "Bad named entity: ldquo without a semi-colon", + "output": [ + [ + "Character", + "&ldquo" + ] + ] + }, + { + "input": "“", + "description": "Named entity: ldquo; with a semi-colon", + "output": [ + [ + "Character", + "\u201c" + ] + ] + }, + { + "input": "&ldquor", + "description": "Bad named entity: ldquor without a semi-colon", + "output": [ + [ + "Character", + "&ldquor" + ] + ] + }, + { + "input": "„", + "description": "Named entity: ldquor; with a semi-colon", + "output": [ + [ + "Character", + "\u201e" + ] + ] + }, + { + "input": "&ldrdhar", + "description": "Bad named entity: ldrdhar without a semi-colon", + "output": [ + [ + "Character", + "&ldrdhar" + ] + ] + }, + { + "input": "⥧", + "description": "Named entity: ldrdhar; with a semi-colon", + "output": [ + [ + "Character", + "\u2967" + ] + ] + }, + { + "input": "&ldrushar", + "description": "Bad named entity: ldrushar without a semi-colon", + "output": [ + [ + "Character", + "&ldrushar" + ] + ] + }, + { + "input": "⥋", + "description": "Named entity: ldrushar; with a semi-colon", + "output": [ + [ + "Character", + "\u294b" + ] + ] + }, + { + "input": "&ldsh", + "description": "Bad named entity: ldsh without a semi-colon", + "output": [ + [ + "Character", + "&ldsh" + ] + ] + }, + { + "input": "↲", + "description": "Named entity: ldsh; with a semi-colon", + "output": [ + [ + "Character", + "\u21b2" + ] + ] + }, + { + "input": "&le", + "description": "Bad named entity: le without a semi-colon", + "output": [ + [ + "Character", + "&le" + ] + ] + }, + { + "input": "≤", + "description": "Named entity: le; with a semi-colon", + "output": [ + [ + "Character", + "\u2264" + ] + ] + }, + { + "input": "&leftarrow", + "description": "Bad named entity: leftarrow without a semi-colon", + "output": [ + [ + "Character", + "&leftarrow" + ] + ] + }, + { + "input": "←", + "description": "Named entity: leftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2190" + ] + ] + }, + { + "input": "&leftarrowtail", + "description": "Bad named entity: leftarrowtail without a semi-colon", + "output": [ + [ + "Character", + "&leftarrowtail" + ] + ] + }, + { + "input": "↢", + "description": "Named entity: leftarrowtail; with a semi-colon", + "output": [ + [ + "Character", + "\u21a2" + ] + ] + }, + { + "input": "&leftharpoondown", + "description": "Bad named entity: leftharpoondown without a semi-colon", + "output": [ + [ + "Character", + "&leftharpoondown" + ] + ] + }, + { + "input": "↽", + "description": "Named entity: leftharpoondown; with a semi-colon", + "output": [ + [ + "Character", + "\u21bd" + ] + ] + }, + { + "input": "&leftharpoonup", + "description": "Bad named entity: leftharpoonup without a semi-colon", + "output": [ + [ + "Character", + "&leftharpoonup" + ] + ] + }, + { + "input": "↼", + "description": "Named entity: leftharpoonup; with a semi-colon", + "output": [ + [ + "Character", + "\u21bc" + ] + ] + }, + { + "input": "&leftleftarrows", + "description": "Bad named entity: leftleftarrows without a semi-colon", + "output": [ + [ + "Character", + "&leftleftarrows" + ] + ] + }, + { + "input": "⇇", + "description": "Named entity: leftleftarrows; with a semi-colon", + "output": [ + [ + "Character", + "\u21c7" + ] + ] + }, + { + "input": "&leftrightarrow", + "description": "Bad named entity: leftrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&leftrightarrow" + ] + ] + }, + { + "input": "↔", + "description": "Named entity: leftrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2194" + ] + ] + }, + { + "input": "&leftrightarrows", + "description": "Bad named entity: leftrightarrows without a semi-colon", + "output": [ + [ + "Character", + "&leftrightarrows" + ] + ] + }, + { + "input": "⇆", + "description": "Named entity: leftrightarrows; with a semi-colon", + "output": [ + [ + "Character", + "\u21c6" + ] + ] + }, + { + "input": "&leftrightharpoons", + "description": "Bad named entity: leftrightharpoons without a semi-colon", + "output": [ + [ + "Character", + "&leftrightharpoons" + ] + ] + }, + { + "input": "⇋", + "description": "Named entity: leftrightharpoons; with a semi-colon", + "output": [ + [ + "Character", + "\u21cb" + ] + ] + }, + { + "input": "&leftrightsquigarrow", + "description": "Bad named entity: leftrightsquigarrow without a semi-colon", + "output": [ + [ + "Character", + "&leftrightsquigarrow" + ] + ] + }, + { + "input": "↭", + "description": "Named entity: leftrightsquigarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21ad" + ] + ] + }, + { + "input": "&leftthreetimes", + "description": "Bad named entity: leftthreetimes without a semi-colon", + "output": [ + [ + "Character", + "&leftthreetimes" + ] + ] + }, + { + "input": "⋋", + "description": "Named entity: leftthreetimes; with a semi-colon", + "output": [ + [ + "Character", + "\u22cb" + ] + ] + }, + { + "input": "&leg", + "description": "Bad named entity: leg without a semi-colon", + "output": [ + [ + "Character", + "&leg" + ] + ] + }, + { + "input": "⋚", + "description": "Named entity: leg; with a semi-colon", + "output": [ + [ + "Character", + "\u22da" + ] + ] + }, + { + "input": "&leq", + "description": "Bad named entity: leq without a semi-colon", + "output": [ + [ + "Character", + "&leq" + ] + ] + }, + { + "input": "≤", + "description": "Named entity: leq; with a semi-colon", + "output": [ + [ + "Character", + "\u2264" + ] + ] + }, + { + "input": "&leqq", + "description": "Bad named entity: leqq without a semi-colon", + "output": [ + [ + "Character", + "&leqq" + ] + ] + }, + { + "input": "≦", + "description": "Named entity: leqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2266" + ] + ] + }, + { + "input": "&leqslant", + "description": "Bad named entity: leqslant without a semi-colon", + "output": [ + [ + "Character", + "&leqslant" + ] + ] + }, + { + "input": "⩽", + "description": "Named entity: leqslant; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7d" + ] + ] + }, + { + "input": "&les", + "description": "Bad named entity: les without a semi-colon", + "output": [ + [ + "Character", + "&les" + ] + ] + }, + { + "input": "⩽", + "description": "Named entity: les; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7d" + ] + ] + }, + { + "input": "&lescc", + "description": "Bad named entity: lescc without a semi-colon", + "output": [ + [ + "Character", + "&lescc" + ] + ] + }, + { + "input": "⪨", + "description": "Named entity: lescc; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa8" + ] + ] + }, + { + "input": "&lesdot", + "description": "Bad named entity: lesdot without a semi-colon", + "output": [ + [ + "Character", + "&lesdot" + ] + ] + }, + { + "input": "⩿", + "description": "Named entity: lesdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7f" + ] + ] + }, + { + "input": "&lesdoto", + "description": "Bad named entity: lesdoto without a semi-colon", + "output": [ + [ + "Character", + "&lesdoto" + ] + ] + }, + { + "input": "⪁", + "description": "Named entity: lesdoto; with a semi-colon", + "output": [ + [ + "Character", + "\u2a81" + ] + ] + }, + { + "input": "&lesdotor", + "description": "Bad named entity: lesdotor without a semi-colon", + "output": [ + [ + "Character", + "&lesdotor" + ] + ] + }, + { + "input": "⪃", + "description": "Named entity: lesdotor; with a semi-colon", + "output": [ + [ + "Character", + "\u2a83" + ] + ] + }, + { + "input": "&lesg", + "description": "Bad named entity: lesg without a semi-colon", + "output": [ + [ + "Character", + "&lesg" + ] + ] + }, + { + "input": "⋚︀", + "description": "Named entity: lesg; with a semi-colon", + "output": [ + [ + "Character", + "\u22da\ufe00" + ] + ] + }, + { + "input": "&lesges", + "description": "Bad named entity: lesges without a semi-colon", + "output": [ + [ + "Character", + "&lesges" + ] + ] + }, + { + "input": "⪓", + "description": "Named entity: lesges; with a semi-colon", + "output": [ + [ + "Character", + "\u2a93" + ] + ] + }, + { + "input": "&lessapprox", + "description": "Bad named entity: lessapprox without a semi-colon", + "output": [ + [ + "Character", + "&lessapprox" + ] + ] + }, + { + "input": "⪅", + "description": "Named entity: lessapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2a85" + ] + ] + }, + { + "input": "&lessdot", + "description": "Bad named entity: lessdot without a semi-colon", + "output": [ + [ + "Character", + "&lessdot" + ] + ] + }, + { + "input": "⋖", + "description": "Named entity: lessdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22d6" + ] + ] + }, + { + "input": "&lesseqgtr", + "description": "Bad named entity: lesseqgtr without a semi-colon", + "output": [ + [ + "Character", + "&lesseqgtr" + ] + ] + }, + { + "input": "⋚", + "description": "Named entity: lesseqgtr; with a semi-colon", + "output": [ + [ + "Character", + "\u22da" + ] + ] + }, + { + "input": "&lesseqqgtr", + "description": "Bad named entity: lesseqqgtr without a semi-colon", + "output": [ + [ + "Character", + "&lesseqqgtr" + ] + ] + }, + { + "input": "⪋", + "description": "Named entity: lesseqqgtr; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8b" + ] + ] + }, + { + "input": "&lessgtr", + "description": "Bad named entity: lessgtr without a semi-colon", + "output": [ + [ + "Character", + "&lessgtr" + ] + ] + }, + { + "input": "≶", + "description": "Named entity: lessgtr; with a semi-colon", + "output": [ + [ + "Character", + "\u2276" + ] + ] + }, + { + "input": "&lesssim", + "description": "Bad named entity: lesssim without a semi-colon", + "output": [ + [ + "Character", + "&lesssim" + ] + ] + }, + { + "input": "≲", + "description": "Named entity: lesssim; with a semi-colon", + "output": [ + [ + "Character", + "\u2272" + ] + ] + }, + { + "input": "&lfisht", + "description": "Bad named entity: lfisht without a semi-colon", + "output": [ + [ + "Character", + "&lfisht" + ] + ] + }, + { + "input": "⥼", + "description": "Named entity: lfisht; with a semi-colon", + "output": [ + [ + "Character", + "\u297c" + ] + ] + }, + { + "input": "&lfloor", + "description": "Bad named entity: lfloor without a semi-colon", + "output": [ + [ + "Character", + "&lfloor" + ] + ] + }, + { + "input": "⌊", + "description": "Named entity: lfloor; with a semi-colon", + "output": [ + [ + "Character", + "\u230a" + ] + ] + }, + { + "input": "&lfr", + "description": "Bad named entity: lfr without a semi-colon", + "output": [ + [ + "Character", + "&lfr" + ] + ] + }, + { + "input": "𝔩", + "description": "Named entity: lfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd29" + ] + ] + }, + { + "input": "&lg", + "description": "Bad named entity: lg without a semi-colon", + "output": [ + [ + "Character", + "&lg" + ] + ] + }, + { + "input": "≶", + "description": "Named entity: lg; with a semi-colon", + "output": [ + [ + "Character", + "\u2276" + ] + ] + }, + { + "input": "&lgE", + "description": "Bad named entity: lgE without a semi-colon", + "output": [ + [ + "Character", + "&lgE" + ] + ] + }, + { + "input": "⪑", + "description": "Named entity: lgE; with a semi-colon", + "output": [ + [ + "Character", + "\u2a91" + ] + ] + }, + { + "input": "&lhard", + "description": "Bad named entity: lhard without a semi-colon", + "output": [ + [ + "Character", + "&lhard" + ] + ] + }, + { + "input": "↽", + "description": "Named entity: lhard; with a semi-colon", + "output": [ + [ + "Character", + "\u21bd" + ] + ] + }, + { + "input": "&lharu", + "description": "Bad named entity: lharu without a semi-colon", + "output": [ + [ + "Character", + "&lharu" + ] + ] + }, + { + "input": "↼", + "description": "Named entity: lharu; with a semi-colon", + "output": [ + [ + "Character", + "\u21bc" + ] + ] + }, + { + "input": "&lharul", + "description": "Bad named entity: lharul without a semi-colon", + "output": [ + [ + "Character", + "&lharul" + ] + ] + }, + { + "input": "⥪", + "description": "Named entity: lharul; with a semi-colon", + "output": [ + [ + "Character", + "\u296a" + ] + ] + }, + { + "input": "&lhblk", + "description": "Bad named entity: lhblk without a semi-colon", + "output": [ + [ + "Character", + "&lhblk" + ] + ] + }, + { + "input": "▄", + "description": "Named entity: lhblk; with a semi-colon", + "output": [ + [ + "Character", + "\u2584" + ] + ] + }, + { + "input": "&ljcy", + "description": "Bad named entity: ljcy without a semi-colon", + "output": [ + [ + "Character", + "&ljcy" + ] + ] + }, + { + "input": "љ", + "description": "Named entity: ljcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0459" + ] + ] + }, + { + "input": "&ll", + "description": "Bad named entity: ll without a semi-colon", + "output": [ + [ + "Character", + "&ll" + ] + ] + }, + { + "input": "≪", + "description": "Named entity: ll; with a semi-colon", + "output": [ + [ + "Character", + "\u226a" + ] + ] + }, + { + "input": "&llarr", + "description": "Bad named entity: llarr without a semi-colon", + "output": [ + [ + "Character", + "&llarr" + ] + ] + }, + { + "input": "⇇", + "description": "Named entity: llarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21c7" + ] + ] + }, + { + "input": "&llcorner", + "description": "Bad named entity: llcorner without a semi-colon", + "output": [ + [ + "Character", + "&llcorner" + ] + ] + }, + { + "input": "⌞", + "description": "Named entity: llcorner; with a semi-colon", + "output": [ + [ + "Character", + "\u231e" + ] + ] + }, + { + "input": "&llhard", + "description": "Bad named entity: llhard without a semi-colon", + "output": [ + [ + "Character", + "&llhard" + ] + ] + }, + { + "input": "⥫", + "description": "Named entity: llhard; with a semi-colon", + "output": [ + [ + "Character", + "\u296b" + ] + ] + }, + { + "input": "&lltri", + "description": "Bad named entity: lltri without a semi-colon", + "output": [ + [ + "Character", + "&lltri" + ] + ] + }, + { + "input": "◺", + "description": "Named entity: lltri; with a semi-colon", + "output": [ + [ + "Character", + "\u25fa" + ] + ] + }, + { + "input": "&lmidot", + "description": "Bad named entity: lmidot without a semi-colon", + "output": [ + [ + "Character", + "&lmidot" + ] + ] + }, + { + "input": "ŀ", + "description": "Named entity: lmidot; with a semi-colon", + "output": [ + [ + "Character", + "\u0140" + ] + ] + }, + { + "input": "&lmoust", + "description": "Bad named entity: lmoust without a semi-colon", + "output": [ + [ + "Character", + "&lmoust" + ] + ] + }, + { + "input": "⎰", + "description": "Named entity: lmoust; with a semi-colon", + "output": [ + [ + "Character", + "\u23b0" + ] + ] + }, + { + "input": "&lmoustache", + "description": "Bad named entity: lmoustache without a semi-colon", + "output": [ + [ + "Character", + "&lmoustache" + ] + ] + }, + { + "input": "⎰", + "description": "Named entity: lmoustache; with a semi-colon", + "output": [ + [ + "Character", + "\u23b0" + ] + ] + }, + { + "input": "&lnE", + "description": "Bad named entity: lnE without a semi-colon", + "output": [ + [ + "Character", + "&lnE" + ] + ] + }, + { + "input": "≨", + "description": "Named entity: lnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2268" + ] + ] + }, + { + "input": "&lnap", + "description": "Bad named entity: lnap without a semi-colon", + "output": [ + [ + "Character", + "&lnap" + ] + ] + }, + { + "input": "⪉", + "description": "Named entity: lnap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a89" + ] + ] + }, + { + "input": "&lnapprox", + "description": "Bad named entity: lnapprox without a semi-colon", + "output": [ + [ + "Character", + "&lnapprox" + ] + ] + }, + { + "input": "⪉", + "description": "Named entity: lnapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2a89" + ] + ] + }, + { + "input": "&lne", + "description": "Bad named entity: lne without a semi-colon", + "output": [ + [ + "Character", + "&lne" + ] + ] + }, + { + "input": "⪇", + "description": "Named entity: lne; with a semi-colon", + "output": [ + [ + "Character", + "\u2a87" + ] + ] + }, + { + "input": "&lneq", + "description": "Bad named entity: lneq without a semi-colon", + "output": [ + [ + "Character", + "&lneq" + ] + ] + }, + { + "input": "⪇", + "description": "Named entity: lneq; with a semi-colon", + "output": [ + [ + "Character", + "\u2a87" + ] + ] + }, + { + "input": "&lneqq", + "description": "Bad named entity: lneqq without a semi-colon", + "output": [ + [ + "Character", + "&lneqq" + ] + ] + }, + { + "input": "≨", + "description": "Named entity: lneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2268" + ] + ] + }, + { + "input": "&lnsim", + "description": "Bad named entity: lnsim without a semi-colon", + "output": [ + [ + "Character", + "&lnsim" + ] + ] + }, + { + "input": "⋦", + "description": "Named entity: lnsim; with a semi-colon", + "output": [ + [ + "Character", + "\u22e6" + ] + ] + }, + { + "input": "&loang", + "description": "Bad named entity: loang without a semi-colon", + "output": [ + [ + "Character", + "&loang" + ] + ] + }, + { + "input": "⟬", + "description": "Named entity: loang; with a semi-colon", + "output": [ + [ + "Character", + "\u27ec" + ] + ] + }, + { + "input": "&loarr", + "description": "Bad named entity: loarr without a semi-colon", + "output": [ + [ + "Character", + "&loarr" + ] + ] + }, + { + "input": "⇽", + "description": "Named entity: loarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21fd" + ] + ] + }, + { + "input": "&lobrk", + "description": "Bad named entity: lobrk without a semi-colon", + "output": [ + [ + "Character", + "&lobrk" + ] + ] + }, + { + "input": "⟦", + "description": "Named entity: lobrk; with a semi-colon", + "output": [ + [ + "Character", + "\u27e6" + ] + ] + }, + { + "input": "&longleftarrow", + "description": "Bad named entity: longleftarrow without a semi-colon", + "output": [ + [ + "Character", + "&longleftarrow" + ] + ] + }, + { + "input": "⟵", + "description": "Named entity: longleftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f5" + ] + ] + }, + { + "input": "&longleftrightarrow", + "description": "Bad named entity: longleftrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&longleftrightarrow" + ] + ] + }, + { + "input": "⟷", + "description": "Named entity: longleftrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f7" + ] + ] + }, + { + "input": "&longmapsto", + "description": "Bad named entity: longmapsto without a semi-colon", + "output": [ + [ + "Character", + "&longmapsto" + ] + ] + }, + { + "input": "⟼", + "description": "Named entity: longmapsto; with a semi-colon", + "output": [ + [ + "Character", + "\u27fc" + ] + ] + }, + { + "input": "&longrightarrow", + "description": "Bad named entity: longrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&longrightarrow" + ] + ] + }, + { + "input": "⟶", + "description": "Named entity: longrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u27f6" + ] + ] + }, + { + "input": "&looparrowleft", + "description": "Bad named entity: looparrowleft without a semi-colon", + "output": [ + [ + "Character", + "&looparrowleft" + ] + ] + }, + { + "input": "↫", + "description": "Named entity: looparrowleft; with a semi-colon", + "output": [ + [ + "Character", + "\u21ab" + ] + ] + }, + { + "input": "&looparrowright", + "description": "Bad named entity: looparrowright without a semi-colon", + "output": [ + [ + "Character", + "&looparrowright" + ] + ] + }, + { + "input": "↬", + "description": "Named entity: looparrowright; with a semi-colon", + "output": [ + [ + "Character", + "\u21ac" + ] + ] + }, + { + "input": "&lopar", + "description": "Bad named entity: lopar without a semi-colon", + "output": [ + [ + "Character", + "&lopar" + ] + ] + }, + { + "input": "⦅", + "description": "Named entity: lopar; with a semi-colon", + "output": [ + [ + "Character", + "\u2985" + ] + ] + }, + { + "input": "&lopf", + "description": "Bad named entity: lopf without a semi-colon", + "output": [ + [ + "Character", + "&lopf" + ] + ] + }, + { + "input": "𝕝", + "description": "Named entity: lopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd5d" + ] + ] + }, + { + "input": "&loplus", + "description": "Bad named entity: loplus without a semi-colon", + "output": [ + [ + "Character", + "&loplus" + ] + ] + }, + { + "input": "⨭", + "description": "Named entity: loplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a2d" + ] + ] + }, + { + "input": "&lotimes", + "description": "Bad named entity: lotimes without a semi-colon", + "output": [ + [ + "Character", + "&lotimes" + ] + ] + }, + { + "input": "⨴", + "description": "Named entity: lotimes; with a semi-colon", + "output": [ + [ + "Character", + "\u2a34" + ] + ] + }, + { + "input": "&lowast", + "description": "Bad named entity: lowast without a semi-colon", + "output": [ + [ + "Character", + "&lowast" + ] + ] + }, + { + "input": "∗", + "description": "Named entity: lowast; with a semi-colon", + "output": [ + [ + "Character", + "\u2217" + ] + ] + }, + { + "input": "&lowbar", + "description": "Bad named entity: lowbar without a semi-colon", + "output": [ + [ + "Character", + "&lowbar" + ] + ] + }, + { + "input": "_", + "description": "Named entity: lowbar; with a semi-colon", + "output": [ + [ + "Character", + "_" + ] + ] + }, + { + "input": "&loz", + "description": "Bad named entity: loz without a semi-colon", + "output": [ + [ + "Character", + "&loz" + ] + ] + }, + { + "input": "◊", + "description": "Named entity: loz; with a semi-colon", + "output": [ + [ + "Character", + "\u25ca" + ] + ] + }, + { + "input": "&lozenge", + "description": "Bad named entity: lozenge without a semi-colon", + "output": [ + [ + "Character", + "&lozenge" + ] + ] + }, + { + "input": "◊", + "description": "Named entity: lozenge; with a semi-colon", + "output": [ + [ + "Character", + "\u25ca" + ] + ] + }, + { + "input": "&lozf", + "description": "Bad named entity: lozf without a semi-colon", + "output": [ + [ + "Character", + "&lozf" + ] + ] + }, + { + "input": "⧫", + "description": "Named entity: lozf; with a semi-colon", + "output": [ + [ + "Character", + "\u29eb" + ] + ] + }, + { + "input": "&lpar", + "description": "Bad named entity: lpar without a semi-colon", + "output": [ + [ + "Character", + "&lpar" + ] + ] + }, + { + "input": "(", + "description": "Named entity: lpar; with a semi-colon", + "output": [ + [ + "Character", + "(" + ] + ] + }, + { + "input": "&lparlt", + "description": "Bad named entity: lparlt without a semi-colon", + "output": [ + [ + "Character", + "&lparlt" + ] + ] + }, + { + "input": "⦓", + "description": "Named entity: lparlt; with a semi-colon", + "output": [ + [ + "Character", + "\u2993" + ] + ] + }, + { + "input": "&lrarr", + "description": "Bad named entity: lrarr without a semi-colon", + "output": [ + [ + "Character", + "&lrarr" + ] + ] + }, + { + "input": "⇆", + "description": "Named entity: lrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21c6" + ] + ] + }, + { + "input": "&lrcorner", + "description": "Bad named entity: lrcorner without a semi-colon", + "output": [ + [ + "Character", + "&lrcorner" + ] + ] + }, + { + "input": "⌟", + "description": "Named entity: lrcorner; with a semi-colon", + "output": [ + [ + "Character", + "\u231f" + ] + ] + }, + { + "input": "&lrhar", + "description": "Bad named entity: lrhar without a semi-colon", + "output": [ + [ + "Character", + "&lrhar" + ] + ] + }, + { + "input": "⇋", + "description": "Named entity: lrhar; with a semi-colon", + "output": [ + [ + "Character", + "\u21cb" + ] + ] + }, + { + "input": "&lrhard", + "description": "Bad named entity: lrhard without a semi-colon", + "output": [ + [ + "Character", + "&lrhard" + ] + ] + }, + { + "input": "⥭", + "description": "Named entity: lrhard; with a semi-colon", + "output": [ + [ + "Character", + "\u296d" + ] + ] + }, + { + "input": "&lrm", + "description": "Bad named entity: lrm without a semi-colon", + "output": [ + [ + "Character", + "&lrm" + ] + ] + }, + { + "input": "‎", + "description": "Named entity: lrm; with a semi-colon", + "output": [ + [ + "Character", + "\u200e" + ] + ] + }, + { + "input": "&lrtri", + "description": "Bad named entity: lrtri without a semi-colon", + "output": [ + [ + "Character", + "&lrtri" + ] + ] + }, + { + "input": "⊿", + "description": "Named entity: lrtri; with a semi-colon", + "output": [ + [ + "Character", + "\u22bf" + ] + ] + }, + { + "input": "&lsaquo", + "description": "Bad named entity: lsaquo without a semi-colon", + "output": [ + [ + "Character", + "&lsaquo" + ] + ] + }, + { + "input": "‹", + "description": "Named entity: lsaquo; with a semi-colon", + "output": [ + [ + "Character", + "\u2039" + ] + ] + }, + { + "input": "&lscr", + "description": "Bad named entity: lscr without a semi-colon", + "output": [ + [ + "Character", + "&lscr" + ] + ] + }, + { + "input": "𝓁", + "description": "Named entity: lscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc1" + ] + ] + }, + { + "input": "&lsh", + "description": "Bad named entity: lsh without a semi-colon", + "output": [ + [ + "Character", + "&lsh" + ] + ] + }, + { + "input": "↰", + "description": "Named entity: lsh; with a semi-colon", + "output": [ + [ + "Character", + "\u21b0" + ] + ] + }, + { + "input": "&lsim", + "description": "Bad named entity: lsim without a semi-colon", + "output": [ + [ + "Character", + "&lsim" + ] + ] + }, + { + "input": "≲", + "description": "Named entity: lsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2272" + ] + ] + }, + { + "input": "&lsime", + "description": "Bad named entity: lsime without a semi-colon", + "output": [ + [ + "Character", + "&lsime" + ] + ] + }, + { + "input": "⪍", + "description": "Named entity: lsime; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8d" + ] + ] + }, + { + "input": "&lsimg", + "description": "Bad named entity: lsimg without a semi-colon", + "output": [ + [ + "Character", + "&lsimg" + ] + ] + }, + { + "input": "⪏", + "description": "Named entity: lsimg; with a semi-colon", + "output": [ + [ + "Character", + "\u2a8f" + ] + ] + }, + { + "input": "&lsqb", + "description": "Bad named entity: lsqb without a semi-colon", + "output": [ + [ + "Character", + "&lsqb" + ] + ] + }, + { + "input": "[", + "description": "Named entity: lsqb; with a semi-colon", + "output": [ + [ + "Character", + "[" + ] + ] + }, + { + "input": "&lsquo", + "description": "Bad named entity: lsquo without a semi-colon", + "output": [ + [ + "Character", + "&lsquo" + ] + ] + }, + { + "input": "‘", + "description": "Named entity: lsquo; with a semi-colon", + "output": [ + [ + "Character", + "\u2018" + ] + ] + }, + { + "input": "&lsquor", + "description": "Bad named entity: lsquor without a semi-colon", + "output": [ + [ + "Character", + "&lsquor" + ] + ] + }, + { + "input": "‚", + "description": "Named entity: lsquor; with a semi-colon", + "output": [ + [ + "Character", + "\u201a" + ] + ] + }, + { + "input": "&lstrok", + "description": "Bad named entity: lstrok without a semi-colon", + "output": [ + [ + "Character", + "&lstrok" + ] + ] + }, + { + "input": "ł", + "description": "Named entity: lstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0142" + ] + ] + }, + { + "input": "<", + "description": "Named entity: lt without a semi-colon", + "output": [ + [ + "Character", + "<" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 4 } + ] + }, + { + "input": "<", + "description": "Named entity: lt; with a semi-colon", + "output": [ + [ + "Character", + "<" + ] + ] + }, + { + "input": "⪦", + "description": "Named entity: ltcc; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa6" + ] + ] + }, + { + "input": "⩹", + "description": "Named entity: ltcir; with a semi-colon", + "output": [ + [ + "Character", + "\u2a79" + ] + ] + }, + { + "input": "⋖", + "description": "Named entity: ltdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22d6" + ] + ] + }, + { + "input": "⋋", + "description": "Named entity: lthree; with a semi-colon", + "output": [ + [ + "Character", + "\u22cb" + ] + ] + }, + { + "input": "⋉", + "description": "Named entity: ltimes; with a semi-colon", + "output": [ + [ + "Character", + "\u22c9" + ] + ] + }, + { + "input": "⥶", + "description": "Named entity: ltlarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2976" + ] + ] + }, + { + "input": "⩻", + "description": "Named entity: ltquest; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7b" + ] + ] + }, + { + "input": "⦖", + "description": "Named entity: ltrPar; with a semi-colon", + "output": [ + [ + "Character", + "\u2996" + ] + ] + }, + { + "input": "◃", + "description": "Named entity: ltri; with a semi-colon", + "output": [ + [ + "Character", + "\u25c3" + ] + ] + }, + { + "input": "⊴", + "description": "Named entity: ltrie; with a semi-colon", + "output": [ + [ + "Character", + "\u22b4" + ] + ] + }, + { + "input": "◂", + "description": "Named entity: ltrif; with a semi-colon", + "output": [ + [ + "Character", + "\u25c2" + ] + ] + }, + { + "input": "&lurdshar", + "description": "Bad named entity: lurdshar without a semi-colon", + "output": [ + [ + "Character", + "&lurdshar" + ] + ] + }, + { + "input": "⥊", + "description": "Named entity: lurdshar; with a semi-colon", + "output": [ + [ + "Character", + "\u294a" + ] + ] + }, + { + "input": "&luruhar", + "description": "Bad named entity: luruhar without a semi-colon", + "output": [ + [ + "Character", + "&luruhar" + ] + ] + }, + { + "input": "⥦", + "description": "Named entity: luruhar; with a semi-colon", + "output": [ + [ + "Character", + "\u2966" + ] + ] + }, + { + "input": "&lvertneqq", + "description": "Bad named entity: lvertneqq without a semi-colon", + "output": [ + [ + "Character", + "&lvertneqq" + ] + ] + }, + { + "input": "≨︀", + "description": "Named entity: lvertneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2268\ufe00" + ] + ] + }, + { + "input": "&lvnE", + "description": "Bad named entity: lvnE without a semi-colon", + "output": [ + [ + "Character", + "&lvnE" + ] + ] + }, + { + "input": "≨︀", + "description": "Named entity: lvnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2268\ufe00" + ] + ] + }, + { + "input": "&mDDot", + "description": "Bad named entity: mDDot without a semi-colon", + "output": [ + [ + "Character", + "&mDDot" + ] + ] + }, + { + "input": "∺", + "description": "Named entity: mDDot; with a semi-colon", + "output": [ + [ + "Character", + "\u223a" + ] + ] + }, + { + "input": "¯", + "description": "Named entity: macr without a semi-colon", + "output": [ + [ + "Character", + "\u00af" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "¯", + "description": "Named entity: macr; with a semi-colon", + "output": [ + [ + "Character", + "\u00af" + ] + ] + }, + { + "input": "&male", + "description": "Bad named entity: male without a semi-colon", + "output": [ + [ + "Character", + "&male" + ] + ] + }, + { + "input": "♂", + "description": "Named entity: male; with a semi-colon", + "output": [ + [ + "Character", + "\u2642" + ] + ] + }, + { + "input": "&malt", + "description": "Bad named entity: malt without a semi-colon", + "output": [ + [ + "Character", + "&malt" + ] + ] + }, + { + "input": "✠", + "description": "Named entity: malt; with a semi-colon", + "output": [ + [ + "Character", + "\u2720" + ] + ] + }, + { + "input": "&maltese", + "description": "Bad named entity: maltese without a semi-colon", + "output": [ + [ + "Character", + "&maltese" + ] + ] + }, + { + "input": "✠", + "description": "Named entity: maltese; with a semi-colon", + "output": [ + [ + "Character", + "\u2720" + ] + ] + }, + { + "input": "&map", + "description": "Bad named entity: map without a semi-colon", + "output": [ + [ + "Character", + "&map" + ] + ] + }, + { + "input": "↦", + "description": "Named entity: map; with a semi-colon", + "output": [ + [ + "Character", + "\u21a6" + ] + ] + }, + { + "input": "&mapsto", + "description": "Bad named entity: mapsto without a semi-colon", + "output": [ + [ + "Character", + "&mapsto" + ] + ] + }, + { + "input": "↦", + "description": "Named entity: mapsto; with a semi-colon", + "output": [ + [ + "Character", + "\u21a6" + ] + ] + }, + { + "input": "&mapstodown", + "description": "Bad named entity: mapstodown without a semi-colon", + "output": [ + [ + "Character", + "&mapstodown" + ] + ] + }, + { + "input": "↧", + "description": "Named entity: mapstodown; with a semi-colon", + "output": [ + [ + "Character", + "\u21a7" + ] + ] + }, + { + "input": "&mapstoleft", + "description": "Bad named entity: mapstoleft without a semi-colon", + "output": [ + [ + "Character", + "&mapstoleft" + ] + ] + }, + { + "input": "↤", + "description": "Named entity: mapstoleft; with a semi-colon", + "output": [ + [ + "Character", + "\u21a4" + ] + ] + }, + { + "input": "&mapstoup", + "description": "Bad named entity: mapstoup without a semi-colon", + "output": [ + [ + "Character", + "&mapstoup" + ] + ] + }, + { + "input": "↥", + "description": "Named entity: mapstoup; with a semi-colon", + "output": [ + [ + "Character", + "\u21a5" + ] + ] + }, + { + "input": "&marker", + "description": "Bad named entity: marker without a semi-colon", + "output": [ + [ + "Character", + "&marker" + ] + ] + }, + { + "input": "▮", + "description": "Named entity: marker; with a semi-colon", + "output": [ + [ + "Character", + "\u25ae" + ] + ] + }, + { + "input": "&mcomma", + "description": "Bad named entity: mcomma without a semi-colon", + "output": [ + [ + "Character", + "&mcomma" + ] + ] + }, + { + "input": "⨩", + "description": "Named entity: mcomma; with a semi-colon", + "output": [ + [ + "Character", + "\u2a29" + ] + ] + }, + { + "input": "&mcy", + "description": "Bad named entity: mcy without a semi-colon", + "output": [ + [ + "Character", + "&mcy" + ] + ] + }, + { + "input": "м", + "description": "Named entity: mcy; with a semi-colon", + "output": [ + [ + "Character", + "\u043c" + ] + ] + }, + { + "input": "&mdash", + "description": "Bad named entity: mdash without a semi-colon", + "output": [ + [ + "Character", + "&mdash" + ] + ] + }, + { + "input": "—", + "description": "Named entity: mdash; with a semi-colon", + "output": [ + [ + "Character", + "\u2014" + ] + ] + }, + { + "input": "&measuredangle", + "description": "Bad named entity: measuredangle without a semi-colon", + "output": [ + [ + "Character", + "&measuredangle" + ] + ] + }, + { + "input": "∡", + "description": "Named entity: measuredangle; with a semi-colon", + "output": [ + [ + "Character", + "\u2221" + ] + ] + }, + { + "input": "&mfr", + "description": "Bad named entity: mfr without a semi-colon", + "output": [ + [ + "Character", + "&mfr" + ] + ] + }, + { + "input": "𝔪", + "description": "Named entity: mfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd2a" + ] + ] + }, + { + "input": "&mho", + "description": "Bad named entity: mho without a semi-colon", + "output": [ + [ + "Character", + "&mho" + ] + ] + }, + { + "input": "℧", + "description": "Named entity: mho; with a semi-colon", + "output": [ + [ + "Character", + "\u2127" + ] + ] + }, + { + "input": "µ", + "description": "Named entity: micro without a semi-colon", + "output": [ + [ + "Character", + "\u00b5" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "µ", + "description": "Named entity: micro; with a semi-colon", + "output": [ + [ + "Character", + "\u00b5" + ] + ] + }, + { + "input": "&mid", + "description": "Bad named entity: mid without a semi-colon", + "output": [ + [ + "Character", + "&mid" + ] + ] + }, + { + "input": "∣", + "description": "Named entity: mid; with a semi-colon", + "output": [ + [ + "Character", + "\u2223" + ] + ] + }, + { + "input": "&midast", + "description": "Bad named entity: midast without a semi-colon", + "output": [ + [ + "Character", + "&midast" + ] + ] + }, + { + "input": "*", + "description": "Named entity: midast; with a semi-colon", + "output": [ + [ + "Character", + "*" + ] + ] + }, + { + "input": "&midcir", + "description": "Bad named entity: midcir without a semi-colon", + "output": [ + [ + "Character", + "&midcir" + ] + ] + }, + { + "input": "⫰", + "description": "Named entity: midcir; with a semi-colon", + "output": [ + [ + "Character", + "\u2af0" + ] + ] + }, + { + "input": "·", + "description": "Named entity: middot without a semi-colon", + "output": [ + [ + "Character", + "\u00b7" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "·", + "description": "Named entity: middot; with a semi-colon", + "output": [ + [ + "Character", + "\u00b7" + ] + ] + }, + { + "input": "&minus", + "description": "Bad named entity: minus without a semi-colon", + "output": [ + [ + "Character", + "&minus" + ] + ] + }, + { + "input": "−", + "description": "Named entity: minus; with a semi-colon", + "output": [ + [ + "Character", + "\u2212" + ] + ] + }, + { + "input": "&minusb", + "description": "Bad named entity: minusb without a semi-colon", + "output": [ + [ + "Character", + "&minusb" + ] + ] + }, + { + "input": "⊟", + "description": "Named entity: minusb; with a semi-colon", + "output": [ + [ + "Character", + "\u229f" + ] + ] + }, + { + "input": "&minusd", + "description": "Bad named entity: minusd without a semi-colon", + "output": [ + [ + "Character", + "&minusd" + ] + ] + }, + { + "input": "∸", + "description": "Named entity: minusd; with a semi-colon", + "output": [ + [ + "Character", + "\u2238" + ] + ] + }, + { + "input": "&minusdu", + "description": "Bad named entity: minusdu without a semi-colon", + "output": [ + [ + "Character", + "&minusdu" + ] + ] + }, + { + "input": "⨪", + "description": "Named entity: minusdu; with a semi-colon", + "output": [ + [ + "Character", + "\u2a2a" + ] + ] + }, + { + "input": "&mlcp", + "description": "Bad named entity: mlcp without a semi-colon", + "output": [ + [ + "Character", + "&mlcp" + ] + ] + }, + { + "input": "⫛", + "description": "Named entity: mlcp; with a semi-colon", + "output": [ + [ + "Character", + "\u2adb" + ] + ] + }, + { + "input": "&mldr", + "description": "Bad named entity: mldr without a semi-colon", + "output": [ + [ + "Character", + "&mldr" + ] + ] + }, + { + "input": "…", + "description": "Named entity: mldr; with a semi-colon", + "output": [ + [ + "Character", + "\u2026" + ] + ] + }, + { + "input": "&mnplus", + "description": "Bad named entity: mnplus without a semi-colon", + "output": [ + [ + "Character", + "&mnplus" + ] + ] + }, + { + "input": "∓", + "description": "Named entity: mnplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2213" + ] + ] + }, + { + "input": "&models", + "description": "Bad named entity: models without a semi-colon", + "output": [ + [ + "Character", + "&models" + ] + ] + }, + { + "input": "⊧", + "description": "Named entity: models; with a semi-colon", + "output": [ + [ + "Character", + "\u22a7" + ] + ] + }, + { + "input": "&mopf", + "description": "Bad named entity: mopf without a semi-colon", + "output": [ + [ + "Character", + "&mopf" + ] + ] + }, + { + "input": "𝕞", + "description": "Named entity: mopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd5e" + ] + ] + }, + { + "input": "&mp", + "description": "Bad named entity: mp without a semi-colon", + "output": [ + [ + "Character", + "&mp" + ] + ] + }, + { + "input": "∓", + "description": "Named entity: mp; with a semi-colon", + "output": [ + [ + "Character", + "\u2213" + ] + ] + }, + { + "input": "&mscr", + "description": "Bad named entity: mscr without a semi-colon", + "output": [ + [ + "Character", + "&mscr" + ] + ] + }, + { + "input": "𝓂", + "description": "Named entity: mscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc2" + ] + ] + }, + { + "input": "&mstpos", + "description": "Bad named entity: mstpos without a semi-colon", + "output": [ + [ + "Character", + "&mstpos" + ] + ] + }, + { + "input": "∾", + "description": "Named entity: mstpos; with a semi-colon", + "output": [ + [ + "Character", + "\u223e" + ] + ] + }, + { + "input": "&mu", + "description": "Bad named entity: mu without a semi-colon", + "output": [ + [ + "Character", + "&mu" + ] + ] + }, + { + "input": "μ", + "description": "Named entity: mu; with a semi-colon", + "output": [ + [ + "Character", + "\u03bc" + ] + ] + }, + { + "input": "&multimap", + "description": "Bad named entity: multimap without a semi-colon", + "output": [ + [ + "Character", + "&multimap" + ] + ] + }, + { + "input": "⊸", + "description": "Named entity: multimap; with a semi-colon", + "output": [ + [ + "Character", + "\u22b8" + ] + ] + }, + { + "input": "&mumap", + "description": "Bad named entity: mumap without a semi-colon", + "output": [ + [ + "Character", + "&mumap" + ] + ] + }, + { + "input": "⊸", + "description": "Named entity: mumap; with a semi-colon", + "output": [ + [ + "Character", + "\u22b8" + ] + ] + }, + { + "input": "&nGg", + "description": "Bad named entity: nGg without a semi-colon", + "output": [ + [ + "Character", + "&nGg" + ] + ] + }, + { + "input": "⋙̸", + "description": "Named entity: nGg; with a semi-colon", + "output": [ + [ + "Character", + "\u22d9\u0338" + ] + ] + }, + { + "input": "&nGt", + "description": "Bad named entity: nGt without a semi-colon", + "output": [ + [ + "Character", + "&nGt" + ] + ] + }, + { + "input": "≫⃒", + "description": "Named entity: nGt; with a semi-colon", + "output": [ + [ + "Character", + "\u226b\u20d2" + ] + ] + }, + { + "input": "&nGtv", + "description": "Bad named entity: nGtv without a semi-colon", + "output": [ + [ + "Character", + "&nGtv" + ] + ] + }, + { + "input": "≫̸", + "description": "Named entity: nGtv; with a semi-colon", + "output": [ + [ + "Character", + "\u226b\u0338" + ] + ] + }, + { + "input": "&nLeftarrow", + "description": "Bad named entity: nLeftarrow without a semi-colon", + "output": [ + [ + "Character", + "&nLeftarrow" + ] + ] + }, + { + "input": "⇍", + "description": "Named entity: nLeftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21cd" + ] + ] + }, + { + "input": "&nLeftrightarrow", + "description": "Bad named entity: nLeftrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&nLeftrightarrow" + ] + ] + }, + { + "input": "⇎", + "description": "Named entity: nLeftrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21ce" + ] + ] + }, + { + "input": "&nLl", + "description": "Bad named entity: nLl without a semi-colon", + "output": [ + [ + "Character", + "&nLl" + ] + ] + }, + { + "input": "⋘̸", + "description": "Named entity: nLl; with a semi-colon", + "output": [ + [ + "Character", + "\u22d8\u0338" + ] + ] + }, + { + "input": "&nLt", + "description": "Bad named entity: nLt without a semi-colon", + "output": [ + [ + "Character", + "&nLt" + ] + ] + }, + { + "input": "≪⃒", + "description": "Named entity: nLt; with a semi-colon", + "output": [ + [ + "Character", + "\u226a\u20d2" + ] + ] + }, + { + "input": "&nLtv", + "description": "Bad named entity: nLtv without a semi-colon", + "output": [ + [ + "Character", + "&nLtv" + ] + ] + }, + { + "input": "≪̸", + "description": "Named entity: nLtv; with a semi-colon", + "output": [ + [ + "Character", + "\u226a\u0338" + ] + ] + }, + { + "input": "&nRightarrow", + "description": "Bad named entity: nRightarrow without a semi-colon", + "output": [ + [ + "Character", + "&nRightarrow" + ] + ] + }, + { + "input": "⇏", + "description": "Named entity: nRightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21cf" + ] + ] + }, + { + "input": "&nVDash", + "description": "Bad named entity: nVDash without a semi-colon", + "output": [ + [ + "Character", + "&nVDash" + ] + ] + }, + { + "input": "⊯", + "description": "Named entity: nVDash; with a semi-colon", + "output": [ + [ + "Character", + "\u22af" + ] + ] + }, + { + "input": "&nVdash", + "description": "Bad named entity: nVdash without a semi-colon", + "output": [ + [ + "Character", + "&nVdash" + ] + ] + }, + { + "input": "⊮", + "description": "Named entity: nVdash; with a semi-colon", + "output": [ + [ + "Character", + "\u22ae" + ] + ] + }, + { + "input": "&nabla", + "description": "Bad named entity: nabla without a semi-colon", + "output": [ + [ + "Character", + "&nabla" + ] + ] + }, + { + "input": "∇", + "description": "Named entity: nabla; with a semi-colon", + "output": [ + [ + "Character", + "\u2207" + ] + ] + }, + { + "input": "&nacute", + "description": "Bad named entity: nacute without a semi-colon", + "output": [ + [ + "Character", + "&nacute" + ] + ] + }, + { + "input": "ń", + "description": "Named entity: nacute; with a semi-colon", + "output": [ + [ + "Character", + "\u0144" + ] + ] + }, + { + "input": "&nang", + "description": "Bad named entity: nang without a semi-colon", + "output": [ + [ + "Character", + "&nang" + ] + ] + }, + { + "input": "∠⃒", + "description": "Named entity: nang; with a semi-colon", + "output": [ + [ + "Character", + "\u2220\u20d2" + ] + ] + }, + { + "input": "&nap", + "description": "Bad named entity: nap without a semi-colon", + "output": [ + [ + "Character", + "&nap" + ] + ] + }, + { + "input": "≉", + "description": "Named entity: nap; with a semi-colon", + "output": [ + [ + "Character", + "\u2249" + ] + ] + }, + { + "input": "&napE", + "description": "Bad named entity: napE without a semi-colon", + "output": [ + [ + "Character", + "&napE" + ] + ] + }, + { + "input": "⩰̸", + "description": "Named entity: napE; with a semi-colon", + "output": [ + [ + "Character", + "\u2a70\u0338" + ] + ] + }, + { + "input": "&napid", + "description": "Bad named entity: napid without a semi-colon", + "output": [ + [ + "Character", + "&napid" + ] + ] + }, + { + "input": "≋̸", + "description": "Named entity: napid; with a semi-colon", + "output": [ + [ + "Character", + "\u224b\u0338" + ] + ] + }, + { + "input": "&napos", + "description": "Bad named entity: napos without a semi-colon", + "output": [ + [ + "Character", + "&napos" + ] + ] + }, + { + "input": "ʼn", + "description": "Named entity: napos; with a semi-colon", + "output": [ + [ + "Character", + "\u0149" + ] + ] + }, + { + "input": "&napprox", + "description": "Bad named entity: napprox without a semi-colon", + "output": [ + [ + "Character", + "&napprox" + ] + ] + }, + { + "input": "≉", + "description": "Named entity: napprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2249" + ] + ] + }, + { + "input": "&natur", + "description": "Bad named entity: natur without a semi-colon", + "output": [ + [ + "Character", + "&natur" + ] + ] + }, + { + "input": "♮", + "description": "Named entity: natur; with a semi-colon", + "output": [ + [ + "Character", + "\u266e" + ] + ] + }, + { + "input": "&natural", + "description": "Bad named entity: natural without a semi-colon", + "output": [ + [ + "Character", + "&natural" + ] + ] + }, + { + "input": "♮", + "description": "Named entity: natural; with a semi-colon", + "output": [ + [ + "Character", + "\u266e" + ] + ] + }, + { + "input": "&naturals", + "description": "Bad named entity: naturals without a semi-colon", + "output": [ + [ + "Character", + "&naturals" + ] + ] + }, + { + "input": "ℕ", + "description": "Named entity: naturals; with a semi-colon", + "output": [ + [ + "Character", + "\u2115" + ] + ] + }, + { + "input": " ", + "description": "Named entity: nbsp without a semi-colon", + "output": [ + [ + "Character", + "\u00a0" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": " ", + "description": "Named entity: nbsp; with a semi-colon", + "output": [ + [ + "Character", + "\u00a0" + ] + ] + }, + { + "input": "&nbump", + "description": "Bad named entity: nbump without a semi-colon", + "output": [ + [ + "Character", + "&nbump" + ] + ] + }, + { + "input": "≎̸", + "description": "Named entity: nbump; with a semi-colon", + "output": [ + [ + "Character", + "\u224e\u0338" + ] + ] + }, + { + "input": "&nbumpe", + "description": "Bad named entity: nbumpe without a semi-colon", + "output": [ + [ + "Character", + "&nbumpe" + ] + ] + }, + { + "input": "≏̸", + "description": "Named entity: nbumpe; with a semi-colon", + "output": [ + [ + "Character", + "\u224f\u0338" + ] + ] + }, + { + "input": "&ncap", + "description": "Bad named entity: ncap without a semi-colon", + "output": [ + [ + "Character", + "&ncap" + ] + ] + }, + { + "input": "⩃", + "description": "Named entity: ncap; with a semi-colon", + "output": [ + [ + "Character", + "\u2a43" + ] + ] + }, + { + "input": "&ncaron", + "description": "Bad named entity: ncaron without a semi-colon", + "output": [ + [ + "Character", + "&ncaron" + ] + ] + }, + { + "input": "ň", + "description": "Named entity: ncaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0148" + ] + ] + }, + { + "input": "&ncedil", + "description": "Bad named entity: ncedil without a semi-colon", + "output": [ + [ + "Character", + "&ncedil" + ] + ] + }, + { + "input": "ņ", + "description": "Named entity: ncedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0146" + ] + ] + }, + { + "input": "&ncong", + "description": "Bad named entity: ncong without a semi-colon", + "output": [ + [ + "Character", + "&ncong" + ] + ] + }, + { + "input": "≇", + "description": "Named entity: ncong; with a semi-colon", + "output": [ + [ + "Character", + "\u2247" + ] + ] + }, + { + "input": "&ncongdot", + "description": "Bad named entity: ncongdot without a semi-colon", + "output": [ + [ + "Character", + "&ncongdot" + ] + ] + }, + { + "input": "⩭̸", + "description": "Named entity: ncongdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a6d\u0338" + ] + ] + }, + { + "input": "&ncup", + "description": "Bad named entity: ncup without a semi-colon", + "output": [ + [ + "Character", + "&ncup" + ] + ] + }, + { + "input": "⩂", + "description": "Named entity: ncup; with a semi-colon", + "output": [ + [ + "Character", + "\u2a42" + ] + ] + }, + { + "input": "&ncy", + "description": "Bad named entity: ncy without a semi-colon", + "output": [ + [ + "Character", + "&ncy" + ] + ] + }, + { + "input": "н", + "description": "Named entity: ncy; with a semi-colon", + "output": [ + [ + "Character", + "\u043d" + ] + ] + }, + { + "input": "&ndash", + "description": "Bad named entity: ndash without a semi-colon", + "output": [ + [ + "Character", + "&ndash" + ] + ] + }, + { + "input": "–", + "description": "Named entity: ndash; with a semi-colon", + "output": [ + [ + "Character", + "\u2013" + ] + ] + }, + { + "input": "&ne", + "description": "Bad named entity: ne without a semi-colon", + "output": [ + [ + "Character", + "&ne" + ] + ] + }, + { + "input": "≠", + "description": "Named entity: ne; with a semi-colon", + "output": [ + [ + "Character", + "\u2260" + ] + ] + }, + { + "input": "&neArr", + "description": "Bad named entity: neArr without a semi-colon", + "output": [ + [ + "Character", + "&neArr" + ] + ] + }, + { + "input": "⇗", + "description": "Named entity: neArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d7" + ] + ] + }, + { + "input": "&nearhk", + "description": "Bad named entity: nearhk without a semi-colon", + "output": [ + [ + "Character", + "&nearhk" + ] + ] + }, + { + "input": "⤤", + "description": "Named entity: nearhk; with a semi-colon", + "output": [ + [ + "Character", + "\u2924" + ] + ] + }, + { + "input": "&nearr", + "description": "Bad named entity: nearr without a semi-colon", + "output": [ + [ + "Character", + "&nearr" + ] + ] + }, + { + "input": "↗", + "description": "Named entity: nearr; with a semi-colon", + "output": [ + [ + "Character", + "\u2197" + ] + ] + }, + { + "input": "&nearrow", + "description": "Bad named entity: nearrow without a semi-colon", + "output": [ + [ + "Character", + "&nearrow" + ] + ] + }, + { + "input": "↗", + "description": "Named entity: nearrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2197" + ] + ] + }, + { + "input": "&nedot", + "description": "Bad named entity: nedot without a semi-colon", + "output": [ + [ + "Character", + "&nedot" + ] + ] + }, + { + "input": "≐̸", + "description": "Named entity: nedot; with a semi-colon", + "output": [ + [ + "Character", + "\u2250\u0338" + ] + ] + }, + { + "input": "&nequiv", + "description": "Bad named entity: nequiv without a semi-colon", + "output": [ + [ + "Character", + "&nequiv" + ] + ] + }, + { + "input": "≢", + "description": "Named entity: nequiv; with a semi-colon", + "output": [ + [ + "Character", + "\u2262" + ] + ] + }, + { + "input": "&nesear", + "description": "Bad named entity: nesear without a semi-colon", + "output": [ + [ + "Character", + "&nesear" + ] + ] + }, + { + "input": "⤨", + "description": "Named entity: nesear; with a semi-colon", + "output": [ + [ + "Character", + "\u2928" + ] + ] + }, + { + "input": "&nesim", + "description": "Bad named entity: nesim without a semi-colon", + "output": [ + [ + "Character", + "&nesim" + ] + ] + }, + { + "input": "≂̸", + "description": "Named entity: nesim; with a semi-colon", + "output": [ + [ + "Character", + "\u2242\u0338" + ] + ] + }, + { + "input": "&nexist", + "description": "Bad named entity: nexist without a semi-colon", + "output": [ + [ + "Character", + "&nexist" + ] + ] + }, + { + "input": "∄", + "description": "Named entity: nexist; with a semi-colon", + "output": [ + [ + "Character", + "\u2204" + ] + ] + }, + { + "input": "&nexists", + "description": "Bad named entity: nexists without a semi-colon", + "output": [ + [ + "Character", + "&nexists" + ] + ] + }, + { + "input": "∄", + "description": "Named entity: nexists; with a semi-colon", + "output": [ + [ + "Character", + "\u2204" + ] + ] + }, + { + "input": "&nfr", + "description": "Bad named entity: nfr without a semi-colon", + "output": [ + [ + "Character", + "&nfr" + ] + ] + }, + { + "input": "𝔫", + "description": "Named entity: nfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd2b" + ] + ] + }, + { + "input": "&ngE", + "description": "Bad named entity: ngE without a semi-colon", + "output": [ + [ + "Character", + "&ngE" + ] + ] + }, + { + "input": "≧̸", + "description": "Named entity: ngE; with a semi-colon", + "output": [ + [ + "Character", + "\u2267\u0338" + ] + ] + }, + { + "input": "&nge", + "description": "Bad named entity: nge without a semi-colon", + "output": [ + [ + "Character", + "&nge" + ] + ] + }, + { + "input": "≱", + "description": "Named entity: nge; with a semi-colon", + "output": [ + [ + "Character", + "\u2271" + ] + ] + }, + { + "input": "&ngeq", + "description": "Bad named entity: ngeq without a semi-colon", + "output": [ + [ + "Character", + "&ngeq" + ] + ] + }, + { + "input": "≱", + "description": "Named entity: ngeq; with a semi-colon", + "output": [ + [ + "Character", + "\u2271" + ] + ] + }, + { + "input": "&ngeqq", + "description": "Bad named entity: ngeqq without a semi-colon", + "output": [ + [ + "Character", + "&ngeqq" + ] + ] + }, + { + "input": "≧̸", + "description": "Named entity: ngeqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2267\u0338" + ] + ] + }, + { + "input": "&ngeqslant", + "description": "Bad named entity: ngeqslant without a semi-colon", + "output": [ + [ + "Character", + "&ngeqslant" + ] + ] + }, + { + "input": "⩾̸", + "description": "Named entity: ngeqslant; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7e\u0338" + ] + ] + }, + { + "input": "&nges", + "description": "Bad named entity: nges without a semi-colon", + "output": [ + [ + "Character", + "&nges" + ] + ] + }, + { + "input": "⩾̸", + "description": "Named entity: nges; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7e\u0338" + ] + ] + }, + { + "input": "&ngsim", + "description": "Bad named entity: ngsim without a semi-colon", + "output": [ + [ + "Character", + "&ngsim" + ] + ] + }, + { + "input": "≵", + "description": "Named entity: ngsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2275" + ] + ] + }, + { + "input": "&ngt", + "description": "Bad named entity: ngt without a semi-colon", + "output": [ + [ + "Character", + "&ngt" + ] + ] + }, + { + "input": "≯", + "description": "Named entity: ngt; with a semi-colon", + "output": [ + [ + "Character", + "\u226f" + ] + ] + }, + { + "input": "&ngtr", + "description": "Bad named entity: ngtr without a semi-colon", + "output": [ + [ + "Character", + "&ngtr" + ] + ] + }, + { + "input": "≯", + "description": "Named entity: ngtr; with a semi-colon", + "output": [ + [ + "Character", + "\u226f" + ] + ] + }, + { + "input": "&nhArr", + "description": "Bad named entity: nhArr without a semi-colon", + "output": [ + [ + "Character", + "&nhArr" + ] + ] + }, + { + "input": "⇎", + "description": "Named entity: nhArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21ce" + ] + ] + }, + { + "input": "&nharr", + "description": "Bad named entity: nharr without a semi-colon", + "output": [ + [ + "Character", + "&nharr" + ] + ] + }, + { + "input": "↮", + "description": "Named entity: nharr; with a semi-colon", + "output": [ + [ + "Character", + "\u21ae" + ] + ] + }, + { + "input": "&nhpar", + "description": "Bad named entity: nhpar without a semi-colon", + "output": [ + [ + "Character", + "&nhpar" + ] + ] + }, + { + "input": "⫲", + "description": "Named entity: nhpar; with a semi-colon", + "output": [ + [ + "Character", + "\u2af2" + ] + ] + }, + { + "input": "&ni", + "description": "Bad named entity: ni without a semi-colon", + "output": [ + [ + "Character", + "&ni" + ] + ] + }, + { + "input": "∋", + "description": "Named entity: ni; with a semi-colon", + "output": [ + [ + "Character", + "\u220b" + ] + ] + }, + { + "input": "&nis", + "description": "Bad named entity: nis without a semi-colon", + "output": [ + [ + "Character", + "&nis" + ] + ] + }, + { + "input": "⋼", + "description": "Named entity: nis; with a semi-colon", + "output": [ + [ + "Character", + "\u22fc" + ] + ] + }, + { + "input": "&nisd", + "description": "Bad named entity: nisd without a semi-colon", + "output": [ + [ + "Character", + "&nisd" + ] + ] + }, + { + "input": "⋺", + "description": "Named entity: nisd; with a semi-colon", + "output": [ + [ + "Character", + "\u22fa" + ] + ] + }, + { + "input": "&niv", + "description": "Bad named entity: niv without a semi-colon", + "output": [ + [ + "Character", + "&niv" + ] + ] + }, + { + "input": "∋", + "description": "Named entity: niv; with a semi-colon", + "output": [ + [ + "Character", + "\u220b" + ] + ] + }, + { + "input": "&njcy", + "description": "Bad named entity: njcy without a semi-colon", + "output": [ + [ + "Character", + "&njcy" + ] + ] + }, + { + "input": "њ", + "description": "Named entity: njcy; with a semi-colon", + "output": [ + [ + "Character", + "\u045a" + ] + ] + }, + { + "input": "&nlArr", + "description": "Bad named entity: nlArr without a semi-colon", + "output": [ + [ + "Character", + "&nlArr" + ] + ] + }, + { + "input": "⇍", + "description": "Named entity: nlArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21cd" + ] + ] + }, + { + "input": "&nlE", + "description": "Bad named entity: nlE without a semi-colon", + "output": [ + [ + "Character", + "&nlE" + ] + ] + }, + { + "input": "≦̸", + "description": "Named entity: nlE; with a semi-colon", + "output": [ + [ + "Character", + "\u2266\u0338" + ] + ] + }, + { + "input": "&nlarr", + "description": "Bad named entity: nlarr without a semi-colon", + "output": [ + [ + "Character", + "&nlarr" + ] + ] + }, + { + "input": "↚", + "description": "Named entity: nlarr; with a semi-colon", + "output": [ + [ + "Character", + "\u219a" + ] + ] + }, + { + "input": "&nldr", + "description": "Bad named entity: nldr without a semi-colon", + "output": [ + [ + "Character", + "&nldr" + ] + ] + }, + { + "input": "‥", + "description": "Named entity: nldr; with a semi-colon", + "output": [ + [ + "Character", + "\u2025" + ] + ] + }, + { + "input": "&nle", + "description": "Bad named entity: nle without a semi-colon", + "output": [ + [ + "Character", + "&nle" + ] + ] + }, + { + "input": "≰", + "description": "Named entity: nle; with a semi-colon", + "output": [ + [ + "Character", + "\u2270" + ] + ] + }, + { + "input": "&nleftarrow", + "description": "Bad named entity: nleftarrow without a semi-colon", + "output": [ + [ + "Character", + "&nleftarrow" + ] + ] + }, + { + "input": "↚", + "description": "Named entity: nleftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u219a" + ] + ] + }, + { + "input": "&nleftrightarrow", + "description": "Bad named entity: nleftrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&nleftrightarrow" + ] + ] + }, + { + "input": "↮", + "description": "Named entity: nleftrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21ae" + ] + ] + }, + { + "input": "&nleq", + "description": "Bad named entity: nleq without a semi-colon", + "output": [ + [ + "Character", + "&nleq" + ] + ] + }, + { + "input": "≰", + "description": "Named entity: nleq; with a semi-colon", + "output": [ + [ + "Character", + "\u2270" + ] + ] + }, + { + "input": "&nleqq", + "description": "Bad named entity: nleqq without a semi-colon", + "output": [ + [ + "Character", + "&nleqq" + ] + ] + }, + { + "input": "≦̸", + "description": "Named entity: nleqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2266\u0338" + ] + ] + }, + { + "input": "&nleqslant", + "description": "Bad named entity: nleqslant without a semi-colon", + "output": [ + [ + "Character", + "&nleqslant" + ] + ] + }, + { + "input": "⩽̸", + "description": "Named entity: nleqslant; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7d\u0338" + ] + ] + }, + { + "input": "&nles", + "description": "Bad named entity: nles without a semi-colon", + "output": [ + [ + "Character", + "&nles" + ] + ] + }, + { + "input": "⩽̸", + "description": "Named entity: nles; with a semi-colon", + "output": [ + [ + "Character", + "\u2a7d\u0338" + ] + ] + }, + { + "input": "&nless", + "description": "Bad named entity: nless without a semi-colon", + "output": [ + [ + "Character", + "&nless" + ] + ] + }, + { + "input": "≮", + "description": "Named entity: nless; with a semi-colon", + "output": [ + [ + "Character", + "\u226e" + ] + ] + }, + { + "input": "&nlsim", + "description": "Bad named entity: nlsim without a semi-colon", + "output": [ + [ + "Character", + "&nlsim" + ] + ] + }, + { + "input": "≴", + "description": "Named entity: nlsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2274" + ] + ] + }, + { + "input": "&nlt", + "description": "Bad named entity: nlt without a semi-colon", + "output": [ + [ + "Character", + "&nlt" + ] + ] + }, + { + "input": "≮", + "description": "Named entity: nlt; with a semi-colon", + "output": [ + [ + "Character", + "\u226e" + ] + ] + }, + { + "input": "&nltri", + "description": "Bad named entity: nltri without a semi-colon", + "output": [ + [ + "Character", + "&nltri" + ] + ] + }, + { + "input": "⋪", + "description": "Named entity: nltri; with a semi-colon", + "output": [ + [ + "Character", + "\u22ea" + ] + ] + }, + { + "input": "&nltrie", + "description": "Bad named entity: nltrie without a semi-colon", + "output": [ + [ + "Character", + "&nltrie" + ] + ] + }, + { + "input": "⋬", + "description": "Named entity: nltrie; with a semi-colon", + "output": [ + [ + "Character", + "\u22ec" + ] + ] + }, + { + "input": "&nmid", + "description": "Bad named entity: nmid without a semi-colon", + "output": [ + [ + "Character", + "&nmid" + ] + ] + }, + { + "input": "∤", + "description": "Named entity: nmid; with a semi-colon", + "output": [ + [ + "Character", + "\u2224" + ] + ] + }, + { + "input": "&nopf", + "description": "Bad named entity: nopf without a semi-colon", + "output": [ + [ + "Character", + "&nopf" + ] + ] + }, + { + "input": "𝕟", + "description": "Named entity: nopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd5f" + ] + ] + }, + { + "input": "¬", + "description": "Named entity: not without a semi-colon", + "output": [ + [ + "Character", + "\u00ac" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "¬", + "description": "Named entity: not; with a semi-colon", + "output": [ + [ + "Character", + "\u00ac" + ] + ] + }, + { + "input": "∉", + "description": "Named entity: notin; with a semi-colon", + "output": [ + [ + "Character", + "\u2209" + ] + ] + }, + { + "input": "⋹̸", + "description": "Named entity: notinE; with a semi-colon", + "output": [ + [ + "Character", + "\u22f9\u0338" + ] + ] + }, + { + "input": "⋵̸", + "description": "Named entity: notindot; with a semi-colon", + "output": [ + [ + "Character", + "\u22f5\u0338" + ] + ] + }, + { + "input": "∉", + "description": "Named entity: notinva; with a semi-colon", + "output": [ + [ + "Character", + "\u2209" + ] + ] + }, + { + "input": "⋷", + "description": "Named entity: notinvb; with a semi-colon", + "output": [ + [ + "Character", + "\u22f7" + ] + ] + }, + { + "input": "⋶", + "description": "Named entity: notinvc; with a semi-colon", + "output": [ + [ + "Character", + "\u22f6" + ] + ] + }, + { + "input": "∌", + "description": "Named entity: notni; with a semi-colon", + "output": [ + [ + "Character", + "\u220c" + ] + ] + }, + { + "input": "∌", + "description": "Named entity: notniva; with a semi-colon", + "output": [ + [ + "Character", + "\u220c" + ] + ] + }, + { + "input": "⋾", + "description": "Named entity: notnivb; with a semi-colon", + "output": [ + [ + "Character", + "\u22fe" + ] + ] + }, + { + "input": "⋽", + "description": "Named entity: notnivc; with a semi-colon", + "output": [ + [ + "Character", + "\u22fd" + ] + ] + }, + { + "input": "&npar", + "description": "Bad named entity: npar without a semi-colon", + "output": [ + [ + "Character", + "&npar" + ] + ] + }, + { + "input": "∦", + "description": "Named entity: npar; with a semi-colon", + "output": [ + [ + "Character", + "\u2226" + ] + ] + }, + { + "input": "&nparallel", + "description": "Bad named entity: nparallel without a semi-colon", + "output": [ + [ + "Character", + "&nparallel" + ] + ] + }, + { + "input": "∦", + "description": "Named entity: nparallel; with a semi-colon", + "output": [ + [ + "Character", + "\u2226" + ] + ] + }, + { + "input": "&nparsl", + "description": "Bad named entity: nparsl without a semi-colon", + "output": [ + [ + "Character", + "&nparsl" + ] + ] + }, + { + "input": "⫽⃥", + "description": "Named entity: nparsl; with a semi-colon", + "output": [ + [ + "Character", + "\u2afd\u20e5" + ] + ] + }, + { + "input": "&npart", + "description": "Bad named entity: npart without a semi-colon", + "output": [ + [ + "Character", + "&npart" + ] + ] + }, + { + "input": "∂̸", + "description": "Named entity: npart; with a semi-colon", + "output": [ + [ + "Character", + "\u2202\u0338" + ] + ] + }, + { + "input": "&npolint", + "description": "Bad named entity: npolint without a semi-colon", + "output": [ + [ + "Character", + "&npolint" + ] + ] + }, + { + "input": "⨔", + "description": "Named entity: npolint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a14" + ] + ] + }, + { + "input": "&npr", + "description": "Bad named entity: npr without a semi-colon", + "output": [ + [ + "Character", + "&npr" + ] + ] + }, + { + "input": "⊀", + "description": "Named entity: npr; with a semi-colon", + "output": [ + [ + "Character", + "\u2280" + ] + ] + }, + { + "input": "&nprcue", + "description": "Bad named entity: nprcue without a semi-colon", + "output": [ + [ + "Character", + "&nprcue" + ] + ] + }, + { + "input": "⋠", + "description": "Named entity: nprcue; with a semi-colon", + "output": [ + [ + "Character", + "\u22e0" + ] + ] + }, + { + "input": "&npre", + "description": "Bad named entity: npre without a semi-colon", + "output": [ + [ + "Character", + "&npre" + ] + ] + }, + { + "input": "⪯̸", + "description": "Named entity: npre; with a semi-colon", + "output": [ + [ + "Character", + "\u2aaf\u0338" + ] + ] + }, + { + "input": "&nprec", + "description": "Bad named entity: nprec without a semi-colon", + "output": [ + [ + "Character", + "&nprec" + ] + ] + }, + { + "input": "⊀", + "description": "Named entity: nprec; with a semi-colon", + "output": [ + [ + "Character", + "\u2280" + ] + ] + }, + { + "input": "&npreceq", + "description": "Bad named entity: npreceq without a semi-colon", + "output": [ + [ + "Character", + "&npreceq" + ] + ] + }, + { + "input": "⪯̸", + "description": "Named entity: npreceq; with a semi-colon", + "output": [ + [ + "Character", + "\u2aaf\u0338" + ] + ] + }, + { + "input": "&nrArr", + "description": "Bad named entity: nrArr without a semi-colon", + "output": [ + [ + "Character", + "&nrArr" + ] + ] + }, + { + "input": "⇏", + "description": "Named entity: nrArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21cf" + ] + ] + }, + { + "input": "&nrarr", + "description": "Bad named entity: nrarr without a semi-colon", + "output": [ + [ + "Character", + "&nrarr" + ] + ] + }, + { + "input": "↛", + "description": "Named entity: nrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u219b" + ] + ] + }, + { + "input": "&nrarrc", + "description": "Bad named entity: nrarrc without a semi-colon", + "output": [ + [ + "Character", + "&nrarrc" + ] + ] + }, + { + "input": "⤳̸", + "description": "Named entity: nrarrc; with a semi-colon", + "output": [ + [ + "Character", + "\u2933\u0338" + ] + ] + }, + { + "input": "&nrarrw", + "description": "Bad named entity: nrarrw without a semi-colon", + "output": [ + [ + "Character", + "&nrarrw" + ] + ] + }, + { + "input": "↝̸", + "description": "Named entity: nrarrw; with a semi-colon", + "output": [ + [ + "Character", + "\u219d\u0338" + ] + ] + }, + { + "input": "&nrightarrow", + "description": "Bad named entity: nrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&nrightarrow" + ] + ] + }, + { + "input": "↛", + "description": "Named entity: nrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u219b" + ] + ] + }, + { + "input": "&nrtri", + "description": "Bad named entity: nrtri without a semi-colon", + "output": [ + [ + "Character", + "&nrtri" + ] + ] + }, + { + "input": "⋫", + "description": "Named entity: nrtri; with a semi-colon", + "output": [ + [ + "Character", + "\u22eb" + ] + ] + }, + { + "input": "&nrtrie", + "description": "Bad named entity: nrtrie without a semi-colon", + "output": [ + [ + "Character", + "&nrtrie" + ] + ] + }, + { + "input": "⋭", + "description": "Named entity: nrtrie; with a semi-colon", + "output": [ + [ + "Character", + "\u22ed" + ] + ] + }, + { + "input": "&nsc", + "description": "Bad named entity: nsc without a semi-colon", + "output": [ + [ + "Character", + "&nsc" + ] + ] + }, + { + "input": "⊁", + "description": "Named entity: nsc; with a semi-colon", + "output": [ + [ + "Character", + "\u2281" + ] + ] + }, + { + "input": "&nsccue", + "description": "Bad named entity: nsccue without a semi-colon", + "output": [ + [ + "Character", + "&nsccue" + ] + ] + }, + { + "input": "⋡", + "description": "Named entity: nsccue; with a semi-colon", + "output": [ + [ + "Character", + "\u22e1" + ] + ] + }, + { + "input": "&nsce", + "description": "Bad named entity: nsce without a semi-colon", + "output": [ + [ + "Character", + "&nsce" + ] + ] + }, + { + "input": "⪰̸", + "description": "Named entity: nsce; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab0\u0338" + ] + ] + }, + { + "input": "&nscr", + "description": "Bad named entity: nscr without a semi-colon", + "output": [ + [ + "Character", + "&nscr" + ] + ] + }, + { + "input": "𝓃", + "description": "Named entity: nscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc3" + ] + ] + }, + { + "input": "&nshortmid", + "description": "Bad named entity: nshortmid without a semi-colon", + "output": [ + [ + "Character", + "&nshortmid" + ] + ] + }, + { + "input": "∤", + "description": "Named entity: nshortmid; with a semi-colon", + "output": [ + [ + "Character", + "\u2224" + ] + ] + }, + { + "input": "&nshortparallel", + "description": "Bad named entity: nshortparallel without a semi-colon", + "output": [ + [ + "Character", + "&nshortparallel" + ] + ] + }, + { + "input": "∦", + "description": "Named entity: nshortparallel; with a semi-colon", + "output": [ + [ + "Character", + "\u2226" + ] + ] + }, + { + "input": "&nsim", + "description": "Bad named entity: nsim without a semi-colon", + "output": [ + [ + "Character", + "&nsim" + ] + ] + }, + { + "input": "≁", + "description": "Named entity: nsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2241" + ] + ] + }, + { + "input": "&nsime", + "description": "Bad named entity: nsime without a semi-colon", + "output": [ + [ + "Character", + "&nsime" + ] + ] + }, + { + "input": "≄", + "description": "Named entity: nsime; with a semi-colon", + "output": [ + [ + "Character", + "\u2244" + ] + ] + }, + { + "input": "&nsimeq", + "description": "Bad named entity: nsimeq without a semi-colon", + "output": [ + [ + "Character", + "&nsimeq" + ] + ] + }, + { + "input": "≄", + "description": "Named entity: nsimeq; with a semi-colon", + "output": [ + [ + "Character", + "\u2244" + ] + ] + }, + { + "input": "&nsmid", + "description": "Bad named entity: nsmid without a semi-colon", + "output": [ + [ + "Character", + "&nsmid" + ] + ] + }, + { + "input": "∤", + "description": "Named entity: nsmid; with a semi-colon", + "output": [ + [ + "Character", + "\u2224" + ] + ] + }, + { + "input": "&nspar", + "description": "Bad named entity: nspar without a semi-colon", + "output": [ + [ + "Character", + "&nspar" + ] + ] + }, + { + "input": "∦", + "description": "Named entity: nspar; with a semi-colon", + "output": [ + [ + "Character", + "\u2226" + ] + ] + }, + { + "input": "&nsqsube", + "description": "Bad named entity: nsqsube without a semi-colon", + "output": [ + [ + "Character", + "&nsqsube" + ] + ] + }, + { + "input": "⋢", + "description": "Named entity: nsqsube; with a semi-colon", + "output": [ + [ + "Character", + "\u22e2" + ] + ] + }, + { + "input": "&nsqsupe", + "description": "Bad named entity: nsqsupe without a semi-colon", + "output": [ + [ + "Character", + "&nsqsupe" + ] + ] + }, + { + "input": "⋣", + "description": "Named entity: nsqsupe; with a semi-colon", + "output": [ + [ + "Character", + "\u22e3" + ] + ] + }, + { + "input": "&nsub", + "description": "Bad named entity: nsub without a semi-colon", + "output": [ + [ + "Character", + "&nsub" + ] + ] + }, + { + "input": "⊄", + "description": "Named entity: nsub; with a semi-colon", + "output": [ + [ + "Character", + "\u2284" + ] + ] + }, + { + "input": "&nsubE", + "description": "Bad named entity: nsubE without a semi-colon", + "output": [ + [ + "Character", + "&nsubE" + ] + ] + }, + { + "input": "⫅̸", + "description": "Named entity: nsubE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac5\u0338" + ] + ] + }, + { + "input": "&nsube", + "description": "Bad named entity: nsube without a semi-colon", + "output": [ + [ + "Character", + "&nsube" + ] + ] + }, + { + "input": "⊈", + "description": "Named entity: nsube; with a semi-colon", + "output": [ + [ + "Character", + "\u2288" + ] + ] + }, + { + "input": "&nsubset", + "description": "Bad named entity: nsubset without a semi-colon", + "output": [ + [ + "Character", + "&nsubset" + ] + ] + }, + { + "input": "⊂⃒", + "description": "Named entity: nsubset; with a semi-colon", + "output": [ + [ + "Character", + "\u2282\u20d2" + ] + ] + }, + { + "input": "&nsubseteq", + "description": "Bad named entity: nsubseteq without a semi-colon", + "output": [ + [ + "Character", + "&nsubseteq" + ] + ] + }, + { + "input": "⊈", + "description": "Named entity: nsubseteq; with a semi-colon", + "output": [ + [ + "Character", + "\u2288" + ] + ] + }, + { + "input": "&nsubseteqq", + "description": "Bad named entity: nsubseteqq without a semi-colon", + "output": [ + [ + "Character", + "&nsubseteqq" + ] + ] + }, + { + "input": "⫅̸", + "description": "Named entity: nsubseteqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac5\u0338" + ] + ] + }, + { + "input": "&nsucc", + "description": "Bad named entity: nsucc without a semi-colon", + "output": [ + [ + "Character", + "&nsucc" + ] + ] + }, + { + "input": "⊁", + "description": "Named entity: nsucc; with a semi-colon", + "output": [ + [ + "Character", + "\u2281" + ] + ] + }, + { + "input": "&nsucceq", + "description": "Bad named entity: nsucceq without a semi-colon", + "output": [ + [ + "Character", + "&nsucceq" + ] + ] + }, + { + "input": "⪰̸", + "description": "Named entity: nsucceq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab0\u0338" + ] + ] + }, + { + "input": "&nsup", + "description": "Bad named entity: nsup without a semi-colon", + "output": [ + [ + "Character", + "&nsup" + ] + ] + }, + { + "input": "⊅", + "description": "Named entity: nsup; with a semi-colon", + "output": [ + [ + "Character", + "\u2285" + ] + ] + }, + { + "input": "&nsupE", + "description": "Bad named entity: nsupE without a semi-colon", + "output": [ + [ + "Character", + "&nsupE" + ] + ] + }, + { + "input": "⫆̸", + "description": "Named entity: nsupE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac6\u0338" + ] + ] + }, + { + "input": "&nsupe", + "description": "Bad named entity: nsupe without a semi-colon", + "output": [ + [ + "Character", + "&nsupe" + ] + ] + }, + { + "input": "⊉", + "description": "Named entity: nsupe; with a semi-colon", + "output": [ + [ + "Character", + "\u2289" + ] + ] + }, + { + "input": "&nsupset", + "description": "Bad named entity: nsupset without a semi-colon", + "output": [ + [ + "Character", + "&nsupset" + ] + ] + }, + { + "input": "⊃⃒", + "description": "Named entity: nsupset; with a semi-colon", + "output": [ + [ + "Character", + "\u2283\u20d2" + ] + ] + }, + { + "input": "&nsupseteq", + "description": "Bad named entity: nsupseteq without a semi-colon", + "output": [ + [ + "Character", + "&nsupseteq" + ] + ] + }, + { + "input": "⊉", + "description": "Named entity: nsupseteq; with a semi-colon", + "output": [ + [ + "Character", + "\u2289" + ] + ] + }, + { + "input": "&nsupseteqq", + "description": "Bad named entity: nsupseteqq without a semi-colon", + "output": [ + [ + "Character", + "&nsupseteqq" + ] + ] + }, + { + "input": "⫆̸", + "description": "Named entity: nsupseteqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac6\u0338" + ] + ] + }, + { + "input": "&ntgl", + "description": "Bad named entity: ntgl without a semi-colon", + "output": [ + [ + "Character", + "&ntgl" + ] + ] + }, + { + "input": "≹", + "description": "Named entity: ntgl; with a semi-colon", + "output": [ + [ + "Character", + "\u2279" + ] + ] + }, + { + "input": "ñ", + "description": "Named entity: ntilde without a semi-colon", + "output": [ + [ + "Character", + "\u00f1" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ñ", + "description": "Named entity: ntilde; with a semi-colon", + "output": [ + [ + "Character", + "\u00f1" + ] + ] + }, + { + "input": "&ntlg", + "description": "Bad named entity: ntlg without a semi-colon", + "output": [ + [ + "Character", + "&ntlg" + ] + ] + }, + { + "input": "≸", + "description": "Named entity: ntlg; with a semi-colon", + "output": [ + [ + "Character", + "\u2278" + ] + ] + }, + { + "input": "&ntriangleleft", + "description": "Bad named entity: ntriangleleft without a semi-colon", + "output": [ + [ + "Character", + "&ntriangleleft" + ] + ] + }, + { + "input": "⋪", + "description": "Named entity: ntriangleleft; with a semi-colon", + "output": [ + [ + "Character", + "\u22ea" + ] + ] + }, + { + "input": "&ntrianglelefteq", + "description": "Bad named entity: ntrianglelefteq without a semi-colon", + "output": [ + [ + "Character", + "&ntrianglelefteq" + ] + ] + }, + { + "input": "⋬", + "description": "Named entity: ntrianglelefteq; with a semi-colon", + "output": [ + [ + "Character", + "\u22ec" + ] + ] + }, + { + "input": "&ntriangleright", + "description": "Bad named entity: ntriangleright without a semi-colon", + "output": [ + [ + "Character", + "&ntriangleright" + ] + ] + }, + { + "input": "⋫", + "description": "Named entity: ntriangleright; with a semi-colon", + "output": [ + [ + "Character", + "\u22eb" + ] + ] + }, + { + "input": "&ntrianglerighteq", + "description": "Bad named entity: ntrianglerighteq without a semi-colon", + "output": [ + [ + "Character", + "&ntrianglerighteq" + ] + ] + }, + { + "input": "⋭", + "description": "Named entity: ntrianglerighteq; with a semi-colon", + "output": [ + [ + "Character", + "\u22ed" + ] + ] + }, + { + "input": "&nu", + "description": "Bad named entity: nu without a semi-colon", + "output": [ + [ + "Character", + "&nu" + ] + ] + }, + { + "input": "ν", + "description": "Named entity: nu; with a semi-colon", + "output": [ + [ + "Character", + "\u03bd" + ] + ] + }, + { + "input": "&num", + "description": "Bad named entity: num without a semi-colon", + "output": [ + [ + "Character", + "&num" + ] + ] + }, + { + "input": "#", + "description": "Named entity: num; with a semi-colon", + "output": [ + [ + "Character", + "#" + ] + ] + }, + { + "input": "&numero", + "description": "Bad named entity: numero without a semi-colon", + "output": [ + [ + "Character", + "&numero" + ] + ] + }, + { + "input": "№", + "description": "Named entity: numero; with a semi-colon", + "output": [ + [ + "Character", + "\u2116" + ] + ] + }, + { + "input": "&numsp", + "description": "Bad named entity: numsp without a semi-colon", + "output": [ + [ + "Character", + "&numsp" + ] + ] + }, + { + "input": " ", + "description": "Named entity: numsp; with a semi-colon", + "output": [ + [ + "Character", + "\u2007" + ] + ] + }, + { + "input": "&nvDash", + "description": "Bad named entity: nvDash without a semi-colon", + "output": [ + [ + "Character", + "&nvDash" + ] + ] + }, + { + "input": "⊭", + "description": "Named entity: nvDash; with a semi-colon", + "output": [ + [ + "Character", + "\u22ad" + ] + ] + }, + { + "input": "&nvHarr", + "description": "Bad named entity: nvHarr without a semi-colon", + "output": [ + [ + "Character", + "&nvHarr" + ] + ] + }, + { + "input": "⤄", + "description": "Named entity: nvHarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2904" + ] + ] + }, + { + "input": "&nvap", + "description": "Bad named entity: nvap without a semi-colon", + "output": [ + [ + "Character", + "&nvap" + ] + ] + }, + { + "input": "≍⃒", + "description": "Named entity: nvap; with a semi-colon", + "output": [ + [ + "Character", + "\u224d\u20d2" + ] + ] + }, + { + "input": "&nvdash", + "description": "Bad named entity: nvdash without a semi-colon", + "output": [ + [ + "Character", + "&nvdash" + ] + ] + }, + { + "input": "⊬", + "description": "Named entity: nvdash; with a semi-colon", + "output": [ + [ + "Character", + "\u22ac" + ] + ] + }, + { + "input": "&nvge", + "description": "Bad named entity: nvge without a semi-colon", + "output": [ + [ + "Character", + "&nvge" + ] + ] + }, + { + "input": "≥⃒", + "description": "Named entity: nvge; with a semi-colon", + "output": [ + [ + "Character", + "\u2265\u20d2" + ] + ] + }, + { + "input": "&nvgt", + "description": "Bad named entity: nvgt without a semi-colon", + "output": [ + [ + "Character", + "&nvgt" + ] + ] + }, + { + "input": ">⃒", + "description": "Named entity: nvgt; with a semi-colon", + "output": [ + [ + "Character", + ">\u20d2" + ] + ] + }, + { + "input": "&nvinfin", + "description": "Bad named entity: nvinfin without a semi-colon", + "output": [ + [ + "Character", + "&nvinfin" + ] + ] + }, + { + "input": "⧞", + "description": "Named entity: nvinfin; with a semi-colon", + "output": [ + [ + "Character", + "\u29de" + ] + ] + }, + { + "input": "&nvlArr", + "description": "Bad named entity: nvlArr without a semi-colon", + "output": [ + [ + "Character", + "&nvlArr" + ] + ] + }, + { + "input": "⤂", + "description": "Named entity: nvlArr; with a semi-colon", + "output": [ + [ + "Character", + "\u2902" + ] + ] + }, + { + "input": "&nvle", + "description": "Bad named entity: nvle without a semi-colon", + "output": [ + [ + "Character", + "&nvle" + ] + ] + }, + { + "input": "≤⃒", + "description": "Named entity: nvle; with a semi-colon", + "output": [ + [ + "Character", + "\u2264\u20d2" + ] + ] + }, + { + "input": "&nvlt", + "description": "Bad named entity: nvlt without a semi-colon", + "output": [ + [ + "Character", + "&nvlt" + ] + ] + }, + { + "input": "<⃒", + "description": "Named entity: nvlt; with a semi-colon", + "output": [ + [ + "Character", + "<\u20d2" + ] + ] + }, + { + "input": "&nvltrie", + "description": "Bad named entity: nvltrie without a semi-colon", + "output": [ + [ + "Character", + "&nvltrie" + ] + ] + }, + { + "input": "⊴⃒", + "description": "Named entity: nvltrie; with a semi-colon", + "output": [ + [ + "Character", + "\u22b4\u20d2" + ] + ] + }, + { + "input": "&nvrArr", + "description": "Bad named entity: nvrArr without a semi-colon", + "output": [ + [ + "Character", + "&nvrArr" + ] + ] + }, + { + "input": "⤃", + "description": "Named entity: nvrArr; with a semi-colon", + "output": [ + [ + "Character", + "\u2903" + ] + ] + }, + { + "input": "&nvrtrie", + "description": "Bad named entity: nvrtrie without a semi-colon", + "output": [ + [ + "Character", + "&nvrtrie" + ] + ] + }, + { + "input": "⊵⃒", + "description": "Named entity: nvrtrie; with a semi-colon", + "output": [ + [ + "Character", + "\u22b5\u20d2" + ] + ] + }, + { + "input": "&nvsim", + "description": "Bad named entity: nvsim without a semi-colon", + "output": [ + [ + "Character", + "&nvsim" + ] + ] + }, + { + "input": "∼⃒", + "description": "Named entity: nvsim; with a semi-colon", + "output": [ + [ + "Character", + "\u223c\u20d2" + ] + ] + }, + { + "input": "&nwArr", + "description": "Bad named entity: nwArr without a semi-colon", + "output": [ + [ + "Character", + "&nwArr" + ] + ] + }, + { + "input": "⇖", + "description": "Named entity: nwArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d6" + ] + ] + }, + { + "input": "&nwarhk", + "description": "Bad named entity: nwarhk without a semi-colon", + "output": [ + [ + "Character", + "&nwarhk" + ] + ] + }, + { + "input": "⤣", + "description": "Named entity: nwarhk; with a semi-colon", + "output": [ + [ + "Character", + "\u2923" + ] + ] + }, + { + "input": "&nwarr", + "description": "Bad named entity: nwarr without a semi-colon", + "output": [ + [ + "Character", + "&nwarr" + ] + ] + }, + { + "input": "↖", + "description": "Named entity: nwarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2196" + ] + ] + }, + { + "input": "&nwarrow", + "description": "Bad named entity: nwarrow without a semi-colon", + "output": [ + [ + "Character", + "&nwarrow" + ] + ] + }, + { + "input": "↖", + "description": "Named entity: nwarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2196" + ] + ] + }, + { + "input": "&nwnear", + "description": "Bad named entity: nwnear without a semi-colon", + "output": [ + [ + "Character", + "&nwnear" + ] + ] + }, + { + "input": "⤧", + "description": "Named entity: nwnear; with a semi-colon", + "output": [ + [ + "Character", + "\u2927" + ] + ] + }, + { + "input": "&oS", + "description": "Bad named entity: oS without a semi-colon", + "output": [ + [ + "Character", + "&oS" + ] + ] + }, + { + "input": "Ⓢ", + "description": "Named entity: oS; with a semi-colon", + "output": [ + [ + "Character", + "\u24c8" + ] + ] + }, + { + "input": "ó", + "description": "Named entity: oacute without a semi-colon", + "output": [ + [ + "Character", + "\u00f3" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ó", + "description": "Named entity: oacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00f3" + ] + ] + }, + { + "input": "&oast", + "description": "Bad named entity: oast without a semi-colon", + "output": [ + [ + "Character", + "&oast" + ] + ] + }, + { + "input": "⊛", + "description": "Named entity: oast; with a semi-colon", + "output": [ + [ + "Character", + "\u229b" + ] + ] + }, + { + "input": "&ocir", + "description": "Bad named entity: ocir without a semi-colon", + "output": [ + [ + "Character", + "&ocir" + ] + ] + }, + { + "input": "⊚", + "description": "Named entity: ocir; with a semi-colon", + "output": [ + [ + "Character", + "\u229a" + ] + ] + }, + { + "input": "ô", + "description": "Named entity: ocirc without a semi-colon", + "output": [ + [ + "Character", + "\u00f4" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "ô", + "description": "Named entity: ocirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00f4" + ] + ] + }, + { + "input": "&ocy", + "description": "Bad named entity: ocy without a semi-colon", + "output": [ + [ + "Character", + "&ocy" + ] + ] + }, + { + "input": "о", + "description": "Named entity: ocy; with a semi-colon", + "output": [ + [ + "Character", + "\u043e" + ] + ] + }, + { + "input": "&odash", + "description": "Bad named entity: odash without a semi-colon", + "output": [ + [ + "Character", + "&odash" + ] + ] + }, + { + "input": "⊝", + "description": "Named entity: odash; with a semi-colon", + "output": [ + [ + "Character", + "\u229d" + ] + ] + }, + { + "input": "&odblac", + "description": "Bad named entity: odblac without a semi-colon", + "output": [ + [ + "Character", + "&odblac" + ] + ] + }, + { + "input": "ő", + "description": "Named entity: odblac; with a semi-colon", + "output": [ + [ + "Character", + "\u0151" + ] + ] + }, + { + "input": "&odiv", + "description": "Bad named entity: odiv without a semi-colon", + "output": [ + [ + "Character", + "&odiv" + ] + ] + }, + { + "input": "⨸", + "description": "Named entity: odiv; with a semi-colon", + "output": [ + [ + "Character", + "\u2a38" + ] + ] + }, + { + "input": "&odot", + "description": "Bad named entity: odot without a semi-colon", + "output": [ + [ + "Character", + "&odot" + ] + ] + }, + { + "input": "⊙", + "description": "Named entity: odot; with a semi-colon", + "output": [ + [ + "Character", + "\u2299" + ] + ] + }, + { + "input": "&odsold", + "description": "Bad named entity: odsold without a semi-colon", + "output": [ + [ + "Character", + "&odsold" + ] + ] + }, + { + "input": "⦼", + "description": "Named entity: odsold; with a semi-colon", + "output": [ + [ + "Character", + "\u29bc" + ] + ] + }, + { + "input": "&oelig", + "description": "Bad named entity: oelig without a semi-colon", + "output": [ + [ + "Character", + "&oelig" + ] + ] + }, + { + "input": "œ", + "description": "Named entity: oelig; with a semi-colon", + "output": [ + [ + "Character", + "\u0153" + ] + ] + }, + { + "input": "&ofcir", + "description": "Bad named entity: ofcir without a semi-colon", + "output": [ + [ + "Character", + "&ofcir" + ] + ] + }, + { + "input": "⦿", + "description": "Named entity: ofcir; with a semi-colon", + "output": [ + [ + "Character", + "\u29bf" + ] + ] + }, + { + "input": "&ofr", + "description": "Bad named entity: ofr without a semi-colon", + "output": [ + [ + "Character", + "&ofr" + ] + ] + }, + { + "input": "𝔬", + "description": "Named entity: ofr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd2c" + ] + ] + }, + { + "input": "&ogon", + "description": "Bad named entity: ogon without a semi-colon", + "output": [ + [ + "Character", + "&ogon" + ] + ] + }, + { + "input": "˛", + "description": "Named entity: ogon; with a semi-colon", + "output": [ + [ + "Character", + "\u02db" + ] + ] + }, + { + "input": "ò", + "description": "Named entity: ograve without a semi-colon", + "output": [ + [ + "Character", + "\u00f2" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ò", + "description": "Named entity: ograve; with a semi-colon", + "output": [ + [ + "Character", + "\u00f2" + ] + ] + }, + { + "input": "&ogt", + "description": "Bad named entity: ogt without a semi-colon", + "output": [ + [ + "Character", + "&ogt" + ] + ] + }, + { + "input": "⧁", + "description": "Named entity: ogt; with a semi-colon", + "output": [ + [ + "Character", + "\u29c1" + ] + ] + }, + { + "input": "&ohbar", + "description": "Bad named entity: ohbar without a semi-colon", + "output": [ + [ + "Character", + "&ohbar" + ] + ] + }, + { + "input": "⦵", + "description": "Named entity: ohbar; with a semi-colon", + "output": [ + [ + "Character", + "\u29b5" + ] + ] + }, + { + "input": "&ohm", + "description": "Bad named entity: ohm without a semi-colon", + "output": [ + [ + "Character", + "&ohm" + ] + ] + }, + { + "input": "Ω", + "description": "Named entity: ohm; with a semi-colon", + "output": [ + [ + "Character", + "\u03a9" + ] + ] + }, + { + "input": "&oint", + "description": "Bad named entity: oint without a semi-colon", + "output": [ + [ + "Character", + "&oint" + ] + ] + }, + { + "input": "∮", + "description": "Named entity: oint; with a semi-colon", + "output": [ + [ + "Character", + "\u222e" + ] + ] + }, + { + "input": "&olarr", + "description": "Bad named entity: olarr without a semi-colon", + "output": [ + [ + "Character", + "&olarr" + ] + ] + }, + { + "input": "↺", + "description": "Named entity: olarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21ba" + ] + ] + }, + { + "input": "&olcir", + "description": "Bad named entity: olcir without a semi-colon", + "output": [ + [ + "Character", + "&olcir" + ] + ] + }, + { + "input": "⦾", + "description": "Named entity: olcir; with a semi-colon", + "output": [ + [ + "Character", + "\u29be" + ] + ] + }, + { + "input": "&olcross", + "description": "Bad named entity: olcross without a semi-colon", + "output": [ + [ + "Character", + "&olcross" + ] + ] + }, + { + "input": "⦻", + "description": "Named entity: olcross; with a semi-colon", + "output": [ + [ + "Character", + "\u29bb" + ] + ] + }, + { + "input": "&oline", + "description": "Bad named entity: oline without a semi-colon", + "output": [ + [ + "Character", + "&oline" + ] + ] + }, + { + "input": "‾", + "description": "Named entity: oline; with a semi-colon", + "output": [ + [ + "Character", + "\u203e" + ] + ] + }, + { + "input": "&olt", + "description": "Bad named entity: olt without a semi-colon", + "output": [ + [ + "Character", + "&olt" + ] + ] + }, + { + "input": "⧀", + "description": "Named entity: olt; with a semi-colon", + "output": [ + [ + "Character", + "\u29c0" + ] + ] + }, + { + "input": "&omacr", + "description": "Bad named entity: omacr without a semi-colon", + "output": [ + [ + "Character", + "&omacr" + ] + ] + }, + { + "input": "ō", + "description": "Named entity: omacr; with a semi-colon", + "output": [ + [ + "Character", + "\u014d" + ] + ] + }, + { + "input": "&omega", + "description": "Bad named entity: omega without a semi-colon", + "output": [ + [ + "Character", + "&omega" + ] + ] + }, + { + "input": "ω", + "description": "Named entity: omega; with a semi-colon", + "output": [ + [ + "Character", + "\u03c9" + ] + ] + }, + { + "input": "&omicron", + "description": "Bad named entity: omicron without a semi-colon", + "output": [ + [ + "Character", + "&omicron" + ] + ] + }, + { + "input": "ο", + "description": "Named entity: omicron; with a semi-colon", + "output": [ + [ + "Character", + "\u03bf" + ] + ] + }, + { + "input": "&omid", + "description": "Bad named entity: omid without a semi-colon", + "output": [ + [ + "Character", + "&omid" + ] + ] + }, + { + "input": "⦶", + "description": "Named entity: omid; with a semi-colon", + "output": [ + [ + "Character", + "\u29b6" + ] + ] + }, + { + "input": "&ominus", + "description": "Bad named entity: ominus without a semi-colon", + "output": [ + [ + "Character", + "&ominus" + ] + ] + }, + { + "input": "⊖", + "description": "Named entity: ominus; with a semi-colon", + "output": [ + [ + "Character", + "\u2296" + ] + ] + }, + { + "input": "&oopf", + "description": "Bad named entity: oopf without a semi-colon", + "output": [ + [ + "Character", + "&oopf" + ] + ] + }, + { + "input": "𝕠", + "description": "Named entity: oopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd60" + ] + ] + }, + { + "input": "&opar", + "description": "Bad named entity: opar without a semi-colon", + "output": [ + [ + "Character", + "&opar" + ] + ] + }, + { + "input": "⦷", + "description": "Named entity: opar; with a semi-colon", + "output": [ + [ + "Character", + "\u29b7" + ] + ] + }, + { + "input": "&operp", + "description": "Bad named entity: operp without a semi-colon", + "output": [ + [ + "Character", + "&operp" + ] + ] + }, + { + "input": "⦹", + "description": "Named entity: operp; with a semi-colon", + "output": [ + [ + "Character", + "\u29b9" + ] + ] + }, + { + "input": "&oplus", + "description": "Bad named entity: oplus without a semi-colon", + "output": [ + [ + "Character", + "&oplus" + ] + ] + }, + { + "input": "⊕", + "description": "Named entity: oplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2295" + ] + ] + }, + { + "input": "&or", + "description": "Bad named entity: or without a semi-colon", + "output": [ + [ + "Character", + "&or" + ] + ] + }, + { + "input": "∨", + "description": "Named entity: or; with a semi-colon", + "output": [ + [ + "Character", + "\u2228" + ] + ] + }, + { + "input": "&orarr", + "description": "Bad named entity: orarr without a semi-colon", + "output": [ + [ + "Character", + "&orarr" + ] + ] + }, + { + "input": "↻", + "description": "Named entity: orarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21bb" + ] + ] + }, + { + "input": "&ord", + "description": "Bad named entity: ord without a semi-colon", + "output": [ + [ + "Character", + "&ord" + ] + ] + }, + { + "input": "⩝", + "description": "Named entity: ord; with a semi-colon", + "output": [ + [ + "Character", + "\u2a5d" + ] + ] + }, + { + "input": "&order", + "description": "Bad named entity: order without a semi-colon", + "output": [ + [ + "Character", + "&order" + ] + ] + }, + { + "input": "ℴ", + "description": "Named entity: order; with a semi-colon", + "output": [ + [ + "Character", + "\u2134" + ] + ] + }, + { + "input": "&orderof", + "description": "Bad named entity: orderof without a semi-colon", + "output": [ + [ + "Character", + "&orderof" + ] + ] + }, + { + "input": "ℴ", + "description": "Named entity: orderof; with a semi-colon", + "output": [ + [ + "Character", + "\u2134" + ] + ] + }, + { + "input": "ª", + "description": "Named entity: ordf without a semi-colon", + "output": [ + [ + "Character", + "\u00aa" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "ª", + "description": "Named entity: ordf; with a semi-colon", + "output": [ + [ + "Character", + "\u00aa" + ] + ] + }, + { + "input": "º", + "description": "Named entity: ordm without a semi-colon", + "output": [ + [ + "Character", + "\u00ba" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "º", + "description": "Named entity: ordm; with a semi-colon", + "output": [ + [ + "Character", + "\u00ba" + ] + ] + }, + { + "input": "&origof", + "description": "Bad named entity: origof without a semi-colon", + "output": [ + [ + "Character", + "&origof" + ] + ] + }, + { + "input": "⊶", + "description": "Named entity: origof; with a semi-colon", + "output": [ + [ + "Character", + "\u22b6" + ] + ] + }, + { + "input": "&oror", + "description": "Bad named entity: oror without a semi-colon", + "output": [ + [ + "Character", + "&oror" + ] + ] + }, + { + "input": "⩖", + "description": "Named entity: oror; with a semi-colon", + "output": [ + [ + "Character", + "\u2a56" + ] + ] + }, + { + "input": "&orslope", + "description": "Bad named entity: orslope without a semi-colon", + "output": [ + [ + "Character", + "&orslope" + ] + ] + }, + { + "input": "⩗", + "description": "Named entity: orslope; with a semi-colon", + "output": [ + [ + "Character", + "\u2a57" + ] + ] + }, + { + "input": "&orv", + "description": "Bad named entity: orv without a semi-colon", + "output": [ + [ + "Character", + "&orv" + ] + ] + }, + { + "input": "⩛", + "description": "Named entity: orv; with a semi-colon", + "output": [ + [ + "Character", + "\u2a5b" + ] + ] + }, + { + "input": "&oscr", + "description": "Bad named entity: oscr without a semi-colon", + "output": [ + [ + "Character", + "&oscr" + ] + ] + }, + { + "input": "ℴ", + "description": "Named entity: oscr; with a semi-colon", + "output": [ + [ + "Character", + "\u2134" + ] + ] + }, + { + "input": "ø", + "description": "Named entity: oslash without a semi-colon", + "output": [ + [ + "Character", + "\u00f8" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ø", + "description": "Named entity: oslash; with a semi-colon", + "output": [ + [ + "Character", + "\u00f8" + ] + ] + }, + { + "input": "&osol", + "description": "Bad named entity: osol without a semi-colon", + "output": [ + [ + "Character", + "&osol" + ] + ] + }, + { + "input": "⊘", + "description": "Named entity: osol; with a semi-colon", + "output": [ + [ + "Character", + "\u2298" + ] + ] + }, + { + "input": "õ", + "description": "Named entity: otilde without a semi-colon", + "output": [ + [ + "Character", + "\u00f5" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "õ", + "description": "Named entity: otilde; with a semi-colon", + "output": [ + [ + "Character", + "\u00f5" + ] + ] + }, + { + "input": "&otimes", + "description": "Bad named entity: otimes without a semi-colon", + "output": [ + [ + "Character", + "&otimes" + ] + ] + }, + { + "input": "⊗", + "description": "Named entity: otimes; with a semi-colon", + "output": [ + [ + "Character", + "\u2297" + ] + ] + }, + { + "input": "&otimesas", + "description": "Bad named entity: otimesas without a semi-colon", + "output": [ + [ + "Character", + "&otimesas" + ] + ] + }, + { + "input": "⨶", + "description": "Named entity: otimesas; with a semi-colon", + "output": [ + [ + "Character", + "\u2a36" + ] + ] + }, + { + "input": "ö", + "description": "Named entity: ouml without a semi-colon", + "output": [ + [ + "Character", + "\u00f6" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "ö", + "description": "Named entity: ouml; with a semi-colon", + "output": [ + [ + "Character", + "\u00f6" + ] + ] + }, + { + "input": "&ovbar", + "description": "Bad named entity: ovbar without a semi-colon", + "output": [ + [ + "Character", + "&ovbar" + ] + ] + }, + { + "input": "⌽", + "description": "Named entity: ovbar; with a semi-colon", + "output": [ + [ + "Character", + "\u233d" + ] + ] + }, + { + "input": "&par", + "description": "Bad named entity: par without a semi-colon", + "output": [ + [ + "Character", + "&par" + ] + ] + }, + { + "input": "∥", + "description": "Named entity: par; with a semi-colon", + "output": [ + [ + "Character", + "\u2225" + ] + ] + }, + { + "input": "¶", + "description": "Named entity: para without a semi-colon", + "output": [ + [ + "Character", + "\u00b6" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "¶", + "description": "Named entity: para; with a semi-colon", + "output": [ + [ + "Character", + "\u00b6" + ] + ] + }, + { + "input": "∥", + "description": "Named entity: parallel; with a semi-colon", + "output": [ + [ + "Character", + "\u2225" + ] + ] + }, + { + "input": "&parsim", + "description": "Bad named entity: parsim without a semi-colon", + "output": [ + [ + "Character", + "&parsim" + ] + ] + }, + { + "input": "⫳", + "description": "Named entity: parsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2af3" + ] + ] + }, + { + "input": "&parsl", + "description": "Bad named entity: parsl without a semi-colon", + "output": [ + [ + "Character", + "&parsl" + ] + ] + }, + { + "input": "⫽", + "description": "Named entity: parsl; with a semi-colon", + "output": [ + [ + "Character", + "\u2afd" + ] + ] + }, + { + "input": "&part", + "description": "Bad named entity: part without a semi-colon", + "output": [ + [ + "Character", + "&part" + ] + ] + }, + { + "input": "∂", + "description": "Named entity: part; with a semi-colon", + "output": [ + [ + "Character", + "\u2202" + ] + ] + }, + { + "input": "&pcy", + "description": "Bad named entity: pcy without a semi-colon", + "output": [ + [ + "Character", + "&pcy" + ] + ] + }, + { + "input": "п", + "description": "Named entity: pcy; with a semi-colon", + "output": [ + [ + "Character", + "\u043f" + ] + ] + }, + { + "input": "&percnt", + "description": "Bad named entity: percnt without a semi-colon", + "output": [ + [ + "Character", + "&percnt" + ] + ] + }, + { + "input": "%", + "description": "Named entity: percnt; with a semi-colon", + "output": [ + [ + "Character", + "%" + ] + ] + }, + { + "input": "&period", + "description": "Bad named entity: period without a semi-colon", + "output": [ + [ + "Character", + "&period" + ] + ] + }, + { + "input": ".", + "description": "Named entity: period; with a semi-colon", + "output": [ + [ + "Character", + "." + ] + ] + }, + { + "input": "&permil", + "description": "Bad named entity: permil without a semi-colon", + "output": [ + [ + "Character", + "&permil" + ] + ] + }, + { + "input": "‰", + "description": "Named entity: permil; with a semi-colon", + "output": [ + [ + "Character", + "\u2030" + ] + ] + }, + { + "input": "&perp", + "description": "Bad named entity: perp without a semi-colon", + "output": [ + [ + "Character", + "&perp" + ] + ] + }, + { + "input": "⊥", + "description": "Named entity: perp; with a semi-colon", + "output": [ + [ + "Character", + "\u22a5" + ] + ] + }, + { + "input": "&pertenk", + "description": "Bad named entity: pertenk without a semi-colon", + "output": [ + [ + "Character", + "&pertenk" + ] + ] + }, + { + "input": "‱", + "description": "Named entity: pertenk; with a semi-colon", + "output": [ + [ + "Character", + "\u2031" + ] + ] + }, + { + "input": "&pfr", + "description": "Bad named entity: pfr without a semi-colon", + "output": [ + [ + "Character", + "&pfr" + ] + ] + }, + { + "input": "𝔭", + "description": "Named entity: pfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd2d" + ] + ] + }, + { + "input": "&phi", + "description": "Bad named entity: phi without a semi-colon", + "output": [ + [ + "Character", + "&phi" + ] + ] + }, + { + "input": "φ", + "description": "Named entity: phi; with a semi-colon", + "output": [ + [ + "Character", + "\u03c6" + ] + ] + }, + { + "input": "&phiv", + "description": "Bad named entity: phiv without a semi-colon", + "output": [ + [ + "Character", + "&phiv" + ] + ] + }, + { + "input": "ϕ", + "description": "Named entity: phiv; with a semi-colon", + "output": [ + [ + "Character", + "\u03d5" + ] + ] + }, + { + "input": "&phmmat", + "description": "Bad named entity: phmmat without a semi-colon", + "output": [ + [ + "Character", + "&phmmat" + ] + ] + }, + { + "input": "ℳ", + "description": "Named entity: phmmat; with a semi-colon", + "output": [ + [ + "Character", + "\u2133" + ] + ] + }, + { + "input": "&phone", + "description": "Bad named entity: phone without a semi-colon", + "output": [ + [ + "Character", + "&phone" + ] + ] + }, + { + "input": "☎", + "description": "Named entity: phone; with a semi-colon", + "output": [ + [ + "Character", + "\u260e" + ] + ] + }, + { + "input": "&pi", + "description": "Bad named entity: pi without a semi-colon", + "output": [ + [ + "Character", + "&pi" + ] + ] + }, + { + "input": "π", + "description": "Named entity: pi; with a semi-colon", + "output": [ + [ + "Character", + "\u03c0" + ] + ] + }, + { + "input": "&pitchfork", + "description": "Bad named entity: pitchfork without a semi-colon", + "output": [ + [ + "Character", + "&pitchfork" + ] + ] + }, + { + "input": "⋔", + "description": "Named entity: pitchfork; with a semi-colon", + "output": [ + [ + "Character", + "\u22d4" + ] + ] + }, + { + "input": "&piv", + "description": "Bad named entity: piv without a semi-colon", + "output": [ + [ + "Character", + "&piv" + ] + ] + }, + { + "input": "ϖ", + "description": "Named entity: piv; with a semi-colon", + "output": [ + [ + "Character", + "\u03d6" + ] + ] + }, + { + "input": "&planck", + "description": "Bad named entity: planck without a semi-colon", + "output": [ + [ + "Character", + "&planck" + ] + ] + }, + { + "input": "ℏ", + "description": "Named entity: planck; with a semi-colon", + "output": [ + [ + "Character", + "\u210f" + ] + ] + }, + { + "input": "&planckh", + "description": "Bad named entity: planckh without a semi-colon", + "output": [ + [ + "Character", + "&planckh" + ] + ] + }, + { + "input": "ℎ", + "description": "Named entity: planckh; with a semi-colon", + "output": [ + [ + "Character", + "\u210e" + ] + ] + }, + { + "input": "&plankv", + "description": "Bad named entity: plankv without a semi-colon", + "output": [ + [ + "Character", + "&plankv" + ] + ] + }, + { + "input": "ℏ", + "description": "Named entity: plankv; with a semi-colon", + "output": [ + [ + "Character", + "\u210f" + ] + ] + }, + { + "input": "&plus", + "description": "Bad named entity: plus without a semi-colon", + "output": [ + [ + "Character", + "&plus" + ] + ] + }, + { + "input": "+", + "description": "Named entity: plus; with a semi-colon", + "output": [ + [ + "Character", + "+" + ] + ] + }, + { + "input": "&plusacir", + "description": "Bad named entity: plusacir without a semi-colon", + "output": [ + [ + "Character", + "&plusacir" + ] + ] + }, + { + "input": "⨣", + "description": "Named entity: plusacir; with a semi-colon", + "output": [ + [ + "Character", + "\u2a23" + ] + ] + }, + { + "input": "&plusb", + "description": "Bad named entity: plusb without a semi-colon", + "output": [ + [ + "Character", + "&plusb" + ] + ] + }, + { + "input": "⊞", + "description": "Named entity: plusb; with a semi-colon", + "output": [ + [ + "Character", + "\u229e" + ] + ] + }, + { + "input": "&pluscir", + "description": "Bad named entity: pluscir without a semi-colon", + "output": [ + [ + "Character", + "&pluscir" + ] + ] + }, + { + "input": "⨢", + "description": "Named entity: pluscir; with a semi-colon", + "output": [ + [ + "Character", + "\u2a22" + ] + ] + }, + { + "input": "&plusdo", + "description": "Bad named entity: plusdo without a semi-colon", + "output": [ + [ + "Character", + "&plusdo" + ] + ] + }, + { + "input": "∔", + "description": "Named entity: plusdo; with a semi-colon", + "output": [ + [ + "Character", + "\u2214" + ] + ] + }, + { + "input": "&plusdu", + "description": "Bad named entity: plusdu without a semi-colon", + "output": [ + [ + "Character", + "&plusdu" + ] + ] + }, + { + "input": "⨥", + "description": "Named entity: plusdu; with a semi-colon", + "output": [ + [ + "Character", + "\u2a25" + ] + ] + }, + { + "input": "&pluse", + "description": "Bad named entity: pluse without a semi-colon", + "output": [ + [ + "Character", + "&pluse" + ] + ] + }, + { + "input": "⩲", + "description": "Named entity: pluse; with a semi-colon", + "output": [ + [ + "Character", + "\u2a72" + ] + ] + }, + { + "input": "±", + "description": "Named entity: plusmn without a semi-colon", + "output": [ + [ + "Character", + "\u00b1" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "±", + "description": "Named entity: plusmn; with a semi-colon", + "output": [ + [ + "Character", + "\u00b1" + ] + ] + }, + { + "input": "&plussim", + "description": "Bad named entity: plussim without a semi-colon", + "output": [ + [ + "Character", + "&plussim" + ] + ] + }, + { + "input": "⨦", + "description": "Named entity: plussim; with a semi-colon", + "output": [ + [ + "Character", + "\u2a26" + ] + ] + }, + { + "input": "&plustwo", + "description": "Bad named entity: plustwo without a semi-colon", + "output": [ + [ + "Character", + "&plustwo" + ] + ] + }, + { + "input": "⨧", + "description": "Named entity: plustwo; with a semi-colon", + "output": [ + [ + "Character", + "\u2a27" + ] + ] + }, + { + "input": "&pm", + "description": "Bad named entity: pm without a semi-colon", + "output": [ + [ + "Character", + "&pm" + ] + ] + }, + { + "input": "±", + "description": "Named entity: pm; with a semi-colon", + "output": [ + [ + "Character", + "\u00b1" + ] + ] + }, + { + "input": "&pointint", + "description": "Bad named entity: pointint without a semi-colon", + "output": [ + [ + "Character", + "&pointint" + ] + ] + }, + { + "input": "⨕", + "description": "Named entity: pointint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a15" + ] + ] + }, + { + "input": "&popf", + "description": "Bad named entity: popf without a semi-colon", + "output": [ + [ + "Character", + "&popf" + ] + ] + }, + { + "input": "𝕡", + "description": "Named entity: popf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd61" + ] + ] + }, + { + "input": "£", + "description": "Named entity: pound without a semi-colon", + "output": [ + [ + "Character", + "\u00a3" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "£", + "description": "Named entity: pound; with a semi-colon", + "output": [ + [ + "Character", + "\u00a3" + ] + ] + }, + { + "input": "&pr", + "description": "Bad named entity: pr without a semi-colon", + "output": [ + [ + "Character", + "&pr" + ] + ] + }, + { + "input": "≺", + "description": "Named entity: pr; with a semi-colon", + "output": [ + [ + "Character", + "\u227a" + ] + ] + }, + { + "input": "&prE", + "description": "Bad named entity: prE without a semi-colon", + "output": [ + [ + "Character", + "&prE" + ] + ] + }, + { + "input": "⪳", + "description": "Named entity: prE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab3" + ] + ] + }, + { + "input": "&prap", + "description": "Bad named entity: prap without a semi-colon", + "output": [ + [ + "Character", + "&prap" + ] + ] + }, + { + "input": "⪷", + "description": "Named entity: prap; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab7" + ] + ] + }, + { + "input": "&prcue", + "description": "Bad named entity: prcue without a semi-colon", + "output": [ + [ + "Character", + "&prcue" + ] + ] + }, + { + "input": "≼", + "description": "Named entity: prcue; with a semi-colon", + "output": [ + [ + "Character", + "\u227c" + ] + ] + }, + { + "input": "&pre", + "description": "Bad named entity: pre without a semi-colon", + "output": [ + [ + "Character", + "&pre" + ] + ] + }, + { + "input": "⪯", + "description": "Named entity: pre; with a semi-colon", + "output": [ + [ + "Character", + "\u2aaf" + ] + ] + }, + { + "input": "&prec", + "description": "Bad named entity: prec without a semi-colon", + "output": [ + [ + "Character", + "&prec" + ] + ] + }, + { + "input": "≺", + "description": "Named entity: prec; with a semi-colon", + "output": [ + [ + "Character", + "\u227a" + ] + ] + }, + { + "input": "&precapprox", + "description": "Bad named entity: precapprox without a semi-colon", + "output": [ + [ + "Character", + "&precapprox" + ] + ] + }, + { + "input": "⪷", + "description": "Named entity: precapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab7" + ] + ] + }, + { + "input": "&preccurlyeq", + "description": "Bad named entity: preccurlyeq without a semi-colon", + "output": [ + [ + "Character", + "&preccurlyeq" + ] + ] + }, + { + "input": "≼", + "description": "Named entity: preccurlyeq; with a semi-colon", + "output": [ + [ + "Character", + "\u227c" + ] + ] + }, + { + "input": "&preceq", + "description": "Bad named entity: preceq without a semi-colon", + "output": [ + [ + "Character", + "&preceq" + ] + ] + }, + { + "input": "⪯", + "description": "Named entity: preceq; with a semi-colon", + "output": [ + [ + "Character", + "\u2aaf" + ] + ] + }, + { + "input": "&precnapprox", + "description": "Bad named entity: precnapprox without a semi-colon", + "output": [ + [ + "Character", + "&precnapprox" + ] + ] + }, + { + "input": "⪹", + "description": "Named entity: precnapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab9" + ] + ] + }, + { + "input": "&precneqq", + "description": "Bad named entity: precneqq without a semi-colon", + "output": [ + [ + "Character", + "&precneqq" + ] + ] + }, + { + "input": "⪵", + "description": "Named entity: precneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab5" + ] + ] + }, + { + "input": "&precnsim", + "description": "Bad named entity: precnsim without a semi-colon", + "output": [ + [ + "Character", + "&precnsim" + ] + ] + }, + { + "input": "⋨", + "description": "Named entity: precnsim; with a semi-colon", + "output": [ + [ + "Character", + "\u22e8" + ] + ] + }, + { + "input": "&precsim", + "description": "Bad named entity: precsim without a semi-colon", + "output": [ + [ + "Character", + "&precsim" + ] + ] + }, + { + "input": "≾", + "description": "Named entity: precsim; with a semi-colon", + "output": [ + [ + "Character", + "\u227e" + ] + ] + }, + { + "input": "&prime", + "description": "Bad named entity: prime without a semi-colon", + "output": [ + [ + "Character", + "&prime" + ] + ] + }, + { + "input": "′", + "description": "Named entity: prime; with a semi-colon", + "output": [ + [ + "Character", + "\u2032" + ] + ] + }, + { + "input": "&primes", + "description": "Bad named entity: primes without a semi-colon", + "output": [ + [ + "Character", + "&primes" + ] + ] + }, + { + "input": "ℙ", + "description": "Named entity: primes; with a semi-colon", + "output": [ + [ + "Character", + "\u2119" + ] + ] + }, + { + "input": "&prnE", + "description": "Bad named entity: prnE without a semi-colon", + "output": [ + [ + "Character", + "&prnE" + ] + ] + }, + { + "input": "⪵", + "description": "Named entity: prnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab5" + ] + ] + }, + { + "input": "&prnap", + "description": "Bad named entity: prnap without a semi-colon", + "output": [ + [ + "Character", + "&prnap" + ] + ] + }, + { + "input": "⪹", + "description": "Named entity: prnap; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab9" + ] + ] + }, + { + "input": "&prnsim", + "description": "Bad named entity: prnsim without a semi-colon", + "output": [ + [ + "Character", + "&prnsim" + ] + ] + }, + { + "input": "⋨", + "description": "Named entity: prnsim; with a semi-colon", + "output": [ + [ + "Character", + "\u22e8" + ] + ] + }, + { + "input": "&prod", + "description": "Bad named entity: prod without a semi-colon", + "output": [ + [ + "Character", + "&prod" + ] + ] + }, + { + "input": "∏", + "description": "Named entity: prod; with a semi-colon", + "output": [ + [ + "Character", + "\u220f" + ] + ] + }, + { + "input": "&profalar", + "description": "Bad named entity: profalar without a semi-colon", + "output": [ + [ + "Character", + "&profalar" + ] + ] + }, + { + "input": "⌮", + "description": "Named entity: profalar; with a semi-colon", + "output": [ + [ + "Character", + "\u232e" + ] + ] + }, + { + "input": "&profline", + "description": "Bad named entity: profline without a semi-colon", + "output": [ + [ + "Character", + "&profline" + ] + ] + }, + { + "input": "⌒", + "description": "Named entity: profline; with a semi-colon", + "output": [ + [ + "Character", + "\u2312" + ] + ] + }, + { + "input": "&profsurf", + "description": "Bad named entity: profsurf without a semi-colon", + "output": [ + [ + "Character", + "&profsurf" + ] + ] + }, + { + "input": "⌓", + "description": "Named entity: profsurf; with a semi-colon", + "output": [ + [ + "Character", + "\u2313" + ] + ] + }, + { + "input": "&prop", + "description": "Bad named entity: prop without a semi-colon", + "output": [ + [ + "Character", + "&prop" + ] + ] + }, + { + "input": "∝", + "description": "Named entity: prop; with a semi-colon", + "output": [ + [ + "Character", + "\u221d" + ] + ] + }, + { + "input": "&propto", + "description": "Bad named entity: propto without a semi-colon", + "output": [ + [ + "Character", + "&propto" + ] + ] + }, + { + "input": "∝", + "description": "Named entity: propto; with a semi-colon", + "output": [ + [ + "Character", + "\u221d" + ] + ] + }, + { + "input": "&prsim", + "description": "Bad named entity: prsim without a semi-colon", + "output": [ + [ + "Character", + "&prsim" + ] + ] + }, + { + "input": "≾", + "description": "Named entity: prsim; with a semi-colon", + "output": [ + [ + "Character", + "\u227e" + ] + ] + }, + { + "input": "&prurel", + "description": "Bad named entity: prurel without a semi-colon", + "output": [ + [ + "Character", + "&prurel" + ] + ] + }, + { + "input": "⊰", + "description": "Named entity: prurel; with a semi-colon", + "output": [ + [ + "Character", + "\u22b0" + ] + ] + }, + { + "input": "&pscr", + "description": "Bad named entity: pscr without a semi-colon", + "output": [ + [ + "Character", + "&pscr" + ] + ] + }, + { + "input": "𝓅", + "description": "Named entity: pscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc5" + ] + ] + }, + { + "input": "&psi", + "description": "Bad named entity: psi without a semi-colon", + "output": [ + [ + "Character", + "&psi" + ] + ] + }, + { + "input": "ψ", + "description": "Named entity: psi; with a semi-colon", + "output": [ + [ + "Character", + "\u03c8" + ] + ] + }, + { + "input": "&puncsp", + "description": "Bad named entity: puncsp without a semi-colon", + "output": [ + [ + "Character", + "&puncsp" + ] + ] + }, + { + "input": " ", + "description": "Named entity: puncsp; with a semi-colon", + "output": [ + [ + "Character", + "\u2008" + ] + ] + }, + { + "input": "&qfr", + "description": "Bad named entity: qfr without a semi-colon", + "output": [ + [ + "Character", + "&qfr" + ] + ] + }, + { + "input": "𝔮", + "description": "Named entity: qfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd2e" + ] + ] + }, + { + "input": "&qint", + "description": "Bad named entity: qint without a semi-colon", + "output": [ + [ + "Character", + "&qint" + ] + ] + }, + { + "input": "⨌", + "description": "Named entity: qint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a0c" + ] + ] + }, + { + "input": "&qopf", + "description": "Bad named entity: qopf without a semi-colon", + "output": [ + [ + "Character", + "&qopf" + ] + ] + }, + { + "input": "𝕢", + "description": "Named entity: qopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd62" + ] + ] + }, + { + "input": "&qprime", + "description": "Bad named entity: qprime without a semi-colon", + "output": [ + [ + "Character", + "&qprime" + ] + ] + }, + { + "input": "⁗", + "description": "Named entity: qprime; with a semi-colon", + "output": [ + [ + "Character", + "\u2057" + ] + ] + }, + { + "input": "&qscr", + "description": "Bad named entity: qscr without a semi-colon", + "output": [ + [ + "Character", + "&qscr" + ] + ] + }, + { + "input": "𝓆", + "description": "Named entity: qscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc6" + ] + ] + }, + { + "input": "&quaternions", + "description": "Bad named entity: quaternions without a semi-colon", + "output": [ + [ + "Character", + "&quaternions" + ] + ] + }, + { + "input": "ℍ", + "description": "Named entity: quaternions; with a semi-colon", + "output": [ + [ + "Character", + "\u210d" + ] + ] + }, + { + "input": "&quatint", + "description": "Bad named entity: quatint without a semi-colon", + "output": [ + [ + "Character", + "&quatint" + ] + ] + }, + { + "input": "⨖", + "description": "Named entity: quatint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a16" + ] + ] + }, + { + "input": "&quest", + "description": "Bad named entity: quest without a semi-colon", + "output": [ + [ + "Character", + "&quest" + ] + ] + }, + { + "input": "?", + "description": "Named entity: quest; with a semi-colon", + "output": [ + [ + "Character", + "?" + ] + ] + }, + { + "input": "&questeq", + "description": "Bad named entity: questeq without a semi-colon", + "output": [ + [ + "Character", + "&questeq" + ] + ] + }, + { + "input": "≟", + "description": "Named entity: questeq; with a semi-colon", + "output": [ + [ + "Character", + "\u225f" + ] + ] + }, + { + "input": """, + "description": "Named entity: quot without a semi-colon", + "output": [ + [ + "Character", + "\"" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": """, + "description": "Named entity: quot; with a semi-colon", + "output": [ + [ + "Character", + "\"" + ] + ] + }, + { + "input": "&rAarr", + "description": "Bad named entity: rAarr without a semi-colon", + "output": [ + [ + "Character", + "&rAarr" + ] + ] + }, + { + "input": "⇛", + "description": "Named entity: rAarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21db" + ] + ] + }, + { + "input": "&rArr", + "description": "Bad named entity: rArr without a semi-colon", + "output": [ + [ + "Character", + "&rArr" + ] + ] + }, + { + "input": "⇒", + "description": "Named entity: rArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d2" + ] + ] + }, + { + "input": "&rAtail", + "description": "Bad named entity: rAtail without a semi-colon", + "output": [ + [ + "Character", + "&rAtail" + ] + ] + }, + { + "input": "⤜", + "description": "Named entity: rAtail; with a semi-colon", + "output": [ + [ + "Character", + "\u291c" + ] + ] + }, + { + "input": "&rBarr", + "description": "Bad named entity: rBarr without a semi-colon", + "output": [ + [ + "Character", + "&rBarr" + ] + ] + }, + { + "input": "⤏", + "description": "Named entity: rBarr; with a semi-colon", + "output": [ + [ + "Character", + "\u290f" + ] + ] + }, + { + "input": "&rHar", + "description": "Bad named entity: rHar without a semi-colon", + "output": [ + [ + "Character", + "&rHar" + ] + ] + }, + { + "input": "⥤", + "description": "Named entity: rHar; with a semi-colon", + "output": [ + [ + "Character", + "\u2964" + ] + ] + }, + { + "input": "&race", + "description": "Bad named entity: race without a semi-colon", + "output": [ + [ + "Character", + "&race" + ] + ] + }, + { + "input": "∽̱", + "description": "Named entity: race; with a semi-colon", + "output": [ + [ + "Character", + "\u223d\u0331" + ] + ] + }, + { + "input": "&racute", + "description": "Bad named entity: racute without a semi-colon", + "output": [ + [ + "Character", + "&racute" + ] + ] + }, + { + "input": "ŕ", + "description": "Named entity: racute; with a semi-colon", + "output": [ + [ + "Character", + "\u0155" + ] + ] + }, + { + "input": "&radic", + "description": "Bad named entity: radic without a semi-colon", + "output": [ + [ + "Character", + "&radic" + ] + ] + }, + { + "input": "√", + "description": "Named entity: radic; with a semi-colon", + "output": [ + [ + "Character", + "\u221a" + ] + ] + }, + { + "input": "&raemptyv", + "description": "Bad named entity: raemptyv without a semi-colon", + "output": [ + [ + "Character", + "&raemptyv" + ] + ] + }, + { + "input": "⦳", + "description": "Named entity: raemptyv; with a semi-colon", + "output": [ + [ + "Character", + "\u29b3" + ] + ] + }, + { + "input": "&rang", + "description": "Bad named entity: rang without a semi-colon", + "output": [ + [ + "Character", + "&rang" + ] + ] + }, + { + "input": "⟩", + "description": "Named entity: rang; with a semi-colon", + "output": [ + [ + "Character", + "\u27e9" + ] + ] + }, + { + "input": "&rangd", + "description": "Bad named entity: rangd without a semi-colon", + "output": [ + [ + "Character", + "&rangd" + ] + ] + }, + { + "input": "⦒", + "description": "Named entity: rangd; with a semi-colon", + "output": [ + [ + "Character", + "\u2992" + ] + ] + }, + { + "input": "&range", + "description": "Bad named entity: range without a semi-colon", + "output": [ + [ + "Character", + "&range" + ] + ] + }, + { + "input": "⦥", + "description": "Named entity: range; with a semi-colon", + "output": [ + [ + "Character", + "\u29a5" + ] + ] + }, + { + "input": "&rangle", + "description": "Bad named entity: rangle without a semi-colon", + "output": [ + [ + "Character", + "&rangle" + ] + ] + }, + { + "input": "⟩", + "description": "Named entity: rangle; with a semi-colon", + "output": [ + [ + "Character", + "\u27e9" + ] + ] + }, + { + "input": "»", + "description": "Named entity: raquo without a semi-colon", + "output": [ + [ + "Character", + "\u00bb" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "»", + "description": "Named entity: raquo; with a semi-colon", + "output": [ + [ + "Character", + "\u00bb" + ] + ] + }, + { + "input": "&rarr", + "description": "Bad named entity: rarr without a semi-colon", + "output": [ + [ + "Character", + "&rarr" + ] + ] + }, + { + "input": "→", + "description": "Named entity: rarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2192" + ] + ] + }, + { + "input": "&rarrap", + "description": "Bad named entity: rarrap without a semi-colon", + "output": [ + [ + "Character", + "&rarrap" + ] + ] + }, + { + "input": "⥵", + "description": "Named entity: rarrap; with a semi-colon", + "output": [ + [ + "Character", + "\u2975" + ] + ] + }, + { + "input": "&rarrb", + "description": "Bad named entity: rarrb without a semi-colon", + "output": [ + [ + "Character", + "&rarrb" + ] + ] + }, + { + "input": "⇥", + "description": "Named entity: rarrb; with a semi-colon", + "output": [ + [ + "Character", + "\u21e5" + ] + ] + }, + { + "input": "&rarrbfs", + "description": "Bad named entity: rarrbfs without a semi-colon", + "output": [ + [ + "Character", + "&rarrbfs" + ] + ] + }, + { + "input": "⤠", + "description": "Named entity: rarrbfs; with a semi-colon", + "output": [ + [ + "Character", + "\u2920" + ] + ] + }, + { + "input": "&rarrc", + "description": "Bad named entity: rarrc without a semi-colon", + "output": [ + [ + "Character", + "&rarrc" + ] + ] + }, + { + "input": "⤳", + "description": "Named entity: rarrc; with a semi-colon", + "output": [ + [ + "Character", + "\u2933" + ] + ] + }, + { + "input": "&rarrfs", + "description": "Bad named entity: rarrfs without a semi-colon", + "output": [ + [ + "Character", + "&rarrfs" + ] + ] + }, + { + "input": "⤞", + "description": "Named entity: rarrfs; with a semi-colon", + "output": [ + [ + "Character", + "\u291e" + ] + ] + }, + { + "input": "&rarrhk", + "description": "Bad named entity: rarrhk without a semi-colon", + "output": [ + [ + "Character", + "&rarrhk" + ] + ] + }, + { + "input": "↪", + "description": "Named entity: rarrhk; with a semi-colon", + "output": [ + [ + "Character", + "\u21aa" + ] + ] + }, + { + "input": "&rarrlp", + "description": "Bad named entity: rarrlp without a semi-colon", + "output": [ + [ + "Character", + "&rarrlp" + ] + ] + }, + { + "input": "↬", + "description": "Named entity: rarrlp; with a semi-colon", + "output": [ + [ + "Character", + "\u21ac" + ] + ] + }, + { + "input": "&rarrpl", + "description": "Bad named entity: rarrpl without a semi-colon", + "output": [ + [ + "Character", + "&rarrpl" + ] + ] + }, + { + "input": "⥅", + "description": "Named entity: rarrpl; with a semi-colon", + "output": [ + [ + "Character", + "\u2945" + ] + ] + }, + { + "input": "&rarrsim", + "description": "Bad named entity: rarrsim without a semi-colon", + "output": [ + [ + "Character", + "&rarrsim" + ] + ] + }, + { + "input": "⥴", + "description": "Named entity: rarrsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2974" + ] + ] + }, + { + "input": "&rarrtl", + "description": "Bad named entity: rarrtl without a semi-colon", + "output": [ + [ + "Character", + "&rarrtl" + ] + ] + }, + { + "input": "↣", + "description": "Named entity: rarrtl; with a semi-colon", + "output": [ + [ + "Character", + "\u21a3" + ] + ] + }, + { + "input": "&rarrw", + "description": "Bad named entity: rarrw without a semi-colon", + "output": [ + [ + "Character", + "&rarrw" + ] + ] + }, + { + "input": "↝", + "description": "Named entity: rarrw; with a semi-colon", + "output": [ + [ + "Character", + "\u219d" + ] + ] + }, + { + "input": "&ratail", + "description": "Bad named entity: ratail without a semi-colon", + "output": [ + [ + "Character", + "&ratail" + ] + ] + }, + { + "input": "⤚", + "description": "Named entity: ratail; with a semi-colon", + "output": [ + [ + "Character", + "\u291a" + ] + ] + }, + { + "input": "&ratio", + "description": "Bad named entity: ratio without a semi-colon", + "output": [ + [ + "Character", + "&ratio" + ] + ] + }, + { + "input": "∶", + "description": "Named entity: ratio; with a semi-colon", + "output": [ + [ + "Character", + "\u2236" + ] + ] + }, + { + "input": "&rationals", + "description": "Bad named entity: rationals without a semi-colon", + "output": [ + [ + "Character", + "&rationals" + ] + ] + }, + { + "input": "ℚ", + "description": "Named entity: rationals; with a semi-colon", + "output": [ + [ + "Character", + "\u211a" + ] + ] + }, + { + "input": "&rbarr", + "description": "Bad named entity: rbarr without a semi-colon", + "output": [ + [ + "Character", + "&rbarr" + ] + ] + }, + { + "input": "⤍", + "description": "Named entity: rbarr; with a semi-colon", + "output": [ + [ + "Character", + "\u290d" + ] + ] + }, + { + "input": "&rbbrk", + "description": "Bad named entity: rbbrk without a semi-colon", + "output": [ + [ + "Character", + "&rbbrk" + ] + ] + }, + { + "input": "❳", + "description": "Named entity: rbbrk; with a semi-colon", + "output": [ + [ + "Character", + "\u2773" + ] + ] + }, + { + "input": "&rbrace", + "description": "Bad named entity: rbrace without a semi-colon", + "output": [ + [ + "Character", + "&rbrace" + ] + ] + }, + { + "input": "}", + "description": "Named entity: rbrace; with a semi-colon", + "output": [ + [ + "Character", + "}" + ] + ] + }, + { + "input": "&rbrack", + "description": "Bad named entity: rbrack without a semi-colon", + "output": [ + [ + "Character", + "&rbrack" + ] + ] + }, + { + "input": "]", + "description": "Named entity: rbrack; with a semi-colon", + "output": [ + [ + "Character", + "]" + ] + ] + }, + { + "input": "&rbrke", + "description": "Bad named entity: rbrke without a semi-colon", + "output": [ + [ + "Character", + "&rbrke" + ] + ] + }, + { + "input": "⦌", + "description": "Named entity: rbrke; with a semi-colon", + "output": [ + [ + "Character", + "\u298c" + ] + ] + }, + { + "input": "&rbrksld", + "description": "Bad named entity: rbrksld without a semi-colon", + "output": [ + [ + "Character", + "&rbrksld" + ] + ] + }, + { + "input": "⦎", + "description": "Named entity: rbrksld; with a semi-colon", + "output": [ + [ + "Character", + "\u298e" + ] + ] + }, + { + "input": "&rbrkslu", + "description": "Bad named entity: rbrkslu without a semi-colon", + "output": [ + [ + "Character", + "&rbrkslu" + ] + ] + }, + { + "input": "⦐", + "description": "Named entity: rbrkslu; with a semi-colon", + "output": [ + [ + "Character", + "\u2990" + ] + ] + }, + { + "input": "&rcaron", + "description": "Bad named entity: rcaron without a semi-colon", + "output": [ + [ + "Character", + "&rcaron" + ] + ] + }, + { + "input": "ř", + "description": "Named entity: rcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0159" + ] + ] + }, + { + "input": "&rcedil", + "description": "Bad named entity: rcedil without a semi-colon", + "output": [ + [ + "Character", + "&rcedil" + ] + ] + }, + { + "input": "ŗ", + "description": "Named entity: rcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0157" + ] + ] + }, + { + "input": "&rceil", + "description": "Bad named entity: rceil without a semi-colon", + "output": [ + [ + "Character", + "&rceil" + ] + ] + }, + { + "input": "⌉", + "description": "Named entity: rceil; with a semi-colon", + "output": [ + [ + "Character", + "\u2309" + ] + ] + }, + { + "input": "&rcub", + "description": "Bad named entity: rcub without a semi-colon", + "output": [ + [ + "Character", + "&rcub" + ] + ] + }, + { + "input": "}", + "description": "Named entity: rcub; with a semi-colon", + "output": [ + [ + "Character", + "}" + ] + ] + }, + { + "input": "&rcy", + "description": "Bad named entity: rcy without a semi-colon", + "output": [ + [ + "Character", + "&rcy" + ] + ] + }, + { + "input": "р", + "description": "Named entity: rcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0440" + ] + ] + }, + { + "input": "&rdca", + "description": "Bad named entity: rdca without a semi-colon", + "output": [ + [ + "Character", + "&rdca" + ] + ] + }, + { + "input": "⤷", + "description": "Named entity: rdca; with a semi-colon", + "output": [ + [ + "Character", + "\u2937" + ] + ] + }, + { + "input": "&rdldhar", + "description": "Bad named entity: rdldhar without a semi-colon", + "output": [ + [ + "Character", + "&rdldhar" + ] + ] + }, + { + "input": "⥩", + "description": "Named entity: rdldhar; with a semi-colon", + "output": [ + [ + "Character", + "\u2969" + ] + ] + }, + { + "input": "&rdquo", + "description": "Bad named entity: rdquo without a semi-colon", + "output": [ + [ + "Character", + "&rdquo" + ] + ] + }, + { + "input": "”", + "description": "Named entity: rdquo; with a semi-colon", + "output": [ + [ + "Character", + "\u201d" + ] + ] + }, + { + "input": "&rdquor", + "description": "Bad named entity: rdquor without a semi-colon", + "output": [ + [ + "Character", + "&rdquor" + ] + ] + }, + { + "input": "”", + "description": "Named entity: rdquor; with a semi-colon", + "output": [ + [ + "Character", + "\u201d" + ] + ] + }, + { + "input": "&rdsh", + "description": "Bad named entity: rdsh without a semi-colon", + "output": [ + [ + "Character", + "&rdsh" + ] + ] + }, + { + "input": "↳", + "description": "Named entity: rdsh; with a semi-colon", + "output": [ + [ + "Character", + "\u21b3" + ] + ] + }, + { + "input": "&real", + "description": "Bad named entity: real without a semi-colon", + "output": [ + [ + "Character", + "&real" + ] + ] + }, + { + "input": "ℜ", + "description": "Named entity: real; with a semi-colon", + "output": [ + [ + "Character", + "\u211c" + ] + ] + }, + { + "input": "&realine", + "description": "Bad named entity: realine without a semi-colon", + "output": [ + [ + "Character", + "&realine" + ] + ] + }, + { + "input": "ℛ", + "description": "Named entity: realine; with a semi-colon", + "output": [ + [ + "Character", + "\u211b" + ] + ] + }, + { + "input": "&realpart", + "description": "Bad named entity: realpart without a semi-colon", + "output": [ + [ + "Character", + "&realpart" + ] + ] + }, + { + "input": "ℜ", + "description": "Named entity: realpart; with a semi-colon", + "output": [ + [ + "Character", + "\u211c" + ] + ] + }, + { + "input": "&reals", + "description": "Bad named entity: reals without a semi-colon", + "output": [ + [ + "Character", + "&reals" + ] + ] + }, + { + "input": "ℝ", + "description": "Named entity: reals; with a semi-colon", + "output": [ + [ + "Character", + "\u211d" + ] + ] + }, + { + "input": "&rect", + "description": "Bad named entity: rect without a semi-colon", + "output": [ + [ + "Character", + "&rect" + ] + ] + }, + { + "input": "▭", + "description": "Named entity: rect; with a semi-colon", + "output": [ + [ + "Character", + "\u25ad" + ] + ] + }, + { + "input": "®", + "description": "Named entity: reg without a semi-colon", + "output": [ + [ + "Character", + "\u00ae" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "®", + "description": "Named entity: reg; with a semi-colon", + "output": [ + [ + "Character", + "\u00ae" + ] + ] + }, + { + "input": "&rfisht", + "description": "Bad named entity: rfisht without a semi-colon", + "output": [ + [ + "Character", + "&rfisht" + ] + ] + }, + { + "input": "⥽", + "description": "Named entity: rfisht; with a semi-colon", + "output": [ + [ + "Character", + "\u297d" + ] + ] + }, + { + "input": "&rfloor", + "description": "Bad named entity: rfloor without a semi-colon", + "output": [ + [ + "Character", + "&rfloor" + ] + ] + }, + { + "input": "⌋", + "description": "Named entity: rfloor; with a semi-colon", + "output": [ + [ + "Character", + "\u230b" + ] + ] + }, + { + "input": "&rfr", + "description": "Bad named entity: rfr without a semi-colon", + "output": [ + [ + "Character", + "&rfr" + ] + ] + }, + { + "input": "𝔯", + "description": "Named entity: rfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd2f" + ] + ] + }, + { + "input": "&rhard", + "description": "Bad named entity: rhard without a semi-colon", + "output": [ + [ + "Character", + "&rhard" + ] + ] + }, + { + "input": "⇁", + "description": "Named entity: rhard; with a semi-colon", + "output": [ + [ + "Character", + "\u21c1" + ] + ] + }, + { + "input": "&rharu", + "description": "Bad named entity: rharu without a semi-colon", + "output": [ + [ + "Character", + "&rharu" + ] + ] + }, + { + "input": "⇀", + "description": "Named entity: rharu; with a semi-colon", + "output": [ + [ + "Character", + "\u21c0" + ] + ] + }, + { + "input": "&rharul", + "description": "Bad named entity: rharul without a semi-colon", + "output": [ + [ + "Character", + "&rharul" + ] + ] + }, + { + "input": "⥬", + "description": "Named entity: rharul; with a semi-colon", + "output": [ + [ + "Character", + "\u296c" + ] + ] + }, + { + "input": "&rho", + "description": "Bad named entity: rho without a semi-colon", + "output": [ + [ + "Character", + "&rho" + ] + ] + }, + { + "input": "ρ", + "description": "Named entity: rho; with a semi-colon", + "output": [ + [ + "Character", + "\u03c1" + ] + ] + }, + { + "input": "&rhov", + "description": "Bad named entity: rhov without a semi-colon", + "output": [ + [ + "Character", + "&rhov" + ] + ] + }, + { + "input": "ϱ", + "description": "Named entity: rhov; with a semi-colon", + "output": [ + [ + "Character", + "\u03f1" + ] + ] + }, + { + "input": "&rightarrow", + "description": "Bad named entity: rightarrow without a semi-colon", + "output": [ + [ + "Character", + "&rightarrow" + ] + ] + }, + { + "input": "→", + "description": "Named entity: rightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2192" + ] + ] + }, + { + "input": "&rightarrowtail", + "description": "Bad named entity: rightarrowtail without a semi-colon", + "output": [ + [ + "Character", + "&rightarrowtail" + ] + ] + }, + { + "input": "↣", + "description": "Named entity: rightarrowtail; with a semi-colon", + "output": [ + [ + "Character", + "\u21a3" + ] + ] + }, + { + "input": "&rightharpoondown", + "description": "Bad named entity: rightharpoondown without a semi-colon", + "output": [ + [ + "Character", + "&rightharpoondown" + ] + ] + }, + { + "input": "⇁", + "description": "Named entity: rightharpoondown; with a semi-colon", + "output": [ + [ + "Character", + "\u21c1" + ] + ] + }, + { + "input": "&rightharpoonup", + "description": "Bad named entity: rightharpoonup without a semi-colon", + "output": [ + [ + "Character", + "&rightharpoonup" + ] + ] + }, + { + "input": "⇀", + "description": "Named entity: rightharpoonup; with a semi-colon", + "output": [ + [ + "Character", + "\u21c0" + ] + ] + }, + { + "input": "&rightleftarrows", + "description": "Bad named entity: rightleftarrows without a semi-colon", + "output": [ + [ + "Character", + "&rightleftarrows" + ] + ] + }, + { + "input": "⇄", + "description": "Named entity: rightleftarrows; with a semi-colon", + "output": [ + [ + "Character", + "\u21c4" + ] + ] + }, + { + "input": "&rightleftharpoons", + "description": "Bad named entity: rightleftharpoons without a semi-colon", + "output": [ + [ + "Character", + "&rightleftharpoons" + ] + ] + }, + { + "input": "⇌", + "description": "Named entity: rightleftharpoons; with a semi-colon", + "output": [ + [ + "Character", + "\u21cc" + ] + ] + }, + { + "input": "&rightrightarrows", + "description": "Bad named entity: rightrightarrows without a semi-colon", + "output": [ + [ + "Character", + "&rightrightarrows" + ] + ] + }, + { + "input": "⇉", + "description": "Named entity: rightrightarrows; with a semi-colon", + "output": [ + [ + "Character", + "\u21c9" + ] + ] + }, + { + "input": "&rightsquigarrow", + "description": "Bad named entity: rightsquigarrow without a semi-colon", + "output": [ + [ + "Character", + "&rightsquigarrow" + ] + ] + }, + { + "input": "↝", + "description": "Named entity: rightsquigarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u219d" + ] + ] + }, + { + "input": "&rightthreetimes", + "description": "Bad named entity: rightthreetimes without a semi-colon", + "output": [ + [ + "Character", + "&rightthreetimes" + ] + ] + }, + { + "input": "⋌", + "description": "Named entity: rightthreetimes; with a semi-colon", + "output": [ + [ + "Character", + "\u22cc" + ] + ] + }, + { + "input": "&ring", + "description": "Bad named entity: ring without a semi-colon", + "output": [ + [ + "Character", + "&ring" + ] + ] + }, + { + "input": "˚", + "description": "Named entity: ring; with a semi-colon", + "output": [ + [ + "Character", + "\u02da" + ] + ] + }, + { + "input": "&risingdotseq", + "description": "Bad named entity: risingdotseq without a semi-colon", + "output": [ + [ + "Character", + "&risingdotseq" + ] + ] + }, + { + "input": "≓", + "description": "Named entity: risingdotseq; with a semi-colon", + "output": [ + [ + "Character", + "\u2253" + ] + ] + }, + { + "input": "&rlarr", + "description": "Bad named entity: rlarr without a semi-colon", + "output": [ + [ + "Character", + "&rlarr" + ] + ] + }, + { + "input": "⇄", + "description": "Named entity: rlarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21c4" + ] + ] + }, + { + "input": "&rlhar", + "description": "Bad named entity: rlhar without a semi-colon", + "output": [ + [ + "Character", + "&rlhar" + ] + ] + }, + { + "input": "⇌", + "description": "Named entity: rlhar; with a semi-colon", + "output": [ + [ + "Character", + "\u21cc" + ] + ] + }, + { + "input": "&rlm", + "description": "Bad named entity: rlm without a semi-colon", + "output": [ + [ + "Character", + "&rlm" + ] + ] + }, + { + "input": "‏", + "description": "Named entity: rlm; with a semi-colon", + "output": [ + [ + "Character", + "\u200f" + ] + ] + }, + { + "input": "&rmoust", + "description": "Bad named entity: rmoust without a semi-colon", + "output": [ + [ + "Character", + "&rmoust" + ] + ] + }, + { + "input": "⎱", + "description": "Named entity: rmoust; with a semi-colon", + "output": [ + [ + "Character", + "\u23b1" + ] + ] + }, + { + "input": "&rmoustache", + "description": "Bad named entity: rmoustache without a semi-colon", + "output": [ + [ + "Character", + "&rmoustache" + ] + ] + }, + { + "input": "⎱", + "description": "Named entity: rmoustache; with a semi-colon", + "output": [ + [ + "Character", + "\u23b1" + ] + ] + }, + { + "input": "&rnmid", + "description": "Bad named entity: rnmid without a semi-colon", + "output": [ + [ + "Character", + "&rnmid" + ] + ] + }, + { + "input": "⫮", + "description": "Named entity: rnmid; with a semi-colon", + "output": [ + [ + "Character", + "\u2aee" + ] + ] + }, + { + "input": "&roang", + "description": "Bad named entity: roang without a semi-colon", + "output": [ + [ + "Character", + "&roang" + ] + ] + }, + { + "input": "⟭", + "description": "Named entity: roang; with a semi-colon", + "output": [ + [ + "Character", + "\u27ed" + ] + ] + }, + { + "input": "&roarr", + "description": "Bad named entity: roarr without a semi-colon", + "output": [ + [ + "Character", + "&roarr" + ] + ] + }, + { + "input": "⇾", + "description": "Named entity: roarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21fe" + ] + ] + }, + { + "input": "&robrk", + "description": "Bad named entity: robrk without a semi-colon", + "output": [ + [ + "Character", + "&robrk" + ] + ] + }, + { + "input": "⟧", + "description": "Named entity: robrk; with a semi-colon", + "output": [ + [ + "Character", + "\u27e7" + ] + ] + }, + { + "input": "&ropar", + "description": "Bad named entity: ropar without a semi-colon", + "output": [ + [ + "Character", + "&ropar" + ] + ] + }, + { + "input": "⦆", + "description": "Named entity: ropar; with a semi-colon", + "output": [ + [ + "Character", + "\u2986" + ] + ] + }, + { + "input": "&ropf", + "description": "Bad named entity: ropf without a semi-colon", + "output": [ + [ + "Character", + "&ropf" + ] + ] + }, + { + "input": "𝕣", + "description": "Named entity: ropf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd63" + ] + ] + }, + { + "input": "&roplus", + "description": "Bad named entity: roplus without a semi-colon", + "output": [ + [ + "Character", + "&roplus" + ] + ] + }, + { + "input": "⨮", + "description": "Named entity: roplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a2e" + ] + ] + }, + { + "input": "&rotimes", + "description": "Bad named entity: rotimes without a semi-colon", + "output": [ + [ + "Character", + "&rotimes" + ] + ] + }, + { + "input": "⨵", + "description": "Named entity: rotimes; with a semi-colon", + "output": [ + [ + "Character", + "\u2a35" + ] + ] + }, + { + "input": "&rpar", + "description": "Bad named entity: rpar without a semi-colon", + "output": [ + [ + "Character", + "&rpar" + ] + ] + }, + { + "input": ")", + "description": "Named entity: rpar; with a semi-colon", + "output": [ + [ + "Character", + ")" + ] + ] + }, + { + "input": "&rpargt", + "description": "Bad named entity: rpargt without a semi-colon", + "output": [ + [ + "Character", + "&rpargt" + ] + ] + }, + { + "input": "⦔", + "description": "Named entity: rpargt; with a semi-colon", + "output": [ + [ + "Character", + "\u2994" + ] + ] + }, + { + "input": "&rppolint", + "description": "Bad named entity: rppolint without a semi-colon", + "output": [ + [ + "Character", + "&rppolint" + ] + ] + }, + { + "input": "⨒", + "description": "Named entity: rppolint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a12" + ] + ] + }, + { + "input": "&rrarr", + "description": "Bad named entity: rrarr without a semi-colon", + "output": [ + [ + "Character", + "&rrarr" + ] + ] + }, + { + "input": "⇉", + "description": "Named entity: rrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21c9" + ] + ] + }, + { + "input": "&rsaquo", + "description": "Bad named entity: rsaquo without a semi-colon", + "output": [ + [ + "Character", + "&rsaquo" + ] + ] + }, + { + "input": "›", + "description": "Named entity: rsaquo; with a semi-colon", + "output": [ + [ + "Character", + "\u203a" + ] + ] + }, + { + "input": "&rscr", + "description": "Bad named entity: rscr without a semi-colon", + "output": [ + [ + "Character", + "&rscr" + ] + ] + }, + { + "input": "𝓇", + "description": "Named entity: rscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc7" + ] + ] + }, + { + "input": "&rsh", + "description": "Bad named entity: rsh without a semi-colon", + "output": [ + [ + "Character", + "&rsh" + ] + ] + }, + { + "input": "↱", + "description": "Named entity: rsh; with a semi-colon", + "output": [ + [ + "Character", + "\u21b1" + ] + ] + }, + { + "input": "&rsqb", + "description": "Bad named entity: rsqb without a semi-colon", + "output": [ + [ + "Character", + "&rsqb" + ] + ] + }, + { + "input": "]", + "description": "Named entity: rsqb; with a semi-colon", + "output": [ + [ + "Character", + "]" + ] + ] + }, + { + "input": "&rsquo", + "description": "Bad named entity: rsquo without a semi-colon", + "output": [ + [ + "Character", + "&rsquo" + ] + ] + }, + { + "input": "’", + "description": "Named entity: rsquo; with a semi-colon", + "output": [ + [ + "Character", + "\u2019" + ] + ] + }, + { + "input": "&rsquor", + "description": "Bad named entity: rsquor without a semi-colon", + "output": [ + [ + "Character", + "&rsquor" + ] + ] + }, + { + "input": "’", + "description": "Named entity: rsquor; with a semi-colon", + "output": [ + [ + "Character", + "\u2019" + ] + ] + }, + { + "input": "&rthree", + "description": "Bad named entity: rthree without a semi-colon", + "output": [ + [ + "Character", + "&rthree" + ] + ] + }, + { + "input": "⋌", + "description": "Named entity: rthree; with a semi-colon", + "output": [ + [ + "Character", + "\u22cc" + ] + ] + }, + { + "input": "&rtimes", + "description": "Bad named entity: rtimes without a semi-colon", + "output": [ + [ + "Character", + "&rtimes" + ] + ] + }, + { + "input": "⋊", + "description": "Named entity: rtimes; with a semi-colon", + "output": [ + [ + "Character", + "\u22ca" + ] + ] + }, + { + "input": "&rtri", + "description": "Bad named entity: rtri without a semi-colon", + "output": [ + [ + "Character", + "&rtri" + ] + ] + }, + { + "input": "▹", + "description": "Named entity: rtri; with a semi-colon", + "output": [ + [ + "Character", + "\u25b9" + ] + ] + }, + { + "input": "&rtrie", + "description": "Bad named entity: rtrie without a semi-colon", + "output": [ + [ + "Character", + "&rtrie" + ] + ] + }, + { + "input": "⊵", + "description": "Named entity: rtrie; with a semi-colon", + "output": [ + [ + "Character", + "\u22b5" + ] + ] + }, + { + "input": "&rtrif", + "description": "Bad named entity: rtrif without a semi-colon", + "output": [ + [ + "Character", + "&rtrif" + ] + ] + }, + { + "input": "▸", + "description": "Named entity: rtrif; with a semi-colon", + "output": [ + [ + "Character", + "\u25b8" + ] + ] + }, + { + "input": "&rtriltri", + "description": "Bad named entity: rtriltri without a semi-colon", + "output": [ + [ + "Character", + "&rtriltri" + ] + ] + }, + { + "input": "⧎", + "description": "Named entity: rtriltri; with a semi-colon", + "output": [ + [ + "Character", + "\u29ce" + ] + ] + }, + { + "input": "&ruluhar", + "description": "Bad named entity: ruluhar without a semi-colon", + "output": [ + [ + "Character", + "&ruluhar" + ] + ] + }, + { + "input": "⥨", + "description": "Named entity: ruluhar; with a semi-colon", + "output": [ + [ + "Character", + "\u2968" + ] + ] + }, + { + "input": "&rx", + "description": "Bad named entity: rx without a semi-colon", + "output": [ + [ + "Character", + "&rx" + ] + ] + }, + { + "input": "℞", + "description": "Named entity: rx; with a semi-colon", + "output": [ + [ + "Character", + "\u211e" + ] + ] + }, + { + "input": "&sacute", + "description": "Bad named entity: sacute without a semi-colon", + "output": [ + [ + "Character", + "&sacute" + ] + ] + }, + { + "input": "ś", + "description": "Named entity: sacute; with a semi-colon", + "output": [ + [ + "Character", + "\u015b" + ] + ] + }, + { + "input": "&sbquo", + "description": "Bad named entity: sbquo without a semi-colon", + "output": [ + [ + "Character", + "&sbquo" + ] + ] + }, + { + "input": "‚", + "description": "Named entity: sbquo; with a semi-colon", + "output": [ + [ + "Character", + "\u201a" + ] + ] + }, + { + "input": "&sc", + "description": "Bad named entity: sc without a semi-colon", + "output": [ + [ + "Character", + "&sc" + ] + ] + }, + { + "input": "≻", + "description": "Named entity: sc; with a semi-colon", + "output": [ + [ + "Character", + "\u227b" + ] + ] + }, + { + "input": "&scE", + "description": "Bad named entity: scE without a semi-colon", + "output": [ + [ + "Character", + "&scE" + ] + ] + }, + { + "input": "⪴", + "description": "Named entity: scE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab4" + ] + ] + }, + { + "input": "&scap", + "description": "Bad named entity: scap without a semi-colon", + "output": [ + [ + "Character", + "&scap" + ] + ] + }, + { + "input": "⪸", + "description": "Named entity: scap; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab8" + ] + ] + }, + { + "input": "&scaron", + "description": "Bad named entity: scaron without a semi-colon", + "output": [ + [ + "Character", + "&scaron" + ] + ] + }, + { + "input": "š", + "description": "Named entity: scaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0161" + ] + ] + }, + { + "input": "&sccue", + "description": "Bad named entity: sccue without a semi-colon", + "output": [ + [ + "Character", + "&sccue" + ] + ] + }, + { + "input": "≽", + "description": "Named entity: sccue; with a semi-colon", + "output": [ + [ + "Character", + "\u227d" + ] + ] + }, + { + "input": "&sce", + "description": "Bad named entity: sce without a semi-colon", + "output": [ + [ + "Character", + "&sce" + ] + ] + }, + { + "input": "⪰", + "description": "Named entity: sce; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab0" + ] + ] + }, + { + "input": "&scedil", + "description": "Bad named entity: scedil without a semi-colon", + "output": [ + [ + "Character", + "&scedil" + ] + ] + }, + { + "input": "ş", + "description": "Named entity: scedil; with a semi-colon", + "output": [ + [ + "Character", + "\u015f" + ] + ] + }, + { + "input": "&scirc", + "description": "Bad named entity: scirc without a semi-colon", + "output": [ + [ + "Character", + "&scirc" + ] + ] + }, + { + "input": "ŝ", + "description": "Named entity: scirc; with a semi-colon", + "output": [ + [ + "Character", + "\u015d" + ] + ] + }, + { + "input": "&scnE", + "description": "Bad named entity: scnE without a semi-colon", + "output": [ + [ + "Character", + "&scnE" + ] + ] + }, + { + "input": "⪶", + "description": "Named entity: scnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab6" + ] + ] + }, + { + "input": "&scnap", + "description": "Bad named entity: scnap without a semi-colon", + "output": [ + [ + "Character", + "&scnap" + ] + ] + }, + { + "input": "⪺", + "description": "Named entity: scnap; with a semi-colon", + "output": [ + [ + "Character", + "\u2aba" + ] + ] + }, + { + "input": "&scnsim", + "description": "Bad named entity: scnsim without a semi-colon", + "output": [ + [ + "Character", + "&scnsim" + ] + ] + }, + { + "input": "⋩", + "description": "Named entity: scnsim; with a semi-colon", + "output": [ + [ + "Character", + "\u22e9" + ] + ] + }, + { + "input": "&scpolint", + "description": "Bad named entity: scpolint without a semi-colon", + "output": [ + [ + "Character", + "&scpolint" + ] + ] + }, + { + "input": "⨓", + "description": "Named entity: scpolint; with a semi-colon", + "output": [ + [ + "Character", + "\u2a13" + ] + ] + }, + { + "input": "&scsim", + "description": "Bad named entity: scsim without a semi-colon", + "output": [ + [ + "Character", + "&scsim" + ] + ] + }, + { + "input": "≿", + "description": "Named entity: scsim; with a semi-colon", + "output": [ + [ + "Character", + "\u227f" + ] + ] + }, + { + "input": "&scy", + "description": "Bad named entity: scy without a semi-colon", + "output": [ + [ + "Character", + "&scy" + ] + ] + }, + { + "input": "с", + "description": "Named entity: scy; with a semi-colon", + "output": [ + [ + "Character", + "\u0441" + ] + ] + }, + { + "input": "&sdot", + "description": "Bad named entity: sdot without a semi-colon", + "output": [ + [ + "Character", + "&sdot" + ] + ] + }, + { + "input": "⋅", + "description": "Named entity: sdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22c5" + ] + ] + }, + { + "input": "&sdotb", + "description": "Bad named entity: sdotb without a semi-colon", + "output": [ + [ + "Character", + "&sdotb" + ] + ] + }, + { + "input": "⊡", + "description": "Named entity: sdotb; with a semi-colon", + "output": [ + [ + "Character", + "\u22a1" + ] + ] + }, + { + "input": "&sdote", + "description": "Bad named entity: sdote without a semi-colon", + "output": [ + [ + "Character", + "&sdote" + ] + ] + }, + { + "input": "⩦", + "description": "Named entity: sdote; with a semi-colon", + "output": [ + [ + "Character", + "\u2a66" + ] + ] + }, + { + "input": "&seArr", + "description": "Bad named entity: seArr without a semi-colon", + "output": [ + [ + "Character", + "&seArr" + ] + ] + }, + { + "input": "⇘", + "description": "Named entity: seArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d8" + ] + ] + }, + { + "input": "&searhk", + "description": "Bad named entity: searhk without a semi-colon", + "output": [ + [ + "Character", + "&searhk" + ] + ] + }, + { + "input": "⤥", + "description": "Named entity: searhk; with a semi-colon", + "output": [ + [ + "Character", + "\u2925" + ] + ] + }, + { + "input": "&searr", + "description": "Bad named entity: searr without a semi-colon", + "output": [ + [ + "Character", + "&searr" + ] + ] + }, + { + "input": "↘", + "description": "Named entity: searr; with a semi-colon", + "output": [ + [ + "Character", + "\u2198" + ] + ] + }, + { + "input": "&searrow", + "description": "Bad named entity: searrow without a semi-colon", + "output": [ + [ + "Character", + "&searrow" + ] + ] + }, + { + "input": "↘", + "description": "Named entity: searrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2198" + ] + ] + }, + { + "input": "§", + "description": "Named entity: sect without a semi-colon", + "output": [ + [ + "Character", + "\u00a7" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "§", + "description": "Named entity: sect; with a semi-colon", + "output": [ + [ + "Character", + "\u00a7" + ] + ] + }, + { + "input": "&semi", + "description": "Bad named entity: semi without a semi-colon", + "output": [ + [ + "Character", + "&semi" + ] + ] + }, + { + "input": ";", + "description": "Named entity: semi; with a semi-colon", + "output": [ + [ + "Character", + ";" + ] + ] + }, + { + "input": "&seswar", + "description": "Bad named entity: seswar without a semi-colon", + "output": [ + [ + "Character", + "&seswar" + ] + ] + }, + { + "input": "⤩", + "description": "Named entity: seswar; with a semi-colon", + "output": [ + [ + "Character", + "\u2929" + ] + ] + }, + { + "input": "&setminus", + "description": "Bad named entity: setminus without a semi-colon", + "output": [ + [ + "Character", + "&setminus" + ] + ] + }, + { + "input": "∖", + "description": "Named entity: setminus; with a semi-colon", + "output": [ + [ + "Character", + "\u2216" + ] + ] + }, + { + "input": "&setmn", + "description": "Bad named entity: setmn without a semi-colon", + "output": [ + [ + "Character", + "&setmn" + ] + ] + }, + { + "input": "∖", + "description": "Named entity: setmn; with a semi-colon", + "output": [ + [ + "Character", + "\u2216" + ] + ] + }, + { + "input": "&sext", + "description": "Bad named entity: sext without a semi-colon", + "output": [ + [ + "Character", + "&sext" + ] + ] + }, + { + "input": "✶", + "description": "Named entity: sext; with a semi-colon", + "output": [ + [ + "Character", + "\u2736" + ] + ] + }, + { + "input": "&sfr", + "description": "Bad named entity: sfr without a semi-colon", + "output": [ + [ + "Character", + "&sfr" + ] + ] + }, + { + "input": "𝔰", + "description": "Named entity: sfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd30" + ] + ] + }, + { + "input": "&sfrown", + "description": "Bad named entity: sfrown without a semi-colon", + "output": [ + [ + "Character", + "&sfrown" + ] + ] + }, + { + "input": "⌢", + "description": "Named entity: sfrown; with a semi-colon", + "output": [ + [ + "Character", + "\u2322" + ] + ] + }, + { + "input": "&sharp", + "description": "Bad named entity: sharp without a semi-colon", + "output": [ + [ + "Character", + "&sharp" + ] + ] + }, + { + "input": "♯", + "description": "Named entity: sharp; with a semi-colon", + "output": [ + [ + "Character", + "\u266f" + ] + ] + }, + { + "input": "&shchcy", + "description": "Bad named entity: shchcy without a semi-colon", + "output": [ + [ + "Character", + "&shchcy" + ] + ] + }, + { + "input": "щ", + "description": "Named entity: shchcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0449" + ] + ] + }, + { + "input": "&shcy", + "description": "Bad named entity: shcy without a semi-colon", + "output": [ + [ + "Character", + "&shcy" + ] + ] + }, + { + "input": "ш", + "description": "Named entity: shcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0448" + ] + ] + }, + { + "input": "&shortmid", + "description": "Bad named entity: shortmid without a semi-colon", + "output": [ + [ + "Character", + "&shortmid" + ] + ] + }, + { + "input": "∣", + "description": "Named entity: shortmid; with a semi-colon", + "output": [ + [ + "Character", + "\u2223" + ] + ] + }, + { + "input": "&shortparallel", + "description": "Bad named entity: shortparallel without a semi-colon", + "output": [ + [ + "Character", + "&shortparallel" + ] + ] + }, + { + "input": "∥", + "description": "Named entity: shortparallel; with a semi-colon", + "output": [ + [ + "Character", + "\u2225" + ] + ] + }, + { + "input": "­", + "description": "Named entity: shy without a semi-colon", + "output": [ + [ + "Character", + "\u00ad" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "­", + "description": "Named entity: shy; with a semi-colon", + "output": [ + [ + "Character", + "\u00ad" + ] + ] + }, + { + "input": "&sigma", + "description": "Bad named entity: sigma without a semi-colon", + "output": [ + [ + "Character", + "&sigma" + ] + ] + }, + { + "input": "σ", + "description": "Named entity: sigma; with a semi-colon", + "output": [ + [ + "Character", + "\u03c3" + ] + ] + }, + { + "input": "&sigmaf", + "description": "Bad named entity: sigmaf without a semi-colon", + "output": [ + [ + "Character", + "&sigmaf" + ] + ] + }, + { + "input": "ς", + "description": "Named entity: sigmaf; with a semi-colon", + "output": [ + [ + "Character", + "\u03c2" + ] + ] + }, + { + "input": "&sigmav", + "description": "Bad named entity: sigmav without a semi-colon", + "output": [ + [ + "Character", + "&sigmav" + ] + ] + }, + { + "input": "ς", + "description": "Named entity: sigmav; with a semi-colon", + "output": [ + [ + "Character", + "\u03c2" + ] + ] + }, + { + "input": "&sim", + "description": "Bad named entity: sim without a semi-colon", + "output": [ + [ + "Character", + "&sim" + ] + ] + }, + { + "input": "∼", + "description": "Named entity: sim; with a semi-colon", + "output": [ + [ + "Character", + "\u223c" + ] + ] + }, + { + "input": "&simdot", + "description": "Bad named entity: simdot without a semi-colon", + "output": [ + [ + "Character", + "&simdot" + ] + ] + }, + { + "input": "⩪", + "description": "Named entity: simdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a6a" + ] + ] + }, + { + "input": "&sime", + "description": "Bad named entity: sime without a semi-colon", + "output": [ + [ + "Character", + "&sime" + ] + ] + }, + { + "input": "≃", + "description": "Named entity: sime; with a semi-colon", + "output": [ + [ + "Character", + "\u2243" + ] + ] + }, + { + "input": "&simeq", + "description": "Bad named entity: simeq without a semi-colon", + "output": [ + [ + "Character", + "&simeq" + ] + ] + }, + { + "input": "≃", + "description": "Named entity: simeq; with a semi-colon", + "output": [ + [ + "Character", + "\u2243" + ] + ] + }, + { + "input": "&simg", + "description": "Bad named entity: simg without a semi-colon", + "output": [ + [ + "Character", + "&simg" + ] + ] + }, + { + "input": "⪞", + "description": "Named entity: simg; with a semi-colon", + "output": [ + [ + "Character", + "\u2a9e" + ] + ] + }, + { + "input": "&simgE", + "description": "Bad named entity: simgE without a semi-colon", + "output": [ + [ + "Character", + "&simgE" + ] + ] + }, + { + "input": "⪠", + "description": "Named entity: simgE; with a semi-colon", + "output": [ + [ + "Character", + "\u2aa0" + ] + ] + }, + { + "input": "&siml", + "description": "Bad named entity: siml without a semi-colon", + "output": [ + [ + "Character", + "&siml" + ] + ] + }, + { + "input": "⪝", + "description": "Named entity: siml; with a semi-colon", + "output": [ + [ + "Character", + "\u2a9d" + ] + ] + }, + { + "input": "&simlE", + "description": "Bad named entity: simlE without a semi-colon", + "output": [ + [ + "Character", + "&simlE" + ] + ] + }, + { + "input": "⪟", + "description": "Named entity: simlE; with a semi-colon", + "output": [ + [ + "Character", + "\u2a9f" + ] + ] + }, + { + "input": "&simne", + "description": "Bad named entity: simne without a semi-colon", + "output": [ + [ + "Character", + "&simne" + ] + ] + }, + { + "input": "≆", + "description": "Named entity: simne; with a semi-colon", + "output": [ + [ + "Character", + "\u2246" + ] + ] + }, + { + "input": "&simplus", + "description": "Bad named entity: simplus without a semi-colon", + "output": [ + [ + "Character", + "&simplus" + ] + ] + }, + { + "input": "⨤", + "description": "Named entity: simplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a24" + ] + ] + }, + { + "input": "&simrarr", + "description": "Bad named entity: simrarr without a semi-colon", + "output": [ + [ + "Character", + "&simrarr" + ] + ] + }, + { + "input": "⥲", + "description": "Named entity: simrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2972" + ] + ] + }, + { + "input": "&slarr", + "description": "Bad named entity: slarr without a semi-colon", + "output": [ + [ + "Character", + "&slarr" + ] + ] + }, + { + "input": "←", + "description": "Named entity: slarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2190" + ] + ] + }, + { + "input": "&smallsetminus", + "description": "Bad named entity: smallsetminus without a semi-colon", + "output": [ + [ + "Character", + "&smallsetminus" + ] + ] + }, + { + "input": "∖", + "description": "Named entity: smallsetminus; with a semi-colon", + "output": [ + [ + "Character", + "\u2216" + ] + ] + }, + { + "input": "&smashp", + "description": "Bad named entity: smashp without a semi-colon", + "output": [ + [ + "Character", + "&smashp" + ] + ] + }, + { + "input": "⨳", + "description": "Named entity: smashp; with a semi-colon", + "output": [ + [ + "Character", + "\u2a33" + ] + ] + }, + { + "input": "&smeparsl", + "description": "Bad named entity: smeparsl without a semi-colon", + "output": [ + [ + "Character", + "&smeparsl" + ] + ] + }, + { + "input": "⧤", + "description": "Named entity: smeparsl; with a semi-colon", + "output": [ + [ + "Character", + "\u29e4" + ] + ] + }, + { + "input": "&smid", + "description": "Bad named entity: smid without a semi-colon", + "output": [ + [ + "Character", + "&smid" + ] + ] + }, + { + "input": "∣", + "description": "Named entity: smid; with a semi-colon", + "output": [ + [ + "Character", + "\u2223" + ] + ] + }, + { + "input": "&smile", + "description": "Bad named entity: smile without a semi-colon", + "output": [ + [ + "Character", + "&smile" + ] + ] + }, + { + "input": "⌣", + "description": "Named entity: smile; with a semi-colon", + "output": [ + [ + "Character", + "\u2323" + ] + ] + }, + { + "input": "&smt", + "description": "Bad named entity: smt without a semi-colon", + "output": [ + [ + "Character", + "&smt" + ] + ] + }, + { + "input": "⪪", + "description": "Named entity: smt; with a semi-colon", + "output": [ + [ + "Character", + "\u2aaa" + ] + ] + }, + { + "input": "&smte", + "description": "Bad named entity: smte without a semi-colon", + "output": [ + [ + "Character", + "&smte" + ] + ] + }, + { + "input": "⪬", + "description": "Named entity: smte; with a semi-colon", + "output": [ + [ + "Character", + "\u2aac" + ] + ] + }, + { + "input": "&smtes", + "description": "Bad named entity: smtes without a semi-colon", + "output": [ + [ + "Character", + "&smtes" + ] + ] + }, + { + "input": "⪬︀", + "description": "Named entity: smtes; with a semi-colon", + "output": [ + [ + "Character", + "\u2aac\ufe00" + ] + ] + }, + { + "input": "&softcy", + "description": "Bad named entity: softcy without a semi-colon", + "output": [ + [ + "Character", + "&softcy" + ] + ] + }, + { + "input": "ь", + "description": "Named entity: softcy; with a semi-colon", + "output": [ + [ + "Character", + "\u044c" + ] + ] + }, + { + "input": "&sol", + "description": "Bad named entity: sol without a semi-colon", + "output": [ + [ + "Character", + "&sol" + ] + ] + }, + { + "input": "/", + "description": "Named entity: sol; with a semi-colon", + "output": [ + [ + "Character", + "/" + ] + ] + }, + { + "input": "&solb", + "description": "Bad named entity: solb without a semi-colon", + "output": [ + [ + "Character", + "&solb" + ] + ] + }, + { + "input": "⧄", + "description": "Named entity: solb; with a semi-colon", + "output": [ + [ + "Character", + "\u29c4" + ] + ] + }, + { + "input": "&solbar", + "description": "Bad named entity: solbar without a semi-colon", + "output": [ + [ + "Character", + "&solbar" + ] + ] + }, + { + "input": "⌿", + "description": "Named entity: solbar; with a semi-colon", + "output": [ + [ + "Character", + "\u233f" + ] + ] + }, + { + "input": "&sopf", + "description": "Bad named entity: sopf without a semi-colon", + "output": [ + [ + "Character", + "&sopf" + ] + ] + }, + { + "input": "𝕤", + "description": "Named entity: sopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd64" + ] + ] + }, + { + "input": "&spades", + "description": "Bad named entity: spades without a semi-colon", + "output": [ + [ + "Character", + "&spades" + ] + ] + }, + { + "input": "♠", + "description": "Named entity: spades; with a semi-colon", + "output": [ + [ + "Character", + "\u2660" + ] + ] + }, + { + "input": "&spadesuit", + "description": "Bad named entity: spadesuit without a semi-colon", + "output": [ + [ + "Character", + "&spadesuit" + ] + ] + }, + { + "input": "♠", + "description": "Named entity: spadesuit; with a semi-colon", + "output": [ + [ + "Character", + "\u2660" + ] + ] + }, + { + "input": "&spar", + "description": "Bad named entity: spar without a semi-colon", + "output": [ + [ + "Character", + "&spar" + ] + ] + }, + { + "input": "∥", + "description": "Named entity: spar; with a semi-colon", + "output": [ + [ + "Character", + "\u2225" + ] + ] + }, + { + "input": "&sqcap", + "description": "Bad named entity: sqcap without a semi-colon", + "output": [ + [ + "Character", + "&sqcap" + ] + ] + }, + { + "input": "⊓", + "description": "Named entity: sqcap; with a semi-colon", + "output": [ + [ + "Character", + "\u2293" + ] + ] + }, + { + "input": "&sqcaps", + "description": "Bad named entity: sqcaps without a semi-colon", + "output": [ + [ + "Character", + "&sqcaps" + ] + ] + }, + { + "input": "⊓︀", + "description": "Named entity: sqcaps; with a semi-colon", + "output": [ + [ + "Character", + "\u2293\ufe00" + ] + ] + }, + { + "input": "&sqcup", + "description": "Bad named entity: sqcup without a semi-colon", + "output": [ + [ + "Character", + "&sqcup" + ] + ] + }, + { + "input": "⊔", + "description": "Named entity: sqcup; with a semi-colon", + "output": [ + [ + "Character", + "\u2294" + ] + ] + }, + { + "input": "&sqcups", + "description": "Bad named entity: sqcups without a semi-colon", + "output": [ + [ + "Character", + "&sqcups" + ] + ] + }, + { + "input": "⊔︀", + "description": "Named entity: sqcups; with a semi-colon", + "output": [ + [ + "Character", + "\u2294\ufe00" + ] + ] + }, + { + "input": "&sqsub", + "description": "Bad named entity: sqsub without a semi-colon", + "output": [ + [ + "Character", + "&sqsub" + ] + ] + }, + { + "input": "⊏", + "description": "Named entity: sqsub; with a semi-colon", + "output": [ + [ + "Character", + "\u228f" + ] + ] + }, + { + "input": "&sqsube", + "description": "Bad named entity: sqsube without a semi-colon", + "output": [ + [ + "Character", + "&sqsube" + ] + ] + }, + { + "input": "⊑", + "description": "Named entity: sqsube; with a semi-colon", + "output": [ + [ + "Character", + "\u2291" + ] + ] + }, + { + "input": "&sqsubset", + "description": "Bad named entity: sqsubset without a semi-colon", + "output": [ + [ + "Character", + "&sqsubset" + ] + ] + }, + { + "input": "⊏", + "description": "Named entity: sqsubset; with a semi-colon", + "output": [ + [ + "Character", + "\u228f" + ] + ] + }, + { + "input": "&sqsubseteq", + "description": "Bad named entity: sqsubseteq without a semi-colon", + "output": [ + [ + "Character", + "&sqsubseteq" + ] + ] + }, + { + "input": "⊑", + "description": "Named entity: sqsubseteq; with a semi-colon", + "output": [ + [ + "Character", + "\u2291" + ] + ] + }, + { + "input": "&sqsup", + "description": "Bad named entity: sqsup without a semi-colon", + "output": [ + [ + "Character", + "&sqsup" + ] + ] + }, + { + "input": "⊐", + "description": "Named entity: sqsup; with a semi-colon", + "output": [ + [ + "Character", + "\u2290" + ] + ] + }, + { + "input": "&sqsupe", + "description": "Bad named entity: sqsupe without a semi-colon", + "output": [ + [ + "Character", + "&sqsupe" + ] + ] + }, + { + "input": "⊒", + "description": "Named entity: sqsupe; with a semi-colon", + "output": [ + [ + "Character", + "\u2292" + ] + ] + }, + { + "input": "&sqsupset", + "description": "Bad named entity: sqsupset without a semi-colon", + "output": [ + [ + "Character", + "&sqsupset" + ] + ] + }, + { + "input": "⊐", + "description": "Named entity: sqsupset; with a semi-colon", + "output": [ + [ + "Character", + "\u2290" + ] + ] + }, + { + "input": "&sqsupseteq", + "description": "Bad named entity: sqsupseteq without a semi-colon", + "output": [ + [ + "Character", + "&sqsupseteq" + ] + ] + }, + { + "input": "⊒", + "description": "Named entity: sqsupseteq; with a semi-colon", + "output": [ + [ + "Character", + "\u2292" + ] + ] + }, + { + "input": "&squ", + "description": "Bad named entity: squ without a semi-colon", + "output": [ + [ + "Character", + "&squ" + ] + ] + }, + { + "input": "□", + "description": "Named entity: squ; with a semi-colon", + "output": [ + [ + "Character", + "\u25a1" + ] + ] + }, + { + "input": "&square", + "description": "Bad named entity: square without a semi-colon", + "output": [ + [ + "Character", + "&square" + ] + ] + }, + { + "input": "□", + "description": "Named entity: square; with a semi-colon", + "output": [ + [ + "Character", + "\u25a1" + ] + ] + }, + { + "input": "&squarf", + "description": "Bad named entity: squarf without a semi-colon", + "output": [ + [ + "Character", + "&squarf" + ] + ] + }, + { + "input": "▪", + "description": "Named entity: squarf; with a semi-colon", + "output": [ + [ + "Character", + "\u25aa" + ] + ] + }, + { + "input": "&squf", + "description": "Bad named entity: squf without a semi-colon", + "output": [ + [ + "Character", + "&squf" + ] + ] + }, + { + "input": "▪", + "description": "Named entity: squf; with a semi-colon", + "output": [ + [ + "Character", + "\u25aa" + ] + ] + }, + { + "input": "&srarr", + "description": "Bad named entity: srarr without a semi-colon", + "output": [ + [ + "Character", + "&srarr" + ] + ] + }, + { + "input": "→", + "description": "Named entity: srarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2192" + ] + ] + }, + { + "input": "&sscr", + "description": "Bad named entity: sscr without a semi-colon", + "output": [ + [ + "Character", + "&sscr" + ] + ] + }, + { + "input": "𝓈", + "description": "Named entity: sscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc8" + ] + ] + }, + { + "input": "&ssetmn", + "description": "Bad named entity: ssetmn without a semi-colon", + "output": [ + [ + "Character", + "&ssetmn" + ] + ] + }, + { + "input": "∖", + "description": "Named entity: ssetmn; with a semi-colon", + "output": [ + [ + "Character", + "\u2216" + ] + ] + }, + { + "input": "&ssmile", + "description": "Bad named entity: ssmile without a semi-colon", + "output": [ + [ + "Character", + "&ssmile" + ] + ] + }, + { + "input": "⌣", + "description": "Named entity: ssmile; with a semi-colon", + "output": [ + [ + "Character", + "\u2323" + ] + ] + }, + { + "input": "&sstarf", + "description": "Bad named entity: sstarf without a semi-colon", + "output": [ + [ + "Character", + "&sstarf" + ] + ] + }, + { + "input": "⋆", + "description": "Named entity: sstarf; with a semi-colon", + "output": [ + [ + "Character", + "\u22c6" + ] + ] + }, + { + "input": "&star", + "description": "Bad named entity: star without a semi-colon", + "output": [ + [ + "Character", + "&star" + ] + ] + }, + { + "input": "☆", + "description": "Named entity: star; with a semi-colon", + "output": [ + [ + "Character", + "\u2606" + ] + ] + }, + { + "input": "&starf", + "description": "Bad named entity: starf without a semi-colon", + "output": [ + [ + "Character", + "&starf" + ] + ] + }, + { + "input": "★", + "description": "Named entity: starf; with a semi-colon", + "output": [ + [ + "Character", + "\u2605" + ] + ] + }, + { + "input": "&straightepsilon", + "description": "Bad named entity: straightepsilon without a semi-colon", + "output": [ + [ + "Character", + "&straightepsilon" + ] + ] + }, + { + "input": "ϵ", + "description": "Named entity: straightepsilon; with a semi-colon", + "output": [ + [ + "Character", + "\u03f5" + ] + ] + }, + { + "input": "&straightphi", + "description": "Bad named entity: straightphi without a semi-colon", + "output": [ + [ + "Character", + "&straightphi" + ] + ] + }, + { + "input": "ϕ", + "description": "Named entity: straightphi; with a semi-colon", + "output": [ + [ + "Character", + "\u03d5" + ] + ] + }, + { + "input": "&strns", + "description": "Bad named entity: strns without a semi-colon", + "output": [ + [ + "Character", + "&strns" + ] + ] + }, + { + "input": "¯", + "description": "Named entity: strns; with a semi-colon", + "output": [ + [ + "Character", + "\u00af" + ] + ] + }, + { + "input": "&sub", + "description": "Bad named entity: sub without a semi-colon", + "output": [ + [ + "Character", + "&sub" + ] + ] + }, + { + "input": "⊂", + "description": "Named entity: sub; with a semi-colon", + "output": [ + [ + "Character", + "\u2282" + ] + ] + }, + { + "input": "&subE", + "description": "Bad named entity: subE without a semi-colon", + "output": [ + [ + "Character", + "&subE" + ] + ] + }, + { + "input": "⫅", + "description": "Named entity: subE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac5" + ] + ] + }, + { + "input": "&subdot", + "description": "Bad named entity: subdot without a semi-colon", + "output": [ + [ + "Character", + "&subdot" + ] + ] + }, + { + "input": "⪽", + "description": "Named entity: subdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2abd" + ] + ] + }, + { + "input": "&sube", + "description": "Bad named entity: sube without a semi-colon", + "output": [ + [ + "Character", + "&sube" + ] + ] + }, + { + "input": "⊆", + "description": "Named entity: sube; with a semi-colon", + "output": [ + [ + "Character", + "\u2286" + ] + ] + }, + { + "input": "&subedot", + "description": "Bad named entity: subedot without a semi-colon", + "output": [ + [ + "Character", + "&subedot" + ] + ] + }, + { + "input": "⫃", + "description": "Named entity: subedot; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac3" + ] + ] + }, + { + "input": "&submult", + "description": "Bad named entity: submult without a semi-colon", + "output": [ + [ + "Character", + "&submult" + ] + ] + }, + { + "input": "⫁", + "description": "Named entity: submult; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac1" + ] + ] + }, + { + "input": "&subnE", + "description": "Bad named entity: subnE without a semi-colon", + "output": [ + [ + "Character", + "&subnE" + ] + ] + }, + { + "input": "⫋", + "description": "Named entity: subnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2acb" + ] + ] + }, + { + "input": "&subne", + "description": "Bad named entity: subne without a semi-colon", + "output": [ + [ + "Character", + "&subne" + ] + ] + }, + { + "input": "⊊", + "description": "Named entity: subne; with a semi-colon", + "output": [ + [ + "Character", + "\u228a" + ] + ] + }, + { + "input": "&subplus", + "description": "Bad named entity: subplus without a semi-colon", + "output": [ + [ + "Character", + "&subplus" + ] + ] + }, + { + "input": "⪿", + "description": "Named entity: subplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2abf" + ] + ] + }, + { + "input": "&subrarr", + "description": "Bad named entity: subrarr without a semi-colon", + "output": [ + [ + "Character", + "&subrarr" + ] + ] + }, + { + "input": "⥹", + "description": "Named entity: subrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2979" + ] + ] + }, + { + "input": "&subset", + "description": "Bad named entity: subset without a semi-colon", + "output": [ + [ + "Character", + "&subset" + ] + ] + }, + { + "input": "⊂", + "description": "Named entity: subset; with a semi-colon", + "output": [ + [ + "Character", + "\u2282" + ] + ] + }, + { + "input": "&subseteq", + "description": "Bad named entity: subseteq without a semi-colon", + "output": [ + [ + "Character", + "&subseteq" + ] + ] + }, + { + "input": "⊆", + "description": "Named entity: subseteq; with a semi-colon", + "output": [ + [ + "Character", + "\u2286" + ] + ] + }, + { + "input": "&subseteqq", + "description": "Bad named entity: subseteqq without a semi-colon", + "output": [ + [ + "Character", + "&subseteqq" + ] + ] + }, + { + "input": "⫅", + "description": "Named entity: subseteqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac5" + ] + ] + }, + { + "input": "&subsetneq", + "description": "Bad named entity: subsetneq without a semi-colon", + "output": [ + [ + "Character", + "&subsetneq" + ] + ] + }, + { + "input": "⊊", + "description": "Named entity: subsetneq; with a semi-colon", + "output": [ + [ + "Character", + "\u228a" + ] + ] + }, + { + "input": "&subsetneqq", + "description": "Bad named entity: subsetneqq without a semi-colon", + "output": [ + [ + "Character", + "&subsetneqq" + ] + ] + }, + { + "input": "⫋", + "description": "Named entity: subsetneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2acb" + ] + ] + }, + { + "input": "&subsim", + "description": "Bad named entity: subsim without a semi-colon", + "output": [ + [ + "Character", + "&subsim" + ] + ] + }, + { + "input": "⫇", + "description": "Named entity: subsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac7" + ] + ] + }, + { + "input": "&subsub", + "description": "Bad named entity: subsub without a semi-colon", + "output": [ + [ + "Character", + "&subsub" + ] + ] + }, + { + "input": "⫕", + "description": "Named entity: subsub; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad5" + ] + ] + }, + { + "input": "&subsup", + "description": "Bad named entity: subsup without a semi-colon", + "output": [ + [ + "Character", + "&subsup" + ] + ] + }, + { + "input": "⫓", + "description": "Named entity: subsup; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad3" + ] + ] + }, + { + "input": "&succ", + "description": "Bad named entity: succ without a semi-colon", + "output": [ + [ + "Character", + "&succ" + ] + ] + }, + { + "input": "≻", + "description": "Named entity: succ; with a semi-colon", + "output": [ + [ + "Character", + "\u227b" + ] + ] + }, + { + "input": "&succapprox", + "description": "Bad named entity: succapprox without a semi-colon", + "output": [ + [ + "Character", + "&succapprox" + ] + ] + }, + { + "input": "⪸", + "description": "Named entity: succapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab8" + ] + ] + }, + { + "input": "&succcurlyeq", + "description": "Bad named entity: succcurlyeq without a semi-colon", + "output": [ + [ + "Character", + "&succcurlyeq" + ] + ] + }, + { + "input": "≽", + "description": "Named entity: succcurlyeq; with a semi-colon", + "output": [ + [ + "Character", + "\u227d" + ] + ] + }, + { + "input": "&succeq", + "description": "Bad named entity: succeq without a semi-colon", + "output": [ + [ + "Character", + "&succeq" + ] + ] + }, + { + "input": "⪰", + "description": "Named entity: succeq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab0" + ] + ] + }, + { + "input": "&succnapprox", + "description": "Bad named entity: succnapprox without a semi-colon", + "output": [ + [ + "Character", + "&succnapprox" + ] + ] + }, + { + "input": "⪺", + "description": "Named entity: succnapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2aba" + ] + ] + }, + { + "input": "&succneqq", + "description": "Bad named entity: succneqq without a semi-colon", + "output": [ + [ + "Character", + "&succneqq" + ] + ] + }, + { + "input": "⪶", + "description": "Named entity: succneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ab6" + ] + ] + }, + { + "input": "&succnsim", + "description": "Bad named entity: succnsim without a semi-colon", + "output": [ + [ + "Character", + "&succnsim" + ] + ] + }, + { + "input": "⋩", + "description": "Named entity: succnsim; with a semi-colon", + "output": [ + [ + "Character", + "\u22e9" + ] + ] + }, + { + "input": "&succsim", + "description": "Bad named entity: succsim without a semi-colon", + "output": [ + [ + "Character", + "&succsim" + ] + ] + }, + { + "input": "≿", + "description": "Named entity: succsim; with a semi-colon", + "output": [ + [ + "Character", + "\u227f" + ] + ] + }, + { + "input": "&sum", + "description": "Bad named entity: sum without a semi-colon", + "output": [ + [ + "Character", + "&sum" + ] + ] + }, + { + "input": "∑", + "description": "Named entity: sum; with a semi-colon", + "output": [ + [ + "Character", + "\u2211" + ] + ] + }, + { + "input": "&sung", + "description": "Bad named entity: sung without a semi-colon", + "output": [ + [ + "Character", + "&sung" + ] + ] + }, + { + "input": "♪", + "description": "Named entity: sung; with a semi-colon", + "output": [ + [ + "Character", + "\u266a" + ] + ] + }, + { + "input": "&sup", + "description": "Bad named entity: sup without a semi-colon", + "output": [ + [ + "Character", + "&sup" + ] + ] + }, + { + "input": "¹", + "description": "Named entity: sup1 without a semi-colon", + "output": [ + [ + "Character", + "\u00b9" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "¹", + "description": "Named entity: sup1; with a semi-colon", + "output": [ + [ + "Character", + "\u00b9" + ] + ] + }, + { + "input": "²", + "description": "Named entity: sup2 without a semi-colon", + "output": [ + [ + "Character", + "\u00b2" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "²", + "description": "Named entity: sup2; with a semi-colon", + "output": [ + [ + "Character", + "\u00b2" + ] + ] + }, + { + "input": "³", + "description": "Named entity: sup3 without a semi-colon", + "output": [ + [ + "Character", + "\u00b3" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "³", + "description": "Named entity: sup3; with a semi-colon", + "output": [ + [ + "Character", + "\u00b3" + ] + ] + }, + { + "input": "⊃", + "description": "Named entity: sup; with a semi-colon", + "output": [ + [ + "Character", + "\u2283" + ] + ] + }, + { + "input": "&supE", + "description": "Bad named entity: supE without a semi-colon", + "output": [ + [ + "Character", + "&supE" + ] + ] + }, + { + "input": "⫆", + "description": "Named entity: supE; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac6" + ] + ] + }, + { + "input": "&supdot", + "description": "Bad named entity: supdot without a semi-colon", + "output": [ + [ + "Character", + "&supdot" + ] + ] + }, + { + "input": "⪾", + "description": "Named entity: supdot; with a semi-colon", + "output": [ + [ + "Character", + "\u2abe" + ] + ] + }, + { + "input": "&supdsub", + "description": "Bad named entity: supdsub without a semi-colon", + "output": [ + [ + "Character", + "&supdsub" + ] + ] + }, + { + "input": "⫘", + "description": "Named entity: supdsub; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad8" + ] + ] + }, + { + "input": "&supe", + "description": "Bad named entity: supe without a semi-colon", + "output": [ + [ + "Character", + "&supe" + ] + ] + }, + { + "input": "⊇", + "description": "Named entity: supe; with a semi-colon", + "output": [ + [ + "Character", + "\u2287" + ] + ] + }, + { + "input": "&supedot", + "description": "Bad named entity: supedot without a semi-colon", + "output": [ + [ + "Character", + "&supedot" + ] + ] + }, + { + "input": "⫄", + "description": "Named entity: supedot; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac4" + ] + ] + }, + { + "input": "&suphsol", + "description": "Bad named entity: suphsol without a semi-colon", + "output": [ + [ + "Character", + "&suphsol" + ] + ] + }, + { + "input": "⟉", + "description": "Named entity: suphsol; with a semi-colon", + "output": [ + [ + "Character", + "\u27c9" + ] + ] + }, + { + "input": "&suphsub", + "description": "Bad named entity: suphsub without a semi-colon", + "output": [ + [ + "Character", + "&suphsub" + ] + ] + }, + { + "input": "⫗", + "description": "Named entity: suphsub; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad7" + ] + ] + }, + { + "input": "&suplarr", + "description": "Bad named entity: suplarr without a semi-colon", + "output": [ + [ + "Character", + "&suplarr" + ] + ] + }, + { + "input": "⥻", + "description": "Named entity: suplarr; with a semi-colon", + "output": [ + [ + "Character", + "\u297b" + ] + ] + }, + { + "input": "&supmult", + "description": "Bad named entity: supmult without a semi-colon", + "output": [ + [ + "Character", + "&supmult" + ] + ] + }, + { + "input": "⫂", + "description": "Named entity: supmult; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac2" + ] + ] + }, + { + "input": "&supnE", + "description": "Bad named entity: supnE without a semi-colon", + "output": [ + [ + "Character", + "&supnE" + ] + ] + }, + { + "input": "⫌", + "description": "Named entity: supnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2acc" + ] + ] + }, + { + "input": "&supne", + "description": "Bad named entity: supne without a semi-colon", + "output": [ + [ + "Character", + "&supne" + ] + ] + }, + { + "input": "⊋", + "description": "Named entity: supne; with a semi-colon", + "output": [ + [ + "Character", + "\u228b" + ] + ] + }, + { + "input": "&supplus", + "description": "Bad named entity: supplus without a semi-colon", + "output": [ + [ + "Character", + "&supplus" + ] + ] + }, + { + "input": "⫀", + "description": "Named entity: supplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac0" + ] + ] + }, + { + "input": "&supset", + "description": "Bad named entity: supset without a semi-colon", + "output": [ + [ + "Character", + "&supset" + ] + ] + }, + { + "input": "⊃", + "description": "Named entity: supset; with a semi-colon", + "output": [ + [ + "Character", + "\u2283" + ] + ] + }, + { + "input": "&supseteq", + "description": "Bad named entity: supseteq without a semi-colon", + "output": [ + [ + "Character", + "&supseteq" + ] + ] + }, + { + "input": "⊇", + "description": "Named entity: supseteq; with a semi-colon", + "output": [ + [ + "Character", + "\u2287" + ] + ] + }, + { + "input": "&supseteqq", + "description": "Bad named entity: supseteqq without a semi-colon", + "output": [ + [ + "Character", + "&supseteqq" + ] + ] + }, + { + "input": "⫆", + "description": "Named entity: supseteqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac6" + ] + ] + }, + { + "input": "&supsetneq", + "description": "Bad named entity: supsetneq without a semi-colon", + "output": [ + [ + "Character", + "&supsetneq" + ] + ] + }, + { + "input": "⊋", + "description": "Named entity: supsetneq; with a semi-colon", + "output": [ + [ + "Character", + "\u228b" + ] + ] + }, + { + "input": "&supsetneqq", + "description": "Bad named entity: supsetneqq without a semi-colon", + "output": [ + [ + "Character", + "&supsetneqq" + ] + ] + }, + { + "input": "⫌", + "description": "Named entity: supsetneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2acc" + ] + ] + }, + { + "input": "&supsim", + "description": "Bad named entity: supsim without a semi-colon", + "output": [ + [ + "Character", + "&supsim" + ] + ] + }, + { + "input": "⫈", + "description": "Named entity: supsim; with a semi-colon", + "output": [ + [ + "Character", + "\u2ac8" + ] + ] + }, + { + "input": "&supsub", + "description": "Bad named entity: supsub without a semi-colon", + "output": [ + [ + "Character", + "&supsub" + ] + ] + }, + { + "input": "⫔", + "description": "Named entity: supsub; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad4" + ] + ] + }, + { + "input": "&supsup", + "description": "Bad named entity: supsup without a semi-colon", + "output": [ + [ + "Character", + "&supsup" + ] + ] + }, + { + "input": "⫖", + "description": "Named entity: supsup; with a semi-colon", + "output": [ + [ + "Character", + "\u2ad6" + ] + ] + }, + { + "input": "&swArr", + "description": "Bad named entity: swArr without a semi-colon", + "output": [ + [ + "Character", + "&swArr" + ] + ] + }, + { + "input": "⇙", + "description": "Named entity: swArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d9" + ] + ] + }, + { + "input": "&swarhk", + "description": "Bad named entity: swarhk without a semi-colon", + "output": [ + [ + "Character", + "&swarhk" + ] + ] + }, + { + "input": "⤦", + "description": "Named entity: swarhk; with a semi-colon", + "output": [ + [ + "Character", + "\u2926" + ] + ] + }, + { + "input": "&swarr", + "description": "Bad named entity: swarr without a semi-colon", + "output": [ + [ + "Character", + "&swarr" + ] + ] + }, + { + "input": "↙", + "description": "Named entity: swarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2199" + ] + ] + }, + { + "input": "&swarrow", + "description": "Bad named entity: swarrow without a semi-colon", + "output": [ + [ + "Character", + "&swarrow" + ] + ] + }, + { + "input": "↙", + "description": "Named entity: swarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2199" + ] + ] + }, + { + "input": "&swnwar", + "description": "Bad named entity: swnwar without a semi-colon", + "output": [ + [ + "Character", + "&swnwar" + ] + ] + }, + { + "input": "⤪", + "description": "Named entity: swnwar; with a semi-colon", + "output": [ + [ + "Character", + "\u292a" + ] + ] + }, + { + "input": "ß", + "description": "Named entity: szlig without a semi-colon", + "output": [ + [ + "Character", + "\u00df" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "ß", + "description": "Named entity: szlig; with a semi-colon", + "output": [ + [ + "Character", + "\u00df" + ] + ] + }, + { + "input": "&target", + "description": "Bad named entity: target without a semi-colon", + "output": [ + [ + "Character", + "&target" + ] + ] + }, + { + "input": "⌖", + "description": "Named entity: target; with a semi-colon", + "output": [ + [ + "Character", + "\u2316" + ] + ] + }, + { + "input": "&tau", + "description": "Bad named entity: tau without a semi-colon", + "output": [ + [ + "Character", + "&tau" + ] + ] + }, + { + "input": "τ", + "description": "Named entity: tau; with a semi-colon", + "output": [ + [ + "Character", + "\u03c4" + ] + ] + }, + { + "input": "&tbrk", + "description": "Bad named entity: tbrk without a semi-colon", + "output": [ + [ + "Character", + "&tbrk" + ] + ] + }, + { + "input": "⎴", + "description": "Named entity: tbrk; with a semi-colon", + "output": [ + [ + "Character", + "\u23b4" + ] + ] + }, + { + "input": "&tcaron", + "description": "Bad named entity: tcaron without a semi-colon", + "output": [ + [ + "Character", + "&tcaron" + ] + ] + }, + { + "input": "ť", + "description": "Named entity: tcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u0165" + ] + ] + }, + { + "input": "&tcedil", + "description": "Bad named entity: tcedil without a semi-colon", + "output": [ + [ + "Character", + "&tcedil" + ] + ] + }, + { + "input": "ţ", + "description": "Named entity: tcedil; with a semi-colon", + "output": [ + [ + "Character", + "\u0163" + ] + ] + }, + { + "input": "&tcy", + "description": "Bad named entity: tcy without a semi-colon", + "output": [ + [ + "Character", + "&tcy" + ] + ] + }, + { + "input": "т", + "description": "Named entity: tcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0442" + ] + ] + }, + { + "input": "&tdot", + "description": "Bad named entity: tdot without a semi-colon", + "output": [ + [ + "Character", + "&tdot" + ] + ] + }, + { + "input": "⃛", + "description": "Named entity: tdot; with a semi-colon", + "output": [ + [ + "Character", + "\u20db" + ] + ] + }, + { + "input": "&telrec", + "description": "Bad named entity: telrec without a semi-colon", + "output": [ + [ + "Character", + "&telrec" + ] + ] + }, + { + "input": "⌕", + "description": "Named entity: telrec; with a semi-colon", + "output": [ + [ + "Character", + "\u2315" + ] + ] + }, + { + "input": "&tfr", + "description": "Bad named entity: tfr without a semi-colon", + "output": [ + [ + "Character", + "&tfr" + ] + ] + }, + { + "input": "𝔱", + "description": "Named entity: tfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd31" + ] + ] + }, + { + "input": "&there4", + "description": "Bad named entity: there4 without a semi-colon", + "output": [ + [ + "Character", + "&there4" + ] + ] + }, + { + "input": "∴", + "description": "Named entity: there4; with a semi-colon", + "output": [ + [ + "Character", + "\u2234" + ] + ] + }, + { + "input": "&therefore", + "description": "Bad named entity: therefore without a semi-colon", + "output": [ + [ + "Character", + "&therefore" + ] + ] + }, + { + "input": "∴", + "description": "Named entity: therefore; with a semi-colon", + "output": [ + [ + "Character", + "\u2234" + ] + ] + }, + { + "input": "&theta", + "description": "Bad named entity: theta without a semi-colon", + "output": [ + [ + "Character", + "&theta" + ] + ] + }, + { + "input": "θ", + "description": "Named entity: theta; with a semi-colon", + "output": [ + [ + "Character", + "\u03b8" + ] + ] + }, + { + "input": "&thetasym", + "description": "Bad named entity: thetasym without a semi-colon", + "output": [ + [ + "Character", + "&thetasym" + ] + ] + }, + { + "input": "ϑ", + "description": "Named entity: thetasym; with a semi-colon", + "output": [ + [ + "Character", + "\u03d1" + ] + ] + }, + { + "input": "&thetav", + "description": "Bad named entity: thetav without a semi-colon", + "output": [ + [ + "Character", + "&thetav" + ] + ] + }, + { + "input": "ϑ", + "description": "Named entity: thetav; with a semi-colon", + "output": [ + [ + "Character", + "\u03d1" + ] + ] + }, + { + "input": "&thickapprox", + "description": "Bad named entity: thickapprox without a semi-colon", + "output": [ + [ + "Character", + "&thickapprox" + ] + ] + }, + { + "input": "≈", + "description": "Named entity: thickapprox; with a semi-colon", + "output": [ + [ + "Character", + "\u2248" + ] + ] + }, + { + "input": "&thicksim", + "description": "Bad named entity: thicksim without a semi-colon", + "output": [ + [ + "Character", + "&thicksim" + ] + ] + }, + { + "input": "∼", + "description": "Named entity: thicksim; with a semi-colon", + "output": [ + [ + "Character", + "\u223c" + ] + ] + }, + { + "input": "&thinsp", + "description": "Bad named entity: thinsp without a semi-colon", + "output": [ + [ + "Character", + "&thinsp" + ] + ] + }, + { + "input": " ", + "description": "Named entity: thinsp; with a semi-colon", + "output": [ + [ + "Character", + "\u2009" + ] + ] + }, + { + "input": "&thkap", + "description": "Bad named entity: thkap without a semi-colon", + "output": [ + [ + "Character", + "&thkap" + ] + ] + }, + { + "input": "≈", + "description": "Named entity: thkap; with a semi-colon", + "output": [ + [ + "Character", + "\u2248" + ] + ] + }, + { + "input": "&thksim", + "description": "Bad named entity: thksim without a semi-colon", + "output": [ + [ + "Character", + "&thksim" + ] + ] + }, + { + "input": "∼", + "description": "Named entity: thksim; with a semi-colon", + "output": [ + [ + "Character", + "\u223c" + ] + ] + }, + { + "input": "þ", + "description": "Named entity: thorn without a semi-colon", + "output": [ + [ + "Character", + "\u00fe" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "þ", + "description": "Named entity: thorn; with a semi-colon", + "output": [ + [ + "Character", + "\u00fe" + ] + ] + }, + { + "input": "&tilde", + "description": "Bad named entity: tilde without a semi-colon", + "output": [ + [ + "Character", + "&tilde" + ] + ] + }, + { + "input": "˜", + "description": "Named entity: tilde; with a semi-colon", + "output": [ + [ + "Character", + "\u02dc" + ] + ] + }, + { + "input": "×", + "description": "Named entity: times without a semi-colon", + "output": [ + [ + "Character", + "\u00d7" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "×", + "description": "Named entity: times; with a semi-colon", + "output": [ + [ + "Character", + "\u00d7" + ] + ] + }, + { + "input": "⊠", + "description": "Named entity: timesb; with a semi-colon", + "output": [ + [ + "Character", + "\u22a0" + ] + ] + }, + { + "input": "⨱", + "description": "Named entity: timesbar; with a semi-colon", + "output": [ + [ + "Character", + "\u2a31" + ] + ] + }, + { + "input": "⨰", + "description": "Named entity: timesd; with a semi-colon", + "output": [ + [ + "Character", + "\u2a30" + ] + ] + }, + { + "input": "&tint", + "description": "Bad named entity: tint without a semi-colon", + "output": [ + [ + "Character", + "&tint" + ] + ] + }, + { + "input": "∭", + "description": "Named entity: tint; with a semi-colon", + "output": [ + [ + "Character", + "\u222d" + ] + ] + }, + { + "input": "&toea", + "description": "Bad named entity: toea without a semi-colon", + "output": [ + [ + "Character", + "&toea" + ] + ] + }, + { + "input": "⤨", + "description": "Named entity: toea; with a semi-colon", + "output": [ + [ + "Character", + "\u2928" + ] + ] + }, + { + "input": "&top", + "description": "Bad named entity: top without a semi-colon", + "output": [ + [ + "Character", + "&top" + ] + ] + }, + { + "input": "⊤", + "description": "Named entity: top; with a semi-colon", + "output": [ + [ + "Character", + "\u22a4" + ] + ] + }, + { + "input": "&topbot", + "description": "Bad named entity: topbot without a semi-colon", + "output": [ + [ + "Character", + "&topbot" + ] + ] + }, + { + "input": "⌶", + "description": "Named entity: topbot; with a semi-colon", + "output": [ + [ + "Character", + "\u2336" + ] + ] + }, + { + "input": "&topcir", + "description": "Bad named entity: topcir without a semi-colon", + "output": [ + [ + "Character", + "&topcir" + ] + ] + }, + { + "input": "⫱", + "description": "Named entity: topcir; with a semi-colon", + "output": [ + [ + "Character", + "\u2af1" + ] + ] + }, + { + "input": "&topf", + "description": "Bad named entity: topf without a semi-colon", + "output": [ + [ + "Character", + "&topf" + ] + ] + }, + { + "input": "𝕥", + "description": "Named entity: topf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd65" + ] + ] + }, + { + "input": "&topfork", + "description": "Bad named entity: topfork without a semi-colon", + "output": [ + [ + "Character", + "&topfork" + ] + ] + }, + { + "input": "⫚", + "description": "Named entity: topfork; with a semi-colon", + "output": [ + [ + "Character", + "\u2ada" + ] + ] + }, + { + "input": "&tosa", + "description": "Bad named entity: tosa without a semi-colon", + "output": [ + [ + "Character", + "&tosa" + ] + ] + }, + { + "input": "⤩", + "description": "Named entity: tosa; with a semi-colon", + "output": [ + [ + "Character", + "\u2929" + ] + ] + }, + { + "input": "&tprime", + "description": "Bad named entity: tprime without a semi-colon", + "output": [ + [ + "Character", + "&tprime" + ] + ] + }, + { + "input": "‴", + "description": "Named entity: tprime; with a semi-colon", + "output": [ + [ + "Character", + "\u2034" + ] + ] + }, + { + "input": "&trade", + "description": "Bad named entity: trade without a semi-colon", + "output": [ + [ + "Character", + "&trade" + ] + ] + }, + { + "input": "™", + "description": "Named entity: trade; with a semi-colon", + "output": [ + [ + "Character", + "\u2122" + ] + ] + }, + { + "input": "&triangle", + "description": "Bad named entity: triangle without a semi-colon", + "output": [ + [ + "Character", + "&triangle" + ] + ] + }, + { + "input": "▵", + "description": "Named entity: triangle; with a semi-colon", + "output": [ + [ + "Character", + "\u25b5" + ] + ] + }, + { + "input": "&triangledown", + "description": "Bad named entity: triangledown without a semi-colon", + "output": [ + [ + "Character", + "&triangledown" + ] + ] + }, + { + "input": "▿", + "description": "Named entity: triangledown; with a semi-colon", + "output": [ + [ + "Character", + "\u25bf" + ] + ] + }, + { + "input": "&triangleleft", + "description": "Bad named entity: triangleleft without a semi-colon", + "output": [ + [ + "Character", + "&triangleleft" + ] + ] + }, + { + "input": "◃", + "description": "Named entity: triangleleft; with a semi-colon", + "output": [ + [ + "Character", + "\u25c3" + ] + ] + }, + { + "input": "&trianglelefteq", + "description": "Bad named entity: trianglelefteq without a semi-colon", + "output": [ + [ + "Character", + "&trianglelefteq" + ] + ] + }, + { + "input": "⊴", + "description": "Named entity: trianglelefteq; with a semi-colon", + "output": [ + [ + "Character", + "\u22b4" + ] + ] + }, + { + "input": "&triangleq", + "description": "Bad named entity: triangleq without a semi-colon", + "output": [ + [ + "Character", + "&triangleq" + ] + ] + }, + { + "input": "≜", + "description": "Named entity: triangleq; with a semi-colon", + "output": [ + [ + "Character", + "\u225c" + ] + ] + }, + { + "input": "&triangleright", + "description": "Bad named entity: triangleright without a semi-colon", + "output": [ + [ + "Character", + "&triangleright" + ] + ] + }, + { + "input": "▹", + "description": "Named entity: triangleright; with a semi-colon", + "output": [ + [ + "Character", + "\u25b9" + ] + ] + }, + { + "input": "&trianglerighteq", + "description": "Bad named entity: trianglerighteq without a semi-colon", + "output": [ + [ + "Character", + "&trianglerighteq" + ] + ] + }, + { + "input": "⊵", + "description": "Named entity: trianglerighteq; with a semi-colon", + "output": [ + [ + "Character", + "\u22b5" + ] + ] + }, + { + "input": "&tridot", + "description": "Bad named entity: tridot without a semi-colon", + "output": [ + [ + "Character", + "&tridot" + ] + ] + }, + { + "input": "◬", + "description": "Named entity: tridot; with a semi-colon", + "output": [ + [ + "Character", + "\u25ec" + ] + ] + }, + { + "input": "&trie", + "description": "Bad named entity: trie without a semi-colon", + "output": [ + [ + "Character", + "&trie" + ] + ] + }, + { + "input": "≜", + "description": "Named entity: trie; with a semi-colon", + "output": [ + [ + "Character", + "\u225c" + ] + ] + }, + { + "input": "&triminus", + "description": "Bad named entity: triminus without a semi-colon", + "output": [ + [ + "Character", + "&triminus" + ] + ] + }, + { + "input": "⨺", + "description": "Named entity: triminus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a3a" + ] + ] + }, + { + "input": "&triplus", + "description": "Bad named entity: triplus without a semi-colon", + "output": [ + [ + "Character", + "&triplus" + ] + ] + }, + { + "input": "⨹", + "description": "Named entity: triplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a39" + ] + ] + }, + { + "input": "&trisb", + "description": "Bad named entity: trisb without a semi-colon", + "output": [ + [ + "Character", + "&trisb" + ] + ] + }, + { + "input": "⧍", + "description": "Named entity: trisb; with a semi-colon", + "output": [ + [ + "Character", + "\u29cd" + ] + ] + }, + { + "input": "&tritime", + "description": "Bad named entity: tritime without a semi-colon", + "output": [ + [ + "Character", + "&tritime" + ] + ] + }, + { + "input": "⨻", + "description": "Named entity: tritime; with a semi-colon", + "output": [ + [ + "Character", + "\u2a3b" + ] + ] + }, + { + "input": "&trpezium", + "description": "Bad named entity: trpezium without a semi-colon", + "output": [ + [ + "Character", + "&trpezium" + ] + ] + }, + { + "input": "⏢", + "description": "Named entity: trpezium; with a semi-colon", + "output": [ + [ + "Character", + "\u23e2" + ] + ] + }, + { + "input": "&tscr", + "description": "Bad named entity: tscr without a semi-colon", + "output": [ + [ + "Character", + "&tscr" + ] + ] + }, + { + "input": "𝓉", + "description": "Named entity: tscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcc9" + ] + ] + }, + { + "input": "&tscy", + "description": "Bad named entity: tscy without a semi-colon", + "output": [ + [ + "Character", + "&tscy" + ] + ] + }, + { + "input": "ц", + "description": "Named entity: tscy; with a semi-colon", + "output": [ + [ + "Character", + "\u0446" + ] + ] + }, + { + "input": "&tshcy", + "description": "Bad named entity: tshcy without a semi-colon", + "output": [ + [ + "Character", + "&tshcy" + ] + ] + }, + { + "input": "ћ", + "description": "Named entity: tshcy; with a semi-colon", + "output": [ + [ + "Character", + "\u045b" + ] + ] + }, + { + "input": "&tstrok", + "description": "Bad named entity: tstrok without a semi-colon", + "output": [ + [ + "Character", + "&tstrok" + ] + ] + }, + { + "input": "ŧ", + "description": "Named entity: tstrok; with a semi-colon", + "output": [ + [ + "Character", + "\u0167" + ] + ] + }, + { + "input": "&twixt", + "description": "Bad named entity: twixt without a semi-colon", + "output": [ + [ + "Character", + "&twixt" + ] + ] + }, + { + "input": "≬", + "description": "Named entity: twixt; with a semi-colon", + "output": [ + [ + "Character", + "\u226c" + ] + ] + }, + { + "input": "&twoheadleftarrow", + "description": "Bad named entity: twoheadleftarrow without a semi-colon", + "output": [ + [ + "Character", + "&twoheadleftarrow" + ] + ] + }, + { + "input": "↞", + "description": "Named entity: twoheadleftarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u219e" + ] + ] + }, + { + "input": "&twoheadrightarrow", + "description": "Bad named entity: twoheadrightarrow without a semi-colon", + "output": [ + [ + "Character", + "&twoheadrightarrow" + ] + ] + }, + { + "input": "↠", + "description": "Named entity: twoheadrightarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u21a0" + ] + ] + }, + { + "input": "&uArr", + "description": "Bad named entity: uArr without a semi-colon", + "output": [ + [ + "Character", + "&uArr" + ] + ] + }, + { + "input": "⇑", + "description": "Named entity: uArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d1" + ] + ] + }, + { + "input": "&uHar", + "description": "Bad named entity: uHar without a semi-colon", + "output": [ + [ + "Character", + "&uHar" + ] + ] + }, + { + "input": "⥣", + "description": "Named entity: uHar; with a semi-colon", + "output": [ + [ + "Character", + "\u2963" + ] + ] + }, + { + "input": "ú", + "description": "Named entity: uacute without a semi-colon", + "output": [ + [ + "Character", + "\u00fa" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ú", + "description": "Named entity: uacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00fa" + ] + ] + }, + { + "input": "&uarr", + "description": "Bad named entity: uarr without a semi-colon", + "output": [ + [ + "Character", + "&uarr" + ] + ] + }, + { + "input": "↑", + "description": "Named entity: uarr; with a semi-colon", + "output": [ + [ + "Character", + "\u2191" + ] + ] + }, + { + "input": "&ubrcy", + "description": "Bad named entity: ubrcy without a semi-colon", + "output": [ + [ + "Character", + "&ubrcy" + ] + ] + }, + { + "input": "ў", + "description": "Named entity: ubrcy; with a semi-colon", + "output": [ + [ + "Character", + "\u045e" + ] + ] + }, + { + "input": "&ubreve", + "description": "Bad named entity: ubreve without a semi-colon", + "output": [ + [ + "Character", + "&ubreve" + ] + ] + }, + { + "input": "ŭ", + "description": "Named entity: ubreve; with a semi-colon", + "output": [ + [ + "Character", + "\u016d" + ] + ] + }, + { + "input": "û", + "description": "Named entity: ucirc without a semi-colon", + "output": [ + [ + "Character", + "\u00fb" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 7 } + ] + }, + { + "input": "û", + "description": "Named entity: ucirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00fb" + ] + ] + }, + { + "input": "&ucy", + "description": "Bad named entity: ucy without a semi-colon", + "output": [ + [ + "Character", + "&ucy" + ] + ] + }, + { + "input": "у", + "description": "Named entity: ucy; with a semi-colon", + "output": [ + [ + "Character", + "\u0443" + ] + ] + }, + { + "input": "&udarr", + "description": "Bad named entity: udarr without a semi-colon", + "output": [ + [ + "Character", + "&udarr" + ] + ] + }, + { + "input": "⇅", + "description": "Named entity: udarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21c5" + ] + ] + }, + { + "input": "&udblac", + "description": "Bad named entity: udblac without a semi-colon", + "output": [ + [ + "Character", + "&udblac" + ] + ] + }, + { + "input": "ű", + "description": "Named entity: udblac; with a semi-colon", + "output": [ + [ + "Character", + "\u0171" + ] + ] + }, + { + "input": "&udhar", + "description": "Bad named entity: udhar without a semi-colon", + "output": [ + [ + "Character", + "&udhar" + ] + ] + }, + { + "input": "⥮", + "description": "Named entity: udhar; with a semi-colon", + "output": [ + [ + "Character", + "\u296e" + ] + ] + }, + { + "input": "&ufisht", + "description": "Bad named entity: ufisht without a semi-colon", + "output": [ + [ + "Character", + "&ufisht" + ] + ] + }, + { + "input": "⥾", + "description": "Named entity: ufisht; with a semi-colon", + "output": [ + [ + "Character", + "\u297e" + ] + ] + }, + { + "input": "&ufr", + "description": "Bad named entity: ufr without a semi-colon", + "output": [ + [ + "Character", + "&ufr" + ] + ] + }, + { + "input": "𝔲", + "description": "Named entity: ufr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd32" + ] + ] + }, + { + "input": "ù", + "description": "Named entity: ugrave without a semi-colon", + "output": [ + [ + "Character", + "\u00f9" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ù", + "description": "Named entity: ugrave; with a semi-colon", + "output": [ + [ + "Character", + "\u00f9" + ] + ] + }, + { + "input": "&uharl", + "description": "Bad named entity: uharl without a semi-colon", + "output": [ + [ + "Character", + "&uharl" + ] + ] + }, + { + "input": "↿", + "description": "Named entity: uharl; with a semi-colon", + "output": [ + [ + "Character", + "\u21bf" + ] + ] + }, + { + "input": "&uharr", + "description": "Bad named entity: uharr without a semi-colon", + "output": [ + [ + "Character", + "&uharr" + ] + ] + }, + { + "input": "↾", + "description": "Named entity: uharr; with a semi-colon", + "output": [ + [ + "Character", + "\u21be" + ] + ] + }, + { + "input": "&uhblk", + "description": "Bad named entity: uhblk without a semi-colon", + "output": [ + [ + "Character", + "&uhblk" + ] + ] + }, + { + "input": "▀", + "description": "Named entity: uhblk; with a semi-colon", + "output": [ + [ + "Character", + "\u2580" + ] + ] + }, + { + "input": "&ulcorn", + "description": "Bad named entity: ulcorn without a semi-colon", + "output": [ + [ + "Character", + "&ulcorn" + ] + ] + }, + { + "input": "⌜", + "description": "Named entity: ulcorn; with a semi-colon", + "output": [ + [ + "Character", + "\u231c" + ] + ] + }, + { + "input": "&ulcorner", + "description": "Bad named entity: ulcorner without a semi-colon", + "output": [ + [ + "Character", + "&ulcorner" + ] + ] + }, + { + "input": "⌜", + "description": "Named entity: ulcorner; with a semi-colon", + "output": [ + [ + "Character", + "\u231c" + ] + ] + }, + { + "input": "&ulcrop", + "description": "Bad named entity: ulcrop without a semi-colon", + "output": [ + [ + "Character", + "&ulcrop" + ] + ] + }, + { + "input": "⌏", + "description": "Named entity: ulcrop; with a semi-colon", + "output": [ + [ + "Character", + "\u230f" + ] + ] + }, + { + "input": "&ultri", + "description": "Bad named entity: ultri without a semi-colon", + "output": [ + [ + "Character", + "&ultri" + ] + ] + }, + { + "input": "◸", + "description": "Named entity: ultri; with a semi-colon", + "output": [ + [ + "Character", + "\u25f8" + ] + ] + }, + { + "input": "&umacr", + "description": "Bad named entity: umacr without a semi-colon", + "output": [ + [ + "Character", + "&umacr" + ] + ] + }, + { + "input": "ū", + "description": "Named entity: umacr; with a semi-colon", + "output": [ + [ + "Character", + "\u016b" + ] + ] + }, + { + "input": "¨", + "description": "Named entity: uml without a semi-colon", + "output": [ + [ + "Character", + "\u00a8" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "¨", + "description": "Named entity: uml; with a semi-colon", + "output": [ + [ + "Character", + "\u00a8" + ] + ] + }, + { + "input": "&uogon", + "description": "Bad named entity: uogon without a semi-colon", + "output": [ + [ + "Character", + "&uogon" + ] + ] + }, + { + "input": "ų", + "description": "Named entity: uogon; with a semi-colon", + "output": [ + [ + "Character", + "\u0173" + ] + ] + }, + { + "input": "&uopf", + "description": "Bad named entity: uopf without a semi-colon", + "output": [ + [ + "Character", + "&uopf" + ] + ] + }, + { + "input": "𝕦", + "description": "Named entity: uopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd66" + ] + ] + }, + { + "input": "&uparrow", + "description": "Bad named entity: uparrow without a semi-colon", + "output": [ + [ + "Character", + "&uparrow" + ] + ] + }, + { + "input": "↑", + "description": "Named entity: uparrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2191" + ] + ] + }, + { + "input": "&updownarrow", + "description": "Bad named entity: updownarrow without a semi-colon", + "output": [ + [ + "Character", + "&updownarrow" + ] + ] + }, + { + "input": "↕", + "description": "Named entity: updownarrow; with a semi-colon", + "output": [ + [ + "Character", + "\u2195" + ] + ] + }, + { + "input": "&upharpoonleft", + "description": "Bad named entity: upharpoonleft without a semi-colon", + "output": [ + [ + "Character", + "&upharpoonleft" + ] + ] + }, + { + "input": "↿", + "description": "Named entity: upharpoonleft; with a semi-colon", + "output": [ + [ + "Character", + "\u21bf" + ] + ] + }, + { + "input": "&upharpoonright", + "description": "Bad named entity: upharpoonright without a semi-colon", + "output": [ + [ + "Character", + "&upharpoonright" + ] + ] + }, + { + "input": "↾", + "description": "Named entity: upharpoonright; with a semi-colon", + "output": [ + [ + "Character", + "\u21be" + ] + ] + }, + { + "input": "&uplus", + "description": "Bad named entity: uplus without a semi-colon", + "output": [ + [ + "Character", + "&uplus" + ] + ] + }, + { + "input": "⊎", + "description": "Named entity: uplus; with a semi-colon", + "output": [ + [ + "Character", + "\u228e" + ] + ] + }, + { + "input": "&upsi", + "description": "Bad named entity: upsi without a semi-colon", + "output": [ + [ + "Character", + "&upsi" + ] + ] + }, + { + "input": "υ", + "description": "Named entity: upsi; with a semi-colon", + "output": [ + [ + "Character", + "\u03c5" + ] + ] + }, + { + "input": "&upsih", + "description": "Bad named entity: upsih without a semi-colon", + "output": [ + [ + "Character", + "&upsih" + ] + ] + }, + { + "input": "ϒ", + "description": "Named entity: upsih; with a semi-colon", + "output": [ + [ + "Character", + "\u03d2" + ] + ] + }, + { + "input": "&upsilon", + "description": "Bad named entity: upsilon without a semi-colon", + "output": [ + [ + "Character", + "&upsilon" + ] + ] + }, + { + "input": "υ", + "description": "Named entity: upsilon; with a semi-colon", + "output": [ + [ + "Character", + "\u03c5" + ] + ] + }, + { + "input": "&upuparrows", + "description": "Bad named entity: upuparrows without a semi-colon", + "output": [ + [ + "Character", + "&upuparrows" + ] + ] + }, + { + "input": "⇈", + "description": "Named entity: upuparrows; with a semi-colon", + "output": [ + [ + "Character", + "\u21c8" + ] + ] + }, + { + "input": "&urcorn", + "description": "Bad named entity: urcorn without a semi-colon", + "output": [ + [ + "Character", + "&urcorn" + ] + ] + }, + { + "input": "⌝", + "description": "Named entity: urcorn; with a semi-colon", + "output": [ + [ + "Character", + "\u231d" + ] + ] + }, + { + "input": "&urcorner", + "description": "Bad named entity: urcorner without a semi-colon", + "output": [ + [ + "Character", + "&urcorner" + ] + ] + }, + { + "input": "⌝", + "description": "Named entity: urcorner; with a semi-colon", + "output": [ + [ + "Character", + "\u231d" + ] + ] + }, + { + "input": "&urcrop", + "description": "Bad named entity: urcrop without a semi-colon", + "output": [ + [ + "Character", + "&urcrop" + ] + ] + }, + { + "input": "⌎", + "description": "Named entity: urcrop; with a semi-colon", + "output": [ + [ + "Character", + "\u230e" + ] + ] + }, + { + "input": "&uring", + "description": "Bad named entity: uring without a semi-colon", + "output": [ + [ + "Character", + "&uring" + ] + ] + }, + { + "input": "ů", + "description": "Named entity: uring; with a semi-colon", + "output": [ + [ + "Character", + "\u016f" + ] + ] + }, + { + "input": "&urtri", + "description": "Bad named entity: urtri without a semi-colon", + "output": [ + [ + "Character", + "&urtri" + ] + ] + }, + { + "input": "◹", + "description": "Named entity: urtri; with a semi-colon", + "output": [ + [ + "Character", + "\u25f9" + ] + ] + }, + { + "input": "&uscr", + "description": "Bad named entity: uscr without a semi-colon", + "output": [ + [ + "Character", + "&uscr" + ] + ] + }, + { + "input": "𝓊", + "description": "Named entity: uscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcca" + ] + ] + }, + { + "input": "&utdot", + "description": "Bad named entity: utdot without a semi-colon", + "output": [ + [ + "Character", + "&utdot" + ] + ] + }, + { + "input": "⋰", + "description": "Named entity: utdot; with a semi-colon", + "output": [ + [ + "Character", + "\u22f0" + ] + ] + }, + { + "input": "&utilde", + "description": "Bad named entity: utilde without a semi-colon", + "output": [ + [ + "Character", + "&utilde" + ] + ] + }, + { + "input": "ũ", + "description": "Named entity: utilde; with a semi-colon", + "output": [ + [ + "Character", + "\u0169" + ] + ] + }, + { + "input": "&utri", + "description": "Bad named entity: utri without a semi-colon", + "output": [ + [ + "Character", + "&utri" + ] + ] + }, + { + "input": "▵", + "description": "Named entity: utri; with a semi-colon", + "output": [ + [ + "Character", + "\u25b5" + ] + ] + }, + { + "input": "&utrif", + "description": "Bad named entity: utrif without a semi-colon", + "output": [ + [ + "Character", + "&utrif" + ] + ] + }, + { + "input": "▴", + "description": "Named entity: utrif; with a semi-colon", + "output": [ + [ + "Character", + "\u25b4" + ] + ] + }, + { + "input": "&uuarr", + "description": "Bad named entity: uuarr without a semi-colon", + "output": [ + [ + "Character", + "&uuarr" + ] + ] + }, + { + "input": "⇈", + "description": "Named entity: uuarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21c8" + ] + ] + }, + { + "input": "ü", + "description": "Named entity: uuml without a semi-colon", + "output": [ + [ + "Character", + "\u00fc" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "ü", + "description": "Named entity: uuml; with a semi-colon", + "output": [ + [ + "Character", + "\u00fc" + ] + ] + }, + { + "input": "&uwangle", + "description": "Bad named entity: uwangle without a semi-colon", + "output": [ + [ + "Character", + "&uwangle" + ] + ] + }, + { + "input": "⦧", + "description": "Named entity: uwangle; with a semi-colon", + "output": [ + [ + "Character", + "\u29a7" + ] + ] + }, + { + "input": "&vArr", + "description": "Bad named entity: vArr without a semi-colon", + "output": [ + [ + "Character", + "&vArr" + ] + ] + }, + { + "input": "⇕", + "description": "Named entity: vArr; with a semi-colon", + "output": [ + [ + "Character", + "\u21d5" + ] + ] + }, + { + "input": "&vBar", + "description": "Bad named entity: vBar without a semi-colon", + "output": [ + [ + "Character", + "&vBar" + ] + ] + }, + { + "input": "⫨", + "description": "Named entity: vBar; with a semi-colon", + "output": [ + [ + "Character", + "\u2ae8" + ] + ] + }, + { + "input": "&vBarv", + "description": "Bad named entity: vBarv without a semi-colon", + "output": [ + [ + "Character", + "&vBarv" + ] + ] + }, + { + "input": "⫩", + "description": "Named entity: vBarv; with a semi-colon", + "output": [ + [ + "Character", + "\u2ae9" + ] + ] + }, + { + "input": "&vDash", + "description": "Bad named entity: vDash without a semi-colon", + "output": [ + [ + "Character", + "&vDash" + ] + ] + }, + { + "input": "⊨", + "description": "Named entity: vDash; with a semi-colon", + "output": [ + [ + "Character", + "\u22a8" + ] + ] + }, + { + "input": "&vangrt", + "description": "Bad named entity: vangrt without a semi-colon", + "output": [ + [ + "Character", + "&vangrt" + ] + ] + }, + { + "input": "⦜", + "description": "Named entity: vangrt; with a semi-colon", + "output": [ + [ + "Character", + "\u299c" + ] + ] + }, + { + "input": "&varepsilon", + "description": "Bad named entity: varepsilon without a semi-colon", + "output": [ + [ + "Character", + "&varepsilon" + ] + ] + }, + { + "input": "ϵ", + "description": "Named entity: varepsilon; with a semi-colon", + "output": [ + [ + "Character", + "\u03f5" + ] + ] + }, + { + "input": "&varkappa", + "description": "Bad named entity: varkappa without a semi-colon", + "output": [ + [ + "Character", + "&varkappa" + ] + ] + }, + { + "input": "ϰ", + "description": "Named entity: varkappa; with a semi-colon", + "output": [ + [ + "Character", + "\u03f0" + ] + ] + }, + { + "input": "&varnothing", + "description": "Bad named entity: varnothing without a semi-colon", + "output": [ + [ + "Character", + "&varnothing" + ] + ] + }, + { + "input": "∅", + "description": "Named entity: varnothing; with a semi-colon", + "output": [ + [ + "Character", + "\u2205" + ] + ] + }, + { + "input": "&varphi", + "description": "Bad named entity: varphi without a semi-colon", + "output": [ + [ + "Character", + "&varphi" + ] + ] + }, + { + "input": "ϕ", + "description": "Named entity: varphi; with a semi-colon", + "output": [ + [ + "Character", + "\u03d5" + ] + ] + }, + { + "input": "&varpi", + "description": "Bad named entity: varpi without a semi-colon", + "output": [ + [ + "Character", + "&varpi" + ] + ] + }, + { + "input": "ϖ", + "description": "Named entity: varpi; with a semi-colon", + "output": [ + [ + "Character", + "\u03d6" + ] + ] + }, + { + "input": "&varpropto", + "description": "Bad named entity: varpropto without a semi-colon", + "output": [ + [ + "Character", + "&varpropto" + ] + ] + }, + { + "input": "∝", + "description": "Named entity: varpropto; with a semi-colon", + "output": [ + [ + "Character", + "\u221d" + ] + ] + }, + { + "input": "&varr", + "description": "Bad named entity: varr without a semi-colon", + "output": [ + [ + "Character", + "&varr" + ] + ] + }, + { + "input": "↕", + "description": "Named entity: varr; with a semi-colon", + "output": [ + [ + "Character", + "\u2195" + ] + ] + }, + { + "input": "&varrho", + "description": "Bad named entity: varrho without a semi-colon", + "output": [ + [ + "Character", + "&varrho" + ] + ] + }, + { + "input": "ϱ", + "description": "Named entity: varrho; with a semi-colon", + "output": [ + [ + "Character", + "\u03f1" + ] + ] + }, + { + "input": "&varsigma", + "description": "Bad named entity: varsigma without a semi-colon", + "output": [ + [ + "Character", + "&varsigma" + ] + ] + }, + { + "input": "ς", + "description": "Named entity: varsigma; with a semi-colon", + "output": [ + [ + "Character", + "\u03c2" + ] + ] + }, + { + "input": "&varsubsetneq", + "description": "Bad named entity: varsubsetneq without a semi-colon", + "output": [ + [ + "Character", + "&varsubsetneq" + ] + ] + }, + { + "input": "⊊︀", + "description": "Named entity: varsubsetneq; with a semi-colon", + "output": [ + [ + "Character", + "\u228a\ufe00" + ] + ] + }, + { + "input": "&varsubsetneqq", + "description": "Bad named entity: varsubsetneqq without a semi-colon", + "output": [ + [ + "Character", + "&varsubsetneqq" + ] + ] + }, + { + "input": "⫋︀", + "description": "Named entity: varsubsetneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2acb\ufe00" + ] + ] + }, + { + "input": "&varsupsetneq", + "description": "Bad named entity: varsupsetneq without a semi-colon", + "output": [ + [ + "Character", + "&varsupsetneq" + ] + ] + }, + { + "input": "⊋︀", + "description": "Named entity: varsupsetneq; with a semi-colon", + "output": [ + [ + "Character", + "\u228b\ufe00" + ] + ] + }, + { + "input": "&varsupsetneqq", + "description": "Bad named entity: varsupsetneqq without a semi-colon", + "output": [ + [ + "Character", + "&varsupsetneqq" + ] + ] + }, + { + "input": "⫌︀", + "description": "Named entity: varsupsetneqq; with a semi-colon", + "output": [ + [ + "Character", + "\u2acc\ufe00" + ] + ] + }, + { + "input": "&vartheta", + "description": "Bad named entity: vartheta without a semi-colon", + "output": [ + [ + "Character", + "&vartheta" + ] + ] + }, + { + "input": "ϑ", + "description": "Named entity: vartheta; with a semi-colon", + "output": [ + [ + "Character", + "\u03d1" + ] + ] + }, + { + "input": "&vartriangleleft", + "description": "Bad named entity: vartriangleleft without a semi-colon", + "output": [ + [ + "Character", + "&vartriangleleft" + ] + ] + }, + { + "input": "⊲", + "description": "Named entity: vartriangleleft; with a semi-colon", + "output": [ + [ + "Character", + "\u22b2" + ] + ] + }, + { + "input": "&vartriangleright", + "description": "Bad named entity: vartriangleright without a semi-colon", + "output": [ + [ + "Character", + "&vartriangleright" + ] + ] + }, + { + "input": "⊳", + "description": "Named entity: vartriangleright; with a semi-colon", + "output": [ + [ + "Character", + "\u22b3" + ] + ] + }, + { + "input": "&vcy", + "description": "Bad named entity: vcy without a semi-colon", + "output": [ + [ + "Character", + "&vcy" + ] + ] + }, + { + "input": "в", + "description": "Named entity: vcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0432" + ] + ] + }, + { + "input": "&vdash", + "description": "Bad named entity: vdash without a semi-colon", + "output": [ + [ + "Character", + "&vdash" + ] + ] + }, + { + "input": "⊢", + "description": "Named entity: vdash; with a semi-colon", + "output": [ + [ + "Character", + "\u22a2" + ] + ] + }, + { + "input": "&vee", + "description": "Bad named entity: vee without a semi-colon", + "output": [ + [ + "Character", + "&vee" + ] + ] + }, + { + "input": "∨", + "description": "Named entity: vee; with a semi-colon", + "output": [ + [ + "Character", + "\u2228" + ] + ] + }, + { + "input": "&veebar", + "description": "Bad named entity: veebar without a semi-colon", + "output": [ + [ + "Character", + "&veebar" + ] + ] + }, + { + "input": "⊻", + "description": "Named entity: veebar; with a semi-colon", + "output": [ + [ + "Character", + "\u22bb" + ] + ] + }, + { + "input": "&veeeq", + "description": "Bad named entity: veeeq without a semi-colon", + "output": [ + [ + "Character", + "&veeeq" + ] + ] + }, + { + "input": "≚", + "description": "Named entity: veeeq; with a semi-colon", + "output": [ + [ + "Character", + "\u225a" + ] + ] + }, + { + "input": "&vellip", + "description": "Bad named entity: vellip without a semi-colon", + "output": [ + [ + "Character", + "&vellip" + ] + ] + }, + { + "input": "⋮", + "description": "Named entity: vellip; with a semi-colon", + "output": [ + [ + "Character", + "\u22ee" + ] + ] + }, + { + "input": "&verbar", + "description": "Bad named entity: verbar without a semi-colon", + "output": [ + [ + "Character", + "&verbar" + ] + ] + }, + { + "input": "|", + "description": "Named entity: verbar; with a semi-colon", + "output": [ + [ + "Character", + "|" + ] + ] + }, + { + "input": "&vert", + "description": "Bad named entity: vert without a semi-colon", + "output": [ + [ + "Character", + "&vert" + ] + ] + }, + { + "input": "|", + "description": "Named entity: vert; with a semi-colon", + "output": [ + [ + "Character", + "|" + ] + ] + }, + { + "input": "&vfr", + "description": "Bad named entity: vfr without a semi-colon", + "output": [ + [ + "Character", + "&vfr" + ] + ] + }, + { + "input": "𝔳", + "description": "Named entity: vfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd33" + ] + ] + }, + { + "input": "&vltri", + "description": "Bad named entity: vltri without a semi-colon", + "output": [ + [ + "Character", + "&vltri" + ] + ] + }, + { + "input": "⊲", + "description": "Named entity: vltri; with a semi-colon", + "output": [ + [ + "Character", + "\u22b2" + ] + ] + }, + { + "input": "&vnsub", + "description": "Bad named entity: vnsub without a semi-colon", + "output": [ + [ + "Character", + "&vnsub" + ] + ] + }, + { + "input": "⊂⃒", + "description": "Named entity: vnsub; with a semi-colon", + "output": [ + [ + "Character", + "\u2282\u20d2" + ] + ] + }, + { + "input": "&vnsup", + "description": "Bad named entity: vnsup without a semi-colon", + "output": [ + [ + "Character", + "&vnsup" + ] + ] + }, + { + "input": "⊃⃒", + "description": "Named entity: vnsup; with a semi-colon", + "output": [ + [ + "Character", + "\u2283\u20d2" + ] + ] + }, + { + "input": "&vopf", + "description": "Bad named entity: vopf without a semi-colon", + "output": [ + [ + "Character", + "&vopf" + ] + ] + }, + { + "input": "𝕧", + "description": "Named entity: vopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd67" + ] + ] + }, + { + "input": "&vprop", + "description": "Bad named entity: vprop without a semi-colon", + "output": [ + [ + "Character", + "&vprop" + ] + ] + }, + { + "input": "∝", + "description": "Named entity: vprop; with a semi-colon", + "output": [ + [ + "Character", + "\u221d" + ] + ] + }, + { + "input": "&vrtri", + "description": "Bad named entity: vrtri without a semi-colon", + "output": [ + [ + "Character", + "&vrtri" + ] + ] + }, + { + "input": "⊳", + "description": "Named entity: vrtri; with a semi-colon", + "output": [ + [ + "Character", + "\u22b3" + ] + ] + }, + { + "input": "&vscr", + "description": "Bad named entity: vscr without a semi-colon", + "output": [ + [ + "Character", + "&vscr" + ] + ] + }, + { + "input": "𝓋", + "description": "Named entity: vscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udccb" + ] + ] + }, + { + "input": "&vsubnE", + "description": "Bad named entity: vsubnE without a semi-colon", + "output": [ + [ + "Character", + "&vsubnE" + ] + ] + }, + { + "input": "⫋︀", + "description": "Named entity: vsubnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2acb\ufe00" + ] + ] + }, + { + "input": "&vsubne", + "description": "Bad named entity: vsubne without a semi-colon", + "output": [ + [ + "Character", + "&vsubne" + ] + ] + }, + { + "input": "⊊︀", + "description": "Named entity: vsubne; with a semi-colon", + "output": [ + [ + "Character", + "\u228a\ufe00" + ] + ] + }, + { + "input": "&vsupnE", + "description": "Bad named entity: vsupnE without a semi-colon", + "output": [ + [ + "Character", + "&vsupnE" + ] + ] + }, + { + "input": "⫌︀", + "description": "Named entity: vsupnE; with a semi-colon", + "output": [ + [ + "Character", + "\u2acc\ufe00" + ] + ] + }, + { + "input": "&vsupne", + "description": "Bad named entity: vsupne without a semi-colon", + "output": [ + [ + "Character", + "&vsupne" + ] + ] + }, + { + "input": "⊋︀", + "description": "Named entity: vsupne; with a semi-colon", + "output": [ + [ + "Character", + "\u228b\ufe00" + ] + ] + }, + { + "input": "&vzigzag", + "description": "Bad named entity: vzigzag without a semi-colon", + "output": [ + [ + "Character", + "&vzigzag" + ] + ] + }, + { + "input": "⦚", + "description": "Named entity: vzigzag; with a semi-colon", + "output": [ + [ + "Character", + "\u299a" + ] + ] + }, + { + "input": "&wcirc", + "description": "Bad named entity: wcirc without a semi-colon", + "output": [ + [ + "Character", + "&wcirc" + ] + ] + }, + { + "input": "ŵ", + "description": "Named entity: wcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0175" + ] + ] + }, + { + "input": "&wedbar", + "description": "Bad named entity: wedbar without a semi-colon", + "output": [ + [ + "Character", + "&wedbar" + ] + ] + }, + { + "input": "⩟", + "description": "Named entity: wedbar; with a semi-colon", + "output": [ + [ + "Character", + "\u2a5f" + ] + ] + }, + { + "input": "&wedge", + "description": "Bad named entity: wedge without a semi-colon", + "output": [ + [ + "Character", + "&wedge" + ] + ] + }, + { + "input": "∧", + "description": "Named entity: wedge; with a semi-colon", + "output": [ + [ + "Character", + "\u2227" + ] + ] + }, + { + "input": "&wedgeq", + "description": "Bad named entity: wedgeq without a semi-colon", + "output": [ + [ + "Character", + "&wedgeq" + ] + ] + }, + { + "input": "≙", + "description": "Named entity: wedgeq; with a semi-colon", + "output": [ + [ + "Character", + "\u2259" + ] + ] + }, + { + "input": "&weierp", + "description": "Bad named entity: weierp without a semi-colon", + "output": [ + [ + "Character", + "&weierp" + ] + ] + }, + { + "input": "℘", + "description": "Named entity: weierp; with a semi-colon", + "output": [ + [ + "Character", + "\u2118" + ] + ] + }, + { + "input": "&wfr", + "description": "Bad named entity: wfr without a semi-colon", + "output": [ + [ + "Character", + "&wfr" + ] + ] + }, + { + "input": "𝔴", + "description": "Named entity: wfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd34" + ] + ] + }, + { + "input": "&wopf", + "description": "Bad named entity: wopf without a semi-colon", + "output": [ + [ + "Character", + "&wopf" + ] + ] + }, + { + "input": "𝕨", + "description": "Named entity: wopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd68" + ] + ] + }, + { + "input": "&wp", + "description": "Bad named entity: wp without a semi-colon", + "output": [ + [ + "Character", + "&wp" + ] + ] + }, + { + "input": "℘", + "description": "Named entity: wp; with a semi-colon", + "output": [ + [ + "Character", + "\u2118" + ] + ] + }, + { + "input": "&wr", + "description": "Bad named entity: wr without a semi-colon", + "output": [ + [ + "Character", + "&wr" + ] + ] + }, + { + "input": "≀", + "description": "Named entity: wr; with a semi-colon", + "output": [ + [ + "Character", + "\u2240" + ] + ] + }, + { + "input": "&wreath", + "description": "Bad named entity: wreath without a semi-colon", + "output": [ + [ + "Character", + "&wreath" + ] + ] + }, + { + "input": "≀", + "description": "Named entity: wreath; with a semi-colon", + "output": [ + [ + "Character", + "\u2240" + ] + ] + }, + { + "input": "&wscr", + "description": "Bad named entity: wscr without a semi-colon", + "output": [ + [ + "Character", + "&wscr" + ] + ] + }, + { + "input": "𝓌", + "description": "Named entity: wscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udccc" + ] + ] + }, + { + "input": "&xcap", + "description": "Bad named entity: xcap without a semi-colon", + "output": [ + [ + "Character", + "&xcap" + ] + ] + }, + { + "input": "⋂", + "description": "Named entity: xcap; with a semi-colon", + "output": [ + [ + "Character", + "\u22c2" + ] + ] + }, + { + "input": "&xcirc", + "description": "Bad named entity: xcirc without a semi-colon", + "output": [ + [ + "Character", + "&xcirc" + ] + ] + }, + { + "input": "◯", + "description": "Named entity: xcirc; with a semi-colon", + "output": [ + [ + "Character", + "\u25ef" + ] + ] + }, + { + "input": "&xcup", + "description": "Bad named entity: xcup without a semi-colon", + "output": [ + [ + "Character", + "&xcup" + ] + ] + }, + { + "input": "⋃", + "description": "Named entity: xcup; with a semi-colon", + "output": [ + [ + "Character", + "\u22c3" + ] + ] + }, + { + "input": "&xdtri", + "description": "Bad named entity: xdtri without a semi-colon", + "output": [ + [ + "Character", + "&xdtri" + ] + ] + }, + { + "input": "▽", + "description": "Named entity: xdtri; with a semi-colon", + "output": [ + [ + "Character", + "\u25bd" + ] + ] + }, + { + "input": "&xfr", + "description": "Bad named entity: xfr without a semi-colon", + "output": [ + [ + "Character", + "&xfr" + ] + ] + }, + { + "input": "𝔵", + "description": "Named entity: xfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd35" + ] + ] + }, + { + "input": "&xhArr", + "description": "Bad named entity: xhArr without a semi-colon", + "output": [ + [ + "Character", + "&xhArr" + ] + ] + }, + { + "input": "⟺", + "description": "Named entity: xhArr; with a semi-colon", + "output": [ + [ + "Character", + "\u27fa" + ] + ] + }, + { + "input": "&xharr", + "description": "Bad named entity: xharr without a semi-colon", + "output": [ + [ + "Character", + "&xharr" + ] + ] + }, + { + "input": "⟷", + "description": "Named entity: xharr; with a semi-colon", + "output": [ + [ + "Character", + "\u27f7" + ] + ] + }, + { + "input": "&xi", + "description": "Bad named entity: xi without a semi-colon", + "output": [ + [ + "Character", + "&xi" + ] + ] + }, + { + "input": "ξ", + "description": "Named entity: xi; with a semi-colon", + "output": [ + [ + "Character", + "\u03be" + ] + ] + }, + { + "input": "&xlArr", + "description": "Bad named entity: xlArr without a semi-colon", + "output": [ + [ + "Character", + "&xlArr" + ] + ] + }, + { + "input": "⟸", + "description": "Named entity: xlArr; with a semi-colon", + "output": [ + [ + "Character", + "\u27f8" + ] + ] + }, + { + "input": "&xlarr", + "description": "Bad named entity: xlarr without a semi-colon", + "output": [ + [ + "Character", + "&xlarr" + ] + ] + }, + { + "input": "⟵", + "description": "Named entity: xlarr; with a semi-colon", + "output": [ + [ + "Character", + "\u27f5" + ] + ] + }, + { + "input": "&xmap", + "description": "Bad named entity: xmap without a semi-colon", + "output": [ + [ + "Character", + "&xmap" + ] + ] + }, + { + "input": "⟼", + "description": "Named entity: xmap; with a semi-colon", + "output": [ + [ + "Character", + "\u27fc" + ] + ] + }, + { + "input": "&xnis", + "description": "Bad named entity: xnis without a semi-colon", + "output": [ + [ + "Character", + "&xnis" + ] + ] + }, + { + "input": "⋻", + "description": "Named entity: xnis; with a semi-colon", + "output": [ + [ + "Character", + "\u22fb" + ] + ] + }, + { + "input": "&xodot", + "description": "Bad named entity: xodot without a semi-colon", + "output": [ + [ + "Character", + "&xodot" + ] + ] + }, + { + "input": "⨀", + "description": "Named entity: xodot; with a semi-colon", + "output": [ + [ + "Character", + "\u2a00" + ] + ] + }, + { + "input": "&xopf", + "description": "Bad named entity: xopf without a semi-colon", + "output": [ + [ + "Character", + "&xopf" + ] + ] + }, + { + "input": "𝕩", + "description": "Named entity: xopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd69" + ] + ] + }, + { + "input": "&xoplus", + "description": "Bad named entity: xoplus without a semi-colon", + "output": [ + [ + "Character", + "&xoplus" + ] + ] + }, + { + "input": "⨁", + "description": "Named entity: xoplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a01" + ] + ] + }, + { + "input": "&xotime", + "description": "Bad named entity: xotime without a semi-colon", + "output": [ + [ + "Character", + "&xotime" + ] + ] + }, + { + "input": "⨂", + "description": "Named entity: xotime; with a semi-colon", + "output": [ + [ + "Character", + "\u2a02" + ] + ] + }, + { + "input": "&xrArr", + "description": "Bad named entity: xrArr without a semi-colon", + "output": [ + [ + "Character", + "&xrArr" + ] + ] + }, + { + "input": "⟹", + "description": "Named entity: xrArr; with a semi-colon", + "output": [ + [ + "Character", + "\u27f9" + ] + ] + }, + { + "input": "&xrarr", + "description": "Bad named entity: xrarr without a semi-colon", + "output": [ + [ + "Character", + "&xrarr" + ] + ] + }, + { + "input": "⟶", + "description": "Named entity: xrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u27f6" + ] + ] + }, + { + "input": "&xscr", + "description": "Bad named entity: xscr without a semi-colon", + "output": [ + [ + "Character", + "&xscr" + ] + ] + }, + { + "input": "𝓍", + "description": "Named entity: xscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udccd" + ] + ] + }, + { + "input": "&xsqcup", + "description": "Bad named entity: xsqcup without a semi-colon", + "output": [ + [ + "Character", + "&xsqcup" + ] + ] + }, + { + "input": "⨆", + "description": "Named entity: xsqcup; with a semi-colon", + "output": [ + [ + "Character", + "\u2a06" + ] + ] + }, + { + "input": "&xuplus", + "description": "Bad named entity: xuplus without a semi-colon", + "output": [ + [ + "Character", + "&xuplus" + ] + ] + }, + { + "input": "⨄", + "description": "Named entity: xuplus; with a semi-colon", + "output": [ + [ + "Character", + "\u2a04" + ] + ] + }, + { + "input": "&xutri", + "description": "Bad named entity: xutri without a semi-colon", + "output": [ + [ + "Character", + "&xutri" + ] + ] + }, + { + "input": "△", + "description": "Named entity: xutri; with a semi-colon", + "output": [ + [ + "Character", + "\u25b3" + ] + ] + }, + { + "input": "&xvee", + "description": "Bad named entity: xvee without a semi-colon", + "output": [ + [ + "Character", + "&xvee" + ] + ] + }, + { + "input": "⋁", + "description": "Named entity: xvee; with a semi-colon", + "output": [ + [ + "Character", + "\u22c1" + ] + ] + }, + { + "input": "&xwedge", + "description": "Bad named entity: xwedge without a semi-colon", + "output": [ + [ + "Character", + "&xwedge" + ] + ] + }, + { + "input": "⋀", + "description": "Named entity: xwedge; with a semi-colon", + "output": [ + [ + "Character", + "\u22c0" + ] + ] + }, + { + "input": "ý", + "description": "Named entity: yacute without a semi-colon", + "output": [ + [ + "Character", + "\u00fd" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 8 } + ] + }, + { + "input": "ý", + "description": "Named entity: yacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00fd" + ] + ] + }, + { + "input": "&yacy", + "description": "Bad named entity: yacy without a semi-colon", + "output": [ + [ + "Character", + "&yacy" + ] + ] + }, + { + "input": "я", + "description": "Named entity: yacy; with a semi-colon", + "output": [ + [ + "Character", + "\u044f" + ] + ] + }, + { + "input": "&ycirc", + "description": "Bad named entity: ycirc without a semi-colon", + "output": [ + [ + "Character", + "&ycirc" + ] + ] + }, + { + "input": "ŷ", + "description": "Named entity: ycirc; with a semi-colon", + "output": [ + [ + "Character", + "\u0177" + ] + ] + }, + { + "input": "&ycy", + "description": "Bad named entity: ycy without a semi-colon", + "output": [ + [ + "Character", + "&ycy" + ] + ] + }, + { + "input": "ы", + "description": "Named entity: ycy; with a semi-colon", + "output": [ + [ + "Character", + "\u044b" + ] + ] + }, + { + "input": "¥", + "description": "Named entity: yen without a semi-colon", + "output": [ + [ + "Character", + "\u00a5" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 } + ] + }, + { + "input": "¥", + "description": "Named entity: yen; with a semi-colon", + "output": [ + [ + "Character", + "\u00a5" + ] + ] + }, + { + "input": "&yfr", + "description": "Bad named entity: yfr without a semi-colon", + "output": [ + [ + "Character", + "&yfr" + ] + ] + }, + { + "input": "𝔶", + "description": "Named entity: yfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd36" + ] + ] + }, + { + "input": "&yicy", + "description": "Bad named entity: yicy without a semi-colon", + "output": [ + [ + "Character", + "&yicy" + ] + ] + }, + { + "input": "ї", + "description": "Named entity: yicy; with a semi-colon", + "output": [ + [ + "Character", + "\u0457" + ] + ] + }, + { + "input": "&yopf", + "description": "Bad named entity: yopf without a semi-colon", + "output": [ + [ + "Character", + "&yopf" + ] + ] + }, + { + "input": "𝕪", + "description": "Named entity: yopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd6a" + ] + ] + }, + { + "input": "&yscr", + "description": "Bad named entity: yscr without a semi-colon", + "output": [ + [ + "Character", + "&yscr" + ] + ] + }, + { + "input": "𝓎", + "description": "Named entity: yscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udcce" + ] + ] + }, + { + "input": "&yucy", + "description": "Bad named entity: yucy without a semi-colon", + "output": [ + [ + "Character", + "&yucy" + ] + ] + }, + { + "input": "ю", + "description": "Named entity: yucy; with a semi-colon", + "output": [ + [ + "Character", + "\u044e" + ] + ] + }, + { + "input": "ÿ", + "description": "Named entity: yuml without a semi-colon", + "output": [ + [ + "Character", + "\u00ff" + ] + ], + "errors": [ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 6 } + ] + }, + { + "input": "ÿ", + "description": "Named entity: yuml; with a semi-colon", + "output": [ + [ + "Character", + "\u00ff" + ] + ] + }, + { + "input": "&zacute", + "description": "Bad named entity: zacute without a semi-colon", + "output": [ + [ + "Character", + "&zacute" + ] + ] + }, + { + "input": "ź", + "description": "Named entity: zacute; with a semi-colon", + "output": [ + [ + "Character", + "\u017a" + ] + ] + }, + { + "input": "&zcaron", + "description": "Bad named entity: zcaron without a semi-colon", + "output": [ + [ + "Character", + "&zcaron" + ] + ] + }, + { + "input": "ž", + "description": "Named entity: zcaron; with a semi-colon", + "output": [ + [ + "Character", + "\u017e" + ] + ] + }, + { + "input": "&zcy", + "description": "Bad named entity: zcy without a semi-colon", + "output": [ + [ + "Character", + "&zcy" + ] + ] + }, + { + "input": "з", + "description": "Named entity: zcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0437" + ] + ] + }, + { + "input": "&zdot", + "description": "Bad named entity: zdot without a semi-colon", + "output": [ + [ + "Character", + "&zdot" + ] + ] + }, + { + "input": "ż", + "description": "Named entity: zdot; with a semi-colon", + "output": [ + [ + "Character", + "\u017c" + ] + ] + }, + { + "input": "&zeetrf", + "description": "Bad named entity: zeetrf without a semi-colon", + "output": [ + [ + "Character", + "&zeetrf" + ] + ] + }, + { + "input": "ℨ", + "description": "Named entity: zeetrf; with a semi-colon", + "output": [ + [ + "Character", + "\u2128" + ] + ] + }, + { + "input": "&zeta", + "description": "Bad named entity: zeta without a semi-colon", + "output": [ + [ + "Character", + "&zeta" + ] + ] + }, + { + "input": "ζ", + "description": "Named entity: zeta; with a semi-colon", + "output": [ + [ + "Character", + "\u03b6" + ] + ] + }, + { + "input": "&zfr", + "description": "Bad named entity: zfr without a semi-colon", + "output": [ + [ + "Character", + "&zfr" + ] + ] + }, + { + "input": "𝔷", + "description": "Named entity: zfr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd37" + ] + ] + }, + { + "input": "&zhcy", + "description": "Bad named entity: zhcy without a semi-colon", + "output": [ + [ + "Character", + "&zhcy" + ] + ] + }, + { + "input": "ж", + "description": "Named entity: zhcy; with a semi-colon", + "output": [ + [ + "Character", + "\u0436" + ] + ] + }, + { + "input": "&zigrarr", + "description": "Bad named entity: zigrarr without a semi-colon", + "output": [ + [ + "Character", + "&zigrarr" + ] + ] + }, + { + "input": "⇝", + "description": "Named entity: zigrarr; with a semi-colon", + "output": [ + [ + "Character", + "\u21dd" + ] + ] + }, + { + "input": "&zopf", + "description": "Bad named entity: zopf without a semi-colon", + "output": [ + [ + "Character", + "&zopf" + ] + ] + }, + { + "input": "𝕫", + "description": "Named entity: zopf; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udd6b" + ] + ] + }, + { + "input": "&zscr", + "description": "Bad named entity: zscr without a semi-colon", + "output": [ + [ + "Character", + "&zscr" + ] + ] + }, + { + "input": "𝓏", + "description": "Named entity: zscr; with a semi-colon", + "output": [ + [ + "Character", + "\ud835\udccf" + ] + ] + }, + { + "input": "&zwj", + "description": "Bad named entity: zwj without a semi-colon", + "output": [ + [ + "Character", + "&zwj" + ] + ] + }, + { + "input": "‍", + "description": "Named entity: zwj; with a semi-colon", + "output": [ + [ + "Character", + "\u200d" + ] + ] + }, + { + "input": "&zwnj", + "description": "Bad named entity: zwnj without a semi-colon", + "output": [ + [ + "Character", + "&zwnj" + ] + ] + }, + { + "input": "‌", + "description": "Named entity: zwnj; with a semi-colon", + "output": [ + [ + "Character", + "\u200c" + ] + ] + } + ] +}
\ No newline at end of file diff --git a/tests/html5lib-tests/tokenizer/numericEntities.test b/tests/html5lib-tests/tokenizer/numericEntities.test new file mode 100644 index 0000000..085109b --- /dev/null +++ b/tests/html5lib-tests/tokenizer/numericEntities.test @@ -0,0 +1,1677 @@ +{"tests": [ + +{"description": "Invalid unterminated numeric entity character overflow before EOF", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 14 }, + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 14 } +]}, + +{"description": "Invalid unterminated numeric entity character overflow before EOF", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 13 }, + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 13 } +]}, + +{"description": "Invalid unterminated numeric entity character overflow before EOF", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 15 }, + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 15 } +]}, + +{"description": "Invalid unterminated numeric entity character overflow", +"input": "�x", +"output": [["Character", "\uFFFDx"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 14 }, + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 14 } +]}, + +{"description": "Invalid unterminated numeric entity character overflow", +"input": "�x", +"output": [["Character", "\uFFFDx"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 13 }, + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 13 } +]}, + +{"description": "Invalid unterminated numeric entity character overflow", +"input": "�x", +"output": [["Character", "\uFFFDx"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 15 }, + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 15 } +]}, + +{"description": "Invalid numeric entity character overflow", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 15 } +]}, + +{"description": "Invalid numeric entity character overflow", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 14 } +]}, + +{"description": "Invalid numeric entity character overflow", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 16 } +]}, + +{"description": "Invalid numeric entity character U+0000", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "null-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0001", +"input": "", +"output": [["Character", "\u0001"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0002", +"input": "", +"output": [["Character", "\u0002"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + + +{"description": "Invalid numeric entity character U+0003", +"input": "", +"output": [["Character", "\u0003"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + + +{"description": "Invalid numeric entity character U+0004", +"input": "", +"output": [["Character", "\u0004"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + + +{"description": "Invalid numeric entity character U+0005", +"input": "", +"output": [["Character", "\u0005"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + + +{"description": "Invalid numeric entity character U+0006", +"input": "", +"output": [["Character", "\u0006"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0007", +"input": "", +"output": [["Character", "\u0007"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0008", +"input": "", +"output": [["Character", "\u0008"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+000B", +"input": "", +"output": [["Character", "\u000b"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+000E", +"input": "", +"output": [["Character", "\u000e"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+000F", +"input": "", +"output": [["Character", "\u000f"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0010", +"input": "", +"output": [["Character", "\u0010"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0011", +"input": "", +"output": [["Character", "\u0011"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0012", +"input": "", +"output": [["Character", "\u0012"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0013", +"input": "", +"output": [["Character", "\u0013"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0014", +"input": "", +"output": [["Character", "\u0014"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0015", +"input": "", +"output": [["Character", "\u0015"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0016", +"input": "", +"output": [["Character", "\u0016"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0017", +"input": "", +"output": [["Character", "\u0017"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0018", +"input": "", +"output": [["Character", "\u0018"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+0019", +"input": "", +"output": [["Character", "\u0019"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+001A", +"input": "", +"output": [["Character", "\u001a"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+001B", +"input": "", +"output": [["Character", "\u001b"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+001C", +"input": "", +"output": [["Character", "\u001c"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+001D", +"input": "", +"output": [["Character", "\u001d"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+001E", +"input": "", +"output": [["Character", "\u001e"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+001F", +"input": "", +"output": [["Character", "\u001f"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+007F", +"input": "", +"output": [["Character", "\u007f"]], +"errors":[ + { "code": "control-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+D800", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "surrogate-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+DFFF", +"input": "�", +"output": [["Character", "\uFFFD"]], +"errors":[ + { "code": "surrogate-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD0", +"input": "", +"output": [["Character", "\ufdd0"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD1", +"input": "", +"output": [["Character", "\ufdd1"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD2", +"input": "", +"output": [["Character", "\ufdd2"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD3", +"input": "", +"output": [["Character", "\ufdd3"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD4", +"input": "", +"output": [["Character", "\ufdd4"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD5", +"input": "", +"output": [["Character", "\ufdd5"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD6", +"input": "", +"output": [["Character", "\ufdd6"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD7", +"input": "", +"output": [["Character", "\ufdd7"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD8", +"input": "", +"output": [["Character", "\ufdd8"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDD9", +"input": "", +"output": [["Character", "\ufdd9"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDDA", +"input": "", +"output": [["Character", "\ufdda"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDDB", +"input": "", +"output": [["Character", "\ufddb"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDDC", +"input": "", +"output": [["Character", "\ufddc"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDDD", +"input": "", +"output": [["Character", "\ufddd"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDDE", +"input": "", +"output": [["Character", "\ufdde"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDDF", +"input": "", +"output": [["Character", "\ufddf"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE0", +"input": "", +"output": [["Character", "\ufde0"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE1", +"input": "", +"output": [["Character", "\ufde1"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE2", +"input": "", +"output": [["Character", "\ufde2"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE3", +"input": "", +"output": [["Character", "\ufde3"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE4", +"input": "", +"output": [["Character", "\ufde4"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE5", +"input": "", +"output": [["Character", "\ufde5"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE6", +"input": "", +"output": [["Character", "\ufde6"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE7", +"input": "", +"output": [["Character", "\ufde7"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE8", +"input": "", +"output": [["Character", "\ufde8"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDE9", +"input": "", +"output": [["Character", "\ufde9"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDEA", +"input": "", +"output": [["Character", "\ufdea"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDEB", +"input": "", +"output": [["Character", "\ufdeb"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDEC", +"input": "", +"output": [["Character", "\ufdec"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDED", +"input": "", +"output": [["Character", "\ufded"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDEE", +"input": "", +"output": [["Character", "\ufdee"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FDEF", +"input": "", +"output": [["Character", "\ufdef"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FFFE", +"input": "", +"output": [["Character", "\ufffe"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+FFFF", +"input": "", +"output": [["Character", "\uffff"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 9 } +]}, + +{"description": "Invalid numeric entity character U+1FFFE", +"input": "", +"output": [["Character", "\uD83F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+1FFFF", +"input": "", +"output": [["Character", "\uD83F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+2FFFE", +"input": "", +"output": [["Character", "\uD87F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+2FFFF", +"input": "", +"output": [["Character", "\uD87F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+3FFFE", +"input": "", +"output": [["Character", "\uD8BF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+3FFFF", +"input": "", +"output": [["Character", "\uD8BF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+4FFFE", +"input": "", +"output": [["Character", "\uD8FF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+4FFFF", +"input": "", +"output": [["Character", "\uD8FF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+5FFFE", +"input": "", +"output": [["Character", "\uD93F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+5FFFF", +"input": "", +"output": [["Character", "\uD93F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+6FFFE", +"input": "", +"output": [["Character", "\uD97F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+6FFFF", +"input": "", +"output": [["Character", "\uD97F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+7FFFE", +"input": "", +"output": [["Character", "\uD9BF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+7FFFF", +"input": "", +"output": [["Character", "\uD9BF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+8FFFE", +"input": "", +"output": [["Character", "\uD9FF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+8FFFF", +"input": "", +"output": [["Character", "\uD9FF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+9FFFE", +"input": "", +"output": [["Character", "\uDA3F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+9FFFF", +"input": "", +"output": [["Character", "\uDA3F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+AFFFE", +"input": "", +"output": [["Character", "\uDA7F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+AFFFF", +"input": "", +"output": [["Character", "\uDA7F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+BFFFE", +"input": "", +"output": [["Character", "\uDABF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+BFFFF", +"input": "", +"output": [["Character", "\uDABF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+CFFFE", +"input": "", +"output": [["Character", "\uDAFF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+CFFFF", +"input": "", +"output": [["Character", "\uDAFF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+DFFFE", +"input": "", +"output": [["Character", "\uDB3F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+DFFFF", +"input": "", +"output": [["Character", "\uDB3F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+EFFFE", +"input": "", +"output": [["Character", "\uDB7F\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+EFFFF", +"input": "", +"output": [["Character", "\uDB7F\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+FFFFE", +"input": "", +"output": [["Character", "\uDBBF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+FFFFF", +"input": "", +"output": [["Character", "\uDBBF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 10 } +]}, + +{"description": "Invalid numeric entity character U+10FFFE", +"input": "", +"output": [["Character", "\uDBFF\uDFFE"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 11 } +]}, + +{"description": "Invalid numeric entity character U+10FFFF", +"input": "", +"output": [["Character", "\uDBFF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 11 } +]}, + +{"description": "Valid numeric entity character U+0009", +"input": "	", +"output": [["Character", "\u0009"]]}, + +{"description": "Valid numeric entity character U+000A", +"input": "
", +"output": [["Character", "\u000A"]]}, + +{"description": "Valid numeric entity character U+0020", +"input": " ", +"output": [["Character", "\u0020"]]}, + +{"description": "Valid numeric entity character U+0021", +"input": "!", +"output": [["Character", "\u0021"]]}, + +{"description": "Valid numeric entity character U+0022", +"input": """, +"output": [["Character", "\u0022"]]}, + +{"description": "Valid numeric entity character U+0023", +"input": "#", +"output": [["Character", "\u0023"]]}, + +{"description": "Valid numeric entity character U+0024", +"input": "$", +"output": [["Character", "\u0024"]]}, + +{"description": "Valid numeric entity character U+0025", +"input": "%", +"output": [["Character", "\u0025"]]}, + +{"description": "Valid numeric entity character U+0026", +"input": "&", +"output": [["Character", "\u0026"]]}, + +{"description": "Valid numeric entity character U+0027", +"input": "'", +"output": [["Character", "\u0027"]]}, + +{"description": "Valid numeric entity character U+0028", +"input": "(", +"output": [["Character", "\u0028"]]}, + +{"description": "Valid numeric entity character U+0029", +"input": ")", +"output": [["Character", "\u0029"]]}, + +{"description": "Valid numeric entity character U+002A", +"input": "*", +"output": [["Character", "\u002A"]]}, + +{"description": "Valid numeric entity character U+002B", +"input": "+", +"output": [["Character", "\u002B"]]}, + +{"description": "Valid numeric entity character U+002C", +"input": ",", +"output": [["Character", "\u002C"]]}, + +{"description": "Valid numeric entity character U+002D", +"input": "-", +"output": [["Character", "\u002D"]]}, + +{"description": "Valid numeric entity character U+002E", +"input": ".", +"output": [["Character", "\u002E"]]}, + +{"description": "Valid numeric entity character U+002F", +"input": "/", +"output": [["Character", "\u002F"]]}, + +{"description": "Valid numeric entity character U+0030", +"input": "0", +"output": [["Character", "\u0030"]]}, + +{"description": "Valid numeric entity character U+0031", +"input": "1", +"output": [["Character", "\u0031"]]}, + +{"description": "Valid numeric entity character U+0032", +"input": "2", +"output": [["Character", "\u0032"]]}, + +{"description": "Valid numeric entity character U+0033", +"input": "3", +"output": [["Character", "\u0033"]]}, + +{"description": "Valid numeric entity character U+0034", +"input": "4", +"output": [["Character", "\u0034"]]}, + +{"description": "Valid numeric entity character U+0035", +"input": "5", +"output": [["Character", "\u0035"]]}, + +{"description": "Valid numeric entity character U+0036", +"input": "6", +"output": [["Character", "\u0036"]]}, + +{"description": "Valid numeric entity character U+0037", +"input": "7", +"output": [["Character", "\u0037"]]}, + +{"description": "Valid numeric entity character U+0038", +"input": "8", +"output": [["Character", "\u0038"]]}, + +{"description": "Valid numeric entity character U+0039", +"input": "9", +"output": [["Character", "\u0039"]]}, + +{"description": "Valid numeric entity character U+003A", +"input": ":", +"output": [["Character", "\u003A"]]}, + +{"description": "Valid numeric entity character U+003B", +"input": ";", +"output": [["Character", "\u003B"]]}, + +{"description": "Valid numeric entity character U+003C", +"input": "<", +"output": [["Character", "\u003C"]]}, + +{"description": "Valid numeric entity character U+003D", +"input": "=", +"output": [["Character", "\u003D"]]}, + +{"description": "Valid numeric entity character U+003E", +"input": ">", +"output": [["Character", "\u003E"]]}, + +{"description": "Valid numeric entity character U+003F", +"input": "?", +"output": [["Character", "\u003F"]]}, + +{"description": "Valid numeric entity character U+0040", +"input": "@", +"output": [["Character", "\u0040"]]}, + +{"description": "Valid numeric entity character U+0041", +"input": "A", +"output": [["Character", "\u0041"]]}, + +{"description": "Valid numeric entity character U+0042", +"input": "B", +"output": [["Character", "\u0042"]]}, + +{"description": "Valid numeric entity character U+0043", +"input": "C", +"output": [["Character", "\u0043"]]}, + +{"description": "Valid numeric entity character U+0044", +"input": "D", +"output": [["Character", "\u0044"]]}, + +{"description": "Valid numeric entity character U+0045", +"input": "E", +"output": [["Character", "\u0045"]]}, + +{"description": "Valid numeric entity character U+0046", +"input": "F", +"output": [["Character", "\u0046"]]}, + +{"description": "Valid numeric entity character U+0047", +"input": "G", +"output": [["Character", "\u0047"]]}, + +{"description": "Valid numeric entity character U+0048", +"input": "H", +"output": [["Character", "\u0048"]]}, + +{"description": "Valid numeric entity character U+0049", +"input": "I", +"output": [["Character", "\u0049"]]}, + +{"description": "Valid numeric entity character U+004A", +"input": "J", +"output": [["Character", "\u004A"]]}, + +{"description": "Valid numeric entity character U+004B", +"input": "K", +"output": [["Character", "\u004B"]]}, + +{"description": "Valid numeric entity character U+004C", +"input": "L", +"output": [["Character", "\u004C"]]}, + +{"description": "Valid numeric entity character U+004D", +"input": "M", +"output": [["Character", "\u004D"]]}, + +{"description": "Valid numeric entity character U+004E", +"input": "N", +"output": [["Character", "\u004E"]]}, + +{"description": "Valid numeric entity character U+004F", +"input": "O", +"output": [["Character", "\u004F"]]}, + +{"description": "Valid numeric entity character U+0050", +"input": "P", +"output": [["Character", "\u0050"]]}, + +{"description": "Valid numeric entity character U+0051", +"input": "Q", +"output": [["Character", "\u0051"]]}, + +{"description": "Valid numeric entity character U+0052", +"input": "R", +"output": [["Character", "\u0052"]]}, + +{"description": "Valid numeric entity character U+0053", +"input": "S", +"output": [["Character", "\u0053"]]}, + +{"description": "Valid numeric entity character U+0054", +"input": "T", +"output": [["Character", "\u0054"]]}, + +{"description": "Valid numeric entity character U+0055", +"input": "U", +"output": [["Character", "\u0055"]]}, + +{"description": "Valid numeric entity character U+0056", +"input": "V", +"output": [["Character", "\u0056"]]}, + +{"description": "Valid numeric entity character U+0057", +"input": "W", +"output": [["Character", "\u0057"]]}, + +{"description": "Valid numeric entity character U+0058", +"input": "X", +"output": [["Character", "\u0058"]]}, + +{"description": "Valid numeric entity character U+0059", +"input": "Y", +"output": [["Character", "\u0059"]]}, + +{"description": "Valid numeric entity character U+005A", +"input": "Z", +"output": [["Character", "\u005A"]]}, + +{"description": "Valid numeric entity character U+005B", +"input": "[", +"output": [["Character", "\u005B"]]}, + +{"description": "Valid numeric entity character U+005C", +"input": "\", +"output": [["Character", "\u005C"]]}, + +{"description": "Valid numeric entity character U+005D", +"input": "]", +"output": [["Character", "\u005D"]]}, + +{"description": "Valid numeric entity character U+005E", +"input": "^", +"output": [["Character", "\u005E"]]}, + +{"description": "Valid numeric entity character U+005F", +"input": "_", +"output": [["Character", "\u005F"]]}, + +{"description": "Valid numeric entity character U+0060", +"input": "`", +"output": [["Character", "\u0060"]]}, + +{"description": "Valid numeric entity character U+0061", +"input": "a", +"output": [["Character", "\u0061"]]}, + +{"description": "Valid numeric entity character U+0062", +"input": "b", +"output": [["Character", "\u0062"]]}, + +{"description": "Valid numeric entity character U+0063", +"input": "c", +"output": [["Character", "\u0063"]]}, + +{"description": "Valid numeric entity character U+0064", +"input": "d", +"output": [["Character", "\u0064"]]}, + +{"description": "Valid numeric entity character U+0065", +"input": "e", +"output": [["Character", "\u0065"]]}, + +{"description": "Valid numeric entity character U+0066", +"input": "f", +"output": [["Character", "\u0066"]]}, + +{"description": "Valid numeric entity character U+0067", +"input": "g", +"output": [["Character", "\u0067"]]}, + +{"description": "Valid numeric entity character U+0068", +"input": "h", +"output": [["Character", "\u0068"]]}, + +{"description": "Valid numeric entity character U+0069", +"input": "i", +"output": [["Character", "\u0069"]]}, + +{"description": "Valid numeric entity character U+006A", +"input": "j", +"output": [["Character", "\u006A"]]}, + +{"description": "Valid numeric entity character U+006B", +"input": "k", +"output": [["Character", "\u006B"]]}, + +{"description": "Valid numeric entity character U+006C", +"input": "l", +"output": [["Character", "\u006C"]]}, + +{"description": "Valid numeric entity character U+006D", +"input": "m", +"output": [["Character", "\u006D"]]}, + +{"description": "Valid numeric entity character U+006E", +"input": "n", +"output": [["Character", "\u006E"]]}, + +{"description": "Valid numeric entity character U+006F", +"input": "o", +"output": [["Character", "\u006F"]]}, + +{"description": "Valid numeric entity character U+0070", +"input": "p", +"output": [["Character", "\u0070"]]}, + +{"description": "Valid numeric entity character U+0071", +"input": "q", +"output": [["Character", "\u0071"]]}, + +{"description": "Valid numeric entity character U+0072", +"input": "r", +"output": [["Character", "\u0072"]]}, + +{"description": "Valid numeric entity character U+0073", +"input": "s", +"output": [["Character", "\u0073"]]}, + +{"description": "Valid numeric entity character U+0074", +"input": "t", +"output": [["Character", "\u0074"]]}, + +{"description": "Valid numeric entity character U+0075", +"input": "u", +"output": [["Character", "\u0075"]]}, + +{"description": "Valid numeric entity character U+0076", +"input": "v", +"output": [["Character", "\u0076"]]}, + +{"description": "Valid numeric entity character U+0077", +"input": "w", +"output": [["Character", "\u0077"]]}, + +{"description": "Valid numeric entity character U+0078", +"input": "x", +"output": [["Character", "\u0078"]]}, + +{"description": "Valid numeric entity character U+0079", +"input": "y", +"output": [["Character", "\u0079"]]}, + +{"description": "Valid numeric entity character U+007A", +"input": "z", +"output": [["Character", "\u007A"]]}, + +{"description": "Valid numeric entity character U+007B", +"input": "{", +"output": [["Character", "\u007B"]]}, + +{"description": "Valid numeric entity character U+007C", +"input": "|", +"output": [["Character", "\u007C"]]}, + +{"description": "Valid numeric entity character U+007D", +"input": "}", +"output": [["Character", "\u007D"]]}, + +{"description": "Valid numeric entity character U+007E", +"input": "~", +"output": [["Character", "\u007E"]]}, + +{"description": "Valid numeric entity character U+00A0", +"input": " ", +"output": [["Character", "\u00A0"]]}, + +{"description": "Valid numeric entity character U+00A1", +"input": "¡", +"output": [["Character", "\u00A1"]]}, + +{"description": "Valid numeric entity character U+00A2", +"input": "¢", +"output": [["Character", "\u00A2"]]}, + +{"description": "Valid numeric entity character U+00A3", +"input": "£", +"output": [["Character", "\u00A3"]]}, + +{"description": "Valid numeric entity character U+00A4", +"input": "¤", +"output": [["Character", "\u00A4"]]}, + +{"description": "Valid numeric entity character U+00A5", +"input": "¥", +"output": [["Character", "\u00A5"]]}, + +{"description": "Valid numeric entity character U+00A6", +"input": "¦", +"output": [["Character", "\u00A6"]]}, + +{"description": "Valid numeric entity character U+00A7", +"input": "§", +"output": [["Character", "\u00A7"]]}, + +{"description": "Valid numeric entity character U+00A8", +"input": "¨", +"output": [["Character", "\u00A8"]]}, + +{"description": "Valid numeric entity character U+00A9", +"input": "©", +"output": [["Character", "\u00A9"]]}, + +{"description": "Valid numeric entity character U+00AA", +"input": "ª", +"output": [["Character", "\u00AA"]]}, + +{"description": "Valid numeric entity character U+00AB", +"input": "«", +"output": [["Character", "\u00AB"]]}, + +{"description": "Valid numeric entity character U+00AC", +"input": "¬", +"output": [["Character", "\u00AC"]]}, + +{"description": "Valid numeric entity character U+00AD", +"input": "­", +"output": [["Character", "\u00AD"]]}, + +{"description": "Valid numeric entity character U+00AE", +"input": "®", +"output": [["Character", "\u00AE"]]}, + +{"description": "Valid numeric entity character U+00AF", +"input": "¯", +"output": [["Character", "\u00AF"]]}, + +{"description": "Valid numeric entity character U+00B0", +"input": "°", +"output": [["Character", "\u00B0"]]}, + +{"description": "Valid numeric entity character U+00B1", +"input": "±", +"output": [["Character", "\u00B1"]]}, + +{"description": "Valid numeric entity character U+00B2", +"input": "²", +"output": [["Character", "\u00B2"]]}, + +{"description": "Valid numeric entity character U+00B3", +"input": "³", +"output": [["Character", "\u00B3"]]}, + +{"description": "Valid numeric entity character U+00B4", +"input": "´", +"output": [["Character", "\u00B4"]]}, + +{"description": "Valid numeric entity character U+00B5", +"input": "µ", +"output": [["Character", "\u00B5"]]}, + +{"description": "Valid numeric entity character U+00B6", +"input": "¶", +"output": [["Character", "\u00B6"]]}, + +{"description": "Valid numeric entity character U+00B7", +"input": "·", +"output": [["Character", "\u00B7"]]}, + +{"description": "Valid numeric entity character U+00B8", +"input": "¸", +"output": [["Character", "\u00B8"]]}, + +{"description": "Valid numeric entity character U+00B9", +"input": "¹", +"output": [["Character", "\u00B9"]]}, + +{"description": "Valid numeric entity character U+00BA", +"input": "º", +"output": [["Character", "\u00BA"]]}, + +{"description": "Valid numeric entity character U+00BB", +"input": "»", +"output": [["Character", "\u00BB"]]}, + +{"description": "Valid numeric entity character U+00BC", +"input": "¼", +"output": [["Character", "\u00BC"]]}, + +{"description": "Valid numeric entity character U+00BD", +"input": "½", +"output": [["Character", "\u00BD"]]}, + +{"description": "Valid numeric entity character U+00BE", +"input": "¾", +"output": [["Character", "\u00BE"]]}, + +{"description": "Valid numeric entity character U+00BF", +"input": "¿", +"output": [["Character", "\u00BF"]]}, + +{"description": "Valid numeric entity character U+00C0", +"input": "À", +"output": [["Character", "\u00C0"]]}, + +{"description": "Valid numeric entity character U+00C1", +"input": "Á", +"output": [["Character", "\u00C1"]]}, + +{"description": "Valid numeric entity character U+00C2", +"input": "Â", +"output": [["Character", "\u00C2"]]}, + +{"description": "Valid numeric entity character U+00C3", +"input": "Ã", +"output": [["Character", "\u00C3"]]}, + +{"description": "Valid numeric entity character U+00C4", +"input": "Ä", +"output": [["Character", "\u00C4"]]}, + +{"description": "Valid numeric entity character U+00C5", +"input": "Å", +"output": [["Character", "\u00C5"]]}, + +{"description": "Valid numeric entity character U+00C6", +"input": "Æ", +"output": [["Character", "\u00C6"]]}, + +{"description": "Valid numeric entity character U+00C7", +"input": "Ç", +"output": [["Character", "\u00C7"]]}, + +{"description": "Valid numeric entity character U+00C8", +"input": "È", +"output": [["Character", "\u00C8"]]}, + +{"description": "Valid numeric entity character U+00C9", +"input": "É", +"output": [["Character", "\u00C9"]]}, + +{"description": "Valid numeric entity character U+00CA", +"input": "Ê", +"output": [["Character", "\u00CA"]]}, + +{"description": "Valid numeric entity character U+00CB", +"input": "Ë", +"output": [["Character", "\u00CB"]]}, + +{"description": "Valid numeric entity character U+00CC", +"input": "Ì", +"output": [["Character", "\u00CC"]]}, + +{"description": "Valid numeric entity character U+00CD", +"input": "Í", +"output": [["Character", "\u00CD"]]}, + +{"description": "Valid numeric entity character U+00CE", +"input": "Î", +"output": [["Character", "\u00CE"]]}, + +{"description": "Valid numeric entity character U+00CF", +"input": "Ï", +"output": [["Character", "\u00CF"]]}, + +{"description": "Valid numeric entity character U+00D0", +"input": "Ð", +"output": [["Character", "\u00D0"]]}, + +{"description": "Valid numeric entity character U+00D1", +"input": "Ñ", +"output": [["Character", "\u00D1"]]}, + +{"description": "Valid numeric entity character U+00D2", +"input": "Ò", +"output": [["Character", "\u00D2"]]}, + +{"description": "Valid numeric entity character U+00D3", +"input": "Ó", +"output": [["Character", "\u00D3"]]}, + +{"description": "Valid numeric entity character U+00D4", +"input": "Ô", +"output": [["Character", "\u00D4"]]}, + +{"description": "Valid numeric entity character U+00D5", +"input": "Õ", +"output": [["Character", "\u00D5"]]}, + +{"description": "Valid numeric entity character U+00D6", +"input": "Ö", +"output": [["Character", "\u00D6"]]}, + +{"description": "Valid numeric entity character U+00D7", +"input": "×", +"output": [["Character", "\u00D7"]]}, + +{"description": "Valid numeric entity character U+00D8", +"input": "Ø", +"output": [["Character", "\u00D8"]]}, + +{"description": "Valid numeric entity character U+00D9", +"input": "Ù", +"output": [["Character", "\u00D9"]]}, + +{"description": "Valid numeric entity character U+00DA", +"input": "Ú", +"output": [["Character", "\u00DA"]]}, + +{"description": "Valid numeric entity character U+00DB", +"input": "Û", +"output": [["Character", "\u00DB"]]}, + +{"description": "Valid numeric entity character U+00DC", +"input": "Ü", +"output": [["Character", "\u00DC"]]}, + +{"description": "Valid numeric entity character U+00DD", +"input": "Ý", +"output": [["Character", "\u00DD"]]}, + +{"description": "Valid numeric entity character U+00DE", +"input": "Þ", +"output": [["Character", "\u00DE"]]}, + +{"description": "Valid numeric entity character U+00DF", +"input": "ß", +"output": [["Character", "\u00DF"]]}, + +{"description": "Valid numeric entity character U+00E0", +"input": "à", +"output": [["Character", "\u00E0"]]}, + +{"description": "Valid numeric entity character U+00E1", +"input": "á", +"output": [["Character", "\u00E1"]]}, + +{"description": "Valid numeric entity character U+00E2", +"input": "â", +"output": [["Character", "\u00E2"]]}, + +{"description": "Valid numeric entity character U+00E3", +"input": "ã", +"output": [["Character", "\u00E3"]]}, + +{"description": "Valid numeric entity character U+00E4", +"input": "ä", +"output": [["Character", "\u00E4"]]}, + +{"description": "Valid numeric entity character U+00E5", +"input": "å", +"output": [["Character", "\u00E5"]]}, + +{"description": "Valid numeric entity character U+00E6", +"input": "æ", +"output": [["Character", "\u00E6"]]}, + +{"description": "Valid numeric entity character U+00E7", +"input": "ç", +"output": [["Character", "\u00E7"]]}, + +{"description": "Valid numeric entity character U+00E8", +"input": "è", +"output": [["Character", "\u00E8"]]}, + +{"description": "Valid numeric entity character U+00E9", +"input": "é", +"output": [["Character", "\u00E9"]]}, + +{"description": "Valid numeric entity character U+00EA", +"input": "ê", +"output": [["Character", "\u00EA"]]}, + +{"description": "Valid numeric entity character U+00EB", +"input": "ë", +"output": [["Character", "\u00EB"]]}, + +{"description": "Valid numeric entity character U+00EC", +"input": "ì", +"output": [["Character", "\u00EC"]]}, + +{"description": "Valid numeric entity character U+00ED", +"input": "í", +"output": [["Character", "\u00ED"]]}, + +{"description": "Valid numeric entity character U+00EE", +"input": "î", +"output": [["Character", "\u00EE"]]}, + +{"description": "Valid numeric entity character U+00EF", +"input": "ï", +"output": [["Character", "\u00EF"]]}, + +{"description": "Valid numeric entity character U+00F0", +"input": "ð", +"output": [["Character", "\u00F0"]]}, + +{"description": "Valid numeric entity character U+00F1", +"input": "ñ", +"output": [["Character", "\u00F1"]]}, + +{"description": "Valid numeric entity character U+00F2", +"input": "ò", +"output": [["Character", "\u00F2"]]}, + +{"description": "Valid numeric entity character U+00F3", +"input": "ó", +"output": [["Character", "\u00F3"]]}, + +{"description": "Valid numeric entity character U+00F4", +"input": "ô", +"output": [["Character", "\u00F4"]]}, + +{"description": "Valid numeric entity character U+00F5", +"input": "õ", +"output": [["Character", "\u00F5"]]}, + +{"description": "Valid numeric entity character U+00F6", +"input": "ö", +"output": [["Character", "\u00F6"]]}, + +{"description": "Valid numeric entity character U+00F7", +"input": "÷", +"output": [["Character", "\u00F7"]]}, + +{"description": "Valid numeric entity character U+00F8", +"input": "ø", +"output": [["Character", "\u00F8"]]}, + +{"description": "Valid numeric entity character U+00F9", +"input": "ù", +"output": [["Character", "\u00F9"]]}, + +{"description": "Valid numeric entity character U+00FA", +"input": "ú", +"output": [["Character", "\u00FA"]]}, + +{"description": "Valid numeric entity character U+00FB", +"input": "û", +"output": [["Character", "\u00FB"]]}, + +{"description": "Valid numeric entity character U+00FC", +"input": "ü", +"output": [["Character", "\u00FC"]]}, + +{"description": "Valid numeric entity character U+00FD", +"input": "ý", +"output": [["Character", "\u00FD"]]}, + +{"description": "Valid numeric entity character U+00FE", +"input": "þ", +"output": [["Character", "\u00FE"]]}, + +{"description": "Valid numeric entity character U+00FF", +"input": "ÿ", +"output": [["Character", "\u00FF"]]}, + +{"description": "Valid numeric entity character U+D7FF", +"input": "퟿", +"output": [["Character", "\uD7FF"]]}, + +{"description": "Valid numeric entity character U+E000", +"input": "", +"output": [["Character", "\uE000"]]}, + +{"description": "Valid numeric entity character U+FDCF", +"input": "﷏", +"output": [["Character", "\uFDCF"]]}, + +{"description": "Valid numeric entity character U+FDF0", +"input": "ﷰ", +"output": [["Character", "\uFDF0"]]}, + +{"description": "Valid numeric entity character U+FFFD", +"input": "�", +"output": [["Character", "\uFFFD"]]}, + +{"description": "Valid numeric entity character U+10000", +"input": "𐀀", +"output": [["Character", "\uD800\uDC00"]]}, + +{"description": "Valid numeric entity character U+1FFFD", +"input": "🿽", +"output": [["Character", "\uD83F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+20000", +"input": "𠀀", +"output": [["Character", "\uD840\uDC00"]]}, + +{"description": "Valid numeric entity character U+2FFFD", +"input": "𯿽", +"output": [["Character", "\uD87F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+30000", +"input": "𰀀", +"output": [["Character", "\uD880\uDC00"]]}, + +{"description": "Valid numeric entity character U+3FFFD", +"input": "𿿽", +"output": [["Character", "\uD8BF\uDFFD"]]}, + +{"description": "Valid numeric entity character U+40000", +"input": "񀀀", +"output": [["Character", "\uD8C0\uDC00"]]}, + +{"description": "Valid numeric entity character U+4FFFD", +"input": "񏿽", +"output": [["Character", "\uD8FF\uDFFD"]]}, + +{"description": "Valid numeric entity character U+50000", +"input": "񐀀", +"output": [["Character", "\uD900\uDC00"]]}, + +{"description": "Valid numeric entity character U+5FFFD", +"input": "񟿽", +"output": [["Character", "\uD93F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+60000", +"input": "񠀀", +"output": [["Character", "\uD940\uDC00"]]}, + +{"description": "Valid numeric entity character U+6FFFD", +"input": "񯿽", +"output": [["Character", "\uD97F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+70000", +"input": "񰀀", +"output": [["Character", "\uD980\uDC00"]]}, + +{"description": "Valid numeric entity character U+7FFFD", +"input": "񿿽", +"output": [["Character", "\uD9BF\uDFFD"]]}, + +{"description": "Valid numeric entity character U+80000", +"input": "򀀀", +"output": [["Character", "\uD9C0\uDC00"]]}, + +{"description": "Valid numeric entity character U+8FFFD", +"input": "򏿽", +"output": [["Character", "\uD9FF\uDFFD"]]}, + +{"description": "Valid numeric entity character U+90000", +"input": "򐀀", +"output": [["Character", "\uDA00\uDC00"]]}, + +{"description": "Valid numeric entity character U+9FFFD", +"input": "򟿽", +"output": [["Character", "\uDA3F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+A0000", +"input": "򠀀", +"output": [["Character", "\uDA40\uDC00"]]}, + +{"description": "Valid numeric entity character U+AFFFD", +"input": "򯿽", +"output": [["Character", "\uDA7F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+B0000", +"input": "򰀀", +"output": [["Character", "\uDA80\uDC00"]]}, + +{"description": "Valid numeric entity character U+BFFFD", +"input": "򿿽", +"output": [["Character", "\uDABF\uDFFD"]]}, + +{"description": "Valid numeric entity character U+C0000", +"input": "󀀀", +"output": [["Character", "\uDAC0\uDC00"]]}, + +{"description": "Valid numeric entity character U+CFFFD", +"input": "󏿽", +"output": [["Character", "\uDAFF\uDFFD"]]}, + +{"description": "Valid numeric entity character U+D0000", +"input": "󐀀", +"output": [["Character", "\uDB00\uDC00"]]}, + +{"description": "Valid numeric entity character U+DFFFD", +"input": "󟿽", +"output": [["Character", "\uDB3F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+E0000", +"input": "󠀀", +"output": [["Character", "\uDB40\uDC00"]]}, + +{"description": "Valid numeric entity character U+EFFFD", +"input": "󯿽", +"output": [["Character", "\uDB7F\uDFFD"]]}, + +{"description": "Valid numeric entity character U+F0000", +"input": "󰀀", +"output": [["Character", "\uDB80\uDC00"]]}, + +{"description": "Valid numeric entity character U+FFFFD", +"input": "󿿽", +"output": [["Character", "\uDBBF\uDFFD"]]}, + +{"description": "Valid numeric entity character U+100000", +"input": "􀀀", +"output": [["Character", "\uDBC0\uDC00"]]}, + +{"description": "Valid numeric entity character U+10FFFD", +"input": "􏿽", +"output": [["Character", "\uDBFF\uDFFD"]]} + +]} + + diff --git a/tests/html5lib-tests/tokenizer/pendingSpecChanges.test b/tests/html5lib-tests/tokenizer/pendingSpecChanges.test new file mode 100644 index 0000000..191434f --- /dev/null +++ b/tests/html5lib-tests/tokenizer/pendingSpecChanges.test @@ -0,0 +1,9 @@ +{"tests": [ + +{"description":"<!---- >", +"input":"<!---- >", +"output":[["Comment","-- >"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]} +]} diff --git a/tests/html5lib-tests/tokenizer/test1.test b/tests/html5lib-tests/tokenizer/test1.test new file mode 100644 index 0000000..cb0eb48 --- /dev/null +++ b/tests/html5lib-tests/tokenizer/test1.test @@ -0,0 +1,349 @@ +{"tests": [ + +{"description":"Correct Doctype lowercase", +"input":"<!DOCTYPE html>", +"output":[["DOCTYPE", "html", null, null, true]]}, + + +{"description":"Correct Doctype uppercase", +"input":"<!DOCTYPE HTML>", +"output":[["DOCTYPE", "html", null, null, true]]}, + +{"description":"Correct Doctype mixed case", +"input":"<!DOCTYPE HtMl>", +"output":[["DOCTYPE", "html", null, null, true]]}, + +{"description":"Correct Doctype case with EOF", +"input":"<!DOCTYPE HtMl", +"output":[["DOCTYPE", "html", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 15 } +]}, + +{"description":"Truncated doctype start", +"input":"<!DOC>", +"output":[["Comment", "DOC"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"Doctype in error", +"input":"<!DOCTYPE foo>", +"output":[["DOCTYPE", "foo", null, null, true]]}, + +{"description":"Single Start Tag", +"input":"<h>", +"output":[["StartTag", "h", {}]]}, + +{"description":"Empty end tag", +"input":"</>", +"output":[], +"errors":[ + { "code": "missing-end-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"Empty start tag", +"input":"<>", +"output":[["Character", "<>"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"Start Tag w/attribute", +"input":"<h a='b'>", +"output":[["StartTag", "h", {"a":"b"}]]}, + +{"description":"Start Tag w/attribute no quotes", +"input":"<h a=b>", +"output":[["StartTag", "h", {"a":"b"}]]}, + +{"description":"Start/End Tag", +"input":"<h></h>", +"output":[["StartTag", "h", {}], ["EndTag", "h"]]}, + +{"description":"Two unclosed start tags", +"input":"<p>One<p>Two", +"output":[["StartTag", "p", {}], ["Character", "One"], ["StartTag", "p", {}], ["Character", "Two"]]}, + +{"description":"End Tag w/attribute", +"input":"<h></h a='b'>", +"output":[["StartTag", "h", {}], ["EndTag", "h"]], +"errors":[ + { "code": "end-tag-with-attributes", "line": 1, "col": 13 } +]}, + +{"description":"Multiple atts", +"input":"<h a='b' c='d'>", +"output":[["StartTag", "h", {"a":"b", "c":"d"}]]}, + +{"description":"Multiple atts no space", +"input":"<h a='b'c='d'>", +"output":[["StartTag", "h", {"a":"b", "c":"d"}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 9 } +]}, + +{"description":"Repeated attr", + "input":"<h a='b' a='d'>", + "output":[["StartTag", "h", {"a":"b"}]], + "errors":[ + { "code": "duplicate-attribute", "line": 1, "col": 11 } +]}, + +{"description":"Simple comment", + "input":"<!--comment-->", + "output":[["Comment", "comment"]]}, + +{"description":"Comment, Central dash no space", + "input":"<!----->", + "output":[["Comment", "-"]]}, + +{"description":"Comment, two central dashes", +"input":"<!-- --comment -->", +"output":[["Comment", " --comment "]]}, + +{"description":"Comment, central less-than bang", +"input":"<!--<!-->", +"output":[["Comment", "<!"]]}, + +{"description":"Unfinished comment", +"input":"<!--comment", +"output":[["Comment", "comment"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 12 } +]}, + +{"description":"Unfinished comment after start of nested comment", +"input":"<!-- <!--", +"output":[["Comment", " <!"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 10 } +]}, + +{"description":"Start of a comment", +"input":"<!-", +"output":[["Comment", "-"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"Short comment", +"input":"<!-->", +"output":[["Comment", ""]], +"errors":[ + { "code": "abrupt-closing-of-empty-comment", "line": 1, "col": 5 } +]}, + +{"description":"Short comment two", +"input":"<!--->", +"output":[["Comment", ""]], +"errors":[ + { "code": "abrupt-closing-of-empty-comment", "line": 1, "col": 6 } +]}, + +{"description":"Short comment three", + "input":"<!---->", + "output":[["Comment", ""]]}, + +{"description":"< in comment", +"input":"<!-- <test-->", +"output":[["Comment", " <test"]]}, + +{"description":"<! in comment", +"input":"<!-- <!test-->", +"output":[["Comment", " <!test"]]}, + +{"description":"<!- in comment", +"input":"<!-- <!-test-->", +"output":[["Comment", " <!-test"]]}, + +{"description":"Nested comment", +"input":"<!-- <!--test-->", +"output":[["Comment", " <!--test"]], +"errors":[ + { "code": "nested-comment", "line": 1, "col": 10 } +]}, + +{"description":"Nested comment with extra <", +"input":"<!-- <<!--test-->", +"output":[["Comment", " <<!--test"]], +"errors":[ + { "code": "nested-comment", "line": 1, "col": 11 } +]}, + +{"description":"< in script data", +"initialStates":["Script data state"], +"input":"<test-->", +"output":[["Character", "<test-->"]]}, + +{"description":"<! in script data", +"initialStates":["Script data state"], +"input":"<!test-->", +"output":[["Character", "<!test-->"]]}, + +{"description":"<!- in script data", +"initialStates":["Script data state"], +"input":"<!-test-->", +"output":[["Character", "<!-test-->"]]}, + +{"description":"Escaped script data", +"initialStates":["Script data state"], +"input":"<!--test-->", +"output":[["Character", "<!--test-->"]]}, + +{"description":"< in script HTML comment", +"initialStates":["Script data state"], +"input":"<!-- < test -->", +"output":[["Character", "<!-- < test -->"]]}, + +{"description":"</ in script HTML comment", +"initialStates":["Script data state"], +"input":"<!-- </ test -->", +"output":[["Character", "<!-- </ test -->"]]}, + +{"description":"Start tag in script HTML comment", +"initialStates":["Script data state"], +"input":"<!-- <test> -->", +"output":[["Character", "<!-- <test> -->"]]}, + +{"description":"End tag in script HTML comment", +"initialStates":["Script data state"], +"input":"<!-- </test> -->", +"output":[["Character", "<!-- </test> -->"]]}, + +{"description":"- in script HTML comment double escaped", +"initialStates":["Script data state"], +"input":"<!--<script>-</script>-->", +"output":[["Character", "<!--<script>-</script>-->"]]}, + +{"description":"-- in script HTML comment double escaped", +"initialStates":["Script data state"], +"input":"<!--<script>--</script>-->", +"output":[["Character", "<!--<script>--</script>-->"]]}, + +{"description":"--- in script HTML comment double escaped", +"initialStates":["Script data state"], +"input":"<!--<script>---</script>-->", +"output":[["Character", "<!--<script>---</script>-->"]]}, + +{"description":"- spaced in script HTML comment double escaped", +"initialStates":["Script data state"], +"input":"<!--<script> - </script>-->", +"output":[["Character", "<!--<script> - </script>-->"]]}, + +{"description":"-- spaced in script HTML comment double escaped", +"initialStates":["Script data state"], +"input":"<!--<script> -- </script>-->", +"output":[["Character", "<!--<script> -- </script>-->"]]}, + +{"description":"Ampersand EOF", +"input":"&", +"output":[["Character", "&"]]}, + +{"description":"Ampersand ampersand EOF", +"input":"&&", +"output":[["Character", "&&"]]}, + +{"description":"Ampersand space EOF", +"input":"& ", +"output":[["Character", "& "]]}, + +{"description":"Unfinished entity", +"input":"&f", +"output":[["Character", "&f"]]}, + +{"description":"Ampersand, number sign", +"input":"&#", +"output":[["Character", "&#"]], +"errors":[ + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 3 } +]}, + +{"description":"Unfinished numeric entity", +"input":"&#x", +"output":[["Character", "&#x"]], +"errors":[ + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 4 } +]}, + +{"description":"Entity with trailing semicolon (1)", +"input":"I'm ¬it", +"output":[["Character","I'm \u00ACit"]]}, + +{"description":"Entity with trailing semicolon (2)", +"input":"I'm ∉", +"output":[["Character","I'm \u2209"]]}, + +{"description":"Entity without trailing semicolon (1)", +"input":"I'm ¬it", +"output":[["Character","I'm \u00ACit"]], +"errors": [ + {"code" : "missing-semicolon-after-character-reference", "line": 1, "col": 9 } +]}, + +{"description":"Entity without trailing semicolon (2)", +"input":"I'm ¬in", +"output":[["Character","I'm \u00ACin"]], +"errors": [ + {"code" : "missing-semicolon-after-character-reference", "line": 1, "col": 9 } +]}, + +{"description":"Partial entity match at end of file", +"input":"I'm &no", +"output":[["Character","I'm &no"]]}, + +{"description":"Non-ASCII character reference name", +"input":"&\u00AC;", +"output":[["Character", "&\u00AC;"]]}, + +{"description":"ASCII decimal entity", +"input":"$", +"output":[["Character","$"]]}, + +{"description":"ASCII hexadecimal entity", +"input":"?", +"output":[["Character","?"]]}, + +{"description":"Hexadecimal entity in attribute", +"input":"<h a='?'></h>", +"output":[["StartTag", "h", {"a":"?"}], ["EndTag", "h"]]}, + +{"description":"Entity in attribute without semicolon ending in x", +"input":"<h a='¬x'>", +"output":[["StartTag", "h", {"a":"¬x"}]]}, + +{"description":"Entity in attribute without semicolon ending in 1", +"input":"<h a='¬1'>", +"output":[["StartTag", "h", {"a":"¬1"}]]}, + +{"description":"Entity in attribute without semicolon ending in i", +"input":"<h a='¬i'>", +"output":[["StartTag", "h", {"a":"¬i"}]]}, + +{"description":"Entity in attribute without semicolon", +"input":"<h a='©'>", +"output":[["StartTag", "h", {"a":"\u00A9"}]], +"errors": [ + {"code" : "missing-semicolon-after-character-reference", "line": 1, "col": 12 } +]}, + +{"description":"Unquoted attribute ending in ampersand", +"input":"<s o=& t>", +"output":[["StartTag","s",{"o":"&","t":""}]]}, + +{"description":"Unquoted attribute at end of tag with final character of &, with tag followed by characters", +"input":"<a a=a&>foo", +"output":[["StartTag", "a", {"a":"a&"}], ["Character", "foo"]]}, + +{"description":"plaintext element", + "input":"<plaintext>foobar", + "output":[["StartTag","plaintext",{}], ["Character","foobar"]]}, + +{"description":"Open angled bracket in unquoted attribute value state", + "input":"<a a=f<>", + "output":[["StartTag", "a", {"a":"f<"}]], + "errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]} + +]} diff --git a/tests/html5lib-tests/tokenizer/test2.test b/tests/html5lib-tests/tokenizer/test2.test new file mode 100644 index 0000000..f80f27d --- /dev/null +++ b/tests/html5lib-tests/tokenizer/test2.test @@ -0,0 +1,275 @@ +{"tests": [ + +{"description":"DOCTYPE without name", +"input":"<!DOCTYPE>", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "missing-doctype-name", "line": 1, "col": 10 } +]}, + +{"description":"DOCTYPE without space before name", +"input":"<!DOCTYPEhtml>", +"output":[["DOCTYPE", "html", null, null, true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 } +]}, + +{"description":"Incorrect DOCTYPE without a space before name", +"input":"<!DOCTYPEfoo>", +"output":[["DOCTYPE", "foo", null, null, true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 } +]}, + +{"description":"DOCTYPE with publicId", +"input":"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML Transitional 4.01//EN\">", +"output":[["DOCTYPE", "html", "-//W3C//DTD HTML Transitional 4.01//EN", null, true]]}, + +{"description":"DOCTYPE with EOF after PUBLIC", +"input":"<!DOCTYPE html PUBLIC", +"output":[["DOCTYPE", "html", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"DOCTYPE with EOF after PUBLIC '", +"input":"<!DOCTYPE html PUBLIC '", +"output":[["DOCTYPE", "html", "", null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 24, "line": 1 } +]}, + +{"description":"DOCTYPE with EOF after PUBLIC 'x", +"input":"<!DOCTYPE html PUBLIC 'x", +"output":[["DOCTYPE", "html", "x", null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 25, "line": 1 } +]}, + +{"description":"DOCTYPE with systemId", +"input":"<!DOCTYPE html SYSTEM \"-//W3C//DTD HTML Transitional 4.01//EN\">", +"output":[["DOCTYPE", "html", null, "-//W3C//DTD HTML Transitional 4.01//EN", true]]}, + +{"description":"DOCTYPE with single-quoted systemId", +"input":"<!DOCTYPE html SYSTEM '-//W3C//DTD HTML Transitional 4.01//EN'>", +"output":[["DOCTYPE", "html", null, "-//W3C//DTD HTML Transitional 4.01//EN", true]]}, + +{"description":"DOCTYPE with publicId and systemId", +"input":"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML Transitional 4.01//EN\" \"-//W3C//DTD HTML Transitional 4.01//EN\">", +"output":[["DOCTYPE", "html", "-//W3C//DTD HTML Transitional 4.01//EN", "-//W3C//DTD HTML Transitional 4.01//EN", true]]}, + +{"description":"DOCTYPE with > in double-quoted publicId", +"input":"<!DOCTYPE html PUBLIC \">x", +"output":[["DOCTYPE", "html", "", null, false], ["Character", "x"]], +"errors": [ + { "code": "abrupt-doctype-public-identifier", "col": 24, "line": 1 } +]}, + +{"description":"DOCTYPE with > in single-quoted publicId", +"input":"<!DOCTYPE html PUBLIC '>x", +"output":[["DOCTYPE", "html", "", null, false], ["Character", "x"]], +"errors": [ + { "code": "abrupt-doctype-public-identifier", "col": 24, "line": 1 } +]}, + +{"description":"DOCTYPE with > in double-quoted systemId", +"input":"<!DOCTYPE html PUBLIC \"foo\" \">x", +"output":[["DOCTYPE", "html", "foo", "", false], ["Character", "x"]], +"errors": [ + { "code": "abrupt-doctype-system-identifier", "col": 30, "line": 1 } +]}, + +{"description":"DOCTYPE with > in single-quoted systemId", +"input":"<!DOCTYPE html PUBLIC 'foo' '>x", +"output":[["DOCTYPE", "html", "foo", "", false], ["Character", "x"]], +"errors": [ + { "code": "abrupt-doctype-system-identifier", "col": 30, "line": 1 } +]}, + +{"description":"Incomplete doctype", +"input":"<!DOCTYPE html ", +"output":[["DOCTYPE", "html", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 16 } +]}, + +{"description":"Numeric entity representing the NUL character", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "null-character-reference", "line": 1, "col": 8 } +]}, + +{"description":"Hexadecimal entity representing the NUL character", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "null-character-reference", "line": 1, "col": 9 } +]}, + +{"description":"Numeric entity representing a codepoint after 1114111 (U+10FFFF)", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 11 } +]}, + +{"description":"Hexadecimal entity representing a codepoint after 1114111 (U+10FFFF)", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 13 } +]}, + +{"description":"Hexadecimal entity pair representing a surrogate pair", +"input":"��", +"output":[["Character", "\uFFFD\uFFFD"]], +"errors":[ + { "code": "surrogate-character-reference", "line": 1, "col": 9 }, + { "code": "surrogate-character-reference", "line": 1, "col": 17 } +]}, + +{"description":"Hexadecimal entity with mixed uppercase and lowercase", +"input":"ꯍ", +"output":[["Character", "\uABCD"]]}, + +{"description":"Entity without a name", +"input":"&;", +"output":[["Character", "&;"]]}, + +{"description":"Unescaped ampersand in attribute value", +"input":"<h a='&'>", +"output":[["StartTag", "h", { "a":"&" }]]}, + + +{"description":"StartTag containing <", +"input":"<a<b>", +"output":[["StartTag", "a<b", { }]]}, + +{"description":"Non-void element containing trailing /", +"input":"<h/>", +"output":[["StartTag","h",{},true]]}, + +{"description":"Void element with permitted slash", +"input":"<br/>", +"output":[["StartTag","br",{},true]]}, + +{"description":"Void element with permitted slash (with attribute)", +"input":"<br foo='bar'/>", +"output":[["StartTag","br",{"foo":"bar"},true]]}, + +{"description":"StartTag containing /", +"input":"<h/a='b'>", +"output":[["StartTag", "h", { "a":"b" }]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"Double-quoted attribute value", +"input":"<h a=\"b\">", +"output":[["StartTag", "h", { "a":"b" }]]}, + +{"description":"Unescaped </", +"input":"</", +"output":[["Character", "</"]], +"errors":[ + { "code": "eof-before-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"Illegal end tag name", +"input":"</1>", +"output":[["Comment", "1"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"Simili processing instruction", +"input":"<?namespace>", +"output":[["Comment", "?namespace"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"A bogus comment stops at >, even if preceeded by two dashes", +"input":"<?foo-->", +"output":[["Comment", "?foo--"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"Unescaped <", +"input":"foo < bar", +"output":[["Character", "foo < bar"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 6 } +]}, + +{"description":"Null Byte Replacement", +"input":"\u0000", +"output":[["Character", "\u0000"]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 1 } +]}, + +{"description":"Comment with dash", +"input":"<!---x", +"output":[["Comment", "-x"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"Entity + newline", +"input":"\nx\n>\n", +"output":[["Character","\nx\n>\n"]]}, + +{"description":"Start tag with no attributes but space before the greater-than sign", +"input":"<h >", +"output":[["StartTag", "h", {}]]}, + +{"description":"Empty attribute followed by uppercase attribute", +"input":"<h a B=''>", +"output":[["StartTag", "h", {"a":"", "b":""}]]}, + +{"description":"Double-quote after attribute name", +"input":"<h a \">", +"output":[["StartTag", "h", {"a":"", "\"":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 } +]}, + +{"description":"Single-quote after attribute name", +"input":"<h a '>", +"output":[["StartTag", "h", {"a":"", "'":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 } +]}, + +{"description":"Empty end tag with following characters", +"input":"a</>bc", +"output":[["Character", "abc"]], +"errors":[ + { "code": "missing-end-tag-name", "line": 1, "col": 4 } +]}, + +{"description":"Empty end tag with following tag", +"input":"a</><b>c", +"output":[["Character", "a"], ["StartTag", "b", {}], ["Character", "c"]], +"errors":[ + { "code": "missing-end-tag-name", "line": 1, "col": 4 } +]}, + +{"description":"Empty end tag with following comment", +"input":"a</><!--b-->c", +"output":[["Character", "a"], ["Comment", "b"], ["Character", "c"]], +"errors":[ + { "code": "missing-end-tag-name", "line": 1, "col": 4 } +]}, + +{"description":"Empty end tag with following end tag", +"input":"a</></b>c", +"output":[["Character", "a"], ["EndTag", "b"], ["Character", "c"]], +"errors":[ + { "code": "missing-end-tag-name", "line": 1, "col": 4 } +]} + +]} diff --git a/tests/html5lib-tests/tokenizer/test3.test b/tests/html5lib-tests/tokenizer/test3.test new file mode 100644 index 0000000..814482c --- /dev/null +++ b/tests/html5lib-tests/tokenizer/test3.test @@ -0,0 +1,11233 @@ +{"tests": [ + +{"description":"[empty]", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"", +"output":[]}, + +{"description":"[empty]", +"initialStates":["CDATA section state"], +"input":"", +"output":[], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"\\u0009", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"\u0009", +"output":[["Character", "\u0009"]]}, + +{"description":"\\u0009", +"initialStates":["CDATA section state"], +"input":"\u0009", +"output":[["Character", "\u0009"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"\\u000A", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"\u000A", +"output":[["Character", "\u000A"]]}, + +{"description":"\\u000A", +"initialStates":["CDATA section state"], +"input":"\u000A", +"output":[["Character", "\u000A"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"\\u000B", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"\u000B", +"output":[["Character", "\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description":"\\u000B", +"initialStates":["CDATA section state"], +"input":"\u000B", +"output":[["Character", "\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 }, + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"\\u000C", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"\u000C", +"output":[["Character", "\u000C"]]}, + +{"description":"\\u000C", +"initialStates":["CDATA section state"], +"input":"\u000C", +"output":[["Character", "\u000C"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":" ", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":" ", +"output":[["Character", " "]]}, + +{"description":" ", +"initialStates":["CDATA section state"], +"input":" ", +"output":[["Character", " "]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"!", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"!", +"output":[["Character", "!"]]}, + +{"description":"!", +"initialStates":["CDATA section state"], +"input":"!", +"output":[["Character", "!"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"\"", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"\"", +"output":[["Character", "\""]]}, + +{"description":"\"", +"initialStates":["CDATA section state"], +"input":"\"", +"output":[["Character", "\""]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"%", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"%", +"output":[["Character", "%"]]}, + +{"description":"%", +"initialStates":["CDATA section state"], +"input":"%", +"output":[["Character", "%"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"&", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"&", +"output":[["Character", "&"]]}, + +{"description":"&", +"initialStates":["CDATA section state"], +"input":"&", +"output":[["Character", "&"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"'", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"'", +"output":[["Character", "'"]]}, + +{"description":"'", +"initialStates":["CDATA section state"], +"input":"'", +"output":[["Character", "'"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":",", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":",", +"output":[["Character", ","]]}, + +{"description":",", +"initialStates":["CDATA section state"], +"input":",", +"output":[["Character", ","]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"-", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"-", +"output":[["Character", "-"]]}, + +{"description":"-", +"initialStates":["CDATA section state"], +"input":"-", +"output":[["Character", "-"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":".", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":".", +"output":[["Character", "."]]}, + +{"description":".", +"initialStates":["CDATA section state"], +"input":".", +"output":[["Character", "."]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"/", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"/", +"output":[["Character", "/"]]}, + +{"description":"/", +"initialStates":["CDATA section state"], +"input":"/", +"output":[["Character", "/"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"0", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"0", +"output":[["Character", "0"]]}, + +{"description":"0", +"initialStates":["CDATA section state"], +"input":"0", +"output":[["Character", "0"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"1", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"1", +"output":[["Character", "1"]]}, + +{"description":"1", +"initialStates":["CDATA section state"], +"input":"1", +"output":[["Character", "1"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"9", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"9", +"output":[["Character", "9"]]}, + +{"description":"9", +"initialStates":["CDATA section state"], +"input":"9", +"output":[["Character", "9"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":";", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";", +"output":[["Character", ";"]]}, + +{"description":";", +"initialStates":["CDATA section state"], +"input":";", +"output":[["Character", ";"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":";=", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";=", +"output":[["Character", ";="]]}, + +{"description":";=", +"initialStates":["CDATA section state"], +"input":";=", +"output":[["Character", ";="]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";>", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";>", +"output":[["Character", ";>"]]}, + +{"description":";>", +"initialStates":["CDATA section state"], +"input":";>", +"output":[["Character", ";>"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";?", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";?", +"output":[["Character", ";?"]]}, + +{"description":";?", +"initialStates":["CDATA section state"], +"input":";?", +"output":[["Character", ";?"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";@", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";@", +"output":[["Character", ";@"]]}, + +{"description":";@", +"initialStates":["CDATA section state"], +"input":";@", +"output":[["Character", ";@"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";A", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";A", +"output":[["Character", ";A"]]}, + +{"description":";A", +"initialStates":["CDATA section state"], +"input":";A", +"output":[["Character", ";A"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";B", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";B", +"output":[["Character", ";B"]]}, + +{"description":";B", +"initialStates":["CDATA section state"], +"input":";B", +"output":[["Character", ";B"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";Y", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";Y", +"output":[["Character", ";Y"]]}, + +{"description":";Y", +"initialStates":["CDATA section state"], +"input":";Y", +"output":[["Character", ";Y"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";Z", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";Z", +"output":[["Character", ";Z"]]}, + +{"description":";Z", +"initialStates":["CDATA section state"], +"input":";Z", +"output":[["Character", ";Z"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";`", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";`", +"output":[["Character", ";`"]]}, + +{"description":";`", +"initialStates":["CDATA section state"], +"input":";`", +"output":[["Character", ";`"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";a", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";a", +"output":[["Character", ";a"]]}, + +{"description":";a", +"initialStates":["CDATA section state"], +"input":";a", +"output":[["Character", ";a"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";b", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";b", +"output":[["Character", ";b"]]}, + +{"description":";b", +"initialStates":["CDATA section state"], +"input":";b", +"output":[["Character", ";b"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";y", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";y", +"output":[["Character", ";y"]]}, + +{"description":";y", +"initialStates":["CDATA section state"], +"input":";y", +"output":[["Character", ";y"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";z", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";z", +"output":[["Character", ";z"]]}, + +{"description":";z", +"initialStates":["CDATA section state"], +"input":";z", +"output":[["Character", ";z"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";{", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";{", +"output":[["Character", ";{"]]}, + +{"description":";{", +"initialStates":["CDATA section state"], +"input":";{", +"output":[["Character", ";{"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":";\\uDBC0\\uDC00", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":";\uDBC0\uDC00", +"output":[["Character", ";\uDBC0\uDC00"]]}, + +{"description":";\\uDBC0\\uDC00", +"initialStates":["CDATA section state"], +"input":";\uDBC0\uDC00", +"output":[["Character", ";\uDBC0\uDC00"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 3 } +]}, + +{"description":"<", +"input":"<", +"output":[["Character", "<"]], +"errors":[ + { "code": "eof-before-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<\\u0000", +"input":"<\u0000", +"output":[["Character", "<\u0000"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }, + { "code": "unexpected-null-character", "line": 1, "col": 2 } +]}, + +{"description":"<\\u0009", +"input":"<\u0009", +"output":[["Character", "<\u0009"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<\\u000A", +"input":"<\u000A", +"output":[["Character", "<\u000A"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<\\u000B", +"input":"<\u000B", +"output":[["Character", "<\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 2 }, + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<\\u000C", +"input":"<\u000C", +"output":[["Character", "<\u000C"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"< ", +"input":"< ", +"output":[["Character", "< "]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<!", +"input":"<!", +"output":[["Comment", ""]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!\\u0000", +"input":"<!\u0000", +"output":[["Comment", "\uFFFD"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }, + { "code": "unexpected-null-character", "line": 1, "col": 3 } +]}, + +{"description":"<!\\u0009", +"input":"<!\u0009", +"output":[["Comment", "\u0009"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!\\u000A", +"input":"<!\u000A", +"output":[["Comment", "\u000A"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!\\u000B", +"input":"<!\u000B", +"output":[["Comment", "\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 3 }, + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!\\u000C", +"input":"<!\u000C", +"output":[["Comment", "\u000C"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<! ", +"input":"<! ", +"output":[["Comment", " "]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<! \\u0000", +"input":"<! \u0000", +"output":[["Comment", " \uFFFD"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }, + { "code": "unexpected-null-character", "line": 1, "col": 4 } +]}, + +{"description":"<!!", +"input":"<!!", +"output":[["Comment", "!"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!\"", +"input":"<!\"", +"output":[["Comment", "\""]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!&", +"input":"<!&", +"output":[["Comment", "&"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!'", +"input":"<!'", +"output":[["Comment", "'"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!-", +"input":"<!-", +"output":[["Comment", "-"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!--", +"input":"<!--", +"output":[["Comment", ""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 5 } +]}, + +{"description":"<!--\\u0000", +"input":"<!--\u0000", +"output":[["Comment", "\uFFFD"]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 5 }, + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--\\u0009", +"input":"<!--\u0009", +"output":[["Comment", "\u0009"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--\\u000A", +"input":"<!--\u000A", +"output":[["Comment", "\u000A"]], +"errors":[ + { "code": "eof-in-comment", "line": 2, "col": 1 } +]}, + +{"description":"<!--\\u000B", +"input":"<!--\u000B", +"output":[["Comment", "\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 5 }, + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--\\u000C", +"input":"<!--\u000C", +"output":[["Comment", "\u000C"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!-- ", +"input":"<!-- ", +"output":[["Comment", " "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!-- \\u0000", +"input":"<!-- \u0000", +"output":[["Comment", " \uFFFD"]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 6 }, + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- \\u0009", +"input":"<!-- \u0009", +"output":[["Comment", " \u0009"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- \\u000A", +"input":"<!-- \u000A", +"output":[["Comment", " \u000A"]], +"errors":[ + { "code": "eof-in-comment", "line": 2, "col": 1 } +]}, + +{"description":"<!-- \\u000B", +"input":"<!-- \u000B", +"output":[["Comment", " \u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 }, + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- \\u000C", +"input":"<!-- \u000C", +"output":[["Comment", " \u000C"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- ", +"input":"<!-- ", +"output":[["Comment", " "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- !", +"input":"<!-- !", +"output":[["Comment", " !"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- \"", +"input":"<!-- \"", +"output":[["Comment", " \""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- &", +"input":"<!-- &", +"output":[["Comment", " &"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- '", +"input":"<!-- '", +"output":[["Comment", " '"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- ,", +"input":"<!-- ,", +"output":[["Comment", " ,"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- -", +"input":"<!-- -", +"output":[["Comment", " "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- -\\u0000", +"input":"<!-- -\u0000", +"output":[["Comment", " -\uFFFD"]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 7 }, + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -\\u0009", +"input":"<!-- -\u0009", +"output":[["Comment", " -\u0009"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -\\u000A", +"input":"<!-- -\u000A", +"output":[["Comment", " -\u000A"]], +"errors":[ + { "code": "eof-in-comment", "line": 2, "col": 1 } +]}, + +{"description":"<!-- -\\u000B", +"input":"<!-- -\u000B", +"output":[["Comment", " -\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 7 }, + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -\\u000C", +"input":"<!-- -\u000C", +"output":[["Comment", " -\u000C"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- - ", +"input":"<!-- - ", +"output":[["Comment", " - "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -!", +"input":"<!-- -!", +"output":[["Comment", " -!"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -\"", +"input":"<!-- -\"", +"output":[["Comment", " -\""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -&", +"input":"<!-- -&", +"output":[["Comment", " -&"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -'", +"input":"<!-- -'", +"output":[["Comment", " -'"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -,", +"input":"<!-- -,", +"output":[["Comment", " -,"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- --", +"input":"<!-- --", +"output":[["Comment", " "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -.", +"input":"<!-- -.", +"output":[["Comment", " -."]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -/", +"input":"<!-- -/", +"output":[["Comment", " -/"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -0", +"input":"<!-- -0", +"output":[["Comment", " -0"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -1", +"input":"<!-- -1", +"output":[["Comment", " -1"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -9", +"input":"<!-- -9", +"output":[["Comment", " -9"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -<", +"input":"<!-- -<", +"output":[["Comment", " -<"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -=", +"input":"<!-- -=", +"output":[["Comment", " -="]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- ->", +"input":"<!-- ->", +"output":[["Comment", " ->"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -?", +"input":"<!-- -?", +"output":[["Comment", " -?"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -@", +"input":"<!-- -@", +"output":[["Comment", " -@"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -A", +"input":"<!-- -A", +"output":[["Comment", " -A"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -B", +"input":"<!-- -B", +"output":[["Comment", " -B"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -Y", +"input":"<!-- -Y", +"output":[["Comment", " -Y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -Z", +"input":"<!-- -Z", +"output":[["Comment", " -Z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -`", +"input":"<!-- -`", +"output":[["Comment", " -`"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -a", +"input":"<!-- -a", +"output":[["Comment", " -a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -b", +"input":"<!-- -b", +"output":[["Comment", " -b"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -y", +"input":"<!-- -y", +"output":[["Comment", " -y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -z", +"input":"<!-- -z", +"output":[["Comment", " -z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -{", +"input":"<!-- -{", +"output":[["Comment", " -{"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-- -\\uDBC0\\uDC00", +"input":"<!-- -\uDBC0\uDC00", +"output":[["Comment", " -\uDBC0\uDC00"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!-- .", +"input":"<!-- .", +"output":[["Comment", " ."]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- /", +"input":"<!-- /", +"output":[["Comment", " /"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- 0", +"input":"<!-- 0", +"output":[["Comment", " 0"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- 1", +"input":"<!-- 1", +"output":[["Comment", " 1"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- 9", +"input":"<!-- 9", +"output":[["Comment", " 9"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- <", +"input":"<!-- <", +"output":[["Comment", " <"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- =", +"input":"<!-- =", +"output":[["Comment", " ="]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- >", +"input":"<!-- >", +"output":[["Comment", " >"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- ?", +"input":"<!-- ?", +"output":[["Comment", " ?"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- @", +"input":"<!-- @", +"output":[["Comment", " @"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- A", +"input":"<!-- A", +"output":[["Comment", " A"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- B", +"input":"<!-- B", +"output":[["Comment", " B"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- Y", +"input":"<!-- Y", +"output":[["Comment", " Y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- Z", +"input":"<!-- Z", +"output":[["Comment", " Z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- `", +"input":"<!-- `", +"output":[["Comment", " `"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- a", +"input":"<!-- a", +"output":[["Comment", " a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- b", +"input":"<!-- b", +"output":[["Comment", " b"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- y", +"input":"<!-- y", +"output":[["Comment", " y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- z", +"input":"<!-- z", +"output":[["Comment", " z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- {", +"input":"<!-- {", +"output":[["Comment", " {"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!-- \\uDBC0\\uDC00", +"input":"<!-- \uDBC0\uDC00", +"output":[["Comment", " \uDBC0\uDC00"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!--!", +"input":"<!--!", +"output":[["Comment", "!"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--\"", +"input":"<!--\"", +"output":[["Comment", "\""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--&", +"input":"<!--&", +"output":[["Comment", "&"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--'", +"input":"<!--'", +"output":[["Comment", "'"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--,", +"input":"<!--,", +"output":[["Comment", ","]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!---", +"input":"<!---", +"output":[["Comment", ""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!---\\u0000", +"input":"<!---\u0000", +"output":[["Comment", "-\uFFFD"]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 6 }, + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---\\u0009", +"input":"<!---\u0009", +"output":[["Comment", "-\u0009"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---\\u000A", +"input":"<!---\u000A", +"output":[["Comment", "-\u000A"]], +"errors":[ + { "code": "eof-in-comment", "line": 2, "col": 1 } +]}, + +{"description":"<!---\\u000B", +"input":"<!---\u000B", +"output":[["Comment", "-\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 }, + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---\\u000C", +"input":"<!---\u000C", +"output":[["Comment", "-\u000C"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!--- ", +"input":"<!--- ", +"output":[["Comment", "- "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---!", +"input":"<!---!", +"output":[["Comment", "-!"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---\"", +"input":"<!---\"", +"output":[["Comment", "-\""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---&", +"input":"<!---&", +"output":[["Comment", "-&"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---'", +"input":"<!---'", +"output":[["Comment", "-'"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---,", +"input":"<!---,", +"output":[["Comment", "-,"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!----", +"input":"<!----", +"output":[["Comment", ""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!----\\u0000", +"input":"<!----\u0000", +"output":[["Comment", "--\uFFFD"]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 7 }, + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----\\u0009", +"input":"<!----\u0009", +"output":[["Comment", "--\u0009"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----\\u000A", +"input":"<!----\u000A", +"output":[["Comment", "--\u000A"]], +"errors":[ + { "code": "eof-in-comment", "line": 2, "col": 1 } +]}, + +{"description":"<!----\\u000B", +"input":"<!----\u000B", +"output":[["Comment", "--\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 7 }, + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----\\u000C", +"input":"<!----\u000C", +"output":[["Comment", "--\u000C"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!---- ", +"input":"<!---- ", +"output":[["Comment", "-- "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!---- -", +"input":"<!---- -", +"output":[["Comment", "-- "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + + +{"description":"<!---- --", +"input":"<!---- --", +"output":[["Comment", "-- "]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 10 } +]}, + +{"description":"<!---- -->", +"input":"<!---- -->", +"output":[["Comment", "-- "]]}, + +{"description":"<!---- -->", +"input":"<!---- -->", +"output":[["Comment", "-- "]]}, + +{"description":"<!---- a-->", +"input":"<!---- a-->", +"output":[["Comment", "-- a"]]}, + +{"description":"<!----!", +"input":"<!----!", +"output":[["Comment", ""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----!>", +"input":"<!----!>", +"output":[["Comment", ""]], +"errors":[ + { "code": "incorrectly-closed-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----! >", +"input":"<!----! >", +"output":[["Comment", "--! >"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!----!LF>", +"input":"<!----!\n>", +"output":[["Comment", "--!\n>"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!----!CR>", +"input":"<!----!\r>", +"output":[["Comment", "--!\n>"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!----!CRLF>", +"input":"<!----!\r\n>", +"output":[["Comment", "--!\n>"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!----!a", +"input":"<!----!a", +"output":[["Comment", "--!a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!----!a-", +"input":"<!----!a-", +"output":[["Comment", "--!a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 10 } +]}, + +{"description":"<!----!a--", +"input":"<!----!a--", +"output":[["Comment", "--!a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 11 } +]}, + +{"description":"<!----!a-->", +"input":"<!----!a-->", +"output":[["Comment", "--!a"]]}, + +{"description":"<!----!-", +"input":"<!----!-", +"output":[["Comment", "--!"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!----!--", +"input":"<!----!--", +"output":[["Comment", "--!"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 10 } +]}, + +{"description":"<!----!-->", +"input":"<!----!-->", +"output":[["Comment", "--!"]]}, + +{"description":"<!----\"", +"input":"<!----\"", +"output":[["Comment", "--\""]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----&", +"input":"<!----&", +"output":[["Comment", "--&"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----'", +"input":"<!----'", +"output":[["Comment", "--'"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----,", +"input":"<!----,", +"output":[["Comment", "--,"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!-----", +"input":"<!-----", +"output":[["Comment", "-"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----.", +"input":"<!----.", +"output":[["Comment", "--."]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----/", +"input":"<!----/", +"output":[["Comment", "--/"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----0", +"input":"<!----0", +"output":[["Comment", "--0"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----1", +"input":"<!----1", +"output":[["Comment", "--1"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----9", +"input":"<!----9", +"output":[["Comment", "--9"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----<", +"input":"<!----<", +"output":[["Comment", "--<"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----=", +"input":"<!----=", +"output":[["Comment", "--="]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!---->", +"input":"<!---->", +"output":[["Comment", ""]]}, + +{"description":"<!----?", +"input":"<!----?", +"output":[["Comment", "--?"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----@", +"input":"<!----@", +"output":[["Comment", "--@"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----A", +"input":"<!----A", +"output":[["Comment", "--A"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----B", +"input":"<!----B", +"output":[["Comment", "--B"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----Y", +"input":"<!----Y", +"output":[["Comment", "--Y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----Z", +"input":"<!----Z", +"output":[["Comment", "--Z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----`", +"input":"<!----`", +"output":[["Comment", "--`"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----a", +"input":"<!----a", +"output":[["Comment", "--a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----b", +"input":"<!----b", +"output":[["Comment", "--b"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----y", +"input":"<!----y", +"output":[["Comment", "--y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----z", +"input":"<!----z", +"output":[["Comment", "--z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----{", +"input":"<!----{", +"output":[["Comment", "--{"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!----\\uDBC0\\uDC00", +"input":"<!----\uDBC0\uDC00", +"output":[["Comment", "--\uDBC0\uDC00"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 9 } +]}, + +{"description":"<!---.", +"input":"<!---.", +"output":[["Comment", "-."]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---/", +"input":"<!---/", +"output":[["Comment", "-/"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---0", +"input":"<!---0", +"output":[["Comment", "-0"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---1", +"input":"<!---1", +"output":[["Comment", "-1"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---9", +"input":"<!---9", +"output":[["Comment", "-9"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---<", +"input":"<!---<", +"output":[["Comment", "-<"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---=", +"input":"<!---=", +"output":[["Comment", "-="]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---?", +"input":"<!---?", +"output":[["Comment", "-?"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---@", +"input":"<!---@", +"output":[["Comment", "-@"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---A", +"input":"<!---A", +"output":[["Comment", "-A"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---B", +"input":"<!---B", +"output":[["Comment", "-B"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---Y", +"input":"<!---Y", +"output":[["Comment", "-Y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---Z", +"input":"<!---Z", +"output":[["Comment", "-Z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---`", +"input":"<!---`", +"output":[["Comment", "-`"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---a", +"input":"<!---a", +"output":[["Comment", "-a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---b", +"input":"<!---b", +"output":[["Comment", "-b"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---y", +"input":"<!---y", +"output":[["Comment", "-y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---z", +"input":"<!---z", +"output":[["Comment", "-z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---{", +"input":"<!---{", +"output":[["Comment", "-{"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!---\\uDBC0\\uDC00", +"input":"<!---\uDBC0\uDC00", +"output":[["Comment", "-\uDBC0\uDC00"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 8 } +]}, + +{"description":"<!--.", +"input":"<!--.", +"output":[["Comment", "."]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--/", +"input":"<!--/", +"output":[["Comment", "/"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--0", +"input":"<!--0", +"output":[["Comment", "0"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--1", +"input":"<!--1", +"output":[["Comment", "1"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--9", +"input":"<!--9", +"output":[["Comment", "9"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--<", +"input":"<!--<", +"output":[["Comment", "<"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--=", +"input":"<!--=", +"output":[["Comment", "="]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--?", +"input":"<!--?", +"output":[["Comment", "?"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--@", +"input":"<!--@", +"output":[["Comment", "@"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--A", +"input":"<!--A", +"output":[["Comment", "A"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--B", +"input":"<!--B", +"output":[["Comment", "B"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--Y", +"input":"<!--Y", +"output":[["Comment", "Y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--Z", +"input":"<!--Z", +"output":[["Comment", "Z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--`", +"input":"<!--`", +"output":[["Comment", "`"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--a", +"input":"<!--a", +"output":[["Comment", "a"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--b", +"input":"<!--b", +"output":[["Comment", "b"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--y", +"input":"<!--y", +"output":[["Comment", "y"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--z", +"input":"<!--z", +"output":[["Comment", "z"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--{", +"input":"<!--{", +"output":[["Comment", "{"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 6 } +]}, + +{"description":"<!--\\uDBC0\\uDC00", +"input":"<!--\uDBC0\uDC00", +"output":[["Comment", "\uDBC0\uDC00"]], +"errors":[ + { "code": "eof-in-comment", "line": 1, "col": 7 } +]}, + +{"description":"<!/", +"input":"<!/", +"output":[["Comment", "/"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!0", +"input":"<!0", +"output":[["Comment", "0"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!1", +"input":"<!1", +"output":[["Comment", "1"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!9", +"input":"<!9", +"output":[["Comment", "9"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!<", +"input":"<!<", +"output":[["Comment", "<"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!=", +"input":"<!=", +"output":[["Comment", "="]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!>", +"input":"<!>", +"output":[["Comment", ""]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!?", +"input":"<!?", +"output":[["Comment", "?"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!@", +"input":"<!@", +"output":[["Comment", "@"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!A", +"input":"<!A", +"output":[["Comment", "A"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!B", +"input":"<!B", +"output":[["Comment", "B"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!DOCTYPE", +"input":"<!DOCTYPE", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 10 } +]}, + +{"description":"<!DOCTYPE\\u0000", +"input":"<!DOCTYPE\u0000", +"output":[["DOCTYPE", "\uFFFD", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "unexpected-null-character", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE\\u0008", +"input":"<!DOCTYPE\u0008", +"output":[["DOCTYPE", "\u0008", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 10 }, + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE\\u0009", +"input":"<!DOCTYPE\u0009", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE\\u000A", +"input":"<!DOCTYPE\u000A", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE\\u000B", +"input":"<!DOCTYPE\u000B", +"output":[["DOCTYPE", "\u000B", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 10 }, + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE\\u000C", +"input":"<!DOCTYPE\u000C", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE\\u000D", +"input":"<!DOCTYPE\u000D", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE\\u001F", +"input":"<!DOCTYPE\u001F", +"output":[["DOCTYPE", "\u001F", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 10 }, + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE ", +"input":"<!DOCTYPE ", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE \\u0000", +"input":"<!DOCTYPE \u0000", +"output":[["DOCTYPE", "\uFFFD", null, null, false]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE \\u0008", +"input":"<!DOCTYPE \u0008", +"output":[["DOCTYPE", "\u0008", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE \\u0009", +"input":"<!DOCTYPE \u0009", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE \\u000A", +"input":"<!DOCTYPE \u000A", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE \\u000B", +"input":"<!DOCTYPE \u000B", +"output":[["DOCTYPE", "\u000B", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE \\u000C", +"input":"<!DOCTYPE \u000C", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE \\u000D", +"input":"<!DOCTYPE \u000D", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE \\u001F", +"input":"<!DOCTYPE \u001F", +"output":[["DOCTYPE", "\u001F", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE ", +"input":"<!DOCTYPE ", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE !", +"input":"<!DOCTYPE !", +"output":[["DOCTYPE", "!", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE \"", +"input":"<!DOCTYPE \"", +"output":[["DOCTYPE", "\"", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE &", +"input":"<!DOCTYPE &", +"output":[["DOCTYPE", "&", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE '", +"input":"<!DOCTYPE '", +"output":[["DOCTYPE", "'", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE -", +"input":"<!DOCTYPE -", +"output":[["DOCTYPE", "-", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE /", +"input":"<!DOCTYPE /", +"output":[["DOCTYPE", "/", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE 0", +"input":"<!DOCTYPE 0", +"output":[["DOCTYPE", "0", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE 1", +"input":"<!DOCTYPE 1", +"output":[["DOCTYPE", "1", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE 9", +"input":"<!DOCTYPE 9", +"output":[["DOCTYPE", "9", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE <", +"input":"<!DOCTYPE <", +"output":[["DOCTYPE", "<", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE =", +"input":"<!DOCTYPE =", +"output":[["DOCTYPE", "=", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE >", +"input":"<!DOCTYPE >", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "missing-doctype-name", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE ?", +"input":"<!DOCTYPE ?", +"output":[["DOCTYPE", "?", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE @", +"input":"<!DOCTYPE @", +"output":[["DOCTYPE", "@", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE A", +"input":"<!DOCTYPE A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE B", +"input":"<!DOCTYPE B", +"output":[["DOCTYPE", "b", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE Y", +"input":"<!DOCTYPE Y", +"output":[["DOCTYPE", "y", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE Z", +"input":"<!DOCTYPE Z", +"output":[["DOCTYPE", "z", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE [", +"input":"<!DOCTYPE [", +"output":[["DOCTYPE", "[", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE `", +"input":"<!DOCTYPE `", +"output":[["DOCTYPE", "`", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE a", +"input":"<!DOCTYPE a", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE a\\u0000", +"input":"<!DOCTYPE a\u0000", +"output":[["DOCTYPE", "a\uFFFD", null, null, false]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 12 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a\\u0008", +"input":"<!DOCTYPE a\u0008", +"output":[["DOCTYPE", "a\u0008", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 12 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a\\u0009", +"input":"<!DOCTYPE a\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a\\u000A", +"input":"<!DOCTYPE a\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE a\\u000B", +"input":"<!DOCTYPE a\u000B", +"output":[["DOCTYPE", "a\u000B", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 12 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a\\u000C", +"input":"<!DOCTYPE a\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a\\u000D", +"input":"<!DOCTYPE a\u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE a\\u001F", +"input":"<!DOCTYPE a\u001F", +"output":[["DOCTYPE", "a\u001F", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 12 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a ", +"input":"<!DOCTYPE a ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a \\u0000", +"input":"<!DOCTYPE a \u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }, + { "code": "unexpected-null-character", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a \\u0008", +"input":"<!DOCTYPE a \u0008", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 13 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a \\u0009", +"input":"<!DOCTYPE a \u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 14 } +]}, + +{"description":"<!DOCTYPE a \\u000A", +"input":"<!DOCTYPE a \u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE a \\u000B", +"input":"<!DOCTYPE a \u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 13 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a \\u000C", +"input":"<!DOCTYPE a \u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 14 } +]}, + +{"description":"<!DOCTYPE a \\u000D", +"input":"<!DOCTYPE a \u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPE a \\u001F", +"input":"<!DOCTYPE a \u001F", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 13 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a ", +"input":"<!DOCTYPE a ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 14 } +]}, + +{"description":"<!DOCTYPE a !", +"input":"<!DOCTYPE a !", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a \"", +"input":"<!DOCTYPE a \"", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a &", +"input":"<!DOCTYPE a &", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a '", +"input":"<!DOCTYPE a '", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a -", +"input":"<!DOCTYPE a -", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a /", +"input":"<!DOCTYPE a /", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a 0", +"input":"<!DOCTYPE a 0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a 1", +"input":"<!DOCTYPE a 1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a 9", +"input":"<!DOCTYPE a 9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a <", +"input":"<!DOCTYPE a <", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a =", +"input":"<!DOCTYPE a =", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a >", +"input":"<!DOCTYPE a >", +"output":[["DOCTYPE", "a", null, null, true]]}, + +{"description":"<!DOCTYPE a ?", +"input":"<!DOCTYPE a ?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a @", +"input":"<!DOCTYPE a @", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a A", +"input":"<!DOCTYPE a A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a B", +"input":"<!DOCTYPE a B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a PUBLIC", +"input":"<!DOCTYPE a PUBLIC", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u0000", +"input":"<!DOCTYPE a PUBLIC\u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u0008", +"input":"<!DOCTYPE a PUBLIC\u0008", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u0009", +"input":"<!DOCTYPE a PUBLIC\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u000A", +"input":"<!DOCTYPE a PUBLIC\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u000B", +"input":"<!DOCTYPE a PUBLIC\u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u000C", +"input":"<!DOCTYPE a PUBLIC\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u000D", +"input":"<!DOCTYPE a PUBLIC\u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\u001F", +"input":"<!DOCTYPE a PUBLIC\u001F", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a PUBLIC ", +"input":"<!DOCTYPE a PUBLIC ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC!", +"input":"<!DOCTYPE a PUBLIC!", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"", +"input":"<!DOCTYPE a PUBLIC\"", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 20, "line": 1 } + +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\\u0000", +"input":"<!DOCTYPE a PUBLIC\"\u0000", +"output":[["DOCTYPE", "a", "\uFFFD", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "unexpected-null-character", "col": 20, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\\u0009", +"input":"<!DOCTYPE a PUBLIC\"\u0009", +"output":[["DOCTYPE", "a", "\u0009", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\\u000A", +"input":"<!DOCTYPE a PUBLIC\"\u000A", +"output":[["DOCTYPE", "a", "\u000A", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\\u000B", +"input":"<!DOCTYPE a PUBLIC\"\u000B", +"output":[["DOCTYPE", "a", "\u000B", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\\u000C", +"input":"<!DOCTYPE a PUBLIC\"\u000C", +"output":[["DOCTYPE", "a", "\u000C", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\" ", +"input":"<!DOCTYPE a PUBLIC\" ", +"output":[["DOCTYPE", "a", " ", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"!", +"input":"<!DOCTYPE a PUBLIC\"!", +"output":[["DOCTYPE", "a", "!", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\"", +"input":"<!DOCTYPE a PUBLIC\"\"", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\"\\u0000", +"input":"<!DOCTYPE a PUBLIC\"\"\u0000", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }, + { "code": "unexpected-null-character", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\" \\u0000", +"input":"<!DOCTYPE a PUBLIC\"\" \u0000", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 22, "line": 1 }, + { "code": "unexpected-null-character", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"#", +"input":"<!DOCTYPE a PUBLIC\"#", +"output":[["DOCTYPE", "a", "#", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"&", +"input":"<!DOCTYPE a PUBLIC\"&", +"output":[["DOCTYPE", "a", "&", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"'", +"input":"<!DOCTYPE a PUBLIC\"'", +"output":[["DOCTYPE", "a", "'", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"-", +"input":"<!DOCTYPE a PUBLIC\"-", +"output":[["DOCTYPE", "a", "-", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"/", +"input":"<!DOCTYPE a PUBLIC\"/", +"output":[["DOCTYPE", "a", "/", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"0", +"input":"<!DOCTYPE a PUBLIC\"0", +"output":[["DOCTYPE", "a", "0", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"1", +"input":"<!DOCTYPE a PUBLIC\"1", +"output":[["DOCTYPE", "a", "1", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"9", +"input":"<!DOCTYPE a PUBLIC\"9", +"output":[["DOCTYPE", "a", "9", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"<", +"input":"<!DOCTYPE a PUBLIC\"<", +"output":[["DOCTYPE", "a", "<", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"=", +"input":"<!DOCTYPE a PUBLIC\"=", +"output":[["DOCTYPE", "a", "=", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\">", +"input":"<!DOCTYPE a PUBLIC\">", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "abrupt-doctype-public-identifier", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"?", +"input":"<!DOCTYPE a PUBLIC\"?", +"output":[["DOCTYPE", "a", "?", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"@", +"input":"<!DOCTYPE a PUBLIC\"@", +"output":[["DOCTYPE", "a", "@", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"A", +"input":"<!DOCTYPE a PUBLIC\"A", +"output":[["DOCTYPE", "a", "A", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"B", +"input":"<!DOCTYPE a PUBLIC\"B", +"output":[["DOCTYPE", "a", "B", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"Y", +"input":"<!DOCTYPE a PUBLIC\"Y", +"output":[["DOCTYPE", "a", "Y", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"Z", +"input":"<!DOCTYPE a PUBLIC\"Z", +"output":[["DOCTYPE", "a", "Z", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"`", +"input":"<!DOCTYPE a PUBLIC\"`", +"output":[["DOCTYPE", "a", "`", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"a", +"input":"<!DOCTYPE a PUBLIC\"a", +"output":[["DOCTYPE", "a", "a", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"b", +"input":"<!DOCTYPE a PUBLIC\"b", +"output":[["DOCTYPE", "a", "b", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"y", +"input":"<!DOCTYPE a PUBLIC\"y", +"output":[["DOCTYPE", "a", "y", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"z", +"input":"<!DOCTYPE a PUBLIC\"z", +"output":[["DOCTYPE", "a", "z", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"{", +"input":"<!DOCTYPE a PUBLIC\"{", +"output":[["DOCTYPE", "a", "{", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\"\\uDBC0\\uDC00", +"input":"<!DOCTYPE a PUBLIC\"\uDBC0\uDC00", +"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC#", +"input":"<!DOCTYPE a PUBLIC#", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC&", +"input":"<!DOCTYPE a PUBLIC&", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'", +"input":"<!DOCTYPE a PUBLIC'", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'\\u0000", +"input":"<!DOCTYPE a PUBLIC'\u0000", +"output":[["DOCTYPE", "a", "\uFFFD", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "unexpected-null-character", "col": 20, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'\\u0009", +"input":"<!DOCTYPE a PUBLIC'\u0009", +"output":[["DOCTYPE", "a", "\u0009", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'\\u000A", +"input":"<!DOCTYPE a PUBLIC'\u000A", +"output":[["DOCTYPE", "a", "\u000A", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'\\u000B", +"input":"<!DOCTYPE a PUBLIC'\u000B", +"output":[["DOCTYPE", "a", "\u000B", null, false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'\\u000C", +"input":"<!DOCTYPE a PUBLIC'\u000C", +"output":[["DOCTYPE", "a", "\u000C", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC' ", +"input":"<!DOCTYPE a PUBLIC' ", +"output":[["DOCTYPE", "a", " ", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'!", +"input":"<!DOCTYPE a PUBLIC'!", +"output":[["DOCTYPE", "a", "!", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'\"", +"input":"<!DOCTYPE a PUBLIC'\"", +"output":[["DOCTYPE", "a", "\"", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'&", +"input":"<!DOCTYPE a PUBLIC'&", +"output":[["DOCTYPE", "a", "&", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''", +"input":"<!DOCTYPE a PUBLIC''", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u0000", +"input":"<!DOCTYPE a PUBLIC''\u0000", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u0008", +"input":"<!DOCTYPE a PUBLIC''\u0008", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 21 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u0009", +"input":"<!DOCTYPE a PUBLIC''\u0009", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u000A", +"input":"<!DOCTYPE a PUBLIC''\u000A", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u000B", +"input":"<!DOCTYPE a PUBLIC''\u000B", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 21 }, + { "code" : "missing-quote-before-doctype-system-identifier", "col": 21, "line" : 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u000C", +"input":"<!DOCTYPE a PUBLIC''\u000C", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u000D", +"input":"<!DOCTYPE a PUBLIC''\u000D", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\u001F", +"input":"<!DOCTYPE a PUBLIC''\u001F", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 21 }, + { "code" : "missing-quote-before-doctype-system-identifier", "col": 21, "line" : 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'' ", +"input":"<!DOCTYPE a PUBLIC'' ", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''!", +"input":"<!DOCTYPE a PUBLIC''!", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\"", +"input":"<!DOCTYPE a PUBLIC''\"", +"output":[["DOCTYPE", "a", "", "", false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''#", +"input":"<!DOCTYPE a PUBLIC''#", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''&", +"input":"<!DOCTYPE a PUBLIC''&", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'''", +"input":"<!DOCTYPE a PUBLIC'''", +"output":[["DOCTYPE", "a", "", "", false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''''\\u0000", +"input":"<!DOCTYPE a PUBLIC''''\u0000", +"output":[["DOCTYPE", "a", "", "", true]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 23 }, + { "code": "unexpected-null-character", "line": 1, "col": 23 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''''x\\u0000", +"input":"<!DOCTYPE a PUBLIC''''x\u0000", +"output":[["DOCTYPE", "a", "", "", true]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 23 }, + { "code": "unexpected-null-character", "line": 1, "col": 24 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'''' \\u0000", +"input":"<!DOCTYPE a PUBLIC'''' \u0000", +"output":[["DOCTYPE", "a", "", "", true]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 24 }, + { "code": "unexpected-null-character", "line": 1, "col": 24 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'''' x\\u0000", +"input":"<!DOCTYPE a PUBLIC'''' x\u0000", +"output":[["DOCTYPE", "a", "", "", true]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "col": 21, "line": 1 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 24 }, + { "code": "unexpected-null-character", "line": 1, "col": 25 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''(", +"input":"<!DOCTYPE a PUBLIC''(", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''-", +"input":"<!DOCTYPE a PUBLIC''-", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''/", +"input":"<!DOCTYPE a PUBLIC''/", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''0", +"input":"<!DOCTYPE a PUBLIC''0", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''1", +"input":"<!DOCTYPE a PUBLIC''1", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''9", +"input":"<!DOCTYPE a PUBLIC''9", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''<", +"input":"<!DOCTYPE a PUBLIC''<", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''=", +"input":"<!DOCTYPE a PUBLIC''=", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''>", +"input":"<!DOCTYPE a PUBLIC''>", +"output":[["DOCTYPE", "a", "", null, true]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''?", +"input":"<!DOCTYPE a PUBLIC''?", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''@", +"input":"<!DOCTYPE a PUBLIC''@", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''A", +"input":"<!DOCTYPE a PUBLIC''A", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''B", +"input":"<!DOCTYPE a PUBLIC''B", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''Y", +"input":"<!DOCTYPE a PUBLIC''Y", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''Z", +"input":"<!DOCTYPE a PUBLIC''Z", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''`", +"input":"<!DOCTYPE a PUBLIC''`", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''a", +"input":"<!DOCTYPE a PUBLIC''a", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''b", +"input":"<!DOCTYPE a PUBLIC''b", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''y", +"input":"<!DOCTYPE a PUBLIC''y", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''z", +"input":"<!DOCTYPE a PUBLIC''z", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''{", +"input":"<!DOCTYPE a PUBLIC''{", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC''\\uDBC0\\uDC00", +"input":"<!DOCTYPE a PUBLIC''\uDBC0\uDC00", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'(", +"input":"<!DOCTYPE a PUBLIC'(", +"output":[["DOCTYPE", "a", "(", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'-", +"input":"<!DOCTYPE a PUBLIC'-", +"output":[["DOCTYPE", "a", "-", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'/", +"input":"<!DOCTYPE a PUBLIC'/", +"output":[["DOCTYPE", "a", "/", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'0", +"input":"<!DOCTYPE a PUBLIC'0", +"output":[["DOCTYPE", "a", "0", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'1", +"input":"<!DOCTYPE a PUBLIC'1", +"output":[["DOCTYPE", "a", "1", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'9", +"input":"<!DOCTYPE a PUBLIC'9", +"output":[["DOCTYPE", "a", "9", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'<", +"input":"<!DOCTYPE a PUBLIC'<", +"output":[["DOCTYPE", "a", "<", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'=", +"input":"<!DOCTYPE a PUBLIC'=", +"output":[["DOCTYPE", "a", "=", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'>", +"input":"<!DOCTYPE a PUBLIC'>", +"output":[["DOCTYPE", "a", "", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "abrupt-doctype-public-identifier", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'?", +"input":"<!DOCTYPE a PUBLIC'?", +"output":[["DOCTYPE", "a", "?", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'@", +"input":"<!DOCTYPE a PUBLIC'@", +"output":[["DOCTYPE", "a", "@", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'A", +"input":"<!DOCTYPE a PUBLIC'A", +"output":[["DOCTYPE", "a", "A", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'B", +"input":"<!DOCTYPE a PUBLIC'B", +"output":[["DOCTYPE", "a", "B", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'Y", +"input":"<!DOCTYPE a PUBLIC'Y", +"output":[["DOCTYPE", "a", "Y", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'Z", +"input":"<!DOCTYPE a PUBLIC'Z", +"output":[["DOCTYPE", "a", "Z", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'`", +"input":"<!DOCTYPE a PUBLIC'`", +"output":[["DOCTYPE", "a", "`", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'a", +"input":"<!DOCTYPE a PUBLIC'a", +"output":[["DOCTYPE", "a", "a", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'b", +"input":"<!DOCTYPE a PUBLIC'b", +"output":[["DOCTYPE", "a", "b", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'y", +"input":"<!DOCTYPE a PUBLIC'y", +"output":[["DOCTYPE", "a", "y", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'z", +"input":"<!DOCTYPE a PUBLIC'z", +"output":[["DOCTYPE", "a", "z", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'{", +"input":"<!DOCTYPE a PUBLIC'{", +"output":[["DOCTYPE", "a", "{", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC'\\uDBC0\\uDC00", +"input":"<!DOCTYPE a PUBLIC'\uDBC0\uDC00", +"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]], +"errors": [ + { "code": "missing-whitespace-after-doctype-public-keyword", "col": 19, "line": 1 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC(", +"input":"<!DOCTYPE a PUBLIC(", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC-", +"input":"<!DOCTYPE a PUBLIC-", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC/", +"input":"<!DOCTYPE a PUBLIC/", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC0", +"input":"<!DOCTYPE a PUBLIC0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC1", +"input":"<!DOCTYPE a PUBLIC1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC9", +"input":"<!DOCTYPE a PUBLIC9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC<", +"input":"<!DOCTYPE a PUBLIC<", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC=", +"input":"<!DOCTYPE a PUBLIC=", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC>", +"input":"<!DOCTYPE a PUBLIC>", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC?", +"input":"<!DOCTYPE a PUBLIC?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC@", +"input":"<!DOCTYPE a PUBLIC@", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICA", +"input":"<!DOCTYPE a PUBLICA", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICB", +"input":"<!DOCTYPE a PUBLICB", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICY", +"input":"<!DOCTYPE a PUBLICY", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICZ", +"input":"<!DOCTYPE a PUBLICZ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC`", +"input":"<!DOCTYPE a PUBLIC`", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICa", +"input":"<!DOCTYPE a PUBLICa", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICb", +"input":"<!DOCTYPE a PUBLICb", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICy", +"input":"<!DOCTYPE a PUBLICy", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLICz", +"input":"<!DOCTYPE a PUBLICz", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC{", +"input":"<!DOCTYPE a PUBLIC{", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a PUBLIC\\uDBC0\\uDC00", +"input":"<!DOCTYPE a PUBLIC\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-public-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM", +"input":"<!DOCTYPE a SYSTEM", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u0000", +"input":"<!DOCTYPE a SYSTEM\u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM \\u0000", +"input":"<!DOCTYPE a SYSTEM \u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-system-identifier", "col": 20, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPE a SYSTEM x\\u0000", +"input":"<!DOCTYPE a SYSTEM \u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "missing-quote-before-doctype-system-identifier", "col": 20, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u0008", +"input":"<!DOCTYPE a SYSTEM\u0008", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u0009", +"input":"<!DOCTYPE a SYSTEM\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u000A", +"input":"<!DOCTYPE a SYSTEM\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u000B", +"input":"<!DOCTYPE a SYSTEM\u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u000C", +"input":"<!DOCTYPE a SYSTEM\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u000D", +"input":"<!DOCTYPE a SYSTEM\u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\u001F", +"input":"<!DOCTYPE a SYSTEM\u001F", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM ", +"input":"<!DOCTYPE a SYSTEM ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors": [ + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM!", +"input":"<!DOCTYPE a SYSTEM!", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "col": 19, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"", +"input":"<!DOCTYPE a SYSTEM\"", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"\\u0000", +"input":"<!DOCTYPE a SYSTEM\"\u0000", +"output":[["DOCTYPE", "a", null, "\uFFFD", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-null-character", "col": 20, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"\\u0009", +"input":"<!DOCTYPE a SYSTEM\"\u0009", +"output":[["DOCTYPE", "a", null, "\u0009", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"\\u000A", +"input":"<!DOCTYPE a SYSTEM\"\u000A", +"output":[["DOCTYPE", "a", null, "\u000A", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"\\u000B", +"input":"<!DOCTYPE a SYSTEM\"\u000B", +"output":[["DOCTYPE", "a", null, "\u000B", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"\\u000C", +"input":"<!DOCTYPE a SYSTEM\"\u000C", +"output":[["DOCTYPE", "a", null, "\u000C", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\" ", +"input":"<!DOCTYPE a SYSTEM\" ", +"output":[["DOCTYPE", "a", null, " ", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"!", +"input":"<!DOCTYPE a SYSTEM\"!", +"output":[["DOCTYPE", "a", null, "!", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"\"", +"input":"<!DOCTYPE a SYSTEM\"\"", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"#", +"input":"<!DOCTYPE a SYSTEM\"#", +"output":[["DOCTYPE", "a", null, "#", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"&", +"input":"<!DOCTYPE a SYSTEM\"&", +"output":[["DOCTYPE", "a", null, "&", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"'", +"input":"<!DOCTYPE a SYSTEM\"'", +"output":[["DOCTYPE", "a", null, "'", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"-", +"input":"<!DOCTYPE a SYSTEM\"-", +"output":[["DOCTYPE", "a", null, "-", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"/", +"input":"<!DOCTYPE a SYSTEM\"/", +"output":[["DOCTYPE", "a", null, "/", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"0", +"input":"<!DOCTYPE a SYSTEM\"0", +"output":[["DOCTYPE", "a", null, "0", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"1", +"input":"<!DOCTYPE a SYSTEM\"1", +"output":[["DOCTYPE", "a", null, "1", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"9", +"input":"<!DOCTYPE a SYSTEM\"9", +"output":[["DOCTYPE", "a", null, "9", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"<", +"input":"<!DOCTYPE a SYSTEM\"<", +"output":[["DOCTYPE", "a", null, "<", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"=", +"input":"<!DOCTYPE a SYSTEM\"=", +"output":[["DOCTYPE", "a", null, "=", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\">", +"input":"<!DOCTYPE a SYSTEM\">", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "abrupt-doctype-system-identifier", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"?", +"input":"<!DOCTYPE a SYSTEM\"?", +"output":[["DOCTYPE", "a", null, "?", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"@", +"input":"<!DOCTYPE a SYSTEM\"@", +"output":[["DOCTYPE", "a", null, "@", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"A", +"input":"<!DOCTYPE a SYSTEM\"A", +"output":[["DOCTYPE", "a", null, "A", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"B", +"input":"<!DOCTYPE a SYSTEM\"B", +"output":[["DOCTYPE", "a", null, "B", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"Y", +"input":"<!DOCTYPE a SYSTEM\"Y", +"output":[["DOCTYPE", "a", null, "Y", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"Z", +"input":"<!DOCTYPE a SYSTEM\"Z", +"output":[["DOCTYPE", "a", null, "Z", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"`", +"input":"<!DOCTYPE a SYSTEM\"`", +"output":[["DOCTYPE", "a", null, "`", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"a", +"input":"<!DOCTYPE a SYSTEM\"a", +"output":[["DOCTYPE", "a", null, "a", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"b", +"input":"<!DOCTYPE a SYSTEM\"b", +"output":[["DOCTYPE", "a", null, "b", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"y", +"input":"<!DOCTYPE a SYSTEM\"y", +"output":[["DOCTYPE", "a", null, "y", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"z", +"input":"<!DOCTYPE a SYSTEM\"z", +"output":[["DOCTYPE", "a", null, "z", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"{", +"input":"<!DOCTYPE a SYSTEM\"{", +"output":[["DOCTYPE", "a", null, "{", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\"\\uDBC0\\uDC00", +"input":"<!DOCTYPE a SYSTEM\"\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM#", +"input":"<!DOCTYPE a SYSTEM#", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM&", +"input":"<!DOCTYPE a SYSTEM&", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'", +"input":"<!DOCTYPE a SYSTEM'", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'\\u0000", +"input":"<!DOCTYPE a SYSTEM'\u0000", +"output":[["DOCTYPE", "a", null, "\uFFFD", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-null-character", "col": 20, "line": 1 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'\\u0009", +"input":"<!DOCTYPE a SYSTEM'\u0009", +"output":[["DOCTYPE", "a", null, "\u0009", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'\\u000A", +"input":"<!DOCTYPE a SYSTEM'\u000A", +"output":[["DOCTYPE", "a", null, "\u000A", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'\\u000B", +"input":"<!DOCTYPE a SYSTEM'\u000B", +"output":[["DOCTYPE", "a", null, "\u000B", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'\\u000C", +"input":"<!DOCTYPE a SYSTEM'\u000C", +"output":[["DOCTYPE", "a", null, "\u000C", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM' ", +"input":"<!DOCTYPE a SYSTEM' ", +"output":[["DOCTYPE", "a", null, " ", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'!", +"input":"<!DOCTYPE a SYSTEM'!", +"output":[["DOCTYPE", "a", null, "!", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'\"", +"input":"<!DOCTYPE a SYSTEM'\"", +"output":[["DOCTYPE", "a", null, "\"", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'&", +"input":"<!DOCTYPE a SYSTEM'&", +"output":[["DOCTYPE", "a", null, "&", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''", +"input":"<!DOCTYPE a SYSTEM''", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u0000", +"input":"<!DOCTYPE a SYSTEM''\u0000", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u0008", +"input":"<!DOCTYPE a SYSTEM''\u0008", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 21 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u0009", +"input":"<!DOCTYPE a SYSTEM''\u0009", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u000A", +"input":"<!DOCTYPE a SYSTEM''\u000A", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u000B", +"input":"<!DOCTYPE a SYSTEM''\u000B", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 21 }, + { "code" : "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21} +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u000C", +"input":"<!DOCTYPE a SYSTEM''\u000C", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u000D", +"input":"<!DOCTYPE a SYSTEM''\u000D", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 1, "line": 2 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\u001F", +"input":"<!DOCTYPE a SYSTEM''\u001F", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 21 }, + { "code" : "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 21} +]}, + +{"description":"<!DOCTYPE a SYSTEM'' ", +"input":"<!DOCTYPE a SYSTEM'' ", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'' \\u0000", +"input":"<!DOCTYPE a SYSTEM'' \u0000", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 22, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 22 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'' x\\u0000", +"input":"<!DOCTYPE a SYSTEM'' x\u0000", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 22, "line": 1 }, + { "code": "unexpected-null-character", "line": 1, "col": 23 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''!", +"input":"<!DOCTYPE a SYSTEM''!", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\"", +"input":"<!DOCTYPE a SYSTEM''\"", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''&", +"input":"<!DOCTYPE a SYSTEM''&", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'''", +"input":"<!DOCTYPE a SYSTEM'''", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''-", +"input":"<!DOCTYPE a SYSTEM''-", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''/", +"input":"<!DOCTYPE a SYSTEM''/", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''0", +"input":"<!DOCTYPE a SYSTEM''0", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''1", +"input":"<!DOCTYPE a SYSTEM''1", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''9", +"input":"<!DOCTYPE a SYSTEM''9", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''<", +"input":"<!DOCTYPE a SYSTEM''<", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''=", +"input":"<!DOCTYPE a SYSTEM''=", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''>", +"input":"<!DOCTYPE a SYSTEM''>", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''?", +"input":"<!DOCTYPE a SYSTEM''?", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''@", +"input":"<!DOCTYPE a SYSTEM''@", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''A", +"input":"<!DOCTYPE a SYSTEM''A", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''B", +"input":"<!DOCTYPE a SYSTEM''B", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''Y", +"input":"<!DOCTYPE a SYSTEM''Y", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''Z", +"input":"<!DOCTYPE a SYSTEM''Z", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''`", +"input":"<!DOCTYPE a SYSTEM''`", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''a", +"input":"<!DOCTYPE a SYSTEM''a", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''b", +"input":"<!DOCTYPE a SYSTEM''b", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''y", +"input":"<!DOCTYPE a SYSTEM''y", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''z", +"input":"<!DOCTYPE a SYSTEM''z", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''{", +"input":"<!DOCTYPE a SYSTEM''{", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM''\\uDBC0\\uDC00", +"input":"<!DOCTYPE a SYSTEM''\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "unexpected-character-after-doctype-system-identifier", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'(", +"input":"<!DOCTYPE a SYSTEM'(", +"output":[["DOCTYPE", "a", null, "(", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'-", +"input":"<!DOCTYPE a SYSTEM'-", +"output":[["DOCTYPE", "a", null, "-", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'/", +"input":"<!DOCTYPE a SYSTEM'/", +"output":[["DOCTYPE", "a", null, "/", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'0", +"input":"<!DOCTYPE a SYSTEM'0", +"output":[["DOCTYPE", "a", null, "0", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'1", +"input":"<!DOCTYPE a SYSTEM'1", +"output":[["DOCTYPE", "a", null, "1", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'9", +"input":"<!DOCTYPE a SYSTEM'9", +"output":[["DOCTYPE", "a", null, "9", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'<", +"input":"<!DOCTYPE a SYSTEM'<", +"output":[["DOCTYPE", "a", null, "<", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'=", +"input":"<!DOCTYPE a SYSTEM'=", +"output":[["DOCTYPE", "a", null, "=", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'>", +"input":"<!DOCTYPE a SYSTEM'>", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "abrupt-doctype-system-identifier", "col": 20, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'?", +"input":"<!DOCTYPE a SYSTEM'?", +"output":[["DOCTYPE", "a", null, "?", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'@", +"input":"<!DOCTYPE a SYSTEM'@", +"output":[["DOCTYPE", "a", null, "@", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'A", +"input":"<!DOCTYPE a SYSTEM'A", +"output":[["DOCTYPE", "a", null, "A", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'B", +"input":"<!DOCTYPE a SYSTEM'B", +"output":[["DOCTYPE", "a", null, "B", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'Y", +"input":"<!DOCTYPE a SYSTEM'Y", +"output":[["DOCTYPE", "a", null, "Y", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'Z", +"input":"<!DOCTYPE a SYSTEM'Z", +"output":[["DOCTYPE", "a", null, "Z", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'`", +"input":"<!DOCTYPE a SYSTEM'`", +"output":[["DOCTYPE", "a", null, "`", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'a", +"input":"<!DOCTYPE a SYSTEM'a", +"output":[["DOCTYPE", "a", null, "a", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'b", +"input":"<!DOCTYPE a SYSTEM'b", +"output":[["DOCTYPE", "a", null, "b", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'y", +"input":"<!DOCTYPE a SYSTEM'y", +"output":[["DOCTYPE", "a", null, "y", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'z", +"input":"<!DOCTYPE a SYSTEM'z", +"output":[["DOCTYPE", "a", null, "z", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'{", +"input":"<!DOCTYPE a SYSTEM'{", +"output":[["DOCTYPE", "a", null, "{", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 21, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM'\\uDBC0\\uDC00", +"input":"<!DOCTYPE a SYSTEM'\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]], +"errors":[ + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "col": 22, "line": 1 } +]}, + +{"description":"<!DOCTYPE a SYSTEM(", +"input":"<!DOCTYPE a SYSTEM(", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM-", +"input":"<!DOCTYPE a SYSTEM-", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM/", +"input":"<!DOCTYPE a SYSTEM/", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM0", +"input":"<!DOCTYPE a SYSTEM0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM1", +"input":"<!DOCTYPE a SYSTEM1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM9", +"input":"<!DOCTYPE a SYSTEM9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM<", +"input":"<!DOCTYPE a SYSTEM<", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM=", +"input":"<!DOCTYPE a SYSTEM=", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM>", +"input":"<!DOCTYPE a SYSTEM>", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM?", +"input":"<!DOCTYPE a SYSTEM?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM@", +"input":"<!DOCTYPE a SYSTEM@", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMA", +"input":"<!DOCTYPE a SYSTEMA", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMB", +"input":"<!DOCTYPE a SYSTEMB", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMY", +"input":"<!DOCTYPE a SYSTEMY", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMZ", +"input":"<!DOCTYPE a SYSTEMZ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM`", +"input":"<!DOCTYPE a SYSTEM`", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMa", +"input":"<!DOCTYPE a SYSTEMa", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMb", +"input":"<!DOCTYPE a SYSTEMb", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMy", +"input":"<!DOCTYPE a SYSTEMy", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEMz", +"input":"<!DOCTYPE a SYSTEMz", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM{", +"input":"<!DOCTYPE a SYSTEM{", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a SYSTEM\\uDBC0\\uDC00", +"input":"<!DOCTYPE a SYSTEM\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPE a Y", +"input":"<!DOCTYPE a Y", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a Z", +"input":"<!DOCTYPE a Z", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a `", +"input":"<!DOCTYPE a `", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a", +"input":"<!DOCTYPE a a", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a\\u0000", +"input":"<!DOCTYPE a a\u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }, + { "code": "unexpected-null-character", "line": 1, "col": 14 } +]}, + +{"description":"<!DOCTYPE a a\\u0009", +"input":"<!DOCTYPE a a\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a\\u000A", +"input":"<!DOCTYPE a a\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a\\u000B", +"input":"<!DOCTYPE a a\u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 14 } +]}, + +{"description":"<!DOCTYPE a a\\u000C", +"input":"<!DOCTYPE a a\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a ", +"input":"<!DOCTYPE a a ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a!", +"input":"<!DOCTYPE a a!", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a\"", +"input":"<!DOCTYPE a a\"", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a&", +"input":"<!DOCTYPE a a&", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a'", +"input":"<!DOCTYPE a a'", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a-", +"input":"<!DOCTYPE a a-", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a/", +"input":"<!DOCTYPE a a/", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a0", +"input":"<!DOCTYPE a a0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a1", +"input":"<!DOCTYPE a a1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a9", +"input":"<!DOCTYPE a a9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a<", +"input":"<!DOCTYPE a a<", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a=", +"input":"<!DOCTYPE a a=", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a>", +"input":"<!DOCTYPE a a>", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a?", +"input":"<!DOCTYPE a a?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a@", +"input":"<!DOCTYPE a a@", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a aA", +"input":"<!DOCTYPE a aA", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a aB", +"input":"<!DOCTYPE a aB", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a aY", +"input":"<!DOCTYPE a aY", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a aZ", +"input":"<!DOCTYPE a aZ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a`", +"input":"<!DOCTYPE a a`", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a aa", +"input":"<!DOCTYPE a aa", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a ab", +"input":"<!DOCTYPE a ab", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a ay", +"input":"<!DOCTYPE a ay", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a az", +"input":"<!DOCTYPE a az", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a{", +"input":"<!DOCTYPE a a{", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a a\\uDBC0\\uDC00", +"input":"<!DOCTYPE a a\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a b", +"input":"<!DOCTYPE a b", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a y", +"input":"<!DOCTYPE a y", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a z", +"input":"<!DOCTYPE a z", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a {", +"input":"<!DOCTYPE a {", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a \\uDBC0\\uDC00", +"input":"<!DOCTYPE a \uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a!", +"input":"<!DOCTYPE a!", +"output":[["DOCTYPE", "a!", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a\"", +"input":"<!DOCTYPE a\"", +"output":[["DOCTYPE", "a\"", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a&", +"input":"<!DOCTYPE a&", +"output":[["DOCTYPE", "a&", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a'", +"input":"<!DOCTYPE a'", +"output":[["DOCTYPE", "a'", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a-", +"input":"<!DOCTYPE a-", +"output":[["DOCTYPE", "a-", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a/", +"input":"<!DOCTYPE a/", +"output":[["DOCTYPE", "a/", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a0", +"input":"<!DOCTYPE a0", +"output":[["DOCTYPE", "a0", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a1", +"input":"<!DOCTYPE a1", +"output":[["DOCTYPE", "a1", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a9", +"input":"<!DOCTYPE a9", +"output":[["DOCTYPE", "a9", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a<", +"input":"<!DOCTYPE a<", +"output":[["DOCTYPE", "a<", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a=", +"input":"<!DOCTYPE a=", +"output":[["DOCTYPE", "a=", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a>", +"input":"<!DOCTYPE a>", +"output":[["DOCTYPE", "a", null, null, true]]}, + +{"description":"<!DOCTYPE a?", +"input":"<!DOCTYPE a?", +"output":[["DOCTYPE", "a?", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a@", +"input":"<!DOCTYPE a@", +"output":[["DOCTYPE", "a@", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE aA", +"input":"<!DOCTYPE aA", +"output":[["DOCTYPE", "aa", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE aB", +"input":"<!DOCTYPE aB", +"output":[["DOCTYPE", "ab", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE aY", +"input":"<!DOCTYPE aY", +"output":[["DOCTYPE", "ay", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE aZ", +"input":"<!DOCTYPE aZ", +"output":[["DOCTYPE", "az", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a[", +"input":"<!DOCTYPE a[", +"output":[["DOCTYPE", "a[", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a`", +"input":"<!DOCTYPE a`", +"output":[["DOCTYPE", "a`", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE aa", +"input":"<!DOCTYPE aa", +"output":[["DOCTYPE", "aa", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE ab", +"input":"<!DOCTYPE ab", +"output":[["DOCTYPE", "ab", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE ay", +"input":"<!DOCTYPE ay", +"output":[["DOCTYPE", "ay", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE az", +"input":"<!DOCTYPE az", +"output":[["DOCTYPE", "az", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a{", +"input":"<!DOCTYPE a{", +"output":[["DOCTYPE", "a{", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE a\\uDBC0\\uDC00", +"input":"<!DOCTYPE a\uDBC0\uDC00", +"output":[["DOCTYPE", "a\uDBC0\uDC00", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 14 } +]}, + +{"description":"<!DOCTYPE b", +"input":"<!DOCTYPE b", +"output":[["DOCTYPE", "b", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE y", +"input":"<!DOCTYPE y", +"output":[["DOCTYPE", "y", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE z", +"input":"<!DOCTYPE z", +"output":[["DOCTYPE", "z", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE {", +"input":"<!DOCTYPE {", +"output":[["DOCTYPE", "{", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPE \\uDBC0\\uDC00", +"input":"<!DOCTYPE \uDBC0\uDC00", +"output":[["DOCTYPE", "\uDBC0\uDC00", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPE!", +"input":"<!DOCTYPE!", +"output":[["DOCTYPE", "!", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE\"", +"input":"<!DOCTYPE\"", +"output":[["DOCTYPE", "\"", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE&", +"input":"<!DOCTYPE&", +"output":[["DOCTYPE", "&", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE'", +"input":"<!DOCTYPE'", +"output":[["DOCTYPE", "'", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE-", +"input":"<!DOCTYPE-", +"output":[["DOCTYPE", "-", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE/", +"input":"<!DOCTYPE/", +"output":[["DOCTYPE", "/", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE0", +"input":"<!DOCTYPE0", +"output":[["DOCTYPE", "0", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE1", +"input":"<!DOCTYPE1", +"output":[["DOCTYPE", "1", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE9", +"input":"<!DOCTYPE9", +"output":[["DOCTYPE", "9", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE<", +"input":"<!DOCTYPE<", +"output":[["DOCTYPE", "<", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE=", +"input":"<!DOCTYPE=", +"output":[["DOCTYPE", "=", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE>", +"input":"<!DOCTYPE>", +"output":[["DOCTYPE", null, null, null, false]], +"errors":[ + { "code": "missing-doctype-name", "line": 1, "col": 10 } +]}, + +{"description":"<!DOCTYPE?", +"input":"<!DOCTYPE?", +"output":[["DOCTYPE", "?", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE@", +"input":"<!DOCTYPE@", +"output":[["DOCTYPE", "@", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEA", +"input":"<!DOCTYPEA", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEB", +"input":"<!DOCTYPEB", +"output":[["DOCTYPE", "b", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEY", +"input":"<!DOCTYPEY", +"output":[["DOCTYPE", "y", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEZ", +"input":"<!DOCTYPEZ", +"output":[["DOCTYPE", "z", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE`", +"input":"<!DOCTYPE`", +"output":[["DOCTYPE", "`", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEa", +"input":"<!DOCTYPEa", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEa\\u0000", +"input":"<!DOCTYPEa\u0000", +"output":[["DOCTYPE", "a\uFFFD", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "unexpected-null-character", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa\\u0008", +"input":"<!DOCTYPEa\u0008", +"output":[["DOCTYPE", "a\u0008", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa\\u0009", +"input":"<!DOCTYPEa\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa\\u000A", +"input":"<!DOCTYPEa\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa\\u000B", +"input":"<!DOCTYPEa\u000B", +"output":[["DOCTYPE", "a\u000B", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa\\u000C", +"input":"<!DOCTYPEa\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa\\u000D", +"input":"<!DOCTYPEa\u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa\\u001F", +"input":"<!DOCTYPEa\u001F", +"output":[["DOCTYPE", "a\u001F", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 11 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa ", +"input":"<!DOCTYPEa ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa \\u0000", +"input":"<!DOCTYPEa \u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }, + { "code": "unexpected-null-character", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa \\u0008", +"input":"<!DOCTYPEa \u0008", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 12 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa \\u0009", +"input":"<!DOCTYPEa \u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPEa \\u000A", +"input":"<!DOCTYPEa \u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa \\u000B", +"input":"<!DOCTYPEa \u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 12 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa \\u000C", +"input":"<!DOCTYPEa \u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPEa \\u000D", +"input":"<!DOCTYPEa \u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa \\u001F", +"input":"<!DOCTYPEa \u001F", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 12 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa ", +"input":"<!DOCTYPEa ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPEa !", +"input":"<!DOCTYPEa !", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa \"", +"input":"<!DOCTYPEa \"", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa &", +"input":"<!DOCTYPEa &", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa '", +"input":"<!DOCTYPEa '", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa -", +"input":"<!DOCTYPEa -", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa /", +"input":"<!DOCTYPEa /", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa 0", +"input":"<!DOCTYPEa 0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa 1", +"input":"<!DOCTYPEa 1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa 9", +"input":"<!DOCTYPEa 9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa <", +"input":"<!DOCTYPEa <", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa =", +"input":"<!DOCTYPEa =", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa >", +"input":"<!DOCTYPEa >", +"output":[["DOCTYPE", "a", null, null, true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 } +]}, + +{"description":"<!DOCTYPEa ?", +"input":"<!DOCTYPEa ?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa @", +"input":"<!DOCTYPEa @", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa A", +"input":"<!DOCTYPEa A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa B", +"input":"<!DOCTYPEa B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa PUBLIC", +"input":"<!DOCTYPEa PUBLIC", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u0000", +"input":"<!DOCTYPEa PUBLIC\u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 }, + { "code": "unexpected-null-character", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u0008", +"input":"<!DOCTYPEa PUBLIC\u0008", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } + +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u0009", +"input":"<!DOCTYPEa PUBLIC\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u000A", +"input":"<!DOCTYPEa PUBLIC\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u000B", +"input":"<!DOCTYPEa PUBLIC\u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u000C", +"input":"<!DOCTYPEa PUBLIC\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u000D", +"input":"<!DOCTYPEa PUBLIC\u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\u001F", +"input":"<!DOCTYPEa PUBLIC\u001F", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC ", +"input":"<!DOCTYPEa PUBLIC ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa PUBLIC!", +"input":"<!DOCTYPEa PUBLIC!", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } + +]}, + +{"description":"<!DOCTYPEa PUBLIC\"", +"input":"<!DOCTYPEa PUBLIC\"", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"\\u0000", +"input":"<!DOCTYPEa PUBLIC\"\u0000", +"output":[["DOCTYPE", "a", "\uFFFD", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-null-character", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"\\u0009", +"input":"<!DOCTYPEa PUBLIC\"\u0009", +"output":[["DOCTYPE", "a", "\u0009", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"\\u000A", +"input":"<!DOCTYPEa PUBLIC\"\u000A", +"output":[["DOCTYPE", "a", "\u000A", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"\\u000B", +"input":"<!DOCTYPEa PUBLIC\"\u000B", +"output":[["DOCTYPE", "a", "\u000B", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"\\u000C", +"input":"<!DOCTYPEa PUBLIC\"\u000C", +"output":[["DOCTYPE", "a", "\u000C", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\" ", +"input":"<!DOCTYPEa PUBLIC\" ", +"output":[["DOCTYPE", "a", " ", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"!", +"input":"<!DOCTYPEa PUBLIC\"!", +"output":[["DOCTYPE", "a", "!", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"\"", +"input":"<!DOCTYPEa PUBLIC\"\"", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"#", +"input":"<!DOCTYPEa PUBLIC\"#", +"output":[["DOCTYPE", "a", "#", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"&", +"input":"<!DOCTYPEa PUBLIC\"&", +"output":[["DOCTYPE", "a", "&", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"'", +"input":"<!DOCTYPEa PUBLIC\"'", +"output":[["DOCTYPE", "a", "'", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"-", +"input":"<!DOCTYPEa PUBLIC\"-", +"output":[["DOCTYPE", "a", "-", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"/", +"input":"<!DOCTYPEa PUBLIC\"/", +"output":[["DOCTYPE", "a", "/", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"0", +"input":"<!DOCTYPEa PUBLIC\"0", +"output":[["DOCTYPE", "a", "0", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"1", +"input":"<!DOCTYPEa PUBLIC\"1", +"output":[["DOCTYPE", "a", "1", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"9", +"input":"<!DOCTYPEa PUBLIC\"9", +"output":[["DOCTYPE", "a", "9", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"<", +"input":"<!DOCTYPEa PUBLIC\"<", +"output":[["DOCTYPE", "a", "<", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"=", +"input":"<!DOCTYPEa PUBLIC\"=", +"output":[["DOCTYPE", "a", "=", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\">", +"input":"<!DOCTYPEa PUBLIC\">", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "abrupt-doctype-public-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"?", +"input":"<!DOCTYPEa PUBLIC\"?", +"output":[["DOCTYPE", "a", "?", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"@", +"input":"<!DOCTYPEa PUBLIC\"@", +"output":[["DOCTYPE", "a", "@", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"A", +"input":"<!DOCTYPEa PUBLIC\"A", +"output":[["DOCTYPE", "a", "A", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"B", +"input":"<!DOCTYPEa PUBLIC\"B", +"output":[["DOCTYPE", "a", "B", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"Y", +"input":"<!DOCTYPEa PUBLIC\"Y", +"output":[["DOCTYPE", "a", "Y", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"Z", +"input":"<!DOCTYPEa PUBLIC\"Z", +"output":[["DOCTYPE", "a", "Z", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"`", +"input":"<!DOCTYPEa PUBLIC\"`", +"output":[["DOCTYPE", "a", "`", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"a", +"input":"<!DOCTYPEa PUBLIC\"a", +"output":[["DOCTYPE", "a", "a", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"b", +"input":"<!DOCTYPEa PUBLIC\"b", +"output":[["DOCTYPE", "a", "b", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"y", +"input":"<!DOCTYPEa PUBLIC\"y", +"output":[["DOCTYPE", "a", "y", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"z", +"input":"<!DOCTYPEa PUBLIC\"z", +"output":[["DOCTYPE", "a", "z", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"{", +"input":"<!DOCTYPEa PUBLIC\"{", +"output":[["DOCTYPE", "a", "{", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\"\\uDBC0\\uDC00", +"input":"<!DOCTYPEa PUBLIC\"\uDBC0\uDC00", +"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa PUBLIC#", +"input":"<!DOCTYPEa PUBLIC#", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC&", +"input":"<!DOCTYPEa PUBLIC&", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'", +"input":"<!DOCTYPEa PUBLIC'", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'\\u0000", +"input":"<!DOCTYPEa PUBLIC'\u0000", +"output":[["DOCTYPE", "a", "\uFFFD", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-null-character", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'\\u0009", +"input":"<!DOCTYPEa PUBLIC'\u0009", +"output":[["DOCTYPE", "a", "\u0009", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'\\u000A", +"input":"<!DOCTYPEa PUBLIC'\u000A", +"output":[["DOCTYPE", "a", "\u000A", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'\\u000B", +"input":"<!DOCTYPEa PUBLIC'\u000B", +"output":[["DOCTYPE", "a", "\u000B", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'\\u000C", +"input":"<!DOCTYPEa PUBLIC'\u000C", +"output":[["DOCTYPE", "a", "\u000C", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC' ", +"input":"<!DOCTYPEa PUBLIC' ", +"output":[["DOCTYPE", "a", " ", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'!", +"input":"<!DOCTYPEa PUBLIC'!", +"output":[["DOCTYPE", "a", "!", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'\"", +"input":"<!DOCTYPEa PUBLIC'\"", +"output":[["DOCTYPE", "a", "\"", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'&", +"input":"<!DOCTYPEa PUBLIC'&", +"output":[["DOCTYPE", "a", "&", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''", +"input":"<!DOCTYPEa PUBLIC''", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u0000", +"input":"<!DOCTYPEa PUBLIC''\u0000", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 }, + { "code": "unexpected-null-character", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u0008", +"input":"<!DOCTYPEa PUBLIC''\u0008", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u0009", +"input":"<!DOCTYPEa PUBLIC''\u0009", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u000A", +"input":"<!DOCTYPEa PUBLIC''\u000A", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u000B", +"input":"<!DOCTYPEa PUBLIC''\u000B", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u000C", +"input":"<!DOCTYPEa PUBLIC''\u000C", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u000D", +"input":"<!DOCTYPEa PUBLIC''\u000D", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\u001F", +"input":"<!DOCTYPEa PUBLIC''\u001F", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'' ", +"input":"<!DOCTYPEa PUBLIC'' ", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''!", +"input":"<!DOCTYPEa PUBLIC''!", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\"", +"input":"<!DOCTYPEa PUBLIC''\"", +"output":[["DOCTYPE", "a", "", "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "line": 1, "col": 20 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''#", +"input":"<!DOCTYPEa PUBLIC''#", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''&", +"input":"<!DOCTYPEa PUBLIC''&", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'''", +"input":"<!DOCTYPEa PUBLIC'''", +"output":[["DOCTYPE", "a", "", "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-whitespace-between-doctype-public-and-system-identifiers", "line": 1, "col": 20 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''(", +"input":"<!DOCTYPEa PUBLIC''(", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''-", +"input":"<!DOCTYPEa PUBLIC''-", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''/", +"input":"<!DOCTYPEa PUBLIC''/", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''0", +"input":"<!DOCTYPEa PUBLIC''0", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''1", +"input":"<!DOCTYPEa PUBLIC''1", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''9", +"input":"<!DOCTYPEa PUBLIC''9", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''<", +"input":"<!DOCTYPEa PUBLIC''<", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''=", +"input":"<!DOCTYPEa PUBLIC''=", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''>", +"input":"<!DOCTYPEa PUBLIC''>", +"output":[["DOCTYPE", "a", "", null, true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''?", +"input":"<!DOCTYPEa PUBLIC''?", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''@", +"input":"<!DOCTYPEa PUBLIC''@", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''A", +"input":"<!DOCTYPEa PUBLIC''A", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''B", +"input":"<!DOCTYPEa PUBLIC''B", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''Y", +"input":"<!DOCTYPEa PUBLIC''Y", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''Z", +"input":"<!DOCTYPEa PUBLIC''Z", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''`", +"input":"<!DOCTYPEa PUBLIC''`", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''a", +"input":"<!DOCTYPEa PUBLIC''a", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''b", +"input":"<!DOCTYPEa PUBLIC''b", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''y", +"input":"<!DOCTYPEa PUBLIC''y", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''z", +"input":"<!DOCTYPEa PUBLIC''z", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''{", +"input":"<!DOCTYPEa PUBLIC''{", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC''\\uDBC0\\uDC00", +"input":"<!DOCTYPEa PUBLIC''\uDBC0\uDC00", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'(", +"input":"<!DOCTYPEa PUBLIC'(", +"output":[["DOCTYPE", "a", "(", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'-", +"input":"<!DOCTYPEa PUBLIC'-", +"output":[["DOCTYPE", "a", "-", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'/", +"input":"<!DOCTYPEa PUBLIC'/", +"output":[["DOCTYPE", "a", "/", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'0", +"input":"<!DOCTYPEa PUBLIC'0", +"output":[["DOCTYPE", "a", "0", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'1", +"input":"<!DOCTYPEa PUBLIC'1", +"output":[["DOCTYPE", "a", "1", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'9", +"input":"<!DOCTYPEa PUBLIC'9", +"output":[["DOCTYPE", "a", "9", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'<", +"input":"<!DOCTYPEa PUBLIC'<", +"output":[["DOCTYPE", "a", "<", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'=", +"input":"<!DOCTYPEa PUBLIC'=", +"output":[["DOCTYPE", "a", "=", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'>", +"input":"<!DOCTYPEa PUBLIC'>", +"output":[["DOCTYPE", "a", "", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "abrupt-doctype-public-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'?", +"input":"<!DOCTYPEa PUBLIC'?", +"output":[["DOCTYPE", "a", "?", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'@", +"input":"<!DOCTYPEa PUBLIC'@", +"output":[["DOCTYPE", "a", "@", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'A", +"input":"<!DOCTYPEa PUBLIC'A", +"output":[["DOCTYPE", "a", "A", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'B", +"input":"<!DOCTYPEa PUBLIC'B", +"output":[["DOCTYPE", "a", "B", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'Y", +"input":"<!DOCTYPEa PUBLIC'Y", +"output":[["DOCTYPE", "a", "Y", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'Z", +"input":"<!DOCTYPEa PUBLIC'Z", +"output":[["DOCTYPE", "a", "Z", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'`", +"input":"<!DOCTYPEa PUBLIC'`", +"output":[["DOCTYPE", "a", "`", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'a", +"input":"<!DOCTYPEa PUBLIC'a", +"output":[["DOCTYPE", "a", "a", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'b", +"input":"<!DOCTYPEa PUBLIC'b", +"output":[["DOCTYPE", "a", "b", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'y", +"input":"<!DOCTYPEa PUBLIC'y", +"output":[["DOCTYPE", "a", "y", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'z", +"input":"<!DOCTYPEa PUBLIC'z", +"output":[["DOCTYPE", "a", "z", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'{", +"input":"<!DOCTYPEa PUBLIC'{", +"output":[["DOCTYPE", "a", "{", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa PUBLIC'\\uDBC0\\uDC00", +"input":"<!DOCTYPEa PUBLIC'\uDBC0\uDC00", +"output":[["DOCTYPE", "a", "\uDBC0\uDC00", null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-public-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa PUBLIC(", +"input":"<!DOCTYPEa PUBLIC(", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC-", +"input":"<!DOCTYPEa PUBLIC-", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC/", +"input":"<!DOCTYPEa PUBLIC/", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC0", +"input":"<!DOCTYPEa PUBLIC0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC1", +"input":"<!DOCTYPEa PUBLIC1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC9", +"input":"<!DOCTYPEa PUBLIC9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC<", +"input":"<!DOCTYPEa PUBLIC<", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC=", +"input":"<!DOCTYPEa PUBLIC=", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC>", +"input":"<!DOCTYPEa PUBLIC>", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC?", +"input":"<!DOCTYPEa PUBLIC?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC@", +"input":"<!DOCTYPEa PUBLIC@", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICA", +"input":"<!DOCTYPEa PUBLICA", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICB", +"input":"<!DOCTYPEa PUBLICB", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICY", +"input":"<!DOCTYPEa PUBLICY", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICZ", +"input":"<!DOCTYPEa PUBLICZ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC`", +"input":"<!DOCTYPEa PUBLIC`", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICa", +"input":"<!DOCTYPEa PUBLICa", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICb", +"input":"<!DOCTYPEa PUBLICb", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICy", +"input":"<!DOCTYPEa PUBLICy", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLICz", +"input":"<!DOCTYPEa PUBLICz", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC{", +"input":"<!DOCTYPEa PUBLIC{", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa PUBLIC\\uDBC0\\uDC00", +"input":"<!DOCTYPEa PUBLIC\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-public-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM", +"input":"<!DOCTYPEa SYSTEM", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u0000", +"input":"<!DOCTYPEa SYSTEM\u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 }, + { "code": "unexpected-null-character", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u0008", +"input":"<!DOCTYPEa SYSTEM\u0008", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u0009", +"input":"<!DOCTYPEa SYSTEM\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u000A", +"input":"<!DOCTYPEa SYSTEM\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u000B", +"input":"<!DOCTYPEa SYSTEM\u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u000C", +"input":"<!DOCTYPEa SYSTEM\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u000D", +"input":"<!DOCTYPEa SYSTEM\u000D", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\u001F", +"input":"<!DOCTYPEa SYSTEM\u001F", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 18 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM ", +"input":"<!DOCTYPEa SYSTEM ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa SYSTEM!", +"input":"<!DOCTYPEa SYSTEM!", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"", +"input":"<!DOCTYPEa SYSTEM\"", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"\\u0000", +"input":"<!DOCTYPEa SYSTEM\"\u0000", +"output":[["DOCTYPE", "a", null, "\uFFFD", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-null-character", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"\\u0009", +"input":"<!DOCTYPEa SYSTEM\"\u0009", +"output":[["DOCTYPE", "a", null, "\u0009", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"\\u000A", +"input":"<!DOCTYPEa SYSTEM\"\u000A", +"output":[["DOCTYPE", "a", null, "\u000A", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"\\u000B", +"input":"<!DOCTYPEa SYSTEM\"\u000B", +"output":[["DOCTYPE", "a", null, "\u000B", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"\\u000C", +"input":"<!DOCTYPEa SYSTEM\"\u000C", +"output":[["DOCTYPE", "a", null, "\u000C", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\" ", +"input":"<!DOCTYPEa SYSTEM\" ", +"output":[["DOCTYPE", "a", null, " ", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"!", +"input":"<!DOCTYPEa SYSTEM\"!", +"output":[["DOCTYPE", "a", null, "!", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"\"", +"input":"<!DOCTYPEa SYSTEM\"\"", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"#", +"input":"<!DOCTYPEa SYSTEM\"#", +"output":[["DOCTYPE", "a", null, "#", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"&", +"input":"<!DOCTYPEa SYSTEM\"&", +"output":[["DOCTYPE", "a", null, "&", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"'", +"input":"<!DOCTYPEa SYSTEM\"'", +"output":[["DOCTYPE", "a", null, "'", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"-", +"input":"<!DOCTYPEa SYSTEM\"-", +"output":[["DOCTYPE", "a", null, "-", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"/", +"input":"<!DOCTYPEa SYSTEM\"/", +"output":[["DOCTYPE", "a", null, "/", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"0", +"input":"<!DOCTYPEa SYSTEM\"0", +"output":[["DOCTYPE", "a", null, "0", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"1", +"input":"<!DOCTYPEa SYSTEM\"1", +"output":[["DOCTYPE", "a", null, "1", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"9", +"input":"<!DOCTYPEa SYSTEM\"9", +"output":[["DOCTYPE", "a", null, "9", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"<", +"input":"<!DOCTYPEa SYSTEM\"<", +"output":[["DOCTYPE", "a", null, "<", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"=", +"input":"<!DOCTYPEa SYSTEM\"=", +"output":[["DOCTYPE", "a", null, "=", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } + +]}, + +{"description":"<!DOCTYPEa SYSTEM\">", +"input":"<!DOCTYPEa SYSTEM\">", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "abrupt-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"?", +"input":"<!DOCTYPEa SYSTEM\"?", +"output":[["DOCTYPE", "a", null, "?", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"@", +"input":"<!DOCTYPEa SYSTEM\"@", +"output":[["DOCTYPE", "a", null, "@", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"A", +"input":"<!DOCTYPEa SYSTEM\"A", +"output":[["DOCTYPE", "a", null, "A", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"B", +"input":"<!DOCTYPEa SYSTEM\"B", +"output":[["DOCTYPE", "a", null, "B", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"Y", +"input":"<!DOCTYPEa SYSTEM\"Y", +"output":[["DOCTYPE", "a", null, "Y", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"Z", +"input":"<!DOCTYPEa SYSTEM\"Z", +"output":[["DOCTYPE", "a", null, "Z", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"`", +"input":"<!DOCTYPEa SYSTEM\"`", +"output":[["DOCTYPE", "a", null, "`", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"a", +"input":"<!DOCTYPEa SYSTEM\"a", +"output":[["DOCTYPE", "a", null, "a", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"b", +"input":"<!DOCTYPEa SYSTEM\"b", +"output":[["DOCTYPE", "a", null, "b", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"y", +"input":"<!DOCTYPEa SYSTEM\"y", +"output":[["DOCTYPE", "a", null, "y", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"z", +"input":"<!DOCTYPEa SYSTEM\"z", +"output":[["DOCTYPE", "a", null, "z", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"{", +"input":"<!DOCTYPEa SYSTEM\"{", +"output":[["DOCTYPE", "a", null, "{", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\"\\uDBC0\\uDC00", +"input":"<!DOCTYPEa SYSTEM\"\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa SYSTEM#", +"input":"<!DOCTYPEa SYSTEM#", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM&", +"input":"<!DOCTYPEa SYSTEM&", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'", +"input":"<!DOCTYPEa SYSTEM'", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'\\u0000", +"input":"<!DOCTYPEa SYSTEM'\u0000", +"output":[["DOCTYPE", "a", null, "\uFFFD", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-null-character", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'\\u0009", +"input":"<!DOCTYPEa SYSTEM'\u0009", +"output":[["DOCTYPE", "a", null, "\u0009", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'\\u000A", +"input":"<!DOCTYPEa SYSTEM'\u000A", +"output":[["DOCTYPE", "a", null, "\u000A", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'\\u000B", +"input":"<!DOCTYPEa SYSTEM'\u000B", +"output":[["DOCTYPE", "a", null, "\u000B", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 19 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'\\u000C", +"input":"<!DOCTYPEa SYSTEM'\u000C", +"output":[["DOCTYPE", "a", null, "\u000C", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM' ", +"input":"<!DOCTYPEa SYSTEM' ", +"output":[["DOCTYPE", "a", null, " ", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'!", +"input":"<!DOCTYPEa SYSTEM'!", +"output":[["DOCTYPE", "a", null, "!", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'\"", +"input":"<!DOCTYPEa SYSTEM'\"", +"output":[["DOCTYPE", "a", null, "\"", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'&", +"input":"<!DOCTYPEa SYSTEM'&", +"output":[["DOCTYPE", "a", null, "&", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''", +"input":"<!DOCTYPEa SYSTEM''", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u0000", +"input":"<!DOCTYPEa SYSTEM''\u0000", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 }, + { "code": "unexpected-null-character", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u0008", +"input":"<!DOCTYPEa SYSTEM''\u0008", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u0009", +"input":"<!DOCTYPEa SYSTEM''\u0009", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u000A", +"input":"<!DOCTYPEa SYSTEM''\u000A", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u000B", +"input":"<!DOCTYPEa SYSTEM''\u000B", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u000C", +"input":"<!DOCTYPEa SYSTEM''\u000C", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u000D", +"input":"<!DOCTYPEa SYSTEM''\u000D", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\u001F", +"input":"<!DOCTYPEa SYSTEM''\u001F", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 20 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'' ", +"input":"<!DOCTYPEa SYSTEM'' ", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''!", +"input":"<!DOCTYPEa SYSTEM''!", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\"", +"input":"<!DOCTYPEa SYSTEM''\"", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''&", +"input":"<!DOCTYPEa SYSTEM''&", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'''", +"input":"<!DOCTYPEa SYSTEM'''", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''-", +"input":"<!DOCTYPEa SYSTEM''-", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''/", +"input":"<!DOCTYPEa SYSTEM''/", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''0", +"input":"<!DOCTYPEa SYSTEM''0", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''1", +"input":"<!DOCTYPEa SYSTEM''1", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''9", +"input":"<!DOCTYPEa SYSTEM''9", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''<", +"input":"<!DOCTYPEa SYSTEM''<", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''=", +"input":"<!DOCTYPEa SYSTEM''=", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''>", +"input":"<!DOCTYPEa SYSTEM''>", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''?", +"input":"<!DOCTYPEa SYSTEM''?", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''@", +"input":"<!DOCTYPEa SYSTEM''@", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''A", +"input":"<!DOCTYPEa SYSTEM''A", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''B", +"input":"<!DOCTYPEa SYSTEM''B", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''Y", +"input":"<!DOCTYPEa SYSTEM''Y", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''Z", +"input":"<!DOCTYPEa SYSTEM''Z", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''`", +"input":"<!DOCTYPEa SYSTEM''`", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''a", +"input":"<!DOCTYPEa SYSTEM''a", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''b", +"input":"<!DOCTYPEa SYSTEM''b", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''y", +"input":"<!DOCTYPEa SYSTEM''y", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''z", +"input":"<!DOCTYPEa SYSTEM''z", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''{", +"input":"<!DOCTYPEa SYSTEM''{", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM''\\uDBC0\\uDC00", +"input":"<!DOCTYPEa SYSTEM''\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, "", true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "unexpected-character-after-doctype-system-identifier", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'(", +"input":"<!DOCTYPEa SYSTEM'(", +"output":[["DOCTYPE", "a", null, "(", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'-", +"input":"<!DOCTYPEa SYSTEM'-", +"output":[["DOCTYPE", "a", null, "-", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'/", +"input":"<!DOCTYPEa SYSTEM'/", +"output":[["DOCTYPE", "a", null, "/", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'0", +"input":"<!DOCTYPEa SYSTEM'0", +"output":[["DOCTYPE", "a", null, "0", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'1", +"input":"<!DOCTYPEa SYSTEM'1", +"output":[["DOCTYPE", "a", null, "1", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'9", +"input":"<!DOCTYPEa SYSTEM'9", +"output":[["DOCTYPE", "a", null, "9", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'<", +"input":"<!DOCTYPEa SYSTEM'<", +"output":[["DOCTYPE", "a", null, "<", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'=", +"input":"<!DOCTYPEa SYSTEM'=", +"output":[["DOCTYPE", "a", null, "=", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'>", +"input":"<!DOCTYPEa SYSTEM'>", +"output":[["DOCTYPE", "a", null, "", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "abrupt-doctype-system-identifier", "line": 1, "col": 19 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'?", +"input":"<!DOCTYPEa SYSTEM'?", +"output":[["DOCTYPE", "a", null, "?", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'@", +"input":"<!DOCTYPEa SYSTEM'@", +"output":[["DOCTYPE", "a", null, "@", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'A", +"input":"<!DOCTYPEa SYSTEM'A", +"output":[["DOCTYPE", "a", null, "A", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'B", +"input":"<!DOCTYPEa SYSTEM'B", +"output":[["DOCTYPE", "a", null, "B", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'Y", +"input":"<!DOCTYPEa SYSTEM'Y", +"output":[["DOCTYPE", "a", null, "Y", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'Z", +"input":"<!DOCTYPEa SYSTEM'Z", +"output":[["DOCTYPE", "a", null, "Z", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'`", +"input":"<!DOCTYPEa SYSTEM'`", +"output":[["DOCTYPE", "a", null, "`", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'a", +"input":"<!DOCTYPEa SYSTEM'a", +"output":[["DOCTYPE", "a", null, "a", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'b", +"input":"<!DOCTYPEa SYSTEM'b", +"output":[["DOCTYPE", "a", null, "b", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'y", +"input":"<!DOCTYPEa SYSTEM'y", +"output":[["DOCTYPE", "a", null, "y", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'z", +"input":"<!DOCTYPEa SYSTEM'z", +"output":[["DOCTYPE", "a", null, "z", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'{", +"input":"<!DOCTYPEa SYSTEM'{", +"output":[["DOCTYPE", "a", null, "{", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 20 } +]}, + +{"description":"<!DOCTYPEa SYSTEM'\\uDBC0\\uDC00", +"input":"<!DOCTYPEa SYSTEM'\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, "\uDBC0\uDC00", false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-whitespace-after-doctype-system-keyword", "line": 1, "col": 18 }, + { "code": "eof-in-doctype", "line": 1, "col": 21 } +]}, + +{"description":"<!DOCTYPEa SYSTEM(", +"input":"<!DOCTYPEa SYSTEM(", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM-", +"input":"<!DOCTYPEa SYSTEM-", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM/", +"input":"<!DOCTYPEa SYSTEM/", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM0", +"input":"<!DOCTYPEa SYSTEM0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM1", +"input":"<!DOCTYPEa SYSTEM1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM9", +"input":"<!DOCTYPEa SYSTEM9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM<", +"input":"<!DOCTYPEa SYSTEM<", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM=", +"input":"<!DOCTYPEa SYSTEM=", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM>", +"input":"<!DOCTYPEa SYSTEM>", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM?", +"input":"<!DOCTYPEa SYSTEM?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM@", +"input":"<!DOCTYPEa SYSTEM@", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMA", +"input":"<!DOCTYPEa SYSTEMA", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMB", +"input":"<!DOCTYPEa SYSTEMB", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMY", +"input":"<!DOCTYPEa SYSTEMY", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMZ", +"input":"<!DOCTYPEa SYSTEMZ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM`", +"input":"<!DOCTYPEa SYSTEM`", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMa", +"input":"<!DOCTYPEa SYSTEMa", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMb", +"input":"<!DOCTYPEa SYSTEMb", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMy", +"input":"<!DOCTYPEa SYSTEMy", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEMz", +"input":"<!DOCTYPEa SYSTEMz", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM{", +"input":"<!DOCTYPEa SYSTEM{", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa SYSTEM\\uDBC0\\uDC00", +"input":"<!DOCTYPEa SYSTEM\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "missing-quote-before-doctype-system-identifier", "line": 1, "col": 18 } +]}, + +{"description":"<!DOCTYPEa Y", +"input":"<!DOCTYPEa Y", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa Z", +"input":"<!DOCTYPEa Z", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa `", +"input":"<!DOCTYPEa `", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a", +"input":"<!DOCTYPEa a", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a\\u0000", +"input":"<!DOCTYPEa a\u0000", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }, + { "code": "unexpected-null-character", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPEa a\\u0009", +"input":"<!DOCTYPEa a\u0009", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a\\u000A", +"input":"<!DOCTYPEa a\u000A", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a\\u000B", +"input":"<!DOCTYPEa a\u000B", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPEa a\\u000C", +"input":"<!DOCTYPEa a\u000C", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a ", +"input":"<!DOCTYPEa a ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a!", +"input":"<!DOCTYPEa a!", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a\"", +"input":"<!DOCTYPEa a\"", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a&", +"input":"<!DOCTYPEa a&", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a'", +"input":"<!DOCTYPEa a'", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a-", +"input":"<!DOCTYPEa a-", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a/", +"input":"<!DOCTYPEa a/", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a0", +"input":"<!DOCTYPEa a0", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a1", +"input":"<!DOCTYPEa a1", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a9", +"input":"<!DOCTYPEa a9", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a<", +"input":"<!DOCTYPEa a<", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a=", +"input":"<!DOCTYPEa a=", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a>", +"input":"<!DOCTYPEa a>", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a?", +"input":"<!DOCTYPEa a?", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a@", +"input":"<!DOCTYPEa a@", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa aA", +"input":"<!DOCTYPEa aA", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa aB", +"input":"<!DOCTYPEa aB", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa aY", +"input":"<!DOCTYPEa aY", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa aZ", +"input":"<!DOCTYPEa aZ", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a`", +"input":"<!DOCTYPEa a`", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa aa", +"input":"<!DOCTYPEa aa", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa ab", +"input":"<!DOCTYPEa ab", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa ay", +"input":"<!DOCTYPEa ay", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa az", +"input":"<!DOCTYPEa az", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a{", +"input":"<!DOCTYPEa a{", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa a\\uDBC0\\uDC00", +"input":"<!DOCTYPEa a\uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa b", +"input":"<!DOCTYPEa b", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa y", +"input":"<!DOCTYPEa y", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa z", +"input":"<!DOCTYPEa z", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa {", +"input":"<!DOCTYPEa {", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa \\uDBC0\\uDC00", +"input":"<!DOCTYPEa \uDBC0\uDC00", +"output":[["DOCTYPE", "a", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa!", +"input":"<!DOCTYPEa!", +"output":[["DOCTYPE", "a!", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa\"", +"input":"<!DOCTYPEa\"", +"output":[["DOCTYPE", "a\"", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa&", +"input":"<!DOCTYPEa&", +"output":[["DOCTYPE", "a&", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa'", +"input":"<!DOCTYPEa'", +"output":[["DOCTYPE", "a'", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa-", +"input":"<!DOCTYPEa-", +"output":[["DOCTYPE", "a-", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa/", +"input":"<!DOCTYPEa/", +"output":[["DOCTYPE", "a/", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa0", +"input":"<!DOCTYPEa0", +"output":[["DOCTYPE", "a0", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa1", +"input":"<!DOCTYPEa1", +"output":[["DOCTYPE", "a1", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa9", +"input":"<!DOCTYPEa9", +"output":[["DOCTYPE", "a9", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa<", +"input":"<!DOCTYPEa<", +"output":[["DOCTYPE", "a<", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa=", +"input":"<!DOCTYPEa=", +"output":[["DOCTYPE", "a=", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa>", +"input":"<!DOCTYPEa>", +"output":[["DOCTYPE", "a", null, null, true]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 } +]}, + +{"description":"<!DOCTYPEa?", +"input":"<!DOCTYPEa?", +"output":[["DOCTYPE", "a?", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa@", +"input":"<!DOCTYPEa@", +"output":[["DOCTYPE", "a@", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEaA", +"input":"<!DOCTYPEaA", +"output":[["DOCTYPE", "aa", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEaB", +"input":"<!DOCTYPEaB", +"output":[["DOCTYPE", "ab", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEaY", +"input":"<!DOCTYPEaY", +"output":[["DOCTYPE", "ay", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEaZ", +"input":"<!DOCTYPEaZ", +"output":[["DOCTYPE", "az", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa[", +"input":"<!DOCTYPEa[", +"output":[["DOCTYPE", "a[", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa`", +"input":"<!DOCTYPEa`", +"output":[["DOCTYPE", "a`", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEaa", +"input":"<!DOCTYPEaa", +"output":[["DOCTYPE", "aa", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEab", +"input":"<!DOCTYPEab", +"output":[["DOCTYPE", "ab", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEay", +"input":"<!DOCTYPEay", +"output":[["DOCTYPE", "ay", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEaz", +"input":"<!DOCTYPEaz", +"output":[["DOCTYPE", "az", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa{", +"input":"<!DOCTYPEa{", +"output":[["DOCTYPE", "a{", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!DOCTYPEa\\uDBC0\\uDC00", +"input":"<!DOCTYPEa\uDBC0\uDC00", +"output":[["DOCTYPE", "a\uDBC0\uDC00", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 13 } +]}, + +{"description":"<!DOCTYPEb", +"input":"<!DOCTYPEb", +"output":[["DOCTYPE", "b", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEy", +"input":"<!DOCTYPEy", +"output":[["DOCTYPE", "y", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPEz", +"input":"<!DOCTYPEz", +"output":[["DOCTYPE", "z", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE{", +"input":"<!DOCTYPE{", +"output":[["DOCTYPE", "{", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 11 } +]}, + +{"description":"<!DOCTYPE\\uDBC0\\uDC00", +"input":"<!DOCTYPE\uDBC0\uDC00", +"output":[["DOCTYPE", "\uDBC0\uDC00", null, null, false]], +"errors":[ + { "code": "missing-whitespace-before-doctype-name", "line": 1, "col": 10 }, + { "code": "eof-in-doctype", "line": 1, "col": 12 } +]}, + +{"description":"<!Y", +"input":"<!Y", +"output":[["Comment", "Y"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!Z", +"input":"<!Z", +"output":[["Comment", "Z"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!`", +"input":"<!`", +"output":[["Comment", "`"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!a", +"input":"<!a", +"output":[["Comment", "a"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!b", +"input":"<!b", +"output":[["Comment", "b"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!y", +"input":"<!y", +"output":[["Comment", "y"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!z", +"input":"<!z", +"output":[["Comment", "z"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!{", +"input":"<!{", +"output":[["Comment", "{"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<!\\uDBC0\\uDC00", +"input":"<!\uDBC0\uDC00", +"output":[["Comment", "\uDBC0\uDC00"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 } +]}, + +{"description":"<\"", +"input":"<\"", +"output":[["Character", "<\""]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<&", +"input":"<&", +"output":[["Character", "<&"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<'", +"input":"<'", +"output":[["Character", "<'"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<-", +"input":"<-", +"output":[["Character", "<-"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<.", +"input":"<.", +"output":[["Character", "<."]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"</", +"input":"</", +"output":[["Character", "</"]], +"errors":[ + { "code": "eof-before-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</\\u0000", +"input":"</\u0000", +"output":[["Comment", "\uFFFD"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }, + { "code": "unexpected-null-character", "line": 1, "col": 3 } +]}, + +{"description":"</\\u0009", +"input":"</\u0009", +"output":[["Comment", "\u0009"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</\\u000A", +"input":"</\u000A", +"output":[["Comment", "\u000A"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</\\u000B", +"input":"</\u000B", +"output":[["Comment", "\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 3 }, + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</\\u000C", +"input":"</\u000C", +"output":[["Comment", "\u000C"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</ ", +"input":"</ ", +"output":[["Comment", " "]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</ \\u0000", +"input":"</ \u0000", +"output":[["Comment", " \uFFFD"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 }, + { "code": "unexpected-null-character", "line": 1, "col": 4 } +]}, + +{"description":"</!", +"input":"</!", +"output":[["Comment", "!"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</\"", +"input":"</\"", +"output":[["Comment", "\""]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</&", +"input":"</&", +"output":[["Comment", "&"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</'", +"input":"</'", +"output":[["Comment", "'"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</-", +"input":"</-", +"output":[["Comment", "-"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"<//", +"input":"<//", +"output":[["Comment", "/"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</0", +"input":"</0", +"output":[["Comment", "0"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</1", +"input":"</1", +"output":[["Comment", "1"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</9", +"input":"</9", +"output":[["Comment", "9"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</<", +"input":"</<", +"output":[["Comment", "<"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</=", +"input":"</=", +"output":[["Comment", "="]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</>", +"input":"</>", +"output":[], +"errors":[ + { "code": "missing-end-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</?", +"input":"</?", +"output":[["Comment", "?"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</@", +"input":"</@", +"output":[["Comment", "@"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</A>", +"input":"</A>", +"output":[["EndTag", "a"]]}, + +{"description":"</B>", +"input":"</B>", +"output":[["EndTag", "b"]]}, + +{"description":"</Y>", +"input":"</Y>", +"output":[["EndTag", "y"]]}, + +{"description":"</Z>", +"input":"</Z>", +"output":[["EndTag", "z"]]}, + +{"description":"</[", +"input":"</[", +"output":[["Comment", "["]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</`", +"input":"</`", +"output":[["Comment", "`"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</a>", +"input":"</a>", +"output":[["EndTag", "a"]]}, + +{"description":"</b>", +"input":"</b>", +"output":[["EndTag", "b"]]}, + +{"description":"</y>", +"input":"</y>", +"output":[["EndTag", "y"]]}, + +{"description":"</z>", +"input":"</z>", +"output":[["EndTag", "z"]]}, + +{"description":"</{", +"input":"</{", +"output":[["Comment", "{"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"</\\uDBC0\\uDC00", +"input":"</\uDBC0\uDC00", +"output":[["Comment", "\uDBC0\uDC00"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"<0", +"input":"<0", +"output":[["Character", "<0"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<1", +"input":"<1", +"output":[["Character", "<1"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<9", +"input":"<9", +"output":[["Character", "<9"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<<", +"input":"<<", +"output":[["Character", "<<"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 }, + { "code": "eof-before-tag-name", "line": 1, "col": 3 } +]}, + +{"description":"<=", +"input":"<=", +"output":[["Character", "<="]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<>", +"input":"<>", +"output":[["Character", "<>"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?", +"input":"<?", +"output":[["Comment", "?"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?\\u0000", +"input":"<?\u0000", +"output":[["Comment", "?\uFFFD"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }, + { "code": "unexpected-null-character", "line": 1, "col": 3 } +]}, + +{"description":"<?\\u0009", +"input":"<?\u0009", +"output":[["Comment", "?\u0009"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?\\u000A", +"input":"<?\u000A", +"output":[["Comment", "?\u000A"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?\\u000B", +"input":"<?\u000B", +"output":[["Comment", "?\u000B"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 3 } +]}, + +{"description":"<?\\u000C", +"input":"<?\u000C", +"output":[["Comment", "?\u000C"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<? ", +"input":"<? ", +"output":[["Comment", "? "]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<? \\u0000", +"input":"<? \u0000", +"output":[["Comment", "? \uFFFD"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 }, + { "code": "unexpected-null-character", "line": 1, "col": 4 } +]}, + +{"description":"<?!", +"input":"<?!", +"output":[["Comment", "?!"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?\"", +"input":"<?\"", +"output":[["Comment", "?\""]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?&", +"input":"<?&", +"output":[["Comment", "?&"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?'", +"input":"<?'", +"output":[["Comment", "?'"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?-", +"input":"<?-", +"output":[["Comment", "?-"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?/", +"input":"<?/", +"output":[["Comment", "?/"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?0", +"input":"<?0", +"output":[["Comment", "?0"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?1", +"input":"<?1", +"output":[["Comment", "?1"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?9", +"input":"<?9", +"output":[["Comment", "?9"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?<", +"input":"<?<", +"output":[["Comment", "?<"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?=", +"input":"<?=", +"output":[["Comment", "?="]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?>", +"input":"<?>", +"output":[["Comment", "?"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<??", +"input":"<??", +"output":[["Comment", "??"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?@", +"input":"<?@", +"output":[["Comment", "?@"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?A", +"input":"<?A", +"output":[["Comment", "?A"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?B", +"input":"<?B", +"output":[["Comment", "?B"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?Y", +"input":"<?Y", +"output":[["Comment", "?Y"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?Z", +"input":"<?Z", +"output":[["Comment", "?Z"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?`", +"input":"<?`", +"output":[["Comment", "?`"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?a", +"input":"<?a", +"output":[["Comment", "?a"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?b", +"input":"<?b", +"output":[["Comment", "?b"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?y", +"input":"<?y", +"output":[["Comment", "?y"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?z", +"input":"<?z", +"output":[["Comment", "?z"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?{", +"input":"<?{", +"output":[["Comment", "?{"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<?\\uDBC0\\uDC00", +"input":"<?\uDBC0\uDC00", +"output":[["Comment", "?\uDBC0\uDC00"]], +"errors":[ + { "code": "unexpected-question-mark-instead-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<@", +"input":"<@", +"output":[["Character", "<@"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<A>", +"input":"<A>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<B>", +"input":"<B>", +"output":[["StartTag", "b", {}]]}, + +{"description":"<Y>", +"input":"<Y>", +"output":[["StartTag", "y", {}]]}, + +{"description":"<Z>", +"input":"<Z>", +"output":[["StartTag", "z", {}]]}, + +{"description":"<[", +"input":"<[", +"output":[["Character", "<["]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<`", +"input":"<`", +"output":[["Character", "<`"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<a>", +"input":"<a>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a\\u0000>", +"input":"<a\u0000>", +"output":[["StartTag", "a\uFFFD", {}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 3 } +]}, + +{"description":"<a\\u0008>", +"input":"<a\u0008>", +"output":[["StartTag", "a\u0008", {}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 3 } +]}, + +{"description":"<a\\u0009>", +"input":"<a\u0009>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a\\u000A>", +"input":"<a\u000A>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a\\u000B>", +"input":"<a\u000B>", +"output":[["StartTag", "a\u000B", {}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 3 } +]}, + +{"description":"<a\\u000C>", +"input":"<a\u000C>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a\\u000D>", +"input":"<a\u000D>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a\\u001F>", +"input":"<a\u001F>", +"output":[["StartTag", "a\u001F", {}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 3 } +]}, + +{"description":"<a >", +"input":"<a >", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a \\u0000>", +"input":"<a \u0000>", +"output":[["StartTag", "a", {"\uFFFD":""}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 4 } +]}, + +{"description":"<a \\u0008>", +"input":"<a \u0008>", +"output":[["StartTag", "a", {"\u0008":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 4 } +]}, + +{"description":"<a \\u0009>", +"input":"<a \u0009>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a \\u000A>", +"input":"<a \u000A>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a \\u000B>", +"input":"<a \u000B>", +"output":[["StartTag", "a", {"\u000B":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 4 } +]}, + +{"description":"<a \\u000C>", +"input":"<a \u000C>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a \\u000D>", +"input":"<a \u000D>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a \\u001F>", +"input":"<a \u001F>", +"output":[["StartTag", "a", {"\u001F":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 4 } +]}, + +{"description":"<a >", +"input":"<a >", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a !>", +"input":"<a !>", +"output":[["StartTag", "a", {"!":""}]]}, + +{"description":"<a \">", +"input":"<a \">", +"output":[["StartTag", "a", {"\"":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a #>", +"input":"<a #>", +"output":[["StartTag", "a", {"#":""}]]}, + +{"description":"<a &>", +"input":"<a &>", +"output":[["StartTag", "a", {"&":""}]]}, + +{"description":"<a '>", +"input":"<a '>", +"output":[["StartTag", "a", {"'":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a (>", +"input":"<a (>", +"output":[["StartTag", "a", {"(":""}]]}, + +{"description":"<a ->", +"input":"<a ->", +"output":[["StartTag", "a", {"-":""}]]}, + +{"description":"<a .>", +"input":"<a .>", +"output":[["StartTag", "a", {".":""}]]}, + +{"description":"<a />", +"input":"<a />", +"output":[["StartTag", "a", {}, true]]}, + +{"description":"<a 0>", +"input":"<a 0>", +"output":[["StartTag", "a", {"0":""}]]}, + +{"description":"<a 1>", +"input":"<a 1>", +"output":[["StartTag", "a", {"1":""}]]}, + +{"description":"<a 9>", +"input":"<a 9>", +"output":[["StartTag", "a", {"9":""}]]}, + +{"description":"<a <>", +"input":"<a <>", +"output":[["StartTag", "a", {"<":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a =>", +"input":"<a =>", +"output":[["StartTag", "a", {"=":""}]], +"errors":[ + { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a >", +"input":"<a >", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a ?>", +"input":"<a ?>", +"output":[["StartTag", "a", {"?":""}]]}, + +{"description":"<a @>", +"input":"<a @>", +"output":[["StartTag", "a", {"@":""}]]}, + +{"description":"<a A>", +"input":"<a A>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a B>", +"input":"<a B>", +"output":[["StartTag", "a", {"b":""}]]}, + +{"description":"<a Y>", +"input":"<a Y>", +"output":[["StartTag", "a", {"y":""}]]}, + +{"description":"<a Z>", +"input":"<a Z>", +"output":[["StartTag", "a", {"z":""}]]}, + +{"description":"<a [>", +"input":"<a [>", +"output":[["StartTag", "a", {"[":""}]]}, + +{"description":"<a `>", +"input":"<a `>", +"output":[["StartTag", "a", {"`":""}]]}, + +{"description":"<a a>", +"input":"<a a>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a\\u0000>", +"input":"<a a\u0000>", +"output":[["StartTag", "a", {"a\uFFFD":""}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 5 } +]}, + +{"description":"<a a\\u0008>", +"input":"<a a\u0008>", +"output":[["StartTag", "a", {"a\u0008":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 5 } +]}, + +{"description":"<a a\\u0009>", +"input":"<a a\u0009>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a\\u000A>", +"input":"<a a\u000A>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a\\u000B>", +"input":"<a a\u000B>", +"output":[["StartTag", "a", {"a\u000B":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 5 } +]}, + +{"description":"<a a\\u000C>", +"input":"<a a\u000C>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a\\u000D>", +"input":"<a a\u000D>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a\\u001F>", +"input":"<a a\u001F>", +"output":[["StartTag", "a", {"a\u001F":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 5 } +]}, + +{"description":"<a a >", +"input":"<a a >", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a \\u0000>", +"input":"<a a \u0000>", +"output":[["StartTag", "a", {"a":"", "\uFFFD":""}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 6 } +]}, + +{"description":"<a a \\u0008>", +"input":"<a a \u0008>", +"output":[["StartTag", "a", {"a":"", "\u0008":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"<a a \\u0009>", +"input":"<a a \u0009>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a \\u000A>", +"input":"<a a \u000A>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a \\u000B>", +"input":"<a a \u000B>", +"output":[["StartTag", "a", {"a":"", "\u000B":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"<a a \\u000C>", +"input":"<a a \u000C>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a \\u000D>", +"input":"<a a \u000D>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a \\u001F>", +"input":"<a a \u001F>", +"output":[["StartTag", "a", {"a":"", "\u001F":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"<a a >", +"input":"<a a >", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a !>", +"input":"<a a !>", +"output":[["StartTag", "a", {"a":"", "!":""}]]}, + +{"description":"<a a \">", +"input":"<a a \">", +"output":[["StartTag", "a", {"a":"", "\"":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 } +]}, + +{"description":"<a a #>", +"input":"<a a #>", +"output":[["StartTag", "a", {"a":"", "#":""}]]}, + +{"description":"<a a &>", +"input":"<a a &>", +"output":[["StartTag", "a", {"a":"", "&":""}]]}, + +{"description":"<a a '>", +"input":"<a a '>", +"output":[["StartTag", "a", {"a":"", "'":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 } +]}, + +{"description":"<a a (>", +"input":"<a a (>", +"output":[["StartTag", "a", {"a":"", "(":""}]]}, + +{"description":"<a a ->", +"input":"<a a ->", +"output":[["StartTag", "a", {"a":"", "-":""}]]}, + +{"description":"<a a .>", +"input":"<a a .>", +"output":[["StartTag", "a", {"a":"", ".":""}]]}, + +{"description":"<a a />", +"input":"<a a />", +"output":[["StartTag", "a", {"a":""}, true]]}, + +{"description":"<a a 0>", +"input":"<a a 0>", +"output":[["StartTag", "a", {"a":"", "0":""}]]}, + +{"description":"<a a 1>", +"input":"<a a 1>", +"output":[["StartTag", "a", {"a":"", "1":""}]]}, + +{"description":"<a a 9>", +"input":"<a a 9>", +"output":[["StartTag", "a", {"a":"", "9":""}]]}, + +{"description":"<a a <>", +"input":"<a a <>", +"output":[["StartTag", "a", {"a":"", "<":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 } +]}, + +{"description":"<a a =>", +"input":"<a a =>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a >", +"input":"<a a >", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a ?>", +"input":"<a a ?>", +"output":[["StartTag", "a", {"a":"", "?":""}]]}, + +{"description":"<a a @>", +"input":"<a a @>", +"output":[["StartTag", "a", {"a":"", "@":""}]]}, + +{"description":"<a a A>", +"input":"<a a A>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "duplicate-attribute", "line": 1, "col": 7 } +]}, + +{"description":"<a a B>", +"input":"<a a B>", +"output":[["StartTag", "a", {"a":"", "b":""}]]}, + +{"description":"<a a Y>", +"input":"<a a Y>", +"output":[["StartTag", "a", {"a":"", "y":""}]]}, + +{"description":"<a a Z>", +"input":"<a a Z>", +"output":[["StartTag", "a", {"a":"", "z":""}]]}, + +{"description":"<a a [>", +"input":"<a a [>", +"output":[["StartTag", "a", {"a":"", "[":""}]]}, + +{"description":"<a a `>", +"input":"<a a `>", +"output":[["StartTag", "a", {"a":"", "`":""}]]}, + +{"description":"<a a a>", +"input":"<a a a>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "duplicate-attribute", "line": 1, "col": 7 } +]}, + +{"description":"<a a b>", +"input":"<a a b>", +"output":[["StartTag", "a", {"a":"", "b":""}]]}, + +{"description":"<a a y>", +"input":"<a a y>", +"output":[["StartTag", "a", {"a":"", "y":""}]]}, + +{"description":"<a a z>", +"input":"<a a z>", +"output":[["StartTag", "a", {"a":"", "z":""}]]}, + +{"description":"<a a {>", +"input":"<a a {>", +"output":[["StartTag", "a", {"a":"", "{":""}]]}, + +{"description":"<a a \\uDBC0\\uDC00>", +"input":"<a a \uDBC0\uDC00>", +"output":[["StartTag", "a", {"a":"", "\uDBC0\uDC00":""}]]}, + +{"description":"<a a!>", +"input":"<a a!>", +"output":[["StartTag", "a", {"a!":""}]]}, + +{"description":"<a a\">", +"input":"<a a\">", +"output":[["StartTag", "a", {"a\"":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 } +]}, + +{"description":"<a a#>", +"input":"<a a#>", +"output":[["StartTag", "a", {"a#":""}]]}, + +{"description":"<a a&>", +"input":"<a a&>", +"output":[["StartTag", "a", {"a&":""}]]}, + +{"description":"<a a'>", +"input":"<a a'>", +"output":[["StartTag", "a", {"a'":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 } +]}, + +{"description":"<a a(>", +"input":"<a a(>", +"output":[["StartTag", "a", {"a(":""}]]}, + +{"description":"<a a->", +"input":"<a a->", +"output":[["StartTag", "a", {"a-":""}]]}, + +{"description":"<a a.>", +"input":"<a a.>", +"output":[["StartTag", "a", {"a.":""}]]}, + +{"description":"<a a/>", +"input":"<a a/>", +"output":[["StartTag", "a", {"a":""}, true]]}, + +{"description":"<a a0>", +"input":"<a a0>", +"output":[["StartTag", "a", {"a0":""}]]}, + +{"description":"<a a1>", +"input":"<a a1>", +"output":[["StartTag", "a", {"a1":""}]]}, + +{"description":"<a a9>", +"input":"<a a9>", +"output":[["StartTag", "a", {"a9":""}]]}, + +{"description":"<a a<>", +"input":"<a a<>", +"output":[["StartTag", "a", {"a<":""}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 5 } +]}, + +{"description":"<a a=>", +"input":"<a a=>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"<a a=\\u0000>", +"input":"<a a=\u0000>", +"output":[["StartTag", "a", {"a":"\uFFFD"}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 6 } +]}, + +{"description":"<a a=\\u0008>", +"input":"<a a=\u0008>", +"output":[["StartTag", "a", {"a":"\u0008"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"<a a=\\u0009>", +"input":"<a a=\u0009>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=\\u000A>", +"input":"<a a=\u000A>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 2, "col": 1 } +]}, + +{"description":"<a a=\\u000B>", +"input":"<a a=\u000B>", +"output":[["StartTag", "a", {"a":"\u000B"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"<a a=\\u000C>", +"input":"<a a=\u000C>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=\\u000D>", +"input":"<a a=\u000D>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 2, "col": 1 } +]}, + +{"description":"<a a=\\u001F>", +"input":"<a a=\u001F>", +"output":[["StartTag", "a", {"a":"\u001F"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"<a a= >", +"input":"<a a= >", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=!>", +"input":"<a a=!>", +"output":[["StartTag", "a", {"a":"!"}]]}, + +{"description":"<a a=\"\">", +"input":"<a a=\"\">", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=\"\\u0000\">", +"input":"<a a=\"\u0000\">", +"output":[["StartTag", "a", {"a":"\uFFFD"}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 7 } +]}, + +{"description":"<a a=\"\\u0009\">", +"input":"<a a=\"\u0009\">", +"output":[["StartTag", "a", {"a":"\u0009"}]]}, + +{"description":"<a a=\"\\u000A\">", +"input":"<a a=\"\u000A\">", +"output":[["StartTag", "a", {"a":"\u000A"}]]}, + +{"description":"<a a=\"\\u000B\">", +"input":"<a a=\"\u000B\">", +"output":[["StartTag", "a", {"a":"\u000B"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 7 } +]}, + +{"description":"<a a=\"\\u000C\">", +"input":"<a a=\"\u000C\">", +"output":[["StartTag", "a", {"a":"\u000C"}]]}, + +{"description":"<a a=\" \">", +"input":"<a a=\" \">", +"output":[["StartTag", "a", {"a":" "}]]}, + +{"description":"<a a=\"!\">", +"input":"<a a=\"!\">", +"output":[["StartTag", "a", {"a":"!"}]]}, + +{"description":"<a a=\"\">", +"input":"<a a=\"\">", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=\"#\">", +"input":"<a a=\"#\">", +"output":[["StartTag", "a", {"a":"#"}]]}, + +{"description":"<a a=\"%\">", +"input":"<a a=\"%\">", +"output":[["StartTag", "a", {"a":"%"}]]}, + +{"description":"<a a=\"&\">", +"input":"<a a=\"&\">", +"output":[["StartTag", "a", {"a":"&"}]]}, + +{"description":"<a a=\"'\">", +"input":"<a a=\"'\">", +"output":[["StartTag", "a", {"a":"'"}]]}, + +{"description":"<a a=\"-\">", +"input":"<a a=\"-\">", +"output":[["StartTag", "a", {"a":"-"}]]}, + +{"description":"<a a=\"/\">", +"input":"<a a=\"/\">", +"output":[["StartTag", "a", {"a":"/"}]]}, + +{"description":"<a a=\"0\">", +"input":"<a a=\"0\">", +"output":[["StartTag", "a", {"a":"0"}]]}, + +{"description":"<a a=\"1\">", +"input":"<a a=\"1\">", +"output":[["StartTag", "a", {"a":"1"}]]}, + +{"description":"<a a=\"9\">", +"input":"<a a=\"9\">", +"output":[["StartTag", "a", {"a":"9"}]]}, + +{"description":"<a a=\"<\">", +"input":"<a a=\"<\">", +"output":[["StartTag", "a", {"a":"<"}]]}, + +{"description":"<a a=\"=\">", +"input":"<a a=\"=\">", +"output":[["StartTag", "a", {"a":"="}]]}, + +{"description":"<a a=\">\">", +"input":"<a a=\">\">", +"output":[["StartTag", "a", {"a":">"}]]}, + +{"description":"<a a=\"?\">", +"input":"<a a=\"?\">", +"output":[["StartTag", "a", {"a":"?"}]]}, + +{"description":"<a a=\"@\">", +"input":"<a a=\"@\">", +"output":[["StartTag", "a", {"a":"@"}]]}, + +{"description":"<a a=\"A\">", +"input":"<a a=\"A\">", +"output":[["StartTag", "a", {"a":"A"}]]}, + +{"description":"<a a=\"B\">", +"input":"<a a=\"B\">", +"output":[["StartTag", "a", {"a":"B"}]]}, + +{"description":"<a a=\"Y\">", +"input":"<a a=\"Y\">", +"output":[["StartTag", "a", {"a":"Y"}]]}, + +{"description":"<a a=\"Z\">", +"input":"<a a=\"Z\">", +"output":[["StartTag", "a", {"a":"Z"}]]}, + +{"description":"<a a=\"`\">", +"input":"<a a=\"`\">", +"output":[["StartTag", "a", {"a":"`"}]]}, + +{"description":"<a a=\"a\">", +"input":"<a a=\"a\">", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=\"b\">", +"input":"<a a=\"b\">", +"output":[["StartTag", "a", {"a":"b"}]]}, + +{"description":"<a a=\"y\">", +"input":"<a a=\"y\">", +"output":[["StartTag", "a", {"a":"y"}]]}, + +{"description":"<a a=\"z\">", +"input":"<a a=\"z\">", +"output":[["StartTag", "a", {"a":"z"}]]}, + +{"description":"<a a=\"{\">", +"input":"<a a=\"{\">", +"output":[["StartTag", "a", {"a":"{"}]]}, + +{"description":"<a a=\"\\uDBC0\\uDC00\">", +"input":"<a a=\"\uDBC0\uDC00\">", +"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]}, + +{"description":"<a a=#>", +"input":"<a a=#>", +"output":[["StartTag", "a", {"a":"#"}]]}, + +{"description":"<a a=%>", +"input":"<a a=%>", +"output":[["StartTag", "a", {"a":"%"}]]}, + +{"description":"<a a=&>", +"input":"<a a=&>", +"output":[["StartTag", "a", {"a":"&"}]]}, + +{"description":"<a a=''>", +"input":"<a a=''>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a='\\u0000'>", +"input":"<a a='\u0000'>", +"output":[["StartTag", "a", {"a":"\uFFFD"}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 7 } +]}, + +{"description":"<a a='\\u0009'>", +"input":"<a a='\u0009'>", +"output":[["StartTag", "a", {"a":"\u0009"}]]}, + +{"description":"<a a='\\u000A'>", +"input":"<a a='\u000A'>", +"output":[["StartTag", "a", {"a":"\u000A"}]]}, + +{"description":"<a a='\\u000B'>", +"input":"<a a='\u000B'>", +"output":[["StartTag", "a", {"a":"\u000B"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 7 } +]}, + +{"description":"<a a='\\u000C'>", +"input":"<a a='\u000C'>", +"output":[["StartTag", "a", {"a":"\u000C"}]]}, + +{"description":"<a a=' '>", +"input":"<a a=' '>", +"output":[["StartTag", "a", {"a":" "}]]}, + +{"description":"<a a='!'>", +"input":"<a a='!'>", +"output":[["StartTag", "a", {"a":"!"}]]}, + +{"description":"<a a='\"'>", +"input":"<a a='\"'>", +"output":[["StartTag", "a", {"a":"\""}]]}, + +{"description":"<a a='%'>", +"input":"<a a='%'>", +"output":[["StartTag", "a", {"a":"%"}]]}, + +{"description":"<a a='&'>", +"input":"<a a='&'>", +"output":[["StartTag", "a", {"a":"&"}]]}, + +{"description":"<a a=''>", +"input":"<a a=''>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=''\\u0000>", +"input":"<a a=''\u0000>", +"output":[["StartTag", "a", {"a":"", "\uFFFD":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }, + { "code": "unexpected-null-character", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''\\u0008>", +"input":"<a a=''\u0008>", +"output":[["StartTag", "a", {"a":"", "\u0008":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 8 }, + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''\\u0009>", +"input":"<a a=''\u0009>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=''\\u000A>", +"input":"<a a=''\u000A>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=''\\u000B>", +"input":"<a a=''\u000B>", +"output":[["StartTag", "a", {"a":"", "\u000B":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 8 }, + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''\\u000C>", +"input":"<a a=''\u000C>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=''\\u000D>", +"input":"<a a=''\u000D>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=''\\u001F>", +"input":"<a a=''\u001F>", +"output":[["StartTag", "a", {"a":"", "\u001F":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 8 }, + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a='' >", +"input":"<a a='' >", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=''!>", +"input":"<a a=''!>", +"output":[["StartTag", "a", {"a":"", "!":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''\">", +"input":"<a a=''\">", +"output":[["StartTag", "a", {"a":"", "\"":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }, + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''&>", +"input":"<a a=''&>", +"output":[["StartTag", "a", {"a":"", "&":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a='''>", +"input":"<a a='''>", +"output":[["StartTag", "a", {"a":"", "'":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }, + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''->", +"input":"<a a=''->", +"output":[["StartTag", "a", {"a":"", "-":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''.>", +"input":"<a a=''.>", +"output":[["StartTag", "a", {"a":"", ".":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''/>", +"input":"<a a=''/>", +"output":[["StartTag", "a", {"a":""}, true]]}, + +{"description":"<a a=''0>", +"input":"<a a=''0>", +"output":[["StartTag", "a", {"a":"", "0":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''1>", +"input":"<a a=''1>", +"output":[["StartTag", "a", {"a":"", "1":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''9>", +"input":"<a a=''9>", +"output":[["StartTag", "a", {"a":"", "9":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''<>", +"input":"<a a=''<>", +"output":[["StartTag", "a", {"a":"", "<":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }, + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''=>", +"input":"<a a=''=>", +"output":[["StartTag", "a", {"a":"", "=":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }, + { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''>", +"input":"<a a=''>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a=''?>", +"input":"<a a=''?>", +"output":[["StartTag", "a", {"a":"", "?":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''@>", +"input":"<a a=''@>", +"output":[["StartTag", "a", {"a":"", "@":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''A>", +"input":"<a a=''A>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }, + { "code": "duplicate-attribute", "line": 1, "col": 9 } +]}, + +{"description":"<a a=''B>", +"input":"<a a=''B>", +"output":[["StartTag", "a", {"a":"", "b":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''Y>", +"input":"<a a=''Y>", +"output":[["StartTag", "a", {"a":"", "y":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''Z>", +"input":"<a a=''Z>", +"output":[["StartTag", "a", {"a":"", "z":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''`>", +"input":"<a a=''`>", +"output":[["StartTag", "a", {"a":"", "`":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''a>", +"input":"<a a=''a>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 }, + { "code": "duplicate-attribute", "line": 1, "col": 9 } +]}, + +{"description":"<a a=''b>", +"input":"<a a=''b>", +"output":[["StartTag", "a", {"a":"", "b":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''y>", +"input":"<a a=''y>", +"output":[["StartTag", "a", {"a":"", "y":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''z>", +"input":"<a a=''z>", +"output":[["StartTag", "a", {"a":"", "z":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''{>", +"input":"<a a=''{>", +"output":[["StartTag", "a", {"a":"", "{":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a=''\\uDBC0\\uDC00>", +"input":"<a a=''\uDBC0\uDC00>", +"output":[["StartTag", "a", {"a":"", "\uDBC0\uDC00":""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 8 } +]}, + +{"description":"<a a='('>", +"input":"<a a='('>", +"output":[["StartTag", "a", {"a":"("}]]}, + +{"description":"<a a='-'>", +"input":"<a a='-'>", +"output":[["StartTag", "a", {"a":"-"}]]}, + +{"description":"<a a='/'>", +"input":"<a a='/'>", +"output":[["StartTag", "a", {"a":"/"}]]}, + +{"description":"<a a='0'>", +"input":"<a a='0'>", +"output":[["StartTag", "a", {"a":"0"}]]}, + +{"description":"<a a='1'>", +"input":"<a a='1'>", +"output":[["StartTag", "a", {"a":"1"}]]}, + +{"description":"<a a='9'>", +"input":"<a a='9'>", +"output":[["StartTag", "a", {"a":"9"}]]}, + +{"description":"<a a='<'>", +"input":"<a a='<'>", +"output":[["StartTag", "a", {"a":"<"}]]}, + +{"description":"<a a='='>", +"input":"<a a='='>", +"output":[["StartTag", "a", {"a":"="}]]}, + +{"description":"<a a='>'>", +"input":"<a a='>'>", +"output":[["StartTag", "a", {"a":">"}]]}, + +{"description":"<a a='?'>", +"input":"<a a='?'>", +"output":[["StartTag", "a", {"a":"?"}]]}, + +{"description":"<a a='@'>", +"input":"<a a='@'>", +"output":[["StartTag", "a", {"a":"@"}]]}, + +{"description":"<a a='A'>", +"input":"<a a='A'>", +"output":[["StartTag", "a", {"a":"A"}]]}, + +{"description":"<a a='B'>", +"input":"<a a='B'>", +"output":[["StartTag", "a", {"a":"B"}]]}, + +{"description":"<a a='Y'>", +"input":"<a a='Y'>", +"output":[["StartTag", "a", {"a":"Y"}]]}, + +{"description":"<a a='Z'>", +"input":"<a a='Z'>", +"output":[["StartTag", "a", {"a":"Z"}]]}, + +{"description":"<a a='`'>", +"input":"<a a='`'>", +"output":[["StartTag", "a", {"a":"`"}]]}, + +{"description":"<a a='a'>", +"input":"<a a='a'>", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a='b'>", +"input":"<a a='b'>", +"output":[["StartTag", "a", {"a":"b"}]]}, + +{"description":"<a a='y'>", +"input":"<a a='y'>", +"output":[["StartTag", "a", {"a":"y"}]]}, + +{"description":"<a a='z'>", +"input":"<a a='z'>", +"output":[["StartTag", "a", {"a":"z"}]]}, + +{"description":"<a a='{'>", +"input":"<a a='{'>", +"output":[["StartTag", "a", {"a":"{"}]]}, + +{"description":"<a a='\\uDBC0\\uDC00'>", +"input":"<a a='\uDBC0\uDC00'>", +"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]}, + +{"description":"<a a=(>", +"input":"<a a=(>", +"output":[["StartTag", "a", {"a":"("}]]}, + +{"description":"<a a=->", +"input":"<a a=->", +"output":[["StartTag", "a", {"a":"-"}]]}, + +{"description":"<a a=/>", +"input":"<a a=/>", +"output":[["StartTag", "a", {"a":"/"}]]}, + +{"description":"<a a=0>", +"input":"<a a=0>", +"output":[["StartTag", "a", {"a":"0"}]]}, + +{"description":"<a a=1>", +"input":"<a a=1>", +"output":[["StartTag", "a", {"a":"1"}]]}, + +{"description":"<a a=9>", +"input":"<a a=9>", +"output":[["StartTag", "a", {"a":"9"}]]}, + +{"description":"<a a=<>", +"input":"<a a=<>", +"output":[["StartTag", "a", {"a":"<"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"<a a==>", +"input":"<a a==>", +"output":[["StartTag", "a", {"a":"="}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"<a a=>", +"input":"<a a=>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "missing-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"<a a=?>", +"input":"<a a=?>", +"output":[["StartTag", "a", {"a":"?"}]]}, + +{"description":"<a a=@>", +"input":"<a a=@>", +"output":[["StartTag", "a", {"a":"@"}]]}, + +{"description":"<a a=A>", +"input":"<a a=A>", +"output":[["StartTag", "a", {"a":"A"}]]}, + +{"description":"<a a=B>", +"input":"<a a=B>", +"output":[["StartTag", "a", {"a":"B"}]]}, + +{"description":"<a a=Y>", +"input":"<a a=Y>", +"output":[["StartTag", "a", {"a":"Y"}]]}, + +{"description":"<a a=Z>", +"input":"<a a=Z>", +"output":[["StartTag", "a", {"a":"Z"}]]}, + +{"description":"<a a=`>", +"input":"<a a=`>", +"output":[["StartTag", "a", {"a":"`"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"<a a=a>", +"input":"<a a=a>", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=a\\u0000>", +"input":"<a a=a\u0000>", +"output":[["StartTag", "a", {"a":"a\uFFFD"}]], +"errors":[ + { "code": "unexpected-null-character", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a\\u0008>", +"input":"<a a=a\u0008>", +"output":[["StartTag", "a", {"a":"a\u0008"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a\\u0009>", +"input":"<a a=a\u0009>", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=a\\u000A>", +"input":"<a a=a\u000A>", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=a\\u000B>", +"input":"<a a=a\u000B>", +"output":[["StartTag", "a", {"a":"a\u000B"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a\\u000C>", +"input":"<a a=a\u000C>", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=a\\u000D>", +"input":"<a a=a\u000D>", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=a\\u001F>", +"input":"<a a=a\u001F>", +"output":[["StartTag", "a", {"a":"a\u001F"}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a >", +"input":"<a a=a >", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=a!>", +"input":"<a a=a!>", +"output":[["StartTag", "a", {"a":"a!"}]]}, + +{"description":"<a a=a\">", +"input":"<a a=a\">", +"output":[["StartTag", "a", {"a":"a\""}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a#>", +"input":"<a a=a#>", +"output":[["StartTag", "a", {"a":"a#"}]]}, + +{"description":"<a a=a%>", +"input":"<a a=a%>", +"output":[["StartTag", "a", {"a":"a%"}]]}, + +{"description":"<a a=a&>", +"input":"<a a=a&>", +"output":[["StartTag", "a", {"a":"a&"}]]}, + +{"description":"<a a=a'>", +"input":"<a a=a'>", +"output":[["StartTag", "a", {"a":"a'"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a(>", +"input":"<a a=a(>", +"output":[["StartTag", "a", {"a":"a("}]]}, + +{"description":"<a a=a->", +"input":"<a a=a->", +"output":[["StartTag", "a", {"a":"a-"}]]}, + +{"description":"<a a=a/>", +"input":"<a a=a/>", +"output":[["StartTag", "a", {"a":"a/"}]]}, + +{"description":"<a a=a0>", +"input":"<a a=a0>", +"output":[["StartTag", "a", {"a":"a0"}]]}, + +{"description":"<a a=a1>", +"input":"<a a=a1>", +"output":[["StartTag", "a", {"a":"a1"}]]}, + +{"description":"<a a=a9>", +"input":"<a a=a9>", +"output":[["StartTag", "a", {"a":"a9"}]]}, + +{"description":"<a a=a<>", +"input":"<a a=a<>", +"output":[["StartTag", "a", {"a":"a<"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a=>", +"input":"<a a=a=>", +"output":[["StartTag", "a", {"a":"a="}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=a>", +"input":"<a a=a>", +"output":[["StartTag", "a", {"a":"a"}]]}, + +{"description":"<a a=a?>", +"input":"<a a=a?>", +"output":[["StartTag", "a", {"a":"a?"}]]}, + +{"description":"<a a=a@>", +"input":"<a a=a@>", +"output":[["StartTag", "a", {"a":"a@"}]]}, + +{"description":"<a a=aA>", +"input":"<a a=aA>", +"output":[["StartTag", "a", {"a":"aA"}]]}, + +{"description":"<a a=aB>", +"input":"<a a=aB>", +"output":[["StartTag", "a", {"a":"aB"}]]}, + +{"description":"<a a=aY>", +"input":"<a a=aY>", +"output":[["StartTag", "a", {"a":"aY"}]]}, + +{"description":"<a a=aZ>", +"input":"<a a=aZ>", +"output":[["StartTag", "a", {"a":"aZ"}]]}, + +{"description":"<a a=a`>", +"input":"<a a=a`>", +"output":[["StartTag", "a", {"a":"a`"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"<a a=aa>", +"input":"<a a=aa>", +"output":[["StartTag", "a", {"a":"aa"}]]}, + +{"description":"<a a=ab>", +"input":"<a a=ab>", +"output":[["StartTag", "a", {"a":"ab"}]]}, + +{"description":"<a a=ay>", +"input":"<a a=ay>", +"output":[["StartTag", "a", {"a":"ay"}]]}, + +{"description":"<a a=az>", +"input":"<a a=az>", +"output":[["StartTag", "a", {"a":"az"}]]}, + +{"description":"<a a=a{>", +"input":"<a a=a{>", +"output":[["StartTag", "a", {"a":"a{"}]]}, + +{"description":"<a a=a\\uDBC0\\uDC00>", +"input":"<a a=a\uDBC0\uDC00>", +"output":[["StartTag", "a", {"a":"a\uDBC0\uDC00"}]]}, + +{"description":"<a a=b>", +"input":"<a a=b>", +"output":[["StartTag", "a", {"a":"b"}]]}, + +{"description":"<a a=y>", +"input":"<a a=y>", +"output":[["StartTag", "a", {"a":"y"}]]}, + +{"description":"<a a=z>", +"input":"<a a=z>", +"output":[["StartTag", "a", {"a":"z"}]]}, + +{"description":"<a a={>", +"input":"<a a={>", +"output":[["StartTag", "a", {"a":"{"}]]}, + +{"description":"<a a=\\uDBC0\\uDC00>", +"input":"<a a=\uDBC0\uDC00>", +"output":[["StartTag", "a", {"a":"\uDBC0\uDC00"}]]}, + +{"description":"<a a>", +"input":"<a a>", +"output":[["StartTag", "a", {"a":""}]]}, + +{"description":"<a a?>", +"input":"<a a?>", +"output":[["StartTag", "a", {"a?":""}]]}, + +{"description":"<a a@>", +"input":"<a a@>", +"output":[["StartTag", "a", {"a@":""}]]}, + +{"description":"<a aA>", +"input":"<a aA>", +"output":[["StartTag", "a", {"aa":""}]]}, + +{"description":"<a aB>", +"input":"<a aB>", +"output":[["StartTag", "a", {"ab":""}]]}, + +{"description":"<a aY>", +"input":"<a aY>", +"output":[["StartTag", "a", {"ay":""}]]}, + +{"description":"<a aZ>", +"input":"<a aZ>", +"output":[["StartTag", "a", {"az":""}]]}, + +{"description":"<a a[>", +"input":"<a a[>", +"output":[["StartTag", "a", {"a[":""}]]}, + +{"description":"<a a`>", +"input":"<a a`>", +"output":[["StartTag", "a", {"a`":""}]]}, + +{"description":"<a aa>", +"input":"<a aa>", +"output":[["StartTag", "a", {"aa":""}]]}, + +{"description":"<a ab>", +"input":"<a ab>", +"output":[["StartTag", "a", {"ab":""}]]}, + +{"description":"<a ay>", +"input":"<a ay>", +"output":[["StartTag", "a", {"ay":""}]]}, + +{"description":"<a az>", +"input":"<a az>", +"output":[["StartTag", "a", {"az":""}]]}, + +{"description":"<a a{>", +"input":"<a a{>", +"output":[["StartTag", "a", {"a{":""}]]}, + +{"description":"<a a\\uDBC0\\uDC00>", +"input":"<a a\uDBC0\uDC00>", +"output":[["StartTag", "a", {"a\uDBC0\uDC00":""}]]}, + +{"description":"<a b>", +"input":"<a b>", +"output":[["StartTag", "a", {"b":""}]]}, + +{"description":"<a y>", +"input":"<a y>", +"output":[["StartTag", "a", {"y":""}]]}, + +{"description":"<a z>", +"input":"<a z>", +"output":[["StartTag", "a", {"z":""}]]}, + +{"description":"<a {>", +"input":"<a {>", +"output":[["StartTag", "a", {"{":""}]]}, + +{"description":"<a \\uDBC0\\uDC00>", +"input":"<a \uDBC0\uDC00>", +"output":[["StartTag", "a", {"\uDBC0\uDC00":""}]]}, + +{"description":"<a!>", +"input":"<a!>", +"output":[["StartTag", "a!", {}]]}, + +{"description":"<a\">", +"input":"<a\">", +"output":[["StartTag", "a\"", {}]]}, + +{"description":"<a&>", +"input":"<a&>", +"output":[["StartTag", "a&", {}]]}, + +{"description":"<a'>", +"input":"<a'>", +"output":[["StartTag", "a'", {}]]}, + +{"description":"<a->", +"input":"<a->", +"output":[["StartTag", "a-", {}]]}, + +{"description":"<a.>", +"input":"<a.>", +"output":[["StartTag", "a.", {}]]}, + +{"description":"<a/>", +"input":"<a/>", +"output":[["StartTag", "a", {}, true]]}, + +{"description":"<a/\\u0000>", +"input":"<a/\u0000>", +"output":[["StartTag", "a", {"\uFFFD":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }, + { "code": "unexpected-null-character", "line": 1, "col": 4 } +]}, + +{"description":"<a/\\u0009>", +"input":"<a/\u0009>", +"output":[["StartTag", "a", {}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/\\u000A>", +"input":"<a/\u000A>", +"output":[["StartTag", "a", {}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/\\u000B>", +"input":"<a/\u000B>", +"output":[["StartTag", "a", {"\u000B":""}]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 4 }, + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/\\u000C>", +"input":"<a/\u000C>", +"output":[["StartTag", "a", {}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/ >", +"input":"<a/ >", +"output":[["StartTag", "a", {}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/!>", +"input":"<a/!>", +"output":[["StartTag", "a", {"!":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/\">", +"input":"<a/\">", +"output":[["StartTag", "a", {"\"":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }, + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a/&>", +"input":"<a/&>", +"output":[["StartTag", "a", {"&":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/'>", +"input":"<a/'>", +"output":[["StartTag", "a", {"'":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }, + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a/->", +"input":"<a/->", +"output":[["StartTag", "a", {"-":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a//>", +"input":"<a//>", +"output":[["StartTag", "a", {}, true]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/0>", +"input":"<a/0>", +"output":[["StartTag", "a", {"0":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/1>", +"input":"<a/1>", +"output":[["StartTag", "a", {"1":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/9>", +"input":"<a/9>", +"output":[["StartTag", "a", {"9":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/<>", +"input":"<a/<>", +"output":[["StartTag", "a", {"<":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }, + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a/=>", +"input":"<a/=>", +"output":[["StartTag", "a", {"=":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }, + { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"<a/>", +"input":"<a/>", +"output":[["StartTag", "a", {}, true]]}, + +{"description":"<a/?>", +"input":"<a/?>", +"output":[["StartTag", "a", {"?":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/@>", +"input":"<a/@>", +"output":[["StartTag", "a", {"@":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/A>", +"input":"<a/A>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/B>", +"input":"<a/B>", +"output":[["StartTag", "a", {"b":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/Y>", +"input":"<a/Y>", +"output":[["StartTag", "a", {"y":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/Z>", +"input":"<a/Z>", +"output":[["StartTag", "a", {"z":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/`>", +"input":"<a/`>", +"output":[["StartTag", "a", {"`":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/a>", +"input":"<a/a>", +"output":[["StartTag", "a", {"a":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/b>", +"input":"<a/b>", +"output":[["StartTag", "a", {"b":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/y>", +"input":"<a/y>", +"output":[["StartTag", "a", {"y":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/z>", +"input":"<a/z>", +"output":[["StartTag", "a", {"z":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/{>", +"input":"<a/{>", +"output":[["StartTag", "a", {"{":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a/\\uDBC0\\uDC00>", +"input":"<a/\uDBC0\uDC00>", +"output":[["StartTag", "a", {"\uDBC0\uDC00":""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"<a0>", +"input":"<a0>", +"output":[["StartTag", "a0", {}]]}, + +{"description":"<a1>", +"input":"<a1>", +"output":[["StartTag", "a1", {}]]}, + +{"description":"<a9>", +"input":"<a9>", +"output":[["StartTag", "a9", {}]]}, + +{"description":"<a<>", +"input":"<a<>", +"output":[["StartTag", "a<", {}]]}, + +{"description":"<a=>", +"input":"<a=>", +"output":[["StartTag", "a=", {}]]}, + +{"description":"<a>", +"input":"<a>", +"output":[["StartTag", "a", {}]]}, + +{"description":"<a?>", +"input":"<a?>", +"output":[["StartTag", "a?", {}]]}, + +{"description":"<a@>", +"input":"<a@>", +"output":[["StartTag", "a@", {}]]}, + +{"description":"<aA>", +"input":"<aA>", +"output":[["StartTag", "aa", {}]]}, + +{"description":"<aB>", +"input":"<aB>", +"output":[["StartTag", "ab", {}]]}, + +{"description":"<aY>", +"input":"<aY>", +"output":[["StartTag", "ay", {}]]}, + +{"description":"<aZ>", +"input":"<aZ>", +"output":[["StartTag", "az", {}]]}, + +{"description":"<a[>", +"input":"<a[>", +"output":[["StartTag", "a[", {}]]}, + +{"description":"<a`>", +"input":"<a`>", +"output":[["StartTag", "a`", {}]]}, + +{"description":"<aa>", +"input":"<aa>", +"output":[["StartTag", "aa", {}]]}, + +{"description":"<ab>", +"input":"<ab>", +"output":[["StartTag", "ab", {}]]}, + +{"description":"<ay>", +"input":"<ay>", +"output":[["StartTag", "ay", {}]]}, + +{"description":"<az>", +"input":"<az>", +"output":[["StartTag", "az", {}]]}, + +{"description":"<a{>", +"input":"<a{>", +"output":[["StartTag", "a{", {}]]}, + +{"description":"<a\\uDBC0\\uDC00>", +"input":"<a\uDBC0\uDC00>", +"output":[["StartTag", "a\uDBC0\uDC00", {}]]}, + +{"description":"<b>", +"input":"<b>", +"output":[["StartTag", "b", {}]]}, + +{"description":"<y>", +"input":"<y>", +"output":[["StartTag", "y", {}]]}, + +{"description":"<z>", +"input":"<z>", +"output":[["StartTag", "z", {}]]}, + +{"description":"<{", +"input":"<{", +"output":[["Character", "<{"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"<\\uDBC0\\uDC00", +"input":"<\uDBC0\uDC00", +"output":[["Character", "<\uDBC0\uDC00"]], +"errors":[ + { "code": "invalid-first-character-of-tag-name", "line": 1, "col": 2 } +]}, + +{"description":"=", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"=", +"output":[["Character", "="]]}, + +{"description":"=", +"initialStates":["CDATA section state"], +"input":"=", +"output":[["Character", "="]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":">", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":">", +"output":[["Character", ">"]]}, + +{"description":">", +"initialStates":["CDATA section state"], +"input":">", +"output":[["Character", ">"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"?", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"?", +"output":[["Character", "?"]]}, + +{"description":"?", +"initialStates":["CDATA section state"], +"input":"?", +"output":[["Character", "?"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"@", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"@", +"output":[["Character", "@"]]}, + +{"description":"@", +"initialStates":["CDATA section state"], +"input":"@", +"output":[["Character", "@"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"A", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"A", +"output":[["Character", "A"]]}, + +{"description":"A", +"initialStates":["CDATA section state"], +"input":"A", +"output":[["Character", "A"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"B", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"B", +"output":[["Character", "B"]]}, + +{"description":"B", +"initialStates":["CDATA section state"], +"input":"B", +"output":[["Character", "B"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"Y", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"Y", +"output":[["Character", "Y"]]}, + +{"description":"Y", +"initialStates":["CDATA section state"], +"input":"Y", +"output":[["Character", "Y"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"Z", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"Z", +"output":[["Character", "Z"]]}, + +{"description":"Z", +"initialStates":["CDATA section state"], +"input":"Z", +"output":[["Character", "Z"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"`", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"`", +"output":[["Character", "`"]]}, + +{"description":"`", +"initialStates":["CDATA section state"], +"input":"`", +"output":[["Character", "`"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"a", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"a", +"output":[["Character", "a"]]}, + +{"description":"a", +"initialStates":["CDATA section state"], +"input":"a", +"output":[["Character", "a"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"b", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"b", +"output":[["Character", "b"]]}, + +{"description":"b", +"initialStates":["CDATA section state"], +"input":"b", +"output":[["Character", "b"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"y", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"y", +"output":[["Character", "y"]]}, + +{"description":"y", +"initialStates":["CDATA section state"], +"input":"y", +"output":[["Character", "y"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"z", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"z", +"output":[["Character", "z"]]}, + +{"description":"z", +"initialStates":["CDATA section state"], +"input":"z", +"output":[["Character", "z"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"{", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"{", +"output":[["Character", "{"]]}, + +{"description":"{", +"initialStates":["CDATA section state"], +"input":"{", +"output":[["Character", "{"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]}, + +{"description":"\\uDBC0\\uDC00", +"initialStates":["Data state", "PLAINTEXT state", "RCDATA state", "RAWTEXT state", "Script data state"], +"input":"\uDBC0\uDC00", +"output":[["Character", "\uDBC0\uDC00"]]}, + +{"description":"\\uDBC0\\uDC00", +"initialStates":["CDATA section state"], +"input":"\uDBC0\uDC00", +"output":[["Character", "\uDBC0\uDC00"]], +"errors":[ + { "code": "eof-in-cdata", "line": 1, "col": 2 } +]} + +]} diff --git a/tests/html5lib-tests/tokenizer/test4.test b/tests/html5lib-tests/tokenizer/test4.test new file mode 100644 index 0000000..8963c74 --- /dev/null +++ b/tests/html5lib-tests/tokenizer/test4.test @@ -0,0 +1,532 @@ +{"tests": [ + +{"description":"< in attribute name", +"input":"<z/0 <>", +"output":[["StartTag", "z", {"0": "", "<": ""}]], +"errors":[ + { "code": "unexpected-solidus-in-tag", "line": 1, "col": 4 }, + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 7 } +]}, + +{"description":"< in unquoted attribute value", +"input":"<z x=<>", +"output":[["StartTag", "z", {"x": "<"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"= in unquoted attribute value", +"input":"<z z=z=z>", +"output":[["StartTag", "z", {"z": "z=z"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"= attribute", +"input":"<z =>", +"output":[["StartTag", "z", {"=": ""}]], +"errors":[ + { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 } +]}, + +{"description":"== attribute", +"input":"<z ==>", +"output":[["StartTag", "z", {"=": ""}]], +"errors":[ + { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 }, + { "code": "missing-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"=== attribute", +"input":"<z ===>", +"output":[["StartTag", "z", {"=": "="}]], +"errors":[ + { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 }, + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 } +]}, + +{"description":"==== attribute", +"input":"<z ====>", +"output":[["StartTag", "z", {"=": "=="}]], +"errors":[ + { "code": "unexpected-equals-sign-before-attribute-name", "line": 1, "col": 4 }, + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 6 }, + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 7 } +]}, + +{"description":"\" after ampersand in double-quoted attribute value", +"input":"<z z=\"&\">", +"output":[["StartTag", "z", {"z": "&"}]]}, + +{"description":"' after ampersand in double-quoted attribute value", +"input":"<z z=\"&'\">", +"output":[["StartTag", "z", {"z": "&'"}]]}, + +{"description":"' after ampersand in single-quoted attribute value", +"input":"<z z='&'>", +"output":[["StartTag", "z", {"z": "&"}]]}, + +{"description":"\" after ampersand in single-quoted attribute value", +"input":"<z z='&\"'>", +"output":[["StartTag", "z", {"z": "&\""}]]}, + +{"description":"Text after bogus character reference", +"input":"<z z='&xlink_xmlns;'>bar<z>", +"output":[["StartTag","z",{"z":"&xlink_xmlns;"}],["Character","bar"],["StartTag","z",{}]]}, + +{"description":"Text after hex character reference", +"input":"<z z='  foo'>bar<z>", +"output":[["StartTag","z",{"z":" foo"}],["Character","bar"],["StartTag","z",{}]]}, + +{"description":"Attribute name starting with \"", +"input":"<foo \"='bar'>", +"output":[["StartTag", "foo", {"\"": "bar"}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 } +]}, + +{"description":"Attribute name starting with '", +"input":"<foo '='bar'>", +"output":[["StartTag", "foo", {"'": "bar"}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 6 } +]}, + +{"description":"Attribute name containing \"", +"input":"<foo a\"b='bar'>", +"output":[["StartTag", "foo", {"a\"b": "bar"}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 7 } +]}, + +{"description":"Attribute name containing '", +"input":"<foo a'b='bar'>", +"output":[["StartTag", "foo", {"a'b": "bar"}]], +"errors":[ + { "code": "unexpected-character-in-attribute-name", "line": 1, "col": 7 } +]}, + +{"description":"Unquoted attribute value containing '", +"input":"<foo a=b'c>", +"output":[["StartTag", "foo", {"a": "b'c"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 9 } +]}, + + +{"description":"Unquoted attribute value containing \"", +"input":"<foo a=b\"c>", +"output":[["StartTag", "foo", {"a": "b\"c"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 9 } +]}, + +{"description":"Double-quoted attribute value not followed by whitespace", +"input":"<foo a=\"b\"c>", +"output":[["StartTag", "foo", {"a": "b", "c": ""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 11 } +]}, + +{"description":"Single-quoted attribute value not followed by whitespace", +"input":"<foo a='b'c>", +"output":[["StartTag", "foo", {"a": "b", "c": ""}]], +"errors":[ + { "code": "missing-whitespace-between-attributes", "line": 1, "col": 11 } +]}, + +{"description":"Quoted attribute followed by permitted /", +"input":"<br a='b'/>", +"output":[["StartTag","br",{"a":"b"},true]]}, + +{"description":"Quoted attribute followed by non-permitted /", +"input":"<bar a='b'/>", +"output":[["StartTag","bar",{"a":"b"},true]]}, + +{"description":"CR EOF after doctype name", +"input":"<!doctype html \r", +"output":[["DOCTYPE", "html", null, null, false]], +"errors":[ + { "code": "eof-in-doctype", "line": 2, "col": 1 } +]}, + +{"description":"CR EOF in tag name", +"input":"<z\r", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 2, "col": 1 } +]}, + +{"description":"Slash EOF in tag name", +"input":"<z/", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"Zero hex numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 5 }, + { "code": "null-character-reference", "line": 1, "col": 5 } +]}, + +{"description":"Zero decimal numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "missing-semicolon-after-character-reference", "line": 1, "col": 4 }, + { "code": "null-character-reference", "line": 1, "col": 4 } +]}, + +{"description":"Zero-prefixed hex numeric entity", +"input":"A", +"output":[["Character", "A"]]}, + +{"description":"Zero-prefixed decimal numeric entity", +"input":"A", +"output":[["Character", "A"]]}, + +{"description":"Empty hex numeric entities", +"input":"&#x &#X ", +"output":[["Character", "&#x &#X "]], +"errors":[ + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 4 }, + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 8 } +]}, + +{"description":"Invalid digit in hex numeric entity", +"input":"&#xZ", +"output":[["Character", "&#xZ"]], +"errors":[ + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 4 } +]}, + +{"description":"Empty decimal numeric entities", +"input":"&# &#; ", +"output":[["Character", "&# &#; "]], +"errors":[ + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 3 }, + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 6 } +]}, + +{"description":"Invalid digit in decimal numeric entity", +"input":"&#A", +"output":[["Character", "&#A"]], +"errors":[ + { "code": "absence-of-digits-in-numeric-character-reference", "line": 1, "col": 3 } +]}, + +{"description":"Non-BMP numeric entity", +"input":"𐀀", +"output":[["Character", "\uD800\uDC00"]]}, + +{"description":"Maximum non-BMP numeric entity", +"input":"", +"output":[["Character", "\uDBFF\uDFFF"]], +"errors":[ + { "code": "noncharacter-character-reference", "line": 1, "col": 11 } +]}, + + +{"description":"Above maximum numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 11 } +]}, + +{"description":"32-bit hex numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 13 } +]}, + +{"description":"33-bit hex numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 14 } +]}, + +{"description":"33-bit decimal numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 14 } +]}, + +{"description":"65-bit hex numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 22 } +]}, + +{"description":"65-bit decimal numeric entity", +"input":"�", +"output":[["Character", "\uFFFD"]], +"errors":[ + { "code": "character-reference-outside-unicode-range", "line": 1, "col": 24 } +]}, + +{"description":"Surrogate code point edge cases", +"input":"퟿����", +"output":[["Character", "\uD7FF\uFFFD\uFFFD\uFFFD\uFFFD\uE000"]], +"errors":[ + { "code": "surrogate-character-reference", "line": 1, "col": 17 }, + { "code": "surrogate-character-reference", "line": 1, "col": 25 }, + { "code": "surrogate-character-reference", "line": 1, "col": 33 }, + { "code": "surrogate-character-reference", "line": 1, "col": 41 } +]}, + +{"description":"Uppercase start tag name", +"input":"<X>", +"output":[["StartTag", "x", {}]]}, + +{"description":"Uppercase end tag name", +"input":"</X>", +"output":[["EndTag", "x"]]}, + +{"description":"Uppercase attribute name", +"input":"<x X>", +"output":[["StartTag", "x", { "x":"" }]]}, + +{"description":"Tag/attribute name case edge values", +"input":"<x@AZ[`az{ @AZ[`az{>", +"output":[["StartTag", "x@az[`az{", { "@az[`az{":"" }]]}, + +{"description":"Duplicate different-case attributes", +"input":"<x x=1 x=2 X=3>", +"output":[["StartTag", "x", { "x":"1" }]], +"errors":[ + { "code": "duplicate-attribute", "line": 1, "col": 9 }, + { "code": "duplicate-attribute", "line": 1, "col": 13 } +]}, + +{"description":"Uppercase close tag attributes", +"input":"</x X>", +"output":[["EndTag", "x"]], +"errors":[ + { "code": "end-tag-with-attributes", "line": 1, "col": 6 } +]}, + +{"description":"Duplicate close tag attributes", +"input":"</x x x>", +"output":[["EndTag", "x"]], +"errors":[ + { "code": "duplicate-attribute", "line": 1, "col": 8 }, + { "code": "end-tag-with-attributes", "line": 1, "col": 8 } +]}, + +{"description":"Permitted slash", +"input":"<br/>", +"output":[["StartTag","br",{},true]]}, + +{"description":"Non-permitted slash", +"input":"<xr/>", +"output":[["StartTag","xr",{},true]]}, + +{"description":"Permitted slash but in close tag", +"input":"</br/>", +"output":[["EndTag", "br"]], +"errors":[ + { "code": "end-tag-with-trailing-solidus", "line": 1, "col": 6 } +]}, + +{"description":"Doctype public case-sensitivity (1)", +"input":"<!DoCtYpE HtMl PuBlIc \"AbC\" \"XyZ\">", +"output":[["DOCTYPE", "html", "AbC", "XyZ", true]]}, + +{"description":"Doctype public case-sensitivity (2)", +"input":"<!dOcTyPe hTmL pUbLiC \"aBc\" \"xYz\">", +"output":[["DOCTYPE", "html", "aBc", "xYz", true]]}, + +{"description":"Doctype system case-sensitivity (1)", +"input":"<!DoCtYpE HtMl SyStEm \"XyZ\">", +"output":[["DOCTYPE", "html", null, "XyZ", true]]}, + +{"description":"Doctype system case-sensitivity (2)", +"input":"<!dOcTyPe hTmL sYsTeM \"xYz\">", +"output":[["DOCTYPE", "html", null, "xYz", true]]}, + +{"description":"U+0000 in lookahead region after non-matching character", +"input":"<!doc>\u0000", +"output":[["Comment", "doc"], ["Character", "\u0000"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }, + { "code": "unexpected-null-character", "line": 1, "col": 7 } +]}, + +{"description":"U+0000 in lookahead region", +"input":"<!doc\u0000", +"output":[["Comment", "doc\uFFFD"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }, + { "code": "unexpected-null-character", "line": 1, "col": 6 } +]}, + +{"description":"U+0080 in lookahead region", +"input":"<!doc\u0080", +"output":[["Comment", "doc\u0080"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }, + { "code": "control-character-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"U+FDD1 in lookahead region", +"input":"<!doc\uFDD1", +"output":[["Comment", "doc\uFDD1"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }, + { "code": "noncharacter-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"U+1FFFF in lookahead region", +"input":"<!doc\uD83F\uDFFF", +"output":[["Comment", "doc\uD83F\uDFFF"]], +"errors":[ + { "code": "incorrectly-opened-comment", "line": 1, "col": 3 }, + { "code": "noncharacter-in-input-stream", "line": 1, "col": 6 } +]}, + +{"description":"CR followed by non-LF", +"input":"\r?", +"output":[["Character", "\n?"]]}, + +{"description":"CR at EOF", +"input":"\r", +"output":[["Character", "\n"]]}, + +{"description":"LF at EOF", +"input":"\n", +"output":[["Character", "\n"]]}, + +{"description":"CR LF", +"input":"\r\n", +"output":[["Character", "\n"]]}, + +{"description":"CR CR", +"input":"\r\r", +"output":[["Character", "\n\n"]]}, + +{"description":"LF LF", +"input":"\n\n", +"output":[["Character", "\n\n"]]}, + +{"description":"LF CR", +"input":"\n\r", +"output":[["Character", "\n\n"]]}, + +{"description":"text CR CR CR text", +"input":"text\r\r\rtext", +"output":[["Character", "text\n\n\ntext"]]}, + +{"description":"Doctype publik", +"input":"<!DOCTYPE html PUBLIK \"AbC\" \"XyZ\">", +"output":[["DOCTYPE", "html", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 16 } +]}, + +{"description":"Doctype publi", +"input":"<!DOCTYPE html PUBLI", +"output":[["DOCTYPE", "html", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 16 } +]}, + +{"description":"Doctype sistem", +"input":"<!DOCTYPE html SISTEM \"AbC\">", +"output":[["DOCTYPE", "html", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 16 } +]}, + +{"description":"Doctype sys", +"input":"<!DOCTYPE html SYS", +"output":[["DOCTYPE", "html", null, null, false]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 16 } +]}, + +{"description":"Doctype html x>text", +"input":"<!DOCTYPE html x>text", +"output":[["DOCTYPE", "html", null, null, false], ["Character", "text"]], +"errors":[ + { "code": "invalid-character-sequence-after-doctype-name", "line": 1, "col": 16 } +]}, + +{"description":"Grave accent in unquoted attribute", +"input":"<a a=aa`>", +"output":[["StartTag", "a", {"a":"aa`"}]], +"errors":[ + { "code": "unexpected-character-in-unquoted-attribute-value", "line": 1, "col": 8 } +]}, + +{"description":"EOF in tag name state ", +"input":"<a", +"output":[], +"errors": [ + { "code": "eof-in-tag", "line": 1, "col": 3 } +]}, + +{"description":"EOF in before attribute name state", +"input":"<a ", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 4 } +]}, + +{"description":"EOF in attribute name state", +"input":"<a a", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 5 } +]}, + +{"description":"EOF in after attribute name state", +"input":"<a a ", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 6 } +]}, + +{"description":"EOF in before attribute value state", +"input":"<a a =", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 7 } +]}, + +{"description":"EOF in attribute value (double quoted) state", +"input":"<a a =\"a", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 9 } +]}, + +{"description":"EOF in attribute value (single quoted) state", +"input":"<a a ='a", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 9 } +]}, + +{"description":"EOF in attribute value (unquoted) state", +"input":"<a a =a", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 8 } +]}, + +{"description":"EOF in after attribute value state", +"input":"<a a ='a'", +"output":[], +"errors":[ + { "code": "eof-in-tag", "line": 1, "col": 10 } +]} + +]} diff --git a/tests/html5lib-tests/tokenizer/unicodeChars.test b/tests/html5lib-tests/tokenizer/unicodeChars.test new file mode 100644 index 0000000..49a8098 --- /dev/null +++ b/tests/html5lib-tests/tokenizer/unicodeChars.test @@ -0,0 +1,1577 @@ +{"tests": [ + +{"description": "Invalid Unicode character U+0001", +"input": "\u0001", +"output": [["Character", "\u0001"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0002", +"input": "\u0002", +"output": [["Character", "\u0002"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0003", +"input": "\u0003", +"output": [["Character", "\u0003"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0004", +"input": "\u0004", +"output": [["Character", "\u0004"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0005", +"input": "\u0005", +"output": [["Character", "\u0005"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0006", +"input": "\u0006", +"output": [["Character", "\u0006"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0007", +"input": "\u0007", +"output": [["Character", "\u0007"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0008", +"input": "\u0008", +"output": [["Character", "\u0008"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+000B", +"input": "\u000B", +"output": [["Character", "\u000B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+000E", +"input": "\u000E", +"output": [["Character", "\u000E"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+000F", +"input": "\u000F", +"output": [["Character", "\u000F"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0010", +"input": "\u0010", +"output": [["Character", "\u0010"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0011", +"input": "\u0011", +"output": [["Character", "\u0011"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0012", +"input": "\u0012", +"output": [["Character", "\u0012"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0013", +"input": "\u0013", +"output": [["Character", "\u0013"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0014", +"input": "\u0014", +"output": [["Character", "\u0014"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0015", +"input": "\u0015", +"output": [["Character", "\u0015"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0016", +"input": "\u0016", +"output": [["Character", "\u0016"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0017", +"input": "\u0017", +"output": [["Character", "\u0017"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0018", +"input": "\u0018", +"output": [["Character", "\u0018"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+0019", +"input": "\u0019", +"output": [["Character", "\u0019"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+001A", +"input": "\u001A", +"output": [["Character", "\u001A"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+001B", +"input": "\u001B", +"output": [["Character", "\u001B"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+001C", +"input": "\u001C", +"output": [["Character", "\u001C"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+001D", +"input": "\u001D", +"output": [["Character", "\u001D"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+001E", +"input": "\u001E", +"output": [["Character", "\u001E"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+001F", +"input": "\u001F", +"output": [["Character", "\u001F"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+007F", +"input": "\u007F", +"output": [["Character", "\u007F"]], +"errors":[ + { "code": "control-character-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD0", +"input": "\uFDD0", +"output": [["Character", "\uFDD0"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD1", +"input": "\uFDD1", +"output": [["Character", "\uFDD1"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD2", +"input": "\uFDD2", +"output": [["Character", "\uFDD2"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD3", +"input": "\uFDD3", +"output": [["Character", "\uFDD3"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD4", +"input": "\uFDD4", +"output": [["Character", "\uFDD4"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD5", +"input": "\uFDD5", +"output": [["Character", "\uFDD5"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD6", +"input": "\uFDD6", +"output": [["Character", "\uFDD6"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD7", +"input": "\uFDD7", +"output": [["Character", "\uFDD7"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD8", +"input": "\uFDD8", +"output": [["Character", "\uFDD8"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDD9", +"input": "\uFDD9", +"output": [["Character", "\uFDD9"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDDA", +"input": "\uFDDA", +"output": [["Character", "\uFDDA"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDDB", +"input": "\uFDDB", +"output": [["Character", "\uFDDB"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDDC", +"input": "\uFDDC", +"output": [["Character", "\uFDDC"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDDD", +"input": "\uFDDD", +"output": [["Character", "\uFDDD"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDDE", +"input": "\uFDDE", +"output": [["Character", "\uFDDE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDDF", +"input": "\uFDDF", +"output": [["Character", "\uFDDF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE0", +"input": "\uFDE0", +"output": [["Character", "\uFDE0"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE1", +"input": "\uFDE1", +"output": [["Character", "\uFDE1"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE2", +"input": "\uFDE2", +"output": [["Character", "\uFDE2"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE3", +"input": "\uFDE3", +"output": [["Character", "\uFDE3"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE4", +"input": "\uFDE4", +"output": [["Character", "\uFDE4"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE5", +"input": "\uFDE5", +"output": [["Character", "\uFDE5"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE6", +"input": "\uFDE6", +"output": [["Character", "\uFDE6"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE7", +"input": "\uFDE7", +"output": [["Character", "\uFDE7"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE8", +"input": "\uFDE8", +"output": [["Character", "\uFDE8"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDE9", +"input": "\uFDE9", +"output": [["Character", "\uFDE9"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDEA", +"input": "\uFDEA", +"output": [["Character", "\uFDEA"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDEB", +"input": "\uFDEB", +"output": [["Character", "\uFDEB"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDEC", +"input": "\uFDEC", +"output": [["Character", "\uFDEC"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDED", +"input": "\uFDED", +"output": [["Character", "\uFDED"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDEE", +"input": "\uFDEE", +"output": [["Character", "\uFDEE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FDEF", +"input": "\uFDEF", +"output": [["Character", "\uFDEF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FFFE", +"input": "\uFFFE", +"output": [["Character", "\uFFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FFFF", +"input": "\uFFFF", +"output": [["Character", "\uFFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+1FFFE", +"input": "\uD83F\uDFFE", +"output": [["Character", "\uD83F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+1FFFF", +"input": "\uD83F\uDFFF", +"output": [["Character", "\uD83F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+2FFFE", +"input": "\uD87F\uDFFE", +"output": [["Character", "\uD87F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+2FFFF", +"input": "\uD87F\uDFFF", +"output": [["Character", "\uD87F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+3FFFE", +"input": "\uD8BF\uDFFE", +"output": [["Character", "\uD8BF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+3FFFF", +"input": "\uD8BF\uDFFF", +"output": [["Character", "\uD8BF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+4FFFE", +"input": "\uD8FF\uDFFE", +"output": [["Character", "\uD8FF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+4FFFF", +"input": "\uD8FF\uDFFF", +"output": [["Character", "\uD8FF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+5FFFE", +"input": "\uD93F\uDFFE", +"output": [["Character", "\uD93F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+5FFFF", +"input": "\uD93F\uDFFF", +"output": [["Character", "\uD93F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+6FFFE", +"input": "\uD97F\uDFFE", +"output": [["Character", "\uD97F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+6FFFF", +"input": "\uD97F\uDFFF", +"output": [["Character", "\uD97F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+7FFFE", +"input": "\uD9BF\uDFFE", +"output": [["Character", "\uD9BF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+7FFFF", +"input": "\uD9BF\uDFFF", +"output": [["Character", "\uD9BF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+8FFFE", +"input": "\uD9FF\uDFFE", +"output": [["Character", "\uD9FF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+8FFFF", +"input": "\uD9FF\uDFFF", +"output": [["Character", "\uD9FF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+9FFFE", +"input": "\uDA3F\uDFFE", +"output": [["Character", "\uDA3F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+9FFFF", +"input": "\uDA3F\uDFFF", +"output": [["Character", "\uDA3F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+AFFFE", +"input": "\uDA7F\uDFFE", +"output": [["Character", "\uDA7F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+AFFFF", +"input": "\uDA7F\uDFFF", +"output": [["Character", "\uDA7F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+BFFFE", +"input": "\uDABF\uDFFE", +"output": [["Character", "\uDABF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+BFFFF", +"input": "\uDABF\uDFFF", +"output": [["Character", "\uDABF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+CFFFE", +"input": "\uDAFF\uDFFE", +"output": [["Character", "\uDAFF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+CFFFF", +"input": "\uDAFF\uDFFF", +"output": [["Character", "\uDAFF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+DFFFE", +"input": "\uDB3F\uDFFE", +"output": [["Character", "\uDB3F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+DFFFF", +"input": "\uDB3F\uDFFF", +"output": [["Character", "\uDB3F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+EFFFE", +"input": "\uDB7F\uDFFE", +"output": [["Character", "\uDB7F\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+EFFFF", +"input": "\uDB7F\uDFFF", +"output": [["Character", "\uDB7F\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FFFFE", +"input": "\uDBBF\uDFFE", +"output": [["Character", "\uDBBF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+FFFFF", +"input": "\uDBBF\uDFFF", +"output": [["Character", "\uDBBF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+10FFFE", +"input": "\uDBFF\uDFFE", +"output": [["Character", "\uDBFF\uDFFE"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+10FFFF", +"input": "\uDBFF\uDFFF", +"output": [["Character", "\uDBFF\uDFFF"]], +"errors":[ + { "code": "noncharacter-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Valid Unicode character U+0009", +"input": "\u0009", +"output": [["Character", "\u0009"]]}, + +{"description": "Valid Unicode character U+000A", +"input": "\u000A", +"output": [["Character", "\u000A"]]}, + +{"description": "Valid Unicode character U+0020", +"input": "\u0020", +"output": [["Character", "\u0020"]]}, + +{"description": "Valid Unicode character U+0021", +"input": "\u0021", +"output": [["Character", "\u0021"]]}, + +{"description": "Valid Unicode character U+0022", +"input": "\u0022", +"output": [["Character", "\u0022"]]}, + +{"description": "Valid Unicode character U+0023", +"input": "\u0023", +"output": [["Character", "\u0023"]]}, + +{"description": "Valid Unicode character U+0024", +"input": "\u0024", +"output": [["Character", "\u0024"]]}, + +{"description": "Valid Unicode character U+0025", +"input": "\u0025", +"output": [["Character", "\u0025"]]}, + +{"description": "Valid Unicode character U+0026", +"input": "\u0026", +"output": [["Character", "\u0026"]]}, + +{"description": "Valid Unicode character U+0027", +"input": "\u0027", +"output": [["Character", "\u0027"]]}, + +{"description": "Valid Unicode character U+0028", +"input": "\u0028", +"output": [["Character", "\u0028"]]}, + +{"description": "Valid Unicode character U+0029", +"input": "\u0029", +"output": [["Character", "\u0029"]]}, + +{"description": "Valid Unicode character U+002A", +"input": "\u002A", +"output": [["Character", "\u002A"]]}, + +{"description": "Valid Unicode character U+002B", +"input": "\u002B", +"output": [["Character", "\u002B"]]}, + +{"description": "Valid Unicode character U+002C", +"input": "\u002C", +"output": [["Character", "\u002C"]]}, + +{"description": "Valid Unicode character U+002D", +"input": "\u002D", +"output": [["Character", "\u002D"]]}, + +{"description": "Valid Unicode character U+002E", +"input": "\u002E", +"output": [["Character", "\u002E"]]}, + +{"description": "Valid Unicode character U+002F", +"input": "\u002F", +"output": [["Character", "\u002F"]]}, + +{"description": "Valid Unicode character U+0030", +"input": "\u0030", +"output": [["Character", "\u0030"]]}, + +{"description": "Valid Unicode character U+0031", +"input": "\u0031", +"output": [["Character", "\u0031"]]}, + +{"description": "Valid Unicode character U+0032", +"input": "\u0032", +"output": [["Character", "\u0032"]]}, + +{"description": "Valid Unicode character U+0033", +"input": "\u0033", +"output": [["Character", "\u0033"]]}, + +{"description": "Valid Unicode character U+0034", +"input": "\u0034", +"output": [["Character", "\u0034"]]}, + +{"description": "Valid Unicode character U+0035", +"input": "\u0035", +"output": [["Character", "\u0035"]]}, + +{"description": "Valid Unicode character U+0036", +"input": "\u0036", +"output": [["Character", "\u0036"]]}, + +{"description": "Valid Unicode character U+0037", +"input": "\u0037", +"output": [["Character", "\u0037"]]}, + +{"description": "Valid Unicode character U+0038", +"input": "\u0038", +"output": [["Character", "\u0038"]]}, + +{"description": "Valid Unicode character U+0039", +"input": "\u0039", +"output": [["Character", "\u0039"]]}, + +{"description": "Valid Unicode character U+003A", +"input": "\u003A", +"output": [["Character", "\u003A"]]}, + +{"description": "Valid Unicode character U+003B", +"input": "\u003B", +"output": [["Character", "\u003B"]]}, + +{"description": "Valid Unicode character U+003D", +"input": "\u003D", +"output": [["Character", "\u003D"]]}, + +{"description": "Valid Unicode character U+003E", +"input": "\u003E", +"output": [["Character", "\u003E"]]}, + +{"description": "Valid Unicode character U+003F", +"input": "\u003F", +"output": [["Character", "\u003F"]]}, + +{"description": "Valid Unicode character U+0040", +"input": "\u0040", +"output": [["Character", "\u0040"]]}, + +{"description": "Valid Unicode character U+0041", +"input": "\u0041", +"output": [["Character", "\u0041"]]}, + +{"description": "Valid Unicode character U+0042", +"input": "\u0042", +"output": [["Character", "\u0042"]]}, + +{"description": "Valid Unicode character U+0043", +"input": "\u0043", +"output": [["Character", "\u0043"]]}, + +{"description": "Valid Unicode character U+0044", +"input": "\u0044", +"output": [["Character", "\u0044"]]}, + +{"description": "Valid Unicode character U+0045", +"input": "\u0045", +"output": [["Character", "\u0045"]]}, + +{"description": "Valid Unicode character U+0046", +"input": "\u0046", +"output": [["Character", "\u0046"]]}, + +{"description": "Valid Unicode character U+0047", +"input": "\u0047", +"output": [["Character", "\u0047"]]}, + +{"description": "Valid Unicode character U+0048", +"input": "\u0048", +"output": [["Character", "\u0048"]]}, + +{"description": "Valid Unicode character U+0049", +"input": "\u0049", +"output": [["Character", "\u0049"]]}, + +{"description": "Valid Unicode character U+004A", +"input": "\u004A", +"output": [["Character", "\u004A"]]}, + +{"description": "Valid Unicode character U+004B", +"input": "\u004B", +"output": [["Character", "\u004B"]]}, + +{"description": "Valid Unicode character U+004C", +"input": "\u004C", +"output": [["Character", "\u004C"]]}, + +{"description": "Valid Unicode character U+004D", +"input": "\u004D", +"output": [["Character", "\u004D"]]}, + +{"description": "Valid Unicode character U+004E", +"input": "\u004E", +"output": [["Character", "\u004E"]]}, + +{"description": "Valid Unicode character U+004F", +"input": "\u004F", +"output": [["Character", "\u004F"]]}, + +{"description": "Valid Unicode character U+0050", +"input": "\u0050", +"output": [["Character", "\u0050"]]}, + +{"description": "Valid Unicode character U+0051", +"input": "\u0051", +"output": [["Character", "\u0051"]]}, + +{"description": "Valid Unicode character U+0052", +"input": "\u0052", +"output": [["Character", "\u0052"]]}, + +{"description": "Valid Unicode character U+0053", +"input": "\u0053", +"output": [["Character", "\u0053"]]}, + +{"description": "Valid Unicode character U+0054", +"input": "\u0054", +"output": [["Character", "\u0054"]]}, + +{"description": "Valid Unicode character U+0055", +"input": "\u0055", +"output": [["Character", "\u0055"]]}, + +{"description": "Valid Unicode character U+0056", +"input": "\u0056", +"output": [["Character", "\u0056"]]}, + +{"description": "Valid Unicode character U+0057", +"input": "\u0057", +"output": [["Character", "\u0057"]]}, + +{"description": "Valid Unicode character U+0058", +"input": "\u0058", +"output": [["Character", "\u0058"]]}, + +{"description": "Valid Unicode character U+0059", +"input": "\u0059", +"output": [["Character", "\u0059"]]}, + +{"description": "Valid Unicode character U+005A", +"input": "\u005A", +"output": [["Character", "\u005A"]]}, + +{"description": "Valid Unicode character U+005B", +"input": "\u005B", +"output": [["Character", "\u005B"]]}, + +{"description": "Valid Unicode character U+005C", +"input": "\u005C", +"output": [["Character", "\u005C"]]}, + +{"description": "Valid Unicode character U+005D", +"input": "\u005D", +"output": [["Character", "\u005D"]]}, + +{"description": "Valid Unicode character U+005E", +"input": "\u005E", +"output": [["Character", "\u005E"]]}, + +{"description": "Valid Unicode character U+005F", +"input": "\u005F", +"output": [["Character", "\u005F"]]}, + +{"description": "Valid Unicode character U+0060", +"input": "\u0060", +"output": [["Character", "\u0060"]]}, + +{"description": "Valid Unicode character U+0061", +"input": "\u0061", +"output": [["Character", "\u0061"]]}, + +{"description": "Valid Unicode character U+0062", +"input": "\u0062", +"output": [["Character", "\u0062"]]}, + +{"description": "Valid Unicode character U+0063", +"input": "\u0063", +"output": [["Character", "\u0063"]]}, + +{"description": "Valid Unicode character U+0064", +"input": "\u0064", +"output": [["Character", "\u0064"]]}, + +{"description": "Valid Unicode character U+0065", +"input": "\u0065", +"output": [["Character", "\u0065"]]}, + +{"description": "Valid Unicode character U+0066", +"input": "\u0066", +"output": [["Character", "\u0066"]]}, + +{"description": "Valid Unicode character U+0067", +"input": "\u0067", +"output": [["Character", "\u0067"]]}, + +{"description": "Valid Unicode character U+0068", +"input": "\u0068", +"output": [["Character", "\u0068"]]}, + +{"description": "Valid Unicode character U+0069", +"input": "\u0069", +"output": [["Character", "\u0069"]]}, + +{"description": "Valid Unicode character U+006A", +"input": "\u006A", +"output": [["Character", "\u006A"]]}, + +{"description": "Valid Unicode character U+006B", +"input": "\u006B", +"output": [["Character", "\u006B"]]}, + +{"description": "Valid Unicode character U+006C", +"input": "\u006C", +"output": [["Character", "\u006C"]]}, + +{"description": "Valid Unicode character U+006D", +"input": "\u006D", +"output": [["Character", "\u006D"]]}, + +{"description": "Valid Unicode character U+006E", +"input": "\u006E", +"output": [["Character", "\u006E"]]}, + +{"description": "Valid Unicode character U+006F", +"input": "\u006F", +"output": [["Character", "\u006F"]]}, + +{"description": "Valid Unicode character U+0070", +"input": "\u0070", +"output": [["Character", "\u0070"]]}, + +{"description": "Valid Unicode character U+0071", +"input": "\u0071", +"output": [["Character", "\u0071"]]}, + +{"description": "Valid Unicode character U+0072", +"input": "\u0072", +"output": [["Character", "\u0072"]]}, + +{"description": "Valid Unicode character U+0073", +"input": "\u0073", +"output": [["Character", "\u0073"]]}, + +{"description": "Valid Unicode character U+0074", +"input": "\u0074", +"output": [["Character", "\u0074"]]}, + +{"description": "Valid Unicode character U+0075", +"input": "\u0075", +"output": [["Character", "\u0075"]]}, + +{"description": "Valid Unicode character U+0076", +"input": "\u0076", +"output": [["Character", "\u0076"]]}, + +{"description": "Valid Unicode character U+0077", +"input": "\u0077", +"output": [["Character", "\u0077"]]}, + +{"description": "Valid Unicode character U+0078", +"input": "\u0078", +"output": [["Character", "\u0078"]]}, + +{"description": "Valid Unicode character U+0079", +"input": "\u0079", +"output": [["Character", "\u0079"]]}, + +{"description": "Valid Unicode character U+007A", +"input": "\u007A", +"output": [["Character", "\u007A"]]}, + +{"description": "Valid Unicode character U+007B", +"input": "\u007B", +"output": [["Character", "\u007B"]]}, + +{"description": "Valid Unicode character U+007C", +"input": "\u007C", +"output": [["Character", "\u007C"]]}, + +{"description": "Valid Unicode character U+007D", +"input": "\u007D", +"output": [["Character", "\u007D"]]}, + +{"description": "Valid Unicode character U+007E", +"input": "\u007E", +"output": [["Character", "\u007E"]]}, + +{"description": "Valid Unicode character U+00A0", +"input": "\u00A0", +"output": [["Character", "\u00A0"]]}, + +{"description": "Valid Unicode character U+00A1", +"input": "\u00A1", +"output": [["Character", "\u00A1"]]}, + +{"description": "Valid Unicode character U+00A2", +"input": "\u00A2", +"output": [["Character", "\u00A2"]]}, + +{"description": "Valid Unicode character U+00A3", +"input": "\u00A3", +"output": [["Character", "\u00A3"]]}, + +{"description": "Valid Unicode character U+00A4", +"input": "\u00A4", +"output": [["Character", "\u00A4"]]}, + +{"description": "Valid Unicode character U+00A5", +"input": "\u00A5", +"output": [["Character", "\u00A5"]]}, + +{"description": "Valid Unicode character U+00A6", +"input": "\u00A6", +"output": [["Character", "\u00A6"]]}, + +{"description": "Valid Unicode character U+00A7", +"input": "\u00A7", +"output": [["Character", "\u00A7"]]}, + +{"description": "Valid Unicode character U+00A8", +"input": "\u00A8", +"output": [["Character", "\u00A8"]]}, + +{"description": "Valid Unicode character U+00A9", +"input": "\u00A9", +"output": [["Character", "\u00A9"]]}, + +{"description": "Valid Unicode character U+00AA", +"input": "\u00AA", +"output": [["Character", "\u00AA"]]}, + +{"description": "Valid Unicode character U+00AB", +"input": "\u00AB", +"output": [["Character", "\u00AB"]]}, + +{"description": "Valid Unicode character U+00AC", +"input": "\u00AC", +"output": [["Character", "\u00AC"]]}, + +{"description": "Valid Unicode character U+00AD", +"input": "\u00AD", +"output": [["Character", "\u00AD"]]}, + +{"description": "Valid Unicode character U+00AE", +"input": "\u00AE", +"output": [["Character", "\u00AE"]]}, + +{"description": "Valid Unicode character U+00AF", +"input": "\u00AF", +"output": [["Character", "\u00AF"]]}, + +{"description": "Valid Unicode character U+00B0", +"input": "\u00B0", +"output": [["Character", "\u00B0"]]}, + +{"description": "Valid Unicode character U+00B1", +"input": "\u00B1", +"output": [["Character", "\u00B1"]]}, + +{"description": "Valid Unicode character U+00B2", +"input": "\u00B2", +"output": [["Character", "\u00B2"]]}, + +{"description": "Valid Unicode character U+00B3", +"input": "\u00B3", +"output": [["Character", "\u00B3"]]}, + +{"description": "Valid Unicode character U+00B4", +"input": "\u00B4", +"output": [["Character", "\u00B4"]]}, + +{"description": "Valid Unicode character U+00B5", +"input": "\u00B5", +"output": [["Character", "\u00B5"]]}, + +{"description": "Valid Unicode character U+00B6", +"input": "\u00B6", +"output": [["Character", "\u00B6"]]}, + +{"description": "Valid Unicode character U+00B7", +"input": "\u00B7", +"output": [["Character", "\u00B7"]]}, + +{"description": "Valid Unicode character U+00B8", +"input": "\u00B8", +"output": [["Character", "\u00B8"]]}, + +{"description": "Valid Unicode character U+00B9", +"input": "\u00B9", +"output": [["Character", "\u00B9"]]}, + +{"description": "Valid Unicode character U+00BA", +"input": "\u00BA", +"output": [["Character", "\u00BA"]]}, + +{"description": "Valid Unicode character U+00BB", +"input": "\u00BB", +"output": [["Character", "\u00BB"]]}, + +{"description": "Valid Unicode character U+00BC", +"input": "\u00BC", +"output": [["Character", "\u00BC"]]}, + +{"description": "Valid Unicode character U+00BD", +"input": "\u00BD", +"output": [["Character", "\u00BD"]]}, + +{"description": "Valid Unicode character U+00BE", +"input": "\u00BE", +"output": [["Character", "\u00BE"]]}, + +{"description": "Valid Unicode character U+00BF", +"input": "\u00BF", +"output": [["Character", "\u00BF"]]}, + +{"description": "Valid Unicode character U+00C0", +"input": "\u00C0", +"output": [["Character", "\u00C0"]]}, + +{"description": "Valid Unicode character U+00C1", +"input": "\u00C1", +"output": [["Character", "\u00C1"]]}, + +{"description": "Valid Unicode character U+00C2", +"input": "\u00C2", +"output": [["Character", "\u00C2"]]}, + +{"description": "Valid Unicode character U+00C3", +"input": "\u00C3", +"output": [["Character", "\u00C3"]]}, + +{"description": "Valid Unicode character U+00C4", +"input": "\u00C4", +"output": [["Character", "\u00C4"]]}, + +{"description": "Valid Unicode character U+00C5", +"input": "\u00C5", +"output": [["Character", "\u00C5"]]}, + +{"description": "Valid Unicode character U+00C6", +"input": "\u00C6", +"output": [["Character", "\u00C6"]]}, + +{"description": "Valid Unicode character U+00C7", +"input": "\u00C7", +"output": [["Character", "\u00C7"]]}, + +{"description": "Valid Unicode character U+00C8", +"input": "\u00C8", +"output": [["Character", "\u00C8"]]}, + +{"description": "Valid Unicode character U+00C9", +"input": "\u00C9", +"output": [["Character", "\u00C9"]]}, + +{"description": "Valid Unicode character U+00CA", +"input": "\u00CA", +"output": [["Character", "\u00CA"]]}, + +{"description": "Valid Unicode character U+00CB", +"input": "\u00CB", +"output": [["Character", "\u00CB"]]}, + +{"description": "Valid Unicode character U+00CC", +"input": "\u00CC", +"output": [["Character", "\u00CC"]]}, + +{"description": "Valid Unicode character U+00CD", +"input": "\u00CD", +"output": [["Character", "\u00CD"]]}, + +{"description": "Valid Unicode character U+00CE", +"input": "\u00CE", +"output": [["Character", "\u00CE"]]}, + +{"description": "Valid Unicode character U+00CF", +"input": "\u00CF", +"output": [["Character", "\u00CF"]]}, + +{"description": "Valid Unicode character U+00D0", +"input": "\u00D0", +"output": [["Character", "\u00D0"]]}, + +{"description": "Valid Unicode character U+00D1", +"input": "\u00D1", +"output": [["Character", "\u00D1"]]}, + +{"description": "Valid Unicode character U+00D2", +"input": "\u00D2", +"output": [["Character", "\u00D2"]]}, + +{"description": "Valid Unicode character U+00D3", +"input": "\u00D3", +"output": [["Character", "\u00D3"]]}, + +{"description": "Valid Unicode character U+00D4", +"input": "\u00D4", +"output": [["Character", "\u00D4"]]}, + +{"description": "Valid Unicode character U+00D5", +"input": "\u00D5", +"output": [["Character", "\u00D5"]]}, + +{"description": "Valid Unicode character U+00D6", +"input": "\u00D6", +"output": [["Character", "\u00D6"]]}, + +{"description": "Valid Unicode character U+00D7", +"input": "\u00D7", +"output": [["Character", "\u00D7"]]}, + +{"description": "Valid Unicode character U+00D8", +"input": "\u00D8", +"output": [["Character", "\u00D8"]]}, + +{"description": "Valid Unicode character U+00D9", +"input": "\u00D9", +"output": [["Character", "\u00D9"]]}, + +{"description": "Valid Unicode character U+00DA", +"input": "\u00DA", +"output": [["Character", "\u00DA"]]}, + +{"description": "Valid Unicode character U+00DB", +"input": "\u00DB", +"output": [["Character", "\u00DB"]]}, + +{"description": "Valid Unicode character U+00DC", +"input": "\u00DC", +"output": [["Character", "\u00DC"]]}, + +{"description": "Valid Unicode character U+00DD", +"input": "\u00DD", +"output": [["Character", "\u00DD"]]}, + +{"description": "Valid Unicode character U+00DE", +"input": "\u00DE", +"output": [["Character", "\u00DE"]]}, + +{"description": "Valid Unicode character U+00DF", +"input": "\u00DF", +"output": [["Character", "\u00DF"]]}, + +{"description": "Valid Unicode character U+00E0", +"input": "\u00E0", +"output": [["Character", "\u00E0"]]}, + +{"description": "Valid Unicode character U+00E1", +"input": "\u00E1", +"output": [["Character", "\u00E1"]]}, + +{"description": "Valid Unicode character U+00E2", +"input": "\u00E2", +"output": [["Character", "\u00E2"]]}, + +{"description": "Valid Unicode character U+00E3", +"input": "\u00E3", +"output": [["Character", "\u00E3"]]}, + +{"description": "Valid Unicode character U+00E4", +"input": "\u00E4", +"output": [["Character", "\u00E4"]]}, + +{"description": "Valid Unicode character U+00E5", +"input": "\u00E5", +"output": [["Character", "\u00E5"]]}, + +{"description": "Valid Unicode character U+00E6", +"input": "\u00E6", +"output": [["Character", "\u00E6"]]}, + +{"description": "Valid Unicode character U+00E7", +"input": "\u00E7", +"output": [["Character", "\u00E7"]]}, + +{"description": "Valid Unicode character U+00E8", +"input": "\u00E8", +"output": [["Character", "\u00E8"]]}, + +{"description": "Valid Unicode character U+00E9", +"input": "\u00E9", +"output": [["Character", "\u00E9"]]}, + +{"description": "Valid Unicode character U+00EA", +"input": "\u00EA", +"output": [["Character", "\u00EA"]]}, + +{"description": "Valid Unicode character U+00EB", +"input": "\u00EB", +"output": [["Character", "\u00EB"]]}, + +{"description": "Valid Unicode character U+00EC", +"input": "\u00EC", +"output": [["Character", "\u00EC"]]}, + +{"description": "Valid Unicode character U+00ED", +"input": "\u00ED", +"output": [["Character", "\u00ED"]]}, + +{"description": "Valid Unicode character U+00EE", +"input": "\u00EE", +"output": [["Character", "\u00EE"]]}, + +{"description": "Valid Unicode character U+00EF", +"input": "\u00EF", +"output": [["Character", "\u00EF"]]}, + +{"description": "Valid Unicode character U+00F0", +"input": "\u00F0", +"output": [["Character", "\u00F0"]]}, + +{"description": "Valid Unicode character U+00F1", +"input": "\u00F1", +"output": [["Character", "\u00F1"]]}, + +{"description": "Valid Unicode character U+00F2", +"input": "\u00F2", +"output": [["Character", "\u00F2"]]}, + +{"description": "Valid Unicode character U+00F3", +"input": "\u00F3", +"output": [["Character", "\u00F3"]]}, + +{"description": "Valid Unicode character U+00F4", +"input": "\u00F4", +"output": [["Character", "\u00F4"]]}, + +{"description": "Valid Unicode character U+00F5", +"input": "\u00F5", +"output": [["Character", "\u00F5"]]}, + +{"description": "Valid Unicode character U+00F6", +"input": "\u00F6", +"output": [["Character", "\u00F6"]]}, + +{"description": "Valid Unicode character U+00F7", +"input": "\u00F7", +"output": [["Character", "\u00F7"]]}, + +{"description": "Valid Unicode character U+00F8", +"input": "\u00F8", +"output": [["Character", "\u00F8"]]}, + +{"description": "Valid Unicode character U+00F9", +"input": "\u00F9", +"output": [["Character", "\u00F9"]]}, + +{"description": "Valid Unicode character U+00FA", +"input": "\u00FA", +"output": [["Character", "\u00FA"]]}, + +{"description": "Valid Unicode character U+00FB", +"input": "\u00FB", +"output": [["Character", "\u00FB"]]}, + +{"description": "Valid Unicode character U+00FC", +"input": "\u00FC", +"output": [["Character", "\u00FC"]]}, + +{"description": "Valid Unicode character U+00FD", +"input": "\u00FD", +"output": [["Character", "\u00FD"]]}, + +{"description": "Valid Unicode character U+00FE", +"input": "\u00FE", +"output": [["Character", "\u00FE"]]}, + +{"description": "Valid Unicode character U+00FF", +"input": "\u00FF", +"output": [["Character", "\u00FF"]]}, + +{"description": "Valid Unicode character U+D7FF", +"input": "\uD7FF", +"output": [["Character", "\uD7FF"]]}, + +{"description": "Valid Unicode character U+E000", +"input": "\uE000", +"output": [["Character", "\uE000"]]}, + +{"description": "Valid Unicode character U+FDCF", +"input": "\uFDCF", +"output": [["Character", "\uFDCF"]]}, + +{"description": "Valid Unicode character U+FDF0", +"input": "\uFDF0", +"output": [["Character", "\uFDF0"]]}, + +{"description": "Valid Unicode character U+FFFD", +"input": "\uFFFD", +"output": [["Character", "\uFFFD"]]}, + +{"description": "Valid Unicode character U+10000", +"input": "\uD800\uDC00", +"output": [["Character", "\uD800\uDC00"]]}, + +{"description": "Valid Unicode character U+1FFFD", +"input": "\uD83F\uDFFD", +"output": [["Character", "\uD83F\uDFFD"]]}, + +{"description": "Valid Unicode character U+20000", +"input": "\uD840\uDC00", +"output": [["Character", "\uD840\uDC00"]]}, + +{"description": "Valid Unicode character U+2FFFD", +"input": "\uD87F\uDFFD", +"output": [["Character", "\uD87F\uDFFD"]]}, + +{"description": "Valid Unicode character U+30000", +"input": "\uD880\uDC00", +"output": [["Character", "\uD880\uDC00"]]}, + +{"description": "Valid Unicode character U+3FFFD", +"input": "\uD8BF\uDFFD", +"output": [["Character", "\uD8BF\uDFFD"]]}, + +{"description": "Valid Unicode character U+40000", +"input": "\uD8C0\uDC00", +"output": [["Character", "\uD8C0\uDC00"]]}, + +{"description": "Valid Unicode character U+4FFFD", +"input": "\uD8FF\uDFFD", +"output": [["Character", "\uD8FF\uDFFD"]]}, + +{"description": "Valid Unicode character U+50000", +"input": "\uD900\uDC00", +"output": [["Character", "\uD900\uDC00"]]}, + +{"description": "Valid Unicode character U+5FFFD", +"input": "\uD93F\uDFFD", +"output": [["Character", "\uD93F\uDFFD"]]}, + +{"description": "Valid Unicode character U+60000", +"input": "\uD940\uDC00", +"output": [["Character", "\uD940\uDC00"]]}, + +{"description": "Valid Unicode character U+6FFFD", +"input": "\uD97F\uDFFD", +"output": [["Character", "\uD97F\uDFFD"]]}, + +{"description": "Valid Unicode character U+70000", +"input": "\uD980\uDC00", +"output": [["Character", "\uD980\uDC00"]]}, + +{"description": "Valid Unicode character U+7FFFD", +"input": "\uD9BF\uDFFD", +"output": [["Character", "\uD9BF\uDFFD"]]}, + +{"description": "Valid Unicode character U+80000", +"input": "\uD9C0\uDC00", +"output": [["Character", "\uD9C0\uDC00"]]}, + +{"description": "Valid Unicode character U+8FFFD", +"input": "\uD9FF\uDFFD", +"output": [["Character", "\uD9FF\uDFFD"]]}, + +{"description": "Valid Unicode character U+90000", +"input": "\uDA00\uDC00", +"output": [["Character", "\uDA00\uDC00"]]}, + +{"description": "Valid Unicode character U+9FFFD", +"input": "\uDA3F\uDFFD", +"output": [["Character", "\uDA3F\uDFFD"]]}, + +{"description": "Valid Unicode character U+A0000", +"input": "\uDA40\uDC00", +"output": [["Character", "\uDA40\uDC00"]]}, + +{"description": "Valid Unicode character U+AFFFD", +"input": "\uDA7F\uDFFD", +"output": [["Character", "\uDA7F\uDFFD"]]}, + +{"description": "Valid Unicode character U+B0000", +"input": "\uDA80\uDC00", +"output": [["Character", "\uDA80\uDC00"]]}, + +{"description": "Valid Unicode character U+BFFFD", +"input": "\uDABF\uDFFD", +"output": [["Character", "\uDABF\uDFFD"]]}, + +{"description": "Valid Unicode character U+C0000", +"input": "\uDAC0\uDC00", +"output": [["Character", "\uDAC0\uDC00"]]}, + +{"description": "Valid Unicode character U+CFFFD", +"input": "\uDAFF\uDFFD", +"output": [["Character", "\uDAFF\uDFFD"]]}, + +{"description": "Valid Unicode character U+D0000", +"input": "\uDB00\uDC00", +"output": [["Character", "\uDB00\uDC00"]]}, + +{"description": "Valid Unicode character U+DFFFD", +"input": "\uDB3F\uDFFD", +"output": [["Character", "\uDB3F\uDFFD"]]}, + +{"description": "Valid Unicode character U+E0000", +"input": "\uDB40\uDC00", +"output": [["Character", "\uDB40\uDC00"]]}, + +{"description": "Valid Unicode character U+EFFFD", +"input": "\uDB7F\uDFFD", +"output": [["Character", "\uDB7F\uDFFD"]]}, + +{"description": "Valid Unicode character U+F0000", +"input": "\uDB80\uDC00", +"output": [["Character", "\uDB80\uDC00"]]}, + +{"description": "Valid Unicode character U+FFFFD", +"input": "\uDBBF\uDFFD", +"output": [["Character", "\uDBBF\uDFFD"]]}, + +{"description": "Valid Unicode character U+100000", +"input": "\uDBC0\uDC00", +"output": [["Character", "\uDBC0\uDC00"]]}, + +{"description": "Valid Unicode character U+10FFFD", +"input": "\uDBFF\uDFFD", +"output": [["Character", "\uDBFF\uDFFD"]]} + +]} diff --git a/tests/html5lib-tests/tokenizer/unicodeCharsProblematic.test b/tests/html5lib-tests/tokenizer/unicodeCharsProblematic.test new file mode 100644 index 0000000..3ddb96c --- /dev/null +++ b/tests/html5lib-tests/tokenizer/unicodeCharsProblematic.test @@ -0,0 +1,41 @@ +{"tests" : [ +{"description": "Invalid Unicode character U+DFFF", +"doubleEscaped":true, +"input": "\\uDFFF", +"output":[["Character", "\\uDFFF"]], +"errors":[ + { "code": "surrogate-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+D800", +"doubleEscaped":true, +"input": "\\uD800", +"output":[["Character", "\\uD800"]], +"errors":[ + { "code": "surrogate-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description": "Invalid Unicode character U+DFFF with valid preceding character", +"doubleEscaped":true, +"input": "a\\uDFFF", +"output":[["Character", "a\\uDFFF"]], +"errors":[ + { "code": "surrogate-in-input-stream", "line": 1, "col": 2 } +]}, + +{"description": "Invalid Unicode character U+D800 with valid following character", +"doubleEscaped":true, +"input": "\\uD800a", +"output":[["Character", "\\uD800a"]], +"errors":[ + { "code": "surrogate-in-input-stream", "line": 1, "col": 1 } +]}, + +{"description":"CR followed by U+0000", +"input":"\r\u0000", +"output":[["Character", "\n\u0000"]], +"errors":[ + { "code": "unexpected-null-character", "line": 2, "col": 1 } +]} +] +}
\ No newline at end of file diff --git a/tests/html5lib-tests/tokenizer/xmlViolation.test b/tests/html5lib-tests/tokenizer/xmlViolation.test new file mode 100644 index 0000000..da6159e --- /dev/null +++ b/tests/html5lib-tests/tokenizer/xmlViolation.test @@ -0,0 +1,20 @@ +{"xmlViolationTests": [ + +{"description":"Non-XML character", +"input":"a\uFFFFb", +"output":[["Character","a\uFFFDb"]]}, + +{"description":"Non-XML space", +"input":"a\u000Cb", +"output":[["Character","a b"]]}, + +{"description":"Double hyphen in comment", +"input":"<!-- foo -- bar -->", +"output":[["Comment"," foo - - bar "]]}, + +{"description":"FF between attributes", +"input":"<a b=''\u000Cc=''>", +"output":[["StartTag","a",{"b":"","c":""}]]} +]} + + diff --git a/tests/html5lib-tests/tree-construction/README.md b/tests/html5lib-tests/tree-construction/README.md new file mode 100644 index 0000000..4737a3a --- /dev/null +++ b/tests/html5lib-tests/tree-construction/README.md @@ -0,0 +1,108 @@ +Tree Construction Tests +======================= + +Each file containing tree construction tests consists of any number of +tests separated by two newlines (LF) and a single newline before the end +of the file. For instance: + + [TEST]LF + LF + [TEST]LF + LF + [TEST]LF + +Where [TEST] is the following format: + +Each test must begin with a string "\#data" followed by a newline (LF). +All subsequent lines until a line that says "\#errors" are the test data +and must be passed to the system being tested unchanged, except with the +final newline (on the last line) removed. + +Then there must be a line that says "\#errors". It must be followed by +one line per parse error that a conformant checker would return. It +doesn't matter what those lines are, although they can't be +"\#new-errors", "\#document-fragment", "\#document", "\#script-off", +"\#script-on", or empty, the only thing that matters is that there be +the right number of parse errors. + +Then there \*may\* be a line that says "\#new-errors", which works like +the "\#errors" section adding more errors to the expected number of +errors. + +Then there \*may\* be a line that says "\#document-fragment", which must +be followed by a newline (LF), followed by a string of characters that +indicates the context element, followed by a newline (LF). If the string +of characters starts with "svg ", the context element is in the SVG +namespace and the substring after "svg " is the local name. If the +string of characters starts with "math ", the context element is in the +MathML namespace and the substring after "math " is the local name. +Otherwise, the context element is in the HTML namespace and the string +is the local name. If this line is present the "\#data" must be parsed +using the HTML fragment parsing algorithm with the context element as +context. + +Then there \*may\* be a line that says "\#script-off" or +"\#script-on". If a line that says "\#script-off" is present, the +parser must set the scripting flag to disabled. If a line that says +"\#script-on" is present, it must set it to enabled. Otherwise, the +test should be run in both modes. + +Then there must be a line that says "\#document", which must be followed +by a dump of the tree of the parsed DOM. Each node must be represented +by a single line. Each line must start with "| ", followed by two spaces +per parent node that the node has before the root document node. + +- Element nodes must be represented by a "`<`" then the *tag name + string* "`>`", and all the attributes must be given, sorted + lexicographically by UTF-16 code unit according to their *attribute + name string*, on subsequent lines, as if they were children of the + element node. +- Attribute nodes must have the *attribute name string*, then an "=" + sign, then the attribute value in double quotes ("). +- Text nodes must be the string, in double quotes. Newlines aren't + escaped. +- Comments must be "`<`" then "`!-- `" then the data then "` -->`". +- DOCTYPEs must be "`<!DOCTYPE `" then the name then if either of the + system id or public id is non-empty a space, public id in + double-quotes, another space an the system id in double-quotes, and + then in any case "`>`". +- Processing instructions must be "`<?`", then the target, then a + space, then the data and then "`>`". (The HTML parser cannot emit + processing instructions, but scripts can, and the WebVTT to DOM + rules can emit them.) +- Template contents are represented by the string "content" with the + children below it. + +The *tag name string* is the local name prefixed by a namespace +designator. For the HTML namespace, the namespace designator is the +empty string, i.e. there's no prefix. For the SVG namespace, the +namespace designator is "svg ". For the MathML namespace, the namespace +designator is "math ". + +The *attribute name string* is the local name prefixed by a namespace +designator. For no namespace, the namespace designator is the empty +string, i.e. there's no prefix. For the XLink namespace, the namespace +designator is "xlink ". For the XML namespace, the namespace designator +is "xml ". For the XMLNS namespace, the namespace designator is "xmlns +". Note the difference between "xlink:href" which is an attribute in no +namespace with the local name "xlink:href" and "xlink href" which is an +attribute in the xlink namespace with the local name "href". + +If there is also a "\#document-fragment" the bit following "\#document" +must be a representation of the HTML fragment serialization for the +context element given by "\#document-fragment". + +For example: + + #data + <p>One<p>Two + #errors + 3: Missing document type declaration + #document + | <html> + | <head> + | <body> + | <p> + | "One" + | <p> + | "Two" diff --git a/tests/html5lib-tests/tree-construction/adoption01.dat b/tests/html5lib-tests/tree-construction/adoption01.dat new file mode 100644 index 0000000..38f98ef --- /dev/null +++ b/tests/html5lib-tests/tree-construction/adoption01.dat @@ -0,0 +1,354 @@ +#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> + +#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" + +#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" + +#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" + +#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" + +#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> + +#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> + +#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> + +#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> + +#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" + +#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" + +#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" + +#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> + +#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> + +#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> + +#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" + +#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" + +#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/tests/html5lib-tests/tree-construction/adoption02.dat b/tests/html5lib-tests/tree-construction/adoption02.dat new file mode 100644 index 0000000..e54d803 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/adoption02.dat @@ -0,0 +1,39 @@ +#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" + +#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> diff --git a/tests/html5lib-tests/tree-construction/blocks.dat b/tests/html5lib-tests/tree-construction/blocks.dat new file mode 100644 index 0000000..a1a9c75 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/blocks.dat @@ -0,0 +1,695 @@ +#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" + +#data +<!doctype html><address><p>foo</address>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <address> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><article><p>foo</article>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <article> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><aside><p>foo</aside>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <aside> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><blockquote><p>foo</blockquote>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <blockquote> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><center><p>foo</center>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <center> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><details><p>foo</details>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <details> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><dialog><p>foo</dialog>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dialog> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><dir><p>foo</dir>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dir> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><div><p>foo</div>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><dl><p>foo</dl>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dl> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><fieldset><p>foo</fieldset>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <fieldset> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><figcaption><p>foo</figcaption>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <figcaption> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><figure><p>foo</figure>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <figure> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><footer><p>foo</footer>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <footer> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><header><p>foo</header>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <header> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><hgroup><p>foo</hgroup>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <hgroup> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><listing><p>foo</listing>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <listing> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><menu><p>foo</menu>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <menu> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><nav><p>foo</nav>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <nav> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><ol><p>foo</ol>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ol> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><pre><p>foo</pre>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><section><p>foo</section>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <section> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><summary><p>foo</summary>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <summary> +| <p> +| "foo" +| "bar" + +#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" + +#data +<!doctype html><ul><p>foo</ul>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ul> +| <p> +| "foo" +| "bar" diff --git a/tests/html5lib-tests/tree-construction/comments01.dat b/tests/html5lib-tests/tree-construction/comments01.dat new file mode 100644 index 0000000..4b9ff95 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/comments01.dat @@ -0,0 +1,217 @@ +#data +FOO<!-- BAR -->BAZ +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <!-- BAR --> +| "BAZ" + +#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" + +#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 --> + +#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 --> + +#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 --> + +#data +FOO<!-- BAR -- <QUX> -- MUX -->BAZ +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <!-- BAR -- <QUX> -- MUX --> +| "BAZ" + +#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" + +#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 --> + +#data +FOO<!---->BAZ +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <!-- --> +| "BAZ" + +#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" + +#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" + +#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" + +#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> + +#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> + +#data +FOO<!----->BAZ +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <!-- - --> +| "BAZ" + +#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> diff --git a/tests/html5lib-tests/tree-construction/doctype01.dat b/tests/html5lib-tests/tree-construction/doctype01.dat new file mode 100644 index 0000000..9efdaf7 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/doctype01.dat @@ -0,0 +1,474 @@ +#data +<!DOCTYPE html>Hello +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "Hello" + +#data +<!dOctYpE HtMl>Hello +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "Hello" + +#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" + +#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" + +#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" + +#data +<!DOCTYPE potato>Hello +#errors +(1,17): unknown-doctype +#document +| <!DOCTYPE potato> +| <html> +| <head> +| <body> +| "Hello" + +#data +<!DOCTYPE potato >Hello +#errors +(1,18): unknown-doctype +#document +| <!DOCTYPE potato> +| <html> +| <head> +| <body> +| "Hello" + +#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" + +#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" + +#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" + +#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" + +#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" + +#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" + +#data +<!DOCTYPE potato SYSTEM 'taco"'>Hello +#errors +(1,32): unknown-doctype +#document +| <!DOCTYPE potato "" "taco""> +| <html> +| <head> +| <body> +| "Hello" + +#data +<!DOCTYPE potato SYSTEM "taco">Hello +#errors +(1,31): unknown-doctype +#document +| <!DOCTYPE potato "" "taco"> +| <html> +| <head> +| <body> +| "Hello" + +#data +<!DOCTYPE potato SYSTEM "tai'co">Hello +#errors +(1,33): unknown-doctype +#document +| <!DOCTYPE potato "" "tai'co"> +| <html> +| <head> +| <body> +| "Hello" + +#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" + +#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" + +#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" + +#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" + +#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" + +#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" + +#data +<!DOCTYPE potato PUBLIC "go'of">Hello +#errors +(1,32): unknown-doctype +#document +| <!DOCTYPE potato "go'of" ""> +| <html> +| <head> +| <body> +| "Hello" + +#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" + +#data +<!DOCTYPE potato PUBLIC 'go:hh of' >Hello +#errors +(1,38): unknown-doctype +#document +| <!DOCTYPE potato "go:hh of" ""> +| <html> +| <head> +| <body> +| "Hello" + +#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" + +#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" + +#data +<!DOCTYPE ...>Hello +#errors +(1,14): unknown-doctype +#document +| <!DOCTYPE ...> +| <html> +| <head> +| <body> +| "Hello" + +#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> + +#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> + +#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> +| "]>" + +#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> + +#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!" + +#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> + +#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> + +#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> + +#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> diff --git a/tests/html5lib-tests/tree-construction/domjs-unsafe.dat b/tests/html5lib-tests/tree-construction/domjs-unsafe.dat Binary files differnew file mode 100644 index 0000000..0a1b10f --- /dev/null +++ b/tests/html5lib-tests/tree-construction/domjs-unsafe.dat diff --git a/tests/html5lib-tests/tree-construction/entities01.dat b/tests/html5lib-tests/tree-construction/entities01.dat new file mode 100644 index 0000000..9bacebe --- /dev/null +++ b/tests/html5lib-tests/tree-construction/entities01.dat @@ -0,0 +1,943 @@ +#data +FOO>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO>BAR" + +#data +FOO>BAR +#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> +| <body> +| "FOO>BAR" + +#data +FOO> BAR +#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> +| <body> +| "FOO> BAR" + +#data +FOO>;;BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO>;;BAR" + +#data +I'm ¬it; I tell you +#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> +| <body> +| "I'm 竅it; I tell you" + +#data +I'm ∉ I tell you +#errors +(1,4): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "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 +#document +| <html> +| <head> +| <body> +| "FOO& BAR" + +#data +FOO&<BAR> +#errors +(1,3): expected-doctype-but-got-chars +(1,9): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| "FOO&" +| <bar> + +#data +FOO&&&>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO&&&>BAR" + +#data +FOO)BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO)BAR" + +#data +FOOABAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOOABAR" + +#data +FOOABAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOOABAR" + +#data +FOO&#BAR +#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> +| <body> +| "FOO&#BAR" + +#data +FOO&#ZOO +#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> +| <body> +| "FOO&#ZOO" + +#data +FOOºR +#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> +| <body> +| "FOO繙R" + +#data +FOO&#xZOO +#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> +| <body> +| "FOO&#xZOO" + +#data +FOO&#XZOO +#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> +| <body> +| "FOO&#XZOO" + +#data +FOO)BAR +#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> +| <body> +| "FOO)BAR" + +#data +FOO䆺R +#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> +| <body> +| "FOO摧" + +#data +FOOAZOO +#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> +| <body> +| "FOOAZOO" + +#data +FOO�ZOO +#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> +| <body> +| "FOO嚙稿OO" + +#data +FOOxZOO +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOOxZOO" + +#data +FOOyZOO +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOOyZOO" + +#data +FOO€ZOO +#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> +| <body> +| "FOO柬OO" + +#data +FOOZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO‚ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOOƒZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO„ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO…ZOO +#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> +| <body> +| "FOO后OO" + +#data +FOO†ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO‡ZOO +#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> +| <body> +| "FOO╴OO" + +#data +FOOˆZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO‰ZOO +#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> +| <body> +| "FOO豈OO" + +#data +FOOŠZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO‹ZOO +#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> +| <body> +| "FOO鈽OO" + +#data +FOOŒZOO +#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> +| <body> +| "FOOZOO" + +#data +FOOZOO +#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> +| <body> +| "FOOZOO" + +#data +FOOŽZOO +#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> +| <body> +| "FOO鬚ZOO" + +#data +FOOZOO +#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> +| <body> +| "FOOZOO" + +#data +FOOZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO‘ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO’ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO“ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO”ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO•ZOO +#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> +| <body> +| "FOO兛OO" + +#data +FOO–ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO—ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO˜ZOO +#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> +| <body> +| "FOOZOO" + +#data +FOO™ZOO +#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> +| <body> +| "FOO兛OO" + +#data +FOOšZOO +#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> +| <body> +| "FOO禳ZOO" + +#data +FOO›ZOO +#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> +| <body> +| "FOO暢OO" + +#data +FOOœZOO +#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> +| <body> +| "FOOZOO" + +#data +FOOZOO +#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> +| <body> +| "FOOZOO" + +#data +FOOžZOO +#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> +| <body> +| "FOO鱉ZOO" + +#data +FOOŸZOO +#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> +| <body> +| "FOO顫ZOO" + +#data +FOO ZOO +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOOZOO" + +#data +FOO퟿ZOO +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO璘OO" + +#data +FOO�ZOO +#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> +| <body> +| "FOO嚙稿OO" + +#data +FOO�ZOO +#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> +| <body> +| "FOO嚙稿OO" + +#data +FOO�ZOO +#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> +| <body> +| "FOO嚙稿OO" + +#data +FOO�ZOO +#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> +| <body> +| "FOO嚙稿OO" + +#data +FOOZOO +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOOZOO" + +#data +FOOZOO +#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> +| <body> +| "FOO蕪ZOO" + +#data +FOO􈟔ZOO +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOOZOO" + +#data +FOOZOO +#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> +| <body> +| "FOO蕞ZOO" + +#data +FOO�ZOO +#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> +| <body> +| "FOO嚙稿OO" + +#data +FOO�ZOO +#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> +| <body> +| "FOO嚙稿OO" + +#data +FOO� +#errors +(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> +| <body> +| "FOO嚙" + +#data +FOO� +#errors +(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> +| <body> +| "FOO嚙" + +#data +FOO� +#errors +(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> +| <body> +| "FOO嚙" + +#data +FOO�ZOO +#errors +(1,3): expected-doctype-but-got-chars +(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> +| <body> +| "FOO嚙稿OO" + +#data +FOO�ZOO +#errors +(1,3): expected-doctype-but-got-chars +(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> +| <body> +| "FOO嚙稿OO" + +#data +FOO�ZOO +#errors +(1,3): expected-doctype-but-got-chars +(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> +| <body> +| "FOO嚙稿OO" diff --git a/tests/html5lib-tests/tree-construction/entities02.dat b/tests/html5lib-tests/tree-construction/entities02.dat new file mode 100644 index 0000000..74965a3 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/entities02.dat @@ -0,0 +1,309 @@ +#data +<div bar="ZZ>YY"></div> +#errors +(1,20): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ>YY" + +#data +<div bar="ZZ&"></div> +#errors +(1,15): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ&" + +#data +<div bar='ZZ&'></div> +#errors +(1,15): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ&" + +#data +<div bar=ZZ&></div> +#errors +(1,13): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ&" + +#data +<div bar="ZZ>=YY"></div> +#errors +(1,20): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ>=YY" + +#data +<div bar="ZZ>0YY"></div> +#errors +(1,20): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ>0YY" + +#data +<div bar="ZZ>9YY"></div> +#errors +(1,20): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ>9YY" + +#data +<div bar="ZZ>aYY"></div> +#errors +(1,20): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ>aYY" + +#data +<div bar="ZZ>ZYY"></div> +#errors +(1,20): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ>ZYY" + +#data +<div bar="ZZ> YY"></div> +#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> +| <body> +| <div> +| bar="ZZ> YY" + +#data +<div bar="ZZ>"></div> +#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> +| <body> +| <div> +| bar="ZZ>" + +#data +<div bar='ZZ>'></div> +#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> +| <body> +| <div> +| bar="ZZ>" + +#data +<div bar=ZZ>></div> +#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> +| <body> +| <div> +| bar="ZZ>" + +#data +<div bar="ZZ£_id=23"></div> +#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> +| <body> +| <div> +| bar="ZZ瞿_id=23" + +#data +<div bar="ZZ&prod_id=23"></div> +#errors +(1,25): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ&prod_id=23" + +#data +<div bar="ZZ£_id=23"></div> +#errors +(1,27): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ瞿_id=23" + +#data +<div bar="ZZ∏_id=23"></div> +#errors +(1,26): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ_id=23" + +#data +<div bar="ZZ£=23"></div> +#errors +(1,23): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ£=23" + +#data +<div bar="ZZ&prod=23"></div> +#errors +(1,22): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| bar="ZZ&prod=23" + +#data +<div>ZZ£_id=23</div> +#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> +| <body> +| <div> +| "ZZ瞿_id=23" + +#data +<div>ZZ&prod_id=23</div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| "ZZ&prod_id=23" + +#data +<div>ZZ£_id=23</div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| "ZZ瞿_id=23" + +#data +<div>ZZ∏_id=23</div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| "ZZ_id=23" + +#data +<div>ZZ£=23</div> +#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> +| <body> +| <div> +| "ZZ瞿=23" + +#data +<div>ZZ&prod=23</div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| "ZZ&prod=23" + +#data +<div>ZZÆ=</div> +#errors +(1,5): expected-doctype-but-got-start-tag +(1:14) missing-semicolon-after-character-reference +#new-errors +(1:14) missing-semicolon-after-character-reference +#document +| <html> +| <head> +| <body> +| <div> +| "ZZ=" diff --git a/tests/html5lib-tests/tree-construction/foreign-fragment.dat b/tests/html5lib-tests/tree-construction/foreign-fragment.dat new file mode 100644 index 0000000..448d9c8 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/foreign-fragment.dat @@ -0,0 +1,653 @@ +#data +<nobr>X +#errors +6: HTML start tag nobr in a foreign namespace context. +7: End of file seen and there were open elements. +#document-fragment +svg path +#document +| <nobr> +| "X" + +#data +<font color></font>X +#errors +12: HTML start tag font in a foreign namespace context. +#document-fragment +svg path +#document +| <font> +| color="" +| "X" + +#data +<font></font>X +#errors +#document-fragment +svg path +#document +| <svg font> +| "X" + +#data +<g></path>X +#errors +10: End tag path did not match the name of the current open element (g). +11: End of file seen and there were open elements. +#document-fragment +svg path +#document +| <svg g> +| "X" + +#data +</path>X +#errors +5: Stray end tag path. +#document-fragment +svg path +#document +| "X" + +#data +</foreignObject>X +#errors +5: Stray end tag foreignobject. +#document-fragment +svg foreignObject +#document +| "X" + +#data +</desc>X +#errors +5: Stray end tag desc. +#document-fragment +svg desc +#document +| "X" + +#data +</title>X +#errors +5: Stray end tag title. +#document-fragment +svg title +#document +| "X" + +#data +</svg>X +#errors +5: Stray end tag svg. +#document-fragment +svg svg +#document +| "X" + +#data +</mfenced>X +#errors +5: Stray end tag mfenced. +#document-fragment +math mfenced +#document +| "X" + +#data +</malignmark>X +#errors +5: Stray end tag malignmark. +#document-fragment +math malignmark +#document +| "X" + +#data +</math>X +#errors +5: Stray end tag math. +#document-fragment +math math +#document +| "X" + +#data +</annotation-xml>X +#errors +5: Stray end tag annotation-xml. +#document-fragment +math annotation-xml +#document +| "X" + +#data +</mtext>X +#errors +5: Stray end tag mtext. +#document-fragment +math mtext +#document +| "X" + +#data +</mi>X +#errors +5: Stray end tag mi. +#document-fragment +math mi +#document +| "X" + +#data +</mo>X +#errors +5: Stray end tag mo. +#document-fragment +math mo +#document +| "X" + +#data +</mn>X +#errors +5: Stray end tag mn. +#document-fragment +math mn +#document +| "X" + +#data +</ms>X +#errors +5: Stray end tag ms. +#document-fragment +math ms +#document +| "X" + +#data +<b></b><mglyph/><i></i><malignmark/><u></u><ms/>X +#errors +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. +#new-errors +(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus +#document-fragment +math ms +#document +| <b> +| <math mglyph> +| <i> +| <math malignmark> +| <u> +| <ms> +| "X" + +#data +<malignmark></malignmark> +#errors +#document-fragment +math ms +#document +| <math malignmark> + +#data +<div></div> +#errors +#document-fragment +math ms +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +math ms +#document +| <figure> + +#data +<b></b><mglyph/><i></i><malignmark/><u></u><mn/>X +#errors +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. +#new-errors +(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus +#document-fragment +math mn +#document +| <b> +| <math mglyph> +| <i> +| <math malignmark> +| <u> +| <mn> +| "X" + +#data +<malignmark></malignmark> +#errors +#document-fragment +math mn +#document +| <math malignmark> + +#data +<div></div> +#errors +#document-fragment +math mn +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +math mn +#document +| <figure> + +#data +<b></b><mglyph/><i></i><malignmark/><u></u><mo/>X +#errors +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. +#new-errors +(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus +#document-fragment +math mo +#document +| <b> +| <math mglyph> +| <i> +| <math malignmark> +| <u> +| <mo> +| "X" + +#data +<malignmark></malignmark> +#errors +#document-fragment +math mo +#document +| <math malignmark> + +#data +<div></div> +#errors +#document-fragment +math mo +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +math mo +#document +| <figure> + +#data +<b></b><mglyph/><i></i><malignmark/><u></u><mi/>X +#errors +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. +#new-errors +(1:44-1:49) non-void-html-element-start-tag-with-trailing-solidus +#document-fragment +math mi +#document +| <b> +| <math mglyph> +| <i> +| <math malignmark> +| <u> +| <mi> +| "X" + +#data +<malignmark></malignmark> +#errors +#document-fragment +math mi +#document +| <math malignmark> + +#data +<div></div> +#errors +#document-fragment +math mi +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +math mi +#document +| <figure> + +#data +<b></b><mglyph/><i></i><malignmark/><u></u><mtext/>X +#errors +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. +#new-errors +(1:44-1:52) non-void-html-element-start-tag-with-trailing-solidus +#document-fragment +math mtext +#document +| <b> +| <math mglyph> +| <i> +| <math malignmark> +| <u> +| <mtext> +| "X" + +#data +<malignmark></malignmark> +#errors +#document-fragment +math mtext +#document +| <math malignmark> + +#data +<div></div> +#errors +#document-fragment +math mtext +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +math mtext +#document +| <figure> + +#data +<div></div> +#errors +5: HTML start tag div in a foreign namespace context. +#document-fragment +math annotation-xml +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +math annotation-xml +#document +| <math figure> + +#data +<div></div> +#errors +5: HTML start tag div in a foreign namespace context. +#document-fragment +math math +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +math math +#document +| <math figure> + +#data +<div></div> +#errors +#document-fragment +svg foreignObject +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +svg foreignObject +#document +| <figure> + +#data +<div></div> +#errors +#document-fragment +svg title +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +svg title +#document +| <figure> + +#data +<figure></figure> +#errors +#document-fragment +svg desc +#document +| <figure> + +#data +<div><h1>X</h1></div> +#errors +5: HTML start tag div in a foreign namespace context. +#document-fragment +svg svg +#document +| <div> +| <h1> +| "X" + +#data +<div></div> +#errors +5: HTML start tag div in a foreign namespace context. +#document-fragment +svg svg +#document +| <div> + +#data +<div></div> +#errors +#document-fragment +svg desc +#document +| <div> + +#data +<figure></figure> +#errors +#document-fragment +svg desc +#document +| <figure> + +#data +<plaintext><foo> +#errors +(1,16): expected-closing-tag-but-got-eof +#document-fragment +svg desc +#document +| <plaintext> +| "<foo>" + +#data +<frameset>X +#errors +6: Stray start tag frameset. +#document-fragment +svg desc +#document +| "X" + +#data +<head>X +#errors +6: Stray start tag head. +#document-fragment +svg desc +#document +| "X" + +#data +<body>X +#errors +6: Stray start tag body. +#document-fragment +svg desc +#document +| "X" + +#data +<html>X +#errors +6: Stray start tag html. +#document-fragment +svg desc +#document +| "X" + +#data +<html class="foo">X +#errors +6: Stray start tag html. +#document-fragment +svg desc +#document +| "X" + +#data +<body class="foo">X +#errors +6: Stray start tag body. +#document-fragment +svg desc +#document +| "X" + +#data +<svg><p> +#errors +8: HTML start tag p in a foreign namespace context. +#document-fragment +div +#document +| <svg svg> +| <p> + +#data +<p> +#errors +3: HTML start tag p in a foreign namespace context. +#document-fragment +svg svg +#document +| <p> + +#data +<svg></p><foo> +#errors +9: HTML end tag p in a foreign namespace context. +(1:6) Unexpected </p> from in body insertion mode +(1:15) Unexpected EOF +#document-fragment +div +#document +| <svg svg> +| <p> +| <foo> + +#data +<svg></br><foo> +#errors +10: HTML end tag br in a foreign namespace context. +(1:6) Unexpected </br> from in body insertion mode +(1:16) Unexpected EOF +#document-fragment +div +#document +| <svg svg> +| <br> +| <foo> + +#data +</p><foo> +#errors +4: HTML end tag p in a foreign namespace context. +(1:1) Unexpected </p> from in body insertion mode +(1:10) Unexpected EOF +#document-fragment +svg svg +#document +| <p> +| <svg foo> + +#data +</br><foo> +#errors +5: HTML end tag br in a foreign namespace context. +(1:1) Unexpected </br> from in body insertion mode +(1:11) Unexpected EOF +#document-fragment +svg svg +#document +| <br> +| <svg foo> + +#data +<body><foo> +#errors +6: HTML start tag body in a foreign namespace context. +(1:1) Unexpected <body> from in body insertion mode +(1:12) Unexpected EOF +#document-fragment +svg svg +#document +| <svg foo> + +#data +<p><foo> +#errors +3: HTML start tag p in a foreign namespace context. +(1:9) Unexpected EOF +#document-fragment +svg svg +#document +| <p> +| <foo> + +#data +<p></p><foo> +#errors +3: HTML start tag p in a foreign namespace context. +(1:13) Unexpected EOF +#document-fragment +svg svg +#document +| <p> +| <svg foo> diff --git a/tests/html5lib-tests/tree-construction/html5test-com.dat b/tests/html5lib-tests/tree-construction/html5test-com.dat new file mode 100644 index 0000000..48d0bf9 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/html5test-com.dat @@ -0,0 +1,301 @@ +#data +<div<div> +#errors +(1,9): expected-doctype-but-got-start-tag +(1,9): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div<div> + +#data +<div foo<bar=''> +#errors +(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> +| <body> +| <div> +| foo<bar="" + +#data +<div foo=`bar`> +#errors +(1,10): equals-in-unquoted-attribute-value +(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> +| <body> +| <div> +| foo="`bar`" + +#data +<div \"foo=''> +#errors +(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> +| <body> +| <div> +| \"foo="" + +#data +<a href='\nbar'></a> +#errors +(1,16): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <a> +| href="\nbar" + +#data +<!DOCTYPE html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +⟨⟩ +#errors +(1,6): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "兩" + +#data +' +#errors +(1,6): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "'" + +#data +ⅈ +#errors +(1,12): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "" + +#data +𝕂 +#errors +(1,6): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "" + +#data +∉ +#errors +(1,9): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "" + +#data +<?import namespace="foo" implementation="#bar"> +#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> +| <head> +| <body> + +#data +<!--foo--bar--> +#errors +(1,15): expected-doctype-but-got-eof +#document +| <!-- foo--bar --> +| <html> +| <head> +| <body> + +#data +<![CDATA[x]]> +#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> +| <head> +| <body> + +#data +<textarea><!--</textarea>--></textarea> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,39): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| "<!--" +| "-->" + +#data +<textarea><!--</textarea>--> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| "<!--" +| "-->" + +#data +<style><!--</style>--></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,30): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "<!--" +| <body> +| "-->" + +#data +<style><!--</style>--> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "<!--" +| <body> +| "-->" + +#data +<ul><li>A </li> <li>B</li></ul> +#errors +(1,4): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ul> +| <li> +| "A " +| " " +| <li> +| "B" + +#data +<table><form><input type=hidden><input></form><div></div></table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,13): unexpected-form-in-table +(1,32): unexpected-hidden-input-in-table +(1,39): unexpected-start-tag-implies-table-voodoo +(1,46): unexpected-end-tag-implies-table-voodoo +(1,46): unexpected-end-tag +(1,51): unexpected-start-tag-implies-table-voodoo +(1,57): unexpected-end-tag-implies-table-voodoo +#document +| <html> +| <head> +| <body> +| <input> +| <div> +| <table> +| <form> +| <input> +| type="hidden" + +#data +<i>A<b>B<p></i>C</b>D +#errors +(1,3): expected-doctype-but-got-start-tag +(1,15): adoption-agency-1.3 +(1,20): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <i> +| "A" +| <b> +| "B" +| <b> +| <p> +| <b> +| <i> +| "C" +| "D" + +#data +<div></div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> + +#data +<svg></svg> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <svg svg> + +#data +<math></math> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <math math> diff --git a/tests/html5lib-tests/tree-construction/inbody01.dat b/tests/html5lib-tests/tree-construction/inbody01.dat new file mode 100644 index 0000000..10f6520 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/inbody01.dat @@ -0,0 +1,54 @@ +#data +<button>1</foo> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,15): unexpected-end-tag +(1,15): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <button> +| "1" + +#data +<foo>1<p>2</foo> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,16): unexpected-end-tag +(1,16): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <foo> +| "1" +| <p> +| "2" + +#data +<dd>1</foo> +#errors +(1,4): expected-doctype-but-got-start-tag +(1,11): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <dd> +| "1" + +#data +<foo>1<dd>2</foo> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,17): unexpected-end-tag +(1,17): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <foo> +| "1" +| <dd> +| "2" diff --git a/tests/html5lib-tests/tree-construction/isindex.dat b/tests/html5lib-tests/tree-construction/isindex.dat new file mode 100644 index 0000000..733f82e --- /dev/null +++ b/tests/html5lib-tests/tree-construction/isindex.dat @@ -0,0 +1,49 @@ +#data +<isindex> +#errors +(1,9): expected-doctype-but-got-start-tag +(1,9): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <isindex> + +#data +<isindex name="A" action="B" prompt="C" foo="D"> +#errors +(1,48): expected-doctype-but-got-start-tag +(1,48): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <isindex> +| action="B" +| foo="D" +| name="A" +| prompt="C" + +#data +<form><isindex> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,15): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <form> +| <isindex> + +#data +<!doctype html><isindex>x</isindex>x +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <isindex> +| "x" +| "x" diff --git a/tests/html5lib-tests/tree-construction/main-element.dat b/tests/html5lib-tests/tree-construction/main-element.dat new file mode 100644 index 0000000..4b103bb --- /dev/null +++ b/tests/html5lib-tests/tree-construction/main-element.dat @@ -0,0 +1,46 @@ +#data +<!doctype html><p>foo<main>bar<p>baz +#errors +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| "foo" +| <main> +| "bar" +| <p> +| "baz" + +#data +<!doctype html><main><p>foo</main>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <main> +| <p> +| "foo" +| "bar" + +#data +<!DOCTYPE html>xxx<svg><x><g><a><main><b> +#errors + * (1,42) unexpected HTML-like start tag token in foreign content + * (1,42) unexpected end of file +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "xxx" +| <svg svg> +| <svg x> +| <svg g> +| <svg a> +| <svg main> +| <b> diff --git a/tests/html5lib-tests/tree-construction/math.dat b/tests/html5lib-tests/tree-construction/math.dat new file mode 100644 index 0000000..d6a8ae5 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/math.dat @@ -0,0 +1,104 @@ +#data +<math><tr><td><mo><tr> +#errors +(1,22): unexpected-start-tag +(1,23): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <math math> +| <math tr> +| <math td> +| <math mo> + +#data +<math><tr><td><mo><tr> +#errors +(1,6): foster-parenting-start-tag +(1,22): expected-tr-in-table-scope +(1,23): expected-closing-tag-but-got-eof +#document-fragment +tr +#document +| <math math> +| <math tr> +| <math td> +| <math mo> + +#data +<math><thead><mo><tbody> +#errors +(1,6): foster-parenting-start-tag +(1,24): expected-table-part-in-table-scope +(1,25): expected-closing-tag-but-got-eof +#document-fragment +thead +#document +| <math math> +| <math thead> +| <math mo> + +#data +<math><tfoot><mo><tbody> +#errors +(1,6): foster-parenting-start-tag +(1,24): expected-table-part-in-table-scope +(1,25): expected-closing-tag-but-got-eof +#document-fragment +tfoot +#document +| <math math> +| <math tfoot> +| <math mo> + +#data +<math><tbody><mo><tfoot> +#errors +(1,6): foster-parenting-start-tag +(1,24): expected-table-part-in-table-scope +(1,25): expected-closing-tag-but-got-eof +#document-fragment +tbody +#document +| <math math> +| <math tbody> +| <math mo> + +#data +<math><tbody><mo></table> +#errors +(1,6): foster-parenting-start-tag +(1,25): unexpected-end-tag-in-math +(1,26): expected-closing-tag-but-got-eof +#document-fragment +tbody +#document +| <math math> +| <math tbody> +| <math mo> + +#data +<math><thead><mo></table> +#errors +(1,6): foster-parenting-start-tag +(1,25): unexpected-end-tag-in-math +(1,26): expected-closing-tag-but-got-eof +#document-fragment +tbody +#document +| <math math> +| <math thead> +| <math mo> + +#data +<math><tfoot><mo></table> +#errors +(1,6): foster-parenting-start-tag +(1,25): unexpected-end-tag-in-math +(1,26): expected-closing-tag-but-got-eof +#document-fragment +tbody +#document +| <math math> +| <math tfoot> +| <math mo> diff --git a/tests/html5lib-tests/tree-construction/menuitem-element.dat b/tests/html5lib-tests/tree-construction/menuitem-element.dat new file mode 100644 index 0000000..fb13c3c --- /dev/null +++ b/tests/html5lib-tests/tree-construction/menuitem-element.dat @@ -0,0 +1,240 @@ +#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. +#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. +#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. +#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. +#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. +#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. +#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. +#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. +35: End of file seen and there were open elements. +#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. +#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. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <option> +| <menuitem> + +#data +<!DOCTYPE html><menuitem><option> +#errors +33: End of file seen and there were open elements. +#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. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <menuitem> + +#data +<!DOCTYPE html><menuitem></html> +#errors +32: End tag for html seen, but there were unclosed elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <menuitem> + +#data +<!DOCTYPE html><menuitem><p> +#errors +28: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <menuitem> +| <p> + +#data +<!DOCTYPE html><menuitem><li> +#errors +29: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <menuitem> +| <li> diff --git a/tests/html5lib-tests/tree-construction/namespace-sensitivity.dat b/tests/html5lib-tests/tree-construction/namespace-sensitivity.dat new file mode 100644 index 0000000..050dca7 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/namespace-sensitivity.dat @@ -0,0 +1,22 @@ +#data +<body><table><tr><td><svg><td><foreignObject><span></td>Foo +#errors +(1,6): expected-doctype-but-got-start-tag +(1,56): unexpected-end-tag +(1,60): foster-parenting-character +(1,60): foster-parenting-character +(1,60): foster-parenting-character +(1,60): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| "Foo" +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| <svg td> +| <svg foreignObject> +| <span> diff --git a/tests/html5lib-tests/tree-construction/noscript01.dat b/tests/html5lib-tests/tree-construction/noscript01.dat new file mode 100644 index 0000000..ec3496c --- /dev/null +++ b/tests/html5lib-tests/tree-construction/noscript01.dat @@ -0,0 +1,237 @@ +#data +<head><noscript><!doctype html><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 31 Unexpected DOCTYPE. Ignored. +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- foo --> +| <body> + +#data +<head><noscript><html class="foo"><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 34 html needs to be the first start tag. +#script-off +#document +| <html> +| class="foo" +| <head> +| <noscript> +| <!-- foo --> +| <body> + +#data +<head><noscript></noscript> +#errors +(1,6): expected-doctype-but-got-tag +#script-off +#document +| <html> +| <head> +| <noscript> +| <body> + +#data +<head><noscript> </noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +#script-off +#document +| <html> +| <head> +| <noscript> +| " " +| <body> + +#data +<head><noscript><!--foo--></noscript> +#errors +(1,6): expected-doctype-but-got-tag +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- foo --> +| <body> + +#data +<head><noscript><basefont><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +#script-off +#document +| <html> +| <head> +| <noscript> +| <basefont> +| <!-- foo --> +| <body> + +#data +<head><noscript><bgsound><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +#script-off +#document +| <html> +| <head> +| <noscript> +| <bgsound> +| <!-- foo --> +| <body> + +#data +<head><noscript><link><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +#script-off +#document +| <html> +| <head> +| <noscript> +| <link> +| <!-- foo --> +| <body> + +#data +<head><noscript><meta><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +#script-off +#document +| <html> +| <head> +| <noscript> +| <meta> +| <!-- foo --> +| <body> + +#data +<head><noscript><noframes>XXX</noscript></noframes></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +#script-off +#document +| <html> +| <head> +| <noscript> +| <noframes> +| "XXX</noscript>" +| <body> + +#data +<head><noscript><style>XXX</style></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +#script-off +#document +| <html> +| <head> +| <noscript> +| <style> +| "XXX" +| <body> + +#data +<head><noscript></br><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 21 Element br not allowed in a inhead-noscript context +Line: 1 Col: 21 Unexpected end tag (br). Treated as br element. +Line: 1 Col: 42 Unexpected end tag (noscript). Ignored. +#script-off +#document +| <html> +| <head> +| <noscript> +| <body> +| <br> +| <!-- foo --> + +#data +<head><noscript><head class="foo"><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 34 Unexpected start tag (head). +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- foo --> +| <body> + +#data +<head><noscript><noscript class="foo"><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 34 Unexpected start tag (noscript). +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- foo --> +| <body> + +#data +<head><noscript></p><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 20 Unexpected end tag (p). Ignored. +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- foo --> +| <body> + +#data +<head><noscript><p><!--foo--></noscript> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 19 Element p not allowed in a inhead-noscript context +Line: 1 Col: 40 Unexpected end tag (noscript). Ignored. +#script-off +#document +| <html> +| <head> +| <noscript> +| <body> +| <p> +| <!-- foo --> + +#data +<head><noscript>XXX<!--foo--></noscript></head> +#errors +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 19 Unexpected non-space character. Expected inhead-noscript content +Line: 1 Col: 30 Unexpected end tag (noscript). Ignored. +Line: 1 Col: 37 Unexpected end tag (head). Ignored. +#script-off +#document +| <html> +| <head> +| <noscript> +| <body> +| "XXX" +| <!-- foo --> + +#data +<head><noscript> +#errors +(1,6): expected-doctype-but-got-tag +(1,6): eof-in-head-noscript +#script-off +#document +| <html> +| <head> +| <noscript> +| <body> diff --git a/tests/html5lib-tests/tree-construction/pending-spec-changes-plain-text-unsafe.dat b/tests/html5lib-tests/tree-construction/pending-spec-changes-plain-text-unsafe.dat Binary files differnew file mode 100644 index 0000000..2c546d4 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/pending-spec-changes-plain-text-unsafe.dat diff --git a/tests/html5lib-tests/tree-construction/pending-spec-changes.dat b/tests/html5lib-tests/tree-construction/pending-spec-changes.dat new file mode 100644 index 0000000..1647d7f --- /dev/null +++ b/tests/html5lib-tests/tree-construction/pending-spec-changes.dat @@ -0,0 +1,46 @@ +#data +<input type="hidden"><frameset> +#errors +(1,21): expected-doctype-but-got-start-tag +(1,31): unexpected-start-tag +(1,31): eof-in-frameset +#document +| <html> +| <head> +| <frameset> + +#data +<!DOCTYPE html><table><caption><svg>foo</table>bar +#errors +(1,47): unexpected-end-tag +(1,47): end-table-tag-in-caption +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <svg svg> +| "foo" +| "bar" + +#data +<table><tr><td><svg><desc><td></desc><circle> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,30): unexpected-cell-end-tag +(1,37): unexpected-end-tag +(1,45): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| <svg desc> +| <td> +| <circle> diff --git a/tests/html5lib-tests/tree-construction/plain-text-unsafe.dat b/tests/html5lib-tests/tree-construction/plain-text-unsafe.dat Binary files differnew file mode 100644 index 0000000..e904eff --- /dev/null +++ b/tests/html5lib-tests/tree-construction/plain-text-unsafe.dat diff --git a/tests/html5lib-tests/tree-construction/ruby.dat b/tests/html5lib-tests/tree-construction/ruby.dat new file mode 100644 index 0000000..f4e5e4e --- /dev/null +++ b/tests/html5lib-tests/tree-construction/ruby.dat @@ -0,0 +1,302 @@ +#data +<html><ruby>a<rb>b<rb></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rb> +| "b" +| <rb> + +#data +<html><ruby>a<rb>b<rt></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rb> +| "b" +| <rt> + +#data +<html><ruby>a<rb>b<rtc></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rb> +| "b" +| <rtc> + +#data +<html><ruby>a<rb>b<rp></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rb> +| "b" +| <rp> + +#data +<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> +| <body> +| <ruby> +| "a" +| <rb> +| "b" +| <span> + +#data +<html><ruby>a<rt>b<rb></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rt> +| "b" +| <rb> + +#data +<html><ruby>a<rt>b<rt></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rt> +| "b" +| <rt> + +#data +<html><ruby>a<rt>b<rtc></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rt> +| "b" +| <rtc> + +#data +<html><ruby>a<rt>b<rp></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rt> +| "b" +| <rp> + +#data +<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> +| <body> +| <ruby> +| "a" +| <rt> +| "b" +| <span> + +#data +<html><ruby>a<rtc>b<rb></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rtc> +| "b" +| <rb> + +#data +<html><ruby>a<rtc>b<rt>c<rt>d</ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rtc> +| "b" +| <rt> +| "c" +| <rt> +| "d" + +#data +<html><ruby>a<rtc>b<rtc></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rtc> +| "b" +| <rtc> + +#data +<html><ruby>a<rtc>b<rp></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rtc> +| "b" +| <rp> + +#data +<html><ruby>a<rtc>b<span></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,32): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rtc> +| "b" +| <span> + +#data +<html><ruby>a<rp>b<rb></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rp> +| "b" +| <rb> + +#data +<html><ruby>a<rp>b<rt></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rp> +| "b" +| <rt> + +#data +<html><ruby>a<rp>b<rtc></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rp> +| "b" +| <rtc> + +#data +<html><ruby>a<rp>b<rp></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rp> +| "b" +| <rp> + +#data +<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> +| <body> +| <ruby> +| "a" +| <rp> +| "b" +| <span> + +#data +<html><ruby><rtc><ruby>a<rb>b<rt></ruby></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| <rtc> +| <ruby> +| "a" +| <rb> +| "b" +| <rt> diff --git a/tests/html5lib-tests/tree-construction/scriptdata01.dat b/tests/html5lib-tests/tree-construction/scriptdata01.dat new file mode 100644 index 0000000..e570858 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/scriptdata01.dat @@ -0,0 +1,385 @@ +#data +FOO<script>'Hello'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'Hello'" +| "BAR" + +#data +FOO<script></script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "BAR" + +#data +FOO<script></script >BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "BAR" + +#data +FOO<script></script/>BAR +#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> +| <body> +| "FOO" +| <script> +| "BAR" + +#data +FOO<script></script/ >BAR +#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> +| <body> +| "FOO" +| <script> +| "BAR" + +#data +FOO<script type="text/plain"></scriptx>BAR +#errors +(1,3): expected-doctype-but-got-chars +(1,42): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "</scriptx>BAR" + +#data +FOO<script></script foo=">" dd>BAR +#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> +| <body> +| "FOO" +| <script> +| "BAR" + +#data +FOO<script>'<'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<'" +| "BAR" + +#data +FOO<script>'<!'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!'" +| "BAR" + +#data +FOO<script>'<!-'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!-'" +| "BAR" + +#data +FOO<script>'<!--'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!--'" +| "BAR" + +#data +FOO<script>'<!---'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!---'" +| "BAR" + +#data +FOO<script>'<!-->'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!-->'" +| "BAR" + +#data +FOO<script>'<!-->'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!-->'" +| "BAR" + +#data +FOO<script>'<!-- potato'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!-- potato'" +| "BAR" + +#data +FOO<script>'<!-- <sCrIpt'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!-- <sCrIpt'" +| "BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt>'</script>BAR +#errors +(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> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt>'</script>BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt> -'</script>BAR +#errors +(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> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt> -'</script>BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt> --'</script>BAR +#errors +(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> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt> --'</script>BAR" + +#data +FOO<script>'<!-- <sCrIpt> -->'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "'<!-- <sCrIpt> -->'" +| "BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt> --!>'</script>BAR +#errors +(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> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt> --!>'</script>BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt> -- >'</script>BAR +#errors +(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> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt> -- >'</script>BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt '</script>BAR +#errors +(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> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt '</script>BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt/'</script>BAR +#errors +(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> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt/'</script>BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt\'</script>BAR +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt\'" +| "BAR" + +#data +FOO<script type="text/plain">'<!-- <sCrIpt/'</script>BAR</script>QUX +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| type="text/plain" +| "'<!-- <sCrIpt/'</script>BAR" +| "QUX" + +#data +FOO<script><!--<script>-></script>--></script>QUX +#errors +(1,3): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "FOO" +| <script> +| "<!--<script>-></script>-->" +| "QUX" diff --git a/tests/html5lib-tests/tree-construction/scripted/adoption01.dat b/tests/html5lib-tests/tree-construction/scripted/adoption01.dat new file mode 100644 index 0000000..5cc0f07 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/scripted/adoption01.dat @@ -0,0 +1,16 @@ +#data +<p><b id="A"><script>document.getElementById("A").id = "B"</script></p>TEXT</b> +#errors +#script-on +#document +| <html> +| <head> +| <body> +| <p> +| <b> +| id="B" +| <script> +| "document.getElementById("A").id = "B"" +| <b> +| id="A" +| "TEXT" diff --git a/tests/html5lib-tests/tree-construction/scripted/ark.dat b/tests/html5lib-tests/tree-construction/scripted/ark.dat new file mode 100644 index 0000000..feebead --- /dev/null +++ b/tests/html5lib-tests/tree-construction/scripted/ark.dat @@ -0,0 +1,27 @@ +#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> +| <body> +| <p> +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="5" +| <script> +| "document.getElementsByTagName("font")[2].setAttribute("size", "5");" +| <font> +| size="4" +| <p> +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| "X" diff --git a/tests/html5lib-tests/tree-construction/scripted/webkit01.dat b/tests/html5lib-tests/tree-construction/scripted/webkit01.dat new file mode 100644 index 0000000..3e71c1b --- /dev/null +++ b/tests/html5lib-tests/tree-construction/scripted/webkit01.dat @@ -0,0 +1,30 @@ +#data +1<script>document.write("2")</script>3 +#errors +#script-on +#document +| <html> +| <head> +| <body> +| "1" +| <script> +| "document.write("2")" +| "23" + +#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> +| <body> +| "1" +| <script> +| "document.write("<script>document.write('2')</scr"+ "ipt><script>document.write('3')</scr" + "ipt>")" +| <script> +| "document.write('2')" +| "2" +| <script> +| "document.write('3')" +| "34" diff --git a/tests/html5lib-tests/tree-construction/svg.dat b/tests/html5lib-tests/tree-construction/svg.dat new file mode 100644 index 0000000..a452e7a --- /dev/null +++ b/tests/html5lib-tests/tree-construction/svg.dat @@ -0,0 +1,104 @@ +#data +<svg><tr><td><title><tr> +#errors +(1:21) Unexpected <tr> tag +(1:25) Unexpected EOF +#document-fragment +td +#document +| <svg svg> +| <svg tr> +| <svg td> +| <svg title> + +#data +<svg><tr><td><title><tr> +#errors +(1:1) Unexpected <svg> tag +(1:21) Unexpected <tr> tag +(1:25) Unexpected EOF +#document-fragment +tr +#document +| <svg svg> +| <svg tr> +| <svg td> +| <svg title> + +#data +<svg><thead><title><tbody> +#errors +(1:1) Unexpected <svg> tag +(1:20) Unexpected <tbody> tag +(1:27) Unexpected EOF +#document-fragment +thead +#document +| <svg svg> +| <svg thead> +| <svg title> + +#data +<svg><tfoot><title><tbody> +#errors +(1:1) Unexpected <svg> tag +(1:20) Unexpected <tbody> tag +(1:27) Unexpected EOF +#document-fragment +tfoot +#document +| <svg svg> +| <svg tfoot> +| <svg title> + +#data +<svg><tbody><title><tfoot> +#errors +(1:1) Unexpected <svg> tag +(1:20) Unexpected <tfoot> tag +(1:27) Unexpected EOF +#document-fragment +tbody +#document +| <svg svg> +| <svg tbody> +| <svg title> + +#data +<svg><tbody><title></table> +#errors +(1:1) Unexpected <svg> tag +(1:20) Unexpected </table> tag +(1:28) Unexpected EOF +#document-fragment +tbody +#document +| <svg svg> +| <svg tbody> +| <svg title> + +#data +<svg><thead><title></table> +#errors +(1:1) Unexpected <svg> tag +(1:20) Unexpected </table> tag +(1:28) Unexpected EOF +#document-fragment +tbody +#document +| <svg svg> +| <svg thead> +| <svg title> + +#data +<svg><tfoot><title></table> +#errors +(1:1) Unexpected <svg> tag +(1:20) Unexpected </table> tag +(1:28) Unexpected EOF +#document-fragment +tbody +#document +| <svg svg> +| <svg tfoot> +| <svg title> diff --git a/tests/html5lib-tests/tree-construction/tables01.dat b/tests/html5lib-tests/tree-construction/tables01.dat new file mode 100644 index 0000000..f0caaa3 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tables01.dat @@ -0,0 +1,286 @@ +#data +<table><th> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,11): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <th> + +#data +<table><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,11): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> + +#data +<table><col foo='bar'> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,22): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <colgroup> +| <col> +| foo="bar" + +#data +<table><colgroup></html>foo +#errors +(1,7): expected-doctype-but-got-start-tag +(1,24): unexpected-end-tag +(1,27): foster-parenting-character-in-table +(1,27): foster-parenting-character-in-table +(1,27): foster-parenting-character-in-table +(1,27): eof-in-table +#document +| <html> +| <head> +| <body> +| "foo" +| <table> +| <colgroup> + +#data +<table></table><p>foo +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <table> +| <p> +| "foo" + +#data +<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,14): unexpected-end-tag +(1,24): unexpected-end-tag +(1,30): unexpected-end-tag +(1,41): unexpected-end-tag +(1,48): unexpected-end-tag +(1,56): unexpected-end-tag +(1,61): unexpected-end-tag +(1,69): unexpected-end-tag +(1,74): unexpected-end-tag +(1,82): unexpected-end-tag +(1,87): unexpected-end-tag +(1,91): unexpected-cell-in-table-body +(1,91): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> + +#data +<table><select><option>3</select></table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,15): unexpected-start-tag-implies-table-voodoo +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| "3" +| <table> + +#data +<table><select><table></table></select></table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,15): unexpected-start-tag-implies-table-voodoo +(1,22): unexpected-table-element-start-tag-in-select-in-table +(1,22): unexpected-start-tag-implies-end-tag +(1,39): unexpected-end-tag +(1,47): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <select> +| <table> +| <table> + +#data +<table><select></table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,15): unexpected-start-tag-implies-table-voodoo +(1,23): unexpected-table-element-end-tag-in-select-in-table +#document +| <html> +| <head> +| <body> +| <select> +| <table> + +#data +<table><select><option>A<tr><td>B</td></tr></table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,15): unexpected-start-tag-implies-table-voodoo +(1,28): unexpected-table-element-start-tag-in-select-in-table +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| "A" +| <table> +| <tbody> +| <tr> +| <td> +| "B" + +#data +<table><td></body></caption></col></colgroup></html>foo +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,18): unexpected-end-tag +(1,28): unexpected-end-tag +(1,34): unexpected-end-tag +(1,45): unexpected-end-tag +(1,52): unexpected-end-tag +(1,55): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| "foo" + +#data +<table><td>A</table>B +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| "A" +| "B" + +#data +<table><tr><caption> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,20): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <caption> + +#data +<table><tr></body></caption></col></colgroup></html></td></th><td>foo +#errors +(1,7): expected-doctype-but-got-start-tag +(1,18): unexpected-end-tag-in-table-row +(1,28): unexpected-end-tag-in-table-row +(1,34): unexpected-end-tag-in-table-row +(1,45): unexpected-end-tag-in-table-row +(1,52): unexpected-end-tag-in-table-row +(1,57): unexpected-end-tag-in-table-row +(1,62): unexpected-end-tag-in-table-row +(1,69): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| "foo" + +#data +<table><td><tr> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,15): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <tr> + +#data +<table><td><button><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,23): unexpected-cell-end-tag +(1,23): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <button> +| <td> + +#data +<table><tr><td><svg><desc><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,30): unexpected-cell-end-tag +(1,30): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| <svg desc> +| <td> diff --git a/tests/html5lib-tests/tree-construction/template.dat b/tests/html5lib-tests/tree-construction/template.dat new file mode 100644 index 0000000..2d97183 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/template.dat @@ -0,0 +1,1613 @@ +#data +<body><template>Hello</template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| "Hello" + +#data +<template>Hello</template> +#errors +no doctype +#document +| <html> +| <head> +| <template> +| content +| "Hello" +| <body> + +#data +<template></template><div></div> +#errors +no doctype +#document +| <html> +| <head> +| <template> +| content +| <body> +| <div> + +#data +<html><template>Hello</template> +#errors +no doctype +#document +| <html> +| <head> +| <template> +| content +| "Hello" +| <body> + +#data +<head><template><div></div></template></head> +#errors +no doctype +#document +| <html> +| <head> +| <template> +| content +| <div> +| <body> + +#data +<div><template><div><span></template><b> +#errors + * (1,6) missing DOCTYPE + * (1,38) mismatched template end tag + * (1,41) unexpected end of file +#document +| <html> +| <head> +| <body> +| <div> +| <template> +| content +| <div> +| <span> +| <b> + +#data +<div><template></div>Hello +#errors + * (1,6) missing DOCTYPE + * (1,22) unexpected token in template + * (1,27) unexpected end of file in template + * (1,27) unexpected end of file +#document +| <html> +| <head> +| <body> +| <div> +| <template> +| content +| "Hello" + +#data +<div></template></div> +#errors + * (1,6) missing DOCTYPE + * (1,17) unexpected template end tag +#document +| <html> +| <head> +| <body> +| <div> + +#data +<table><template></template></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content + +#data +<table><template></template></div> +#errors + * (1,8) missing DOCTYPE + * (1,35) unexpected token in table - foster parenting + * (1,35) unexpected end tag + * (1,35) unexpected end of file +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content + +#data +<table><div><template></template></div> +#errors + * (1,8) missing DOCTYPE + * (1,13) unexpected token in table - foster parenting + * (1,40) unexpected token in table - foster parenting + * (1,40) unexpected end of file +#document +| <html> +| <head> +| <body> +| <div> +| <template> +| content +| <table> + +#data +<table><template></template><div></div> +#errors +no doctype +bad div in table +bad /div in table +eof in table +#document +| <html> +| <head> +| <body> +| <div> +| <table> +| <template> +| content + +#data +<table> <template></template></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| " " +| <template> +| content + +#data +<table><tbody><template></template></tbody> +#errors +no doctype +eof in table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <template> +| content + +#data +<table><tbody><template></tbody></template> +#errors +no doctype +bad /tbody +eof in table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <template> +| content + +#data +<table><tbody><template></template></tbody></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <template> +| content + +#data +<table><thead><template></template></thead> +#errors +no doctype +eof in table +#document +| <html> +| <head> +| <body> +| <table> +| <thead> +| <template> +| content + +#data +<table><tfoot><template></template></tfoot> +#errors +no doctype +eof in table +#document +| <html> +| <head> +| <body> +| <table> +| <tfoot> +| <template> +| content + +#data +<select><template></template></select> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <select> +| <template> +| content + +#data +<select><template><option></option></template></select> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <select> +| <template> +| content +| <option> + +#data +<template><option></option></select><option></option></template> +#errors +no doctype +bad /select +#document +| <html> +| <head> +| <template> +| content +| <option> +| <option> +| <body> + +#data +<select><template></template><option></select> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <select> +| <template> +| content +| <option> + +#data +<select><option><template></template></select> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| <template> +| content + +#data +<select><template> +#errors +no doctype +eof in template +eof in select +#document +| <html> +| <head> +| <body> +| <select> +| <template> +| content + +#data +<select><option></option><template> +#errors +no doctype +eof in template +eof in select +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| <template> +| content + +#data +<select><option></option><template><option> +#errors +no doctype +eof in template +eof in select +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| <template> +| content +| <option> + +#data +<table><thead><template><td></template></table> +#errors + * (1,8) missing DOCTYPE +#document +| <html> +| <head> +| <body> +| <table> +| <thead> +| <template> +| content +| <td> + +#data +<table><template><thead></template></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content +| <thead> + +#data +<body><table><template><td></tr><div></template></table> +#errors +no doctype +bad </tr> +missing </div> +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content +| <td> +| <div> + +#data +<table><template><thead></template></thead></table> +#errors +no doctype +bad /thead after /template +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content +| <thead> + +#data +<table><thead><template><tr></template></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| <thead> +| <template> +| content +| <tr> + +#data +<table><template><tr></template></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content +| <tr> + +#data +<table><tr><template><td> +#errors +no doctype +eof in template +eof in table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <template> +| content +| <td> + +#data +<table><template><tr><template><td></template></tr></template></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content +| <tr> +| <template> +| content +| <td> + +#data +<table><template><tr><template><td></td></template></tr></template></table> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content +| <tr> +| <template> +| content +| <td> + +#data +<table><template><td></template> +#errors +no doctype +eof in table +#document +| <html> +| <head> +| <body> +| <table> +| <template> +| content +| <td> + +#data +<body><template><td></td></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <td> + +#data +<body><template><template><tr></tr></template><td></td></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <template> +| content +| <tr> +| <td> + +#data +<table><colgroup><template><col> +#errors +no doctype +eof in template +eof in table +#document +| <html> +| <head> +| <body> +| <table> +| <colgroup> +| <template> +| content +| <col> + +#data +<frameset><template><frame></frame></template></frameset> +#errors + * (1,11) missing DOCTYPE + * (1,21) unexpected start tag token + * (1,36) unexpected end tag token + * (1,47) unexpected end tag token +#document +| <html> +| <head> +| <frameset> +| <frame> + +#data +<template><frame></frame></frameset><frame></frame></template> +#errors + * (1,11) missing DOCTYPE + * (1,18) unexpected start tag + * (1,26) unexpected end tag + * (1,37) unexpected end tag + * (1,44) unexpected start tag + * (1,52) unexpected end tag +#document +| <html> +| <head> +| <template> +| content +| <body> + +#data +<template><div><frameset><span></span></div><span></span></template> +#errors +no doctype +bad frameset +#document +| <html> +| <head> +| <template> +| content +| <div> +| <span> +| <span> +| <body> + +#data +<body><template><div><frameset><span></span></div><span></span></template></body> +#errors +no doctype +bad frameset +#document +| <html> +| <head> +| <body> +| <template> +| content +| <div> +| <span> +| <span> + +#data +<body><template><script>var i = 1;</script><td></td></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <script> +| "var i = 1;" +| <td> + +#data +<body><template><tr><div></div></tr></template> +#errors +no doctype +foster-parented div +foster-parented /div +#document +| <html> +| <head> +| <body> +| <template> +| content +| <tr> +| <div> + +#data +<body><template><tr></tr><td></td></template> +#errors +no doctype +unexpected <td> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <tr> +| <tr> +| <td> + +#data +<body><template><td></td></tr><td></td></template> +#errors +no doctype +bad </tr> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <td> +| <td> + +#data +<body><template><td></td><tbody><td></td></template> +#errors +no doctype +bad <tbody> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <td> +| <td> + +#data +<body><template><td></td><caption></caption><td></td></template> +#errors + * (1,7) missing DOCTYPE + * (1,35) unexpected start tag in table row + * (1,45) unexpected end tag in table row +#document +| <html> +| <head> +| <body> +| <template> +| content +| <td> +| <td> + +#data +<body><template><td></td><colgroup></caption><td></td></template> +#errors + * (1,7) missing DOCTYPE + * (1,36) unexpected start tag in table row + * (1,46) unexpected end tag in table row +#document +| <html> +| <head> +| <body> +| <template> +| content +| <td> +| <td> + +#data +<body><template><td></td></table><td></td></template> +#errors +no doctype +bad </table> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <td> +| <td> + +#data +<body><template><tr></tr><tbody><tr></tr></template> +#errors +no doctype +bad <tbody> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <tr> +| <tr> + +#data +<body><template><tr></tr><caption><tr></tr></template> +#errors +no doctype +bad <caption> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <tr> +| <tr> + +#data +<body><template><tr></tr></table><tr></tr></template> +#errors +no doctype +bad </table> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <tr> +| <tr> + +#data +<body><template><thead></thead><caption></caption><tbody></tbody></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <thead> +| <caption> +| <tbody> + +#data +<body><template><thead></thead></table><tbody></tbody></template></body> +#errors +no doctype +bad </table> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <thead> +| <tbody> + +#data +<body><template><div><tr></tr></div></template> +#errors +no doctype +bad tr +bad /tr +#document +| <html> +| <head> +| <body> +| <template> +| content +| <div> + +#data +<body><template><em>Hello</em></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <em> +| "Hello" + +#data +<body><template><!--comment--></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <!-- comment --> + +#data +<body><template><style></style><td></td></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <style> +| <td> + +#data +<body><template><meta><td></td></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <meta> +| <td> + +#data +<body><template><link><td></td></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <link> +| <td> + +#data +<body><template><template><tr></tr></template><td></td></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <template> +| content +| <tr> +| <td> + +#data +<body><table><colgroup><template><col></col></template></colgroup></table></body> +#errors +no doctype +bad /col +#document +| <html> +| <head> +| <body> +| <table> +| <colgroup> +| <template> +| content +| <col> + +#data +<body a=b><template><div></div><body c=d><div></div></body></template></body> +#errors +no doctype +bad <body> +bad </body> +#document +| <html> +| <head> +| <body> +| a="b" +| <template> +| content +| <div> +| <div> + +#data +<html a=b><template><div><html b=c><span></template> +#errors +no doctype +bad <html> +missing end tags in template +#document +| <html> +| a="b" +| <head> +| <template> +| content +| <div> +| <span> +| <body> + +#data +<html a=b><template><col></col><html b=c><col></col></template> +#errors +no doctype +bad /col +bad html +bad /col +#document +| <html> +| a="b" +| <head> +| <template> +| content +| <col> +| <col> +| <body> + +#data +<html a=b><template><frame></frame><html b=c><frame></frame></template> +#errors +no doctype +bad frame +bad /frame +bad html +bad frame +bad /frame +#document +| <html> +| a="b" +| <head> +| <template> +| content +| <body> + +#data +<body><template><tr></tr><template></template><td></td></template> +#errors +no doctype +unexpected <td> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <tr> +| <template> +| content +| <tr> +| <td> + +#data +<body><template><thead></thead><template><tr></tr></template><tr></tr><tfoot></tfoot></template> +#errors +no doctype +#document +| <html> +| <head> +| <body> +| <template> +| content +| <thead> +| <template> +| content +| <tr> +| <tbody> +| <tr> +| <tfoot> + +#data +<body><template><template><b><template></template></template>text</template> +#errors +no doctype +missing </b> +#document +| <html> +| <head> +| <body> +| <template> +| content +| <template> +| content +| <b> +| <template> +| content +| "text" + +#data +<body><template><col><colgroup> +#errors +no doctype +bad colgroup +eof in template +#document +| <html> +| <head> +| <body> +| <template> +| content +| <col> + +#data +<body><template><col></colgroup> +#errors +no doctype +bogus /colgroup +eof in template +#document +| <html> +| <head> +| <body> +| <template> +| content +| <col> + +#data +<body><template><col><colgroup></template></body> +#errors +no doctype +bad colgroup +#document +| <html> +| <head> +| <body> +| <template> +| content +| <col> + +#data +<body><template><col><div> +#errors + * (1,7) missing DOCTYPE + * (1,27) unexpected token + * (1,27) unexpected end of file in template +#document +| <html> +| <head> +| <body> +| <template> +| content +| <col> + +#data +<body><template><col></div> +#errors +no doctype +bad /div +eof in template +#document +| <html> +| <head> +| <body> +| <template> +| content +| <col> + +#data +<body><template><col>Hello +#errors +no doctype +(1,27): foster-parenting-character +(1,27): foster-parenting-character +(1,27): foster-parenting-character +(1,27): foster-parenting-character +(1,27): foster-parenting-character +eof in template +#document +| <html> +| <head> +| <body> +| <template> +| content +| <col> + +#data +<body><template><i><menu>Foo</i> +#errors +no doctype +mising /menu +eof in template +#document +| <html> +| <head> +| <body> +| <template> +| content +| <i> +| <menu> +| <i> +| "Foo" + +#data +<body><template></div><div>Foo</div><template></template><tr></tr> +#errors +no doctype +bogus /div +bogus tr +bogus /tr +eof in template +#document +| <html> +| <head> +| <body> +| <template> +| content +| <div> +| "Foo" +| <template> +| content + +#data +<body><div><template></div><tr><td>Foo</td></tr></template> +#errors + * (1,7) missing DOCTYPE + * (1,28) unexpected token in template + * (1,60) unexpected end of file +#document +| <html> +| <head> +| <body> +| <div> +| <template> +| content +| <tr> +| <td> +| "Foo" + +#data +<template></figcaption><sub><table></table> +#errors +no doctype +bad /figcaption +eof in template +#document +| <html> +| <head> +| <template> +| content +| <sub> +| <table> +| <body> + +#data +<template><template> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <body> + +#data +<template><div> +#errors +no doctype +eof in template +#document +| <html> +| <head> +| <template> +| content +| <div> +| <body> + +#data +<template><template><div> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <div> +| <body> + +#data +<template><template><table> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <table> +| <body> + +#data +<template><template><tbody> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <tbody> +| <body> + +#data +<template><template><tr> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <tr> +| <body> + +#data +<template><template><td> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <td> +| <body> + +#data +<template><template><caption> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <caption> +| <body> + +#data +<template><template><colgroup> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <colgroup> +| <body> + +#data +<template><template><col> +#errors +no doctype +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <col> +| <body> + +#data +<template><template><tbody><select> +#errors + * (1,11) missing DOCTYPE + * (1,36) unexpected token in table - foster parenting + * (1,36) unexpected end of file in template + * (1,36) unexpected end of file in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <tbody> +| <select> +| <body> + +#data +<template><template><table>Foo +#errors +no doctype +foster-parenting text F +foster-parenting text o +foster-parenting text o +eof +eof +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| "Foo" +| <table> +| <body> + +#data +<template><template><frame> +#errors +no doctype +bad tag +eof +eof +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <body> + +#data +<template><template><script>var i +#errors +no doctype +eof in script +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <script> +| "var i" +| <body> + +#data +<template><template><style>var i +#errors +no doctype +eof in style +eof in template +eof in template +#document +| <html> +| <head> +| <template> +| content +| <template> +| content +| <style> +| "var i" +| <body> + +#data +<template><table></template><body><span>Foo +#errors +no doctype +missing /table +bad eof +#document +| <html> +| <head> +| <template> +| content +| <table> +| <body> +| <span> +| "Foo" + +#data +<template><td></template><body><span>Foo +#errors +no doctype +bad eof +#document +| <html> +| <head> +| <template> +| content +| <td> +| <body> +| <span> +| "Foo" + +#data +<template><object></template><body><span>Foo +#errors +no doctype +missing /object +bad eof +#document +| <html> +| <head> +| <template> +| content +| <object> +| <body> +| <span> +| "Foo" + +#data +<template><svg><template> +#errors +no doctype +eof in template +#document +| <html> +| <head> +| <template> +| content +| <svg svg> +| <svg template> +| <body> + +#data +<template><svg><foo><template><foreignObject><div></template><div> +#errors +no doctype +ugly template closure +bad eof +#document +| <html> +| <head> +| <template> +| content +| <svg svg> +| <svg foo> +| <svg template> +| <svg foreignObject> +| <div> +| <body> +| <div> + +#data +<dummy><template><span></dummy> +#errors +no doctype +bad end tag </dummy> +eof in template +eof in dummy +#document +| <html> +| <head> +| <body> +| <dummy> +| <template> +| content +| <span> + +#data +<body><table><tr><td><select><template>Foo</template><caption>A</table> +#errors +no doctype +(1,62): unexpected-caption-in-select-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <select> +| <template> +| content +| "Foo" +| <caption> +| "A" + +#data +<body></body><template> +#errors +no doctype +(1,23): template-after-body +(1,24): eof-in-template +#document +| <html> +| <head> +| <body> +| <template> +| content + +#data +<head></head><template> +#errors +no doctype +(1,23): template-after-head +(1,24): eof-in-template +#document +| <html> +| <head> +| <template> +| content +| <body> + +#data +<head></head><template>Foo</template> +#errors +no doctype +(1,23): template-after-head +#document +| <html> +| <head> +| <template> +| content +| "Foo" +| <body> + +#data +<!DOCTYPE HTML><dummy><table><template><table><template><table><script> +#errors +eof script +eof template +eof template +eof table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dummy> +| <table> +| <template> +| content +| <table> +| <template> +| content +| <table> +| <script> + +#data +<template><a><table><a> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,23): foster-parenting-start-tag +(1,23): unexpected-start-tag +(1,23): formatting-element-not-in-scope +(1,24): eof-in-template +#document +| <html> +| <head> +| <template> +| content +| <a> +| <a> +| <table> +| <body> diff --git a/tests/html5lib-tests/tree-construction/tests1.dat b/tests/html5lib-tests/tree-construction/tests1.dat new file mode 100644 index 0000000..86632de --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests1.dat @@ -0,0 +1,1987 @@ +#data +Test +#errors +(1,0): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "Test" + +#data +<p>One<p>Two +#errors +(1,3): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <p> +| "One" +| <p> +| "Two" + +#data +Line1<br>Line2<br>Line3<br>Line4 +#errors +(1,0): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "Line1" +| <br> +| "Line2" +| <br> +| "Line3" +| <br> +| "Line4" + +#data +<html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<head> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<body> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><head> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><head></head> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><head></head><body> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><head></head><body></body> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><head><body></body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><head></body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><head><body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<html><body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +<head></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> + +#data +</head> +#errors +(1,7): expected-doctype-but-got-end-tag +#document +| <html> +| <head> +| <body> + +#data +</body> +#errors +(1,7): expected-doctype-but-got-end-tag element. +#document +| <html> +| <head> +| <body> + +#data +</html> +#errors +(1,7): expected-doctype-but-got-end-tag element. +#document +| <html> +| <head> +| <body> + +#data +<b><table><td><i></table> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,14): unexpected-cell-in-table-body +(1,25): unexpected-cell-end-tag +(1,25): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <table> +| <tbody> +| <tr> +| <td> +| <i> + +#data +<b><table><td></b><i></table>X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,14): unexpected-cell-in-table-body +(1,18): unexpected-end-tag +(1,29): unexpected-cell-end-tag +(1,30): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <table> +| <tbody> +| <tr> +| <td> +| <i> +| "X" + +#data +<h1>Hello<h2>World +#errors +(1,4): expected-doctype-but-got-start-tag +(1,13): unexpected-start-tag +(1,18): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <h1> +| "Hello" +| <h2> +| "World" + +#data +<a><p>X<a>Y</a>Z</p></a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,10): unexpected-start-tag-implies-end-tag +(1,10): adoption-agency-1.3 +(1,24): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <a> +| <p> +| <a> +| "X" +| <a> +| "Y" +| "Z" + +#data +<b><button>foo</b>bar +#errors +(1,3): expected-doctype-but-got-start-tag +(1,18): adoption-agency-1.3 +(1,21): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <button> +| <b> +| "foo" +| "bar" + +#data +<!DOCTYPE html><span><button>foo</span>bar +#errors +(1,39): unexpected-end-tag +(1,42): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <span> +| <button> +| "foobar" + +#data +<p><b><div><marquee></p></b></div>X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,11): unexpected-end-tag +(1,24): unexpected-end-tag +(1,28): unexpected-end-tag +(1,34): end-tag-too-early +(1,35): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <b> +| <div> +| <b> +| <marquee> +| <p> +| "X" + +#data +<script><div></script></div><title><p></title><p><p> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,28): unexpected-end-tag +#document +| <html> +| <head> +| <script> +| "<div>" +| <title> +| "<p>" +| <body> +| <p> +| <p> + +#data +<!--><div>--<!--> +#errors +(1,5): incorrect-comment +(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> +| <head> +| <body> +| <div> +| "--" +| <!-- --> + +#data +<p><hr></p> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,11): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <p> +| <hr> +| <p> + +#data +<select><b><option><select><option></b></select>X +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): unexpected-start-tag-in-select +(1,27): unexpected-select-in-select +(1,39): unexpected-end-tag +(1,48): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| <option> +| "X" + +#data +<a><table><td><a><table></table><a></tr><a></table><b>X</b>C<a>Y +#errors +(1,3): expected-doctype-but-got-start-tag +(1,14): unexpected-cell-in-table-body +(1,35): unexpected-start-tag-implies-end-tag +(1,40): unexpected-cell-end-tag +(1,43): unexpected-start-tag-implies-table-voodoo +(1,43): unexpected-start-tag-implies-end-tag +(1,43): unexpected-end-tag +(1,63): unexpected-start-tag-implies-end-tag +(1,64): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <a> +| <table> +| <tbody> +| <tr> +| <td> +| <a> +| <table> +| <a> +| <a> +| <b> +| "X" +| "C" +| <a> +| "Y" + +#data +<a X>0<b>1<a Y>2 +#errors +(1,5): expected-doctype-but-got-start-tag +(1,15): unexpected-start-tag-implies-end-tag +(1,15): adoption-agency-1.3 +(1,16): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| x="" +| "0" +| <b> +| "1" +| <b> +| <a> +| y="" +| "2" + +#data +<!-----><font><div>hello<table>excite!<b>me!<th><i>please!</tr><!--X--> +#errors +(1,14): expected-doctype-but-got-start-tag +(1,41): unexpected-start-tag-implies-table-voodoo +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): foster-parenting-character-in-table +(1,48): unexpected-cell-in-table-body +(1,63): unexpected-cell-end-tag +(1,71): eof-in-table +#document +| <!-- - --> +| <html> +| <head> +| <body> +| <font> +| <div> +| "helloexcite!" +| <b> +| "me!" +| <table> +| <tbody> +| <tr> +| <th> +| <i> +| "please!" +| <!-- X --> + +#data +<!DOCTYPE html><li>hello<li>world<ul>how<li>do</ul>you</body><!--do--> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <li> +| "hello" +| <li> +| "world" +| <ul> +| "how" +| <li> +| "do" +| "you" +| <!-- do --> + +#data +<!DOCTYPE html>A<option>B<optgroup>C<select>D</option>E +#errors +(1,54): unexpected-end-tag-in-select +(1,55): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "A" +| <option> +| "B" +| <optgroup> +| "C" +| <select> +| "DE" + +#data +< +#errors +(1,1): expected-tag-name +(1,1): expected-doctype-but-got-chars +#new-errors +(1:2) eof-before-tag-name +#document +| <html> +| <head> +| <body> +| "<" + +#data +<# +#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> +| <body> +| "<#" + +#data +</ +#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> +| <body> +| "</" + +#data +</# +#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> +| <head> +| <body> + +#data +<? +#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> +| <head> +| <body> + +#data +<?# +#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> +| <head> +| <body> + +#data +<! +#errors +(1,2): expected-dashes-or-doctype +(1,2): expected-doctype-but-got-eof +#new-errors +(1:3) incorrectly-opened-comment +#document +| <!-- --> +| <html> +| <head> +| <body> + +#data +<!# +#errors +(1,2): expected-dashes-or-doctype +(1,3): expected-doctype-but-got-eof +#new-errors +(1:3) incorrectly-opened-comment +#document +| <!-- # --> +| <html> +| <head> +| <body> + +#data +<?COMMENT?> +#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> +| <head> +| <body> + +#data +<!COMMENT> +#errors +(1,2): expected-dashes-or-doctype +(1,10): expected-doctype-but-got-eof +#new-errors +(1:3) incorrectly-opened-comment +#document +| <!-- COMMENT --> +| <html> +| <head> +| <body> + +#data +</ COMMENT > +#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> +| <head> +| <body> + +#data +<?COM--MENT?> +#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> +| <head> +| <body> + +#data +<!COM--MENT> +#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> +| <head> +| <body> + +#data +</ COM--MENT > +#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> +| <head> +| <body> + +#data +<!DOCTYPE html><style> EOF +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| " EOF" +| <body> + +#data +<!DOCTYPE html><script> <!-- </script> --> </script> EOF +#errors +(1,52): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| " <!-- " +| " " +| <body> +| "--> EOF" + +#data +<b><p></b>TEST +#errors +(1,3): expected-doctype-but-got-start-tag +(1,10): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <b> +| <p> +| <b> +| "TEST" + +#data +<p id=a><b><p id=b></b>TEST +#errors +(1,8): expected-doctype-but-got-start-tag +(1,19): unexpected-end-tag +(1,23): adoption-agency-1.2 +#document +| <html> +| <head> +| <body> +| <p> +| id="a" +| <b> +| <p> +| id="b" +| "TEST" + +#data +<b id=a><p><b id=b></p></b>TEST +#errors +(1,8): expected-doctype-but-got-start-tag +(1,23): unexpected-end-tag +(1,27): adoption-agency-1.2 +(1,31): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| id="a" +| <p> +| <b> +| id="b" +| "TEST" + +#data +<!DOCTYPE html><title>U-test</title><body><div><p>Test<u></p></div></body> +#errors +(1,61): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "U-test" +| <body> +| <div> +| <p> +| "Test" +| <u> + +#data +<!DOCTYPE html><font><table></font></table></font> +#errors +(1,35): unexpected-end-tag-implies-table-voodoo +(1,35): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <font> +| <table> + +#data +<font><p>hello<b>cruel</font>world +#errors +(1,6): expected-doctype-but-got-start-tag +(1,29): adoption-agency-1.3 +(1,29): adoption-agency-1.3 +(1,34): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <font> +| <p> +| <font> +| "hello" +| <b> +| "cruel" +| <b> +| "world" + +#data +<b>Test</i>Test +#errors +(1,3): expected-doctype-but-got-start-tag +(1,11): unexpected-end-tag +(1,15): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| "TestTest" + +#data +<b>A<cite>B<div>C +#errors +(1,3): expected-doctype-but-got-start-tag +(1,17): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| "A" +| <cite> +| "B" +| <div> +| "C" + +#data +<b>A<cite>B<div>C</cite>D +#errors +(1,3): expected-doctype-but-got-start-tag +(1,24): unexpected-end-tag +(1,25): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| "A" +| <cite> +| "B" +| <div> +| "CD" + +#data +<b>A<cite>B<div>C</b>D +#errors +(1,3): expected-doctype-but-got-start-tag +(1,21): adoption-agency-1.3 +(1,22): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| "A" +| <cite> +| "B" +| <div> +| <b> +| "C" +| "D" + +#data + +#errors +(1,0): expected-doctype-but-got-eof +#document +| <html> +| <head> +| <body> + +#data +<DIV> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,5): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> + +#data +<DIV> abc +#errors +(1,5): expected-doctype-but-got-start-tag +(1,9): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc" + +#data +<DIV> abc <B> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,13): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> + +#data +<DIV> abc <B> def +#errors +(1,5): expected-doctype-but-got-start-tag +(1,17): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def" + +#data +<DIV> abc <B> def <I> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,21): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> + +#data +<DIV> abc <B> def <I> ghi +#errors +(1,5): expected-doctype-but-got-start-tag +(1,25): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi" + +#data +<DIV> abc <B> def <I> ghi <P> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,29): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <p> + +#data +<DIV> abc <B> def <I> ghi <P> jkl +#errors +(1,5): expected-doctype-but-got-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <p> +| " jkl" + +#data +<DIV> abc <B> def <I> ghi <P> jkl </B> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,38): adoption-agency-1.3 +(1,38): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <i> +| <p> +| <b> +| " jkl " + +#data +<DIV> abc <B> def <I> ghi <P> jkl </B> mno +#errors +(1,5): expected-doctype-but-got-start-tag +(1,38): adoption-agency-1.3 +(1,42): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <i> +| <p> +| <b> +| " jkl " +| " mno" + +#data +<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,38): adoption-agency-1.3 +(1,47): adoption-agency-1.3 +(1,47): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <i> +| <p> +| <i> +| <b> +| " jkl " +| " mno " + +#data +<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr +#errors +(1,5): expected-doctype-but-got-start-tag +(1,38): adoption-agency-1.3 +(1,47): adoption-agency-1.3 +(1,51): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <i> +| <p> +| <i> +| <b> +| " jkl " +| " mno " +| " pqr" + +#data +<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,38): adoption-agency-1.3 +(1,47): adoption-agency-1.3 +(1,56): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <i> +| <p> +| <i> +| <b> +| " jkl " +| " mno " +| " pqr " + +#data +<DIV> abc <B> def <I> ghi <P> jkl </B> mno </I> pqr </P> stu +#errors +(1,5): expected-doctype-but-got-start-tag +(1,38): adoption-agency-1.3 +(1,47): adoption-agency-1.3 +(1,60): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " abc " +| <b> +| " def " +| <i> +| " ghi " +| <i> +| <p> +| <i> +| <b> +| " jkl " +| " mno " +| " pqr " +| " stu" + +#data +<test attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +#errors +(1,1040): expected-doctype-but-got-start-tag +(1,1040): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <test> +| attribute----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------="" + +#data +<a href="blah">aba<table><a href="foo">br<tr><td></td></tr>x</table>aoe +#errors +(1,15): expected-doctype-but-got-start-tag +(1,39): unexpected-start-tag-implies-table-voodoo +(1,39): unexpected-start-tag-implies-end-tag +(1,39): unexpected-end-tag +(1,45): foster-parenting-character-in-table +(1,45): foster-parenting-character-in-table +(1,68): foster-parenting-character-in-table +(1,71): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| href="blah" +| "aba" +| <a> +| href="foo" +| "br" +| <a> +| href="foo" +| "x" +| <table> +| <tbody> +| <tr> +| <td> +| <a> +| href="foo" +| "aoe" + +#data +<a href="blah">aba<table><tr><td><a href="foo">br</td></tr>x</table>aoe +#errors +(1,15): expected-doctype-but-got-start-tag +(1,54): unexpected-cell-end-tag +(1,68): unexpected text in table +(1,71): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| href="blah" +| "abax" +| <table> +| <tbody> +| <tr> +| <td> +| <a> +| href="foo" +| "br" +| "aoe" + +#data +<table><a href="blah">aba<tr><td><a href="foo">br</td></tr>x</table>aoe +#errors +(1,7): expected-doctype-but-got-start-tag +(1,22): unexpected-start-tag-implies-table-voodoo +(1,29): foster-parenting-character-in-table +(1,29): foster-parenting-character-in-table +(1,29): foster-parenting-character-in-table +(1,54): unexpected-cell-end-tag +(1,68): foster-parenting-character-in-table +(1,71): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| href="blah" +| "aba" +| <a> +| href="blah" +| "x" +| <table> +| <tbody> +| <tr> +| <td> +| <a> +| href="foo" +| "br" +| <a> +| href="blah" +| "aoe" + +#data +<a href=a>aa<marquee>aa<a href=b>bb</marquee>aa +#errors +(1,10): expected-doctype-but-got-start-tag +(1,45): end-tag-too-early +(1,47): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| href="a" +| "aa" +| <marquee> +| "aa" +| <a> +| href="b" +| "bb" +| "aa" + +#data +<wbr><strike><code></strike><code><strike></code> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,28): adoption-agency-1.3 +(1,49): adoption-agency-1.3 +(1,49): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <wbr> +| <strike> +| <code> +| <code> +| <code> +| <strike> + +#data +<!DOCTYPE html><spacer>foo +#errors +(1,26): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <spacer> +| "foo" + +#data +<title><meta></title><link><title><meta></title> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <title> +| "<meta>" +| <link> +| <title> +| "<meta>" +| <body> + +#data +<style><!--</style><meta><script>--><link></script> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "<!--" +| <meta> +| <script> +| "--><link>" +| <body> + +#data +<head><meta></head><link> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,25): unexpected-start-tag-out-of-my-head +#document +| <html> +| <head> +| <meta> +| <link> +| <body> + +#data +<table><tr><tr><td><td><span><th><span>X</table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,33): unexpected-cell-end-tag +(1,48): unexpected-cell-end-tag +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <tr> +| <td> +| <td> +| <span> +| <th> +| <span> +| "X" + +#data +<body><body><base><link><meta><title><p></title><body><p></body> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,12): unexpected-start-tag +(1,54): unexpected-start-tag +#document +| <html> +| <head> +| <body> +| <base> +| <link> +| <meta> +| <title> +| "<p>" +| <p> + +#data +<textarea><p></textarea> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| "<p>" + +#data +<p><image></p> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,10): unexpected-start-tag-treated-as +#document +| <html> +| <head> +| <body> +| <p> +| <img> + +#data +<a><table><a></table><p><a><div><a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,13): unexpected-start-tag-implies-table-voodoo +(1,13): unexpected-start-tag-implies-end-tag +(1,13): adoption-agency-1.3 +(1,27): unexpected-start-tag-implies-end-tag +(1,27): adoption-agency-1.2 +(1,32): unexpected-end-tag +(1,35): unexpected-start-tag-implies-end-tag +(1,35): adoption-agency-1.2 +(1,35): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <a> +| <table> +| <p> +| <a> +| <div> +| <a> + +#data +<head></p><meta><p> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,10): unexpected-end-tag +#document +| <html> +| <head> +| <meta> +| <body> +| <p> + +#data +<head></html><meta><p> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,19): expected-eof-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <meta> +| <p> + +#data +<b><table><td><i></table> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,14): unexpected-cell-in-table-body +(1,25): unexpected-cell-end-tag +(1,25): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <table> +| <tbody> +| <tr> +| <td> +| <i> + +#data +<b><table><td></b><i></table> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,14): unexpected-cell-in-table-body +(1,18): unexpected-end-tag +(1,29): unexpected-cell-end-tag +(1,29): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <table> +| <tbody> +| <tr> +| <td> +| <i> + +#data +<h1><h2> +#errors +(1,4): expected-doctype-but-got-start-tag +(1,8): unexpected-start-tag +(1,8): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <h1> +| <h2> + +#data +<a><p><a></a></p></a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,9): unexpected-start-tag-implies-end-tag +(1,9): adoption-agency-1.3 +(1,21): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <a> +| <p> +| <a> +| <a> + +#data +<b><button></b></button></b> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,15): adoption-agency-1.3 +(1,28): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <b> +| <button> +| <b> + +#data +<p><b><div><marquee></p></b></div> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,11): unexpected-end-tag +(1,24): unexpected-end-tag +(1,28): unexpected-end-tag +(1,34): end-tag-too-early +(1,34): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <b> +| <div> +| <b> +| <marquee> +| <p> + +#data +<script></script></div><title></title><p><p> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,23): unexpected-end-tag +#document +| <html> +| <head> +| <script> +| <title> +| <body> +| <p> +| <p> + +#data +<p><hr></p> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,11): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <p> +| <hr> +| <p> + +#data +<select><b><option><select><option></b></select> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): unexpected-start-tag-in-select +(1,27): unexpected-select-in-select +(1,39): unexpected-end-tag +(1,48): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| <option> + +#data +<html><head><title></title><body></body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <title> +| <body> + +#data +<a><table><td><a><table></table><a></tr><a></table><a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,14): unexpected-cell-in-table-body +(1,35): unexpected-start-tag-implies-end-tag +(1,40): unexpected-cell-end-tag +(1,43): unexpected-start-tag-implies-table-voodoo +(1,43): unexpected-start-tag-implies-end-tag +(1,43): unexpected-end-tag +(1,54): unexpected-start-tag-implies-end-tag +(1,54): adoption-agency-1.2 +(1,54): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <a> +| <table> +| <tbody> +| <tr> +| <td> +| <a> +| <table> +| <a> +| <a> + +#data +<ul><li></li><div><li></div><li><li><div><li><address><li><b><em></b><li></ul> +#errors +(1,4): expected-doctype-but-got-start-tag +(1,45): end-tag-too-early +(1,58): end-tag-too-early +(1,69): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <ul> +| <li> +| <div> +| <li> +| <li> +| <li> +| <div> +| <li> +| <address> +| <li> +| <b> +| <em> +| <li> + +#data +<ul><li><ul></li><li>a</li></ul></li></ul> +#errors +(1,4): expected-doctype-but-got-start-tag +(1,17): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <ul> +| <li> +| <ul> +| <li> +| "a" + +#data +<frameset><frame><frameset><frame></frameset><noframes></noframes></frameset> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <frameset> +| <frame> +| <frameset> +| <frame> +| <noframes> + +#data +<h1><table><td><h3></table><h3></h1> +#errors +(1,4): expected-doctype-but-got-start-tag +(1,15): unexpected-cell-in-table-body +(1,27): unexpected-cell-end-tag +(1,31): unexpected-start-tag +(1,36): end-tag-too-early +#document +| <html> +| <head> +| <body> +| <h1> +| <table> +| <tbody> +| <tr> +| <td> +| <h3> +| <h3> + +#data +<table><colgroup><col><colgroup><col><col><col><colgroup><col><col><thead><tr><td></table> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <table> +| <colgroup> +| <col> +| <colgroup> +| <col> +| <col> +| <col> +| <colgroup> +| <col> +| <col> +| <thead> +| <tr> +| <td> + +#data +<table><col><tbody><col><tr><col><td><col></table><col> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,37): unexpected-cell-in-table-body +(1,55): unexpected-start-tag-ignored +#document +| <html> +| <head> +| <body> +| <table> +| <colgroup> +| <col> +| <tbody> +| <colgroup> +| <col> +| <tbody> +| <tr> +| <colgroup> +| <col> +| <tbody> +| <tr> +| <td> +| <colgroup> +| <col> + +#data +<table><colgroup><tbody><colgroup><tr><colgroup><td><colgroup></table><colgroup> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,52): unexpected-cell-in-table-body +(1,80): unexpected-start-tag-ignored +#document +| <html> +| <head> +| <body> +| <table> +| <colgroup> +| <tbody> +| <colgroup> +| <tbody> +| <tr> +| <colgroup> +| <tbody> +| <tr> +| <td> +| <colgroup> + +#data +</strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea> +#errors +(1,9): expected-doctype-but-got-end-tag +(1,9): unexpected-end-tag-before-html +(1,13): unexpected-end-tag-before-html +(1,18): unexpected-end-tag-before-html +(1,22): unexpected-end-tag-before-html +(1,26): unexpected-end-tag-before-html +(1,35): unexpected-end-tag-before-html +(1,39): unexpected-end-tag-before-html +(1,47): unexpected-end-tag-before-html +(1,52): unexpected-end-tag-before-html +(1,58): unexpected-end-tag-before-html +(1,64): unexpected-end-tag-before-html +(1,72): unexpected-end-tag-before-html +(1,79): unexpected-end-tag-before-html +(1,88): unexpected-end-tag-before-html +(1,93): unexpected-end-tag-before-html +(1,98): unexpected-end-tag-before-html +(1,103): unexpected-end-tag-before-html +(1,108): unexpected-end-tag-before-html +(1,113): unexpected-end-tag-before-html +(1,118): unexpected-end-tag-before-html +(1,130): unexpected-end-tag-after-body +(1,130): unexpected-end-tag-treated-as +(1,134): unexpected-end-tag +(1,140): unexpected-end-tag +(1,148): unexpected-end-tag +(1,155): unexpected-end-tag +(1,163): unexpected-end-tag +(1,172): unexpected-end-tag +(1,180): unexpected-end-tag +(1,185): unexpected-end-tag +(1,190): unexpected-end-tag +(1,195): unexpected-end-tag +(1,203): unexpected-end-tag +(1,210): unexpected-end-tag +(1,217): unexpected-end-tag +(1,225): unexpected-end-tag +(1,230): unexpected-end-tag +(1,238): unexpected-end-tag +(1,244): unexpected-end-tag +(1,251): unexpected-end-tag +(1,258): unexpected-end-tag +(1,269): unexpected-end-tag +(1,279): unexpected-end-tag +(1,287): unexpected-end-tag +(1,296): unexpected-end-tag +(1,300): unexpected-end-tag +(1,305): unexpected-end-tag +(1,310): unexpected-end-tag +(1,320): unexpected-end-tag +(1,331): unexpected-end-tag +(1,339): unexpected-end-tag +(1,347): unexpected-end-tag +(1,355): unexpected-end-tag +(1,365): end-tag-too-early +(1,378): end-tag-too-early +(1,387): end-tag-too-early +(1,393): end-tag-too-early +(1,399): end-tag-too-early +(1,404): end-tag-too-early +(1,415): end-tag-too-early +(1,425): end-tag-too-early +(1,432): end-tag-too-early +(1,437): end-tag-too-early +(1,442): end-tag-too-early +(1,447): unexpected-end-tag +(1,454): unexpected-end-tag +(1,460): unexpected-end-tag +(1,467): unexpected-end-tag +(1,476): end-tag-too-early +(1,486): end-tag-too-early +(1,495): end-tag-too-early +(1,513): expected-eof-but-got-end-tag +(1,513): unexpected-end-tag +(1,520): unexpected-end-tag +(1,529): unexpected-end-tag +(1,537): unexpected-end-tag +(1,547): unexpected-end-tag +(1,557): unexpected-end-tag +(1,568): unexpected-end-tag +(1,579): unexpected-end-tag +(1,590): unexpected-end-tag +(1,599): unexpected-end-tag +(1,611): unexpected-end-tag +(1,622): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <br> +| <p> + +#data +<table><tr></strong></b></em></i></u></strike></s></blink></tt></pre></big></small></font></select></h1></h2></h3></h4></h5></h6></body></br></a></img></title></span></style></script></table></th></td></tr></frame></area></link></param></hr></input></col></base></meta></basefont></bgsound></embed></spacer></p></dd></dt></caption></colgroup></tbody></tfoot></thead></address></blockquote></center></dir></div></dl></fieldset></listing></menu></ol></ul></li></nobr></wbr></form></button></marquee></object></html></frameset></head></iframe></image></isindex></noembed></noframes></noscript></optgroup></option></plaintext></textarea> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,20): unexpected-end-tag-implies-table-voodoo +(1,20): unexpected-end-tag +(1,24): unexpected-end-tag-implies-table-voodoo +(1,24): unexpected-end-tag +(1,29): unexpected-end-tag-implies-table-voodoo +(1,29): unexpected-end-tag +(1,33): unexpected-end-tag-implies-table-voodoo +(1,33): unexpected-end-tag +(1,37): unexpected-end-tag-implies-table-voodoo +(1,37): unexpected-end-tag +(1,46): unexpected-end-tag-implies-table-voodoo +(1,46): unexpected-end-tag +(1,50): unexpected-end-tag-implies-table-voodoo +(1,50): unexpected-end-tag +(1,58): unexpected-end-tag-implies-table-voodoo +(1,58): unexpected-end-tag +(1,63): unexpected-end-tag-implies-table-voodoo +(1,63): unexpected-end-tag +(1,69): unexpected-end-tag-implies-table-voodoo +(1,69): end-tag-too-early +(1,75): unexpected-end-tag-implies-table-voodoo +(1,75): unexpected-end-tag +(1,83): unexpected-end-tag-implies-table-voodoo +(1,83): unexpected-end-tag +(1,90): unexpected-end-tag-implies-table-voodoo +(1,90): unexpected-end-tag +(1,99): unexpected-end-tag-implies-table-voodoo +(1,99): unexpected-end-tag +(1,104): unexpected-end-tag-implies-table-voodoo +(1,104): end-tag-too-early +(1,109): unexpected-end-tag-implies-table-voodoo +(1,109): end-tag-too-early +(1,114): unexpected-end-tag-implies-table-voodoo +(1,114): end-tag-too-early +(1,119): unexpected-end-tag-implies-table-voodoo +(1,119): end-tag-too-early +(1,124): unexpected-end-tag-implies-table-voodoo +(1,124): end-tag-too-early +(1,129): unexpected-end-tag-implies-table-voodoo +(1,129): end-tag-too-early +(1,136): unexpected-end-tag-in-table-row +(1,141): unexpected-end-tag-implies-table-voodoo +(1,141): unexpected-end-tag-treated-as +(1,145): unexpected-end-tag-implies-table-voodoo +(1,145): unexpected-end-tag +(1,151): unexpected-end-tag-implies-table-voodoo +(1,151): unexpected-end-tag +(1,159): unexpected-end-tag-implies-table-voodoo +(1,159): unexpected-end-tag +(1,166): unexpected-end-tag-implies-table-voodoo +(1,166): unexpected-end-tag +(1,174): unexpected-end-tag-implies-table-voodoo +(1,174): unexpected-end-tag +(1,183): unexpected-end-tag-implies-table-voodoo +(1,183): unexpected-end-tag +(1,196): unexpected-end-tag +(1,201): unexpected-end-tag +(1,206): unexpected-end-tag +(1,214): unexpected-end-tag +(1,221): unexpected-end-tag +(1,228): unexpected-end-tag +(1,236): unexpected-end-tag +(1,241): unexpected-end-tag +(1,249): unexpected-end-tag +(1,255): unexpected-end-tag +(1,262): unexpected-end-tag +(1,269): unexpected-end-tag +(1,280): unexpected-end-tag +(1,290): unexpected-end-tag +(1,298): unexpected-end-tag +(1,307): unexpected-end-tag +(1,311): unexpected-end-tag +(1,316): unexpected-end-tag +(1,321): unexpected-end-tag +(1,331): unexpected-end-tag +(1,342): unexpected-end-tag +(1,350): unexpected-end-tag +(1,358): unexpected-end-tag +(1,366): unexpected-end-tag +(1,376): end-tag-too-early +(1,389): end-tag-too-early +(1,398): end-tag-too-early +(1,404): end-tag-too-early +(1,410): end-tag-too-early +(1,415): end-tag-too-early +(1,426): end-tag-too-early +(1,436): end-tag-too-early +(1,443): end-tag-too-early +(1,448): end-tag-too-early +(1,453): end-tag-too-early +(1,458): unexpected-end-tag +(1,465): unexpected-end-tag +(1,471): unexpected-end-tag +(1,478): unexpected-end-tag +(1,487): end-tag-too-early +(1,497): end-tag-too-early +(1,506): end-tag-too-early +(1,524): expected-eof-but-got-end-tag +(1,524): unexpected-end-tag +(1,531): unexpected-end-tag +(1,540): unexpected-end-tag +(1,548): unexpected-end-tag +(1,558): unexpected-end-tag +(1,568): unexpected-end-tag +(1,579): unexpected-end-tag +(1,590): unexpected-end-tag +(1,601): unexpected-end-tag +(1,610): unexpected-end-tag +(1,622): unexpected-end-tag +(1,633): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <br> +| <table> +| <tbody> +| <tr> +| <p> + +#data +<frameset> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,10): eof-in-frameset +#document +| <html> +| <head> +| <frameset> diff --git a/tests/html5lib-tests/tree-construction/tests10.dat b/tests/html5lib-tests/tree-construction/tests10.dat new file mode 100644 index 0000000..f84e2d5 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests10.dat @@ -0,0 +1,849 @@ +#data +<!DOCTYPE html><svg></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> + +#data +<!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> +| <head> +| <body> +| <svg svg> +| <!-- [CDATA[a]] --> + +#data +<!DOCTYPE html><body><svg></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> + +#data +<!DOCTYPE html><body><select><svg></svg></select> +#errors +(1,34) unexpected-start-tag-in-select +(1,40) unexpected-end-tag-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!DOCTYPE html><body><select><option><svg></svg></option></select> +#errors +(1,42) unexpected-start-tag-in-select +(1,48) unexpected-end-tag-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> + +#data +<!DOCTYPE html><body><table><svg></svg></table> +#errors +(1,33) foster-parenting-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <table> + +#data +<!DOCTYPE html><body><table><svg><g>foo</g></svg></table> +#errors +(1,33) foster-parenting-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg g> +| "foo" +| <table> + +#data +<!DOCTYPE html><body><table><svg><g>foo</g><g>bar</g></svg></table> +#errors +(1,33) foster-parenting-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <table> + +#data +<!DOCTYPE html><body><table><tbody><svg><g>foo</g><g>bar</g></svg></tbody></table> +#errors +(1,40) foster-parenting-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <table> +| <tbody> + +#data +<!DOCTYPE html><body><table><tbody><tr><svg><g>foo</g><g>bar</g></svg></tr></tbody></table> +#errors +(1,44) foster-parenting-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <table> +| <tbody> +| <tr> + +#data +<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg></td></tr></tbody></table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" + +#data +<!DOCTYPE html><body><table><tbody><tr><td><svg><g>foo</g><g>bar</g></svg><p>baz</td></tr></tbody></table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g></svg><p>baz</caption></table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g><p>baz</table><p>quux +#errors +(1,65) unexpected-html-element-in-foreign-content +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <p> +| "baz" +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><caption><svg><g>foo</g><g>bar</g>baz</table><p>quux +#errors +(1,73) unexpected-end-tag +(1,73) expected-one-end-tag-but-got-another +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| "baz" +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><colgroup><svg><g>foo</g><g>bar</g><p>baz</table><p>quux +#errors +(1,43) foster-parenting-start-tag svg +(1,66) unexpected HTML-like start tag token in foreign content +(1,66) foster-parenting-start-tag +(1,67) foster-parenting-character +(1,68) foster-parenting-character +(1,69) foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <p> +| "baz" +| <table> +| <colgroup> +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><tr><td><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux +#errors +(1,49) unexpected-start-tag-in-select +(1,52) unexpected-start-tag-in-select +(1,59) unexpected-end-tag-in-select +(1,62) unexpected-start-tag-in-select +(1,69) unexpected-end-tag-in-select +(1,72) unexpected-start-tag-in-select +(1,83) unexpected-table-element-end-tag-in-select-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <select> +| "foobarbaz" +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><select><svg><g>foo</g><g>bar</g><p>baz</table><p>quux +#errors +(1,36) unexpected-start-tag-implies-table-voodoo +(1,41) unexpected-start-tag-in-select +(1,44) unexpected-start-tag-in-select +(1,51) unexpected-end-tag-in-select +(1,54) unexpected-start-tag-in-select +(1,61) unexpected-end-tag-in-select +(1,64) unexpected-start-tag-in-select +(1,75) unexpected-table-element-end-tag-in-select-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| "foobarbaz" +| <table> +| <p> +| "quux" + +#data +<!DOCTYPE html><body></body></html><svg><g>foo</g><g>bar</g><p>baz +#errors +(1,40) expected-eof-but-got-start-tag +(1,63) unexpected-html-element-in-foreign-content +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><body></body><svg><g>foo</g><g>bar</g><p>baz +#errors +(1,33) unexpected-start-tag-after-body +(1,56) unexpected-html-element-in-foreign-content +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg g> +| "foo" +| <svg g> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><frameset><svg><g></g><g></g><p><span> +#errors +(1,30) unexpected-start-tag-in-frameset +(1,33) unexpected-start-tag-in-frameset +(1,37) unexpected-end-tag-in-frameset +(1,40) unexpected-start-tag-in-frameset +(1,44) unexpected-end-tag-in-frameset +(1,47) unexpected-start-tag-in-frameset +(1,53) unexpected-start-tag-in-frameset +(1,53) eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!DOCTYPE html><frameset></frameset><svg><g></g><g></g><p><span> +#errors +(1,41) unexpected-start-tag-after-frameset +(1,44) unexpected-start-tag-after-frameset +(1,48) unexpected-end-tag-after-frameset +(1,51) unexpected-start-tag-after-frameset +(1,55) unexpected-end-tag-after-frameset +(1,58) unexpected-start-tag-after-frameset +(1,64) unexpected-start-tag-after-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!DOCTYPE html><body xlink:href=foo><svg xlink:href=foo></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| <svg svg> +| xlink href="foo" + +#data +<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo></g></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| xml:lang="en" +| <svg svg> +| <svg g> +| xlink href="foo" +| xml lang="en" + +#data +<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo /></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| xml:lang="en" +| <svg svg> +| <svg g> +| xlink href="foo" +| xml lang="en" + +#data +<!DOCTYPE html><body xlink:href=foo xml:lang=en><svg><g xml:lang=en xlink:href=foo />bar</svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| xml:lang="en" +| <svg svg> +| <svg g> +| xlink href="foo" +| xml lang="en" +| "bar" + +#data +<svg></path> +#errors +(1,5) expected-doctype-but-got-start-tag +(1,12) unexpected-end-tag +(1,12) unexpected-end-tag +(1,12) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> + +#data +<div><svg></div>a +#errors +(1,5) expected-doctype-but-got-start-tag +(1,16) unexpected-end-tag +(1,16) end-tag-too-early +#document +| <html> +| <head> +| <body> +| <div> +| <svg svg> +| "a" + +#data +<div><svg><path></div>a +#errors +(1,5) expected-doctype-but-got-start-tag +(1,22) unexpected-end-tag +(1,22) end-tag-too-early +#document +| <html> +| <head> +| <body> +| <div> +| <svg svg> +| <svg path> +| "a" + +#data +<div><svg><path></svg><path> +#errors +(1,5) expected-doctype-but-got-start-tag +(1,22) unexpected-end-tag +(1,28) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| <svg svg> +| <svg path> +| <path> + +#data +<div><svg><path><foreignObject><math></div>a +#errors +(1,5) expected-doctype-but-got-start-tag +(1,43) unexpected-end-tag +(1,43) end-tag-too-early +(1,44) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| <svg svg> +| <svg path> +| <svg foreignObject> +| <math math> +| "a" + +#data +<div><svg><path><foreignObject><p></div>a +#errors +(1,5) expected-doctype-but-got-start-tag +(1,40) end-tag-too-early +(1,41) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| <svg svg> +| <svg path> +| <svg foreignObject> +| <p> +| "a" + +#data +<!DOCTYPE html><svg><desc><div><svg><ul>a +#errors +(1,40) unexpected-html-element-in-foreign-content +(1,41) expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg desc> +| <div> +| <svg svg> +| <ul> +| "a" + +#data +<!DOCTYPE html><svg><desc><svg><ul>a +#errors +(1,35) unexpected-html-element-in-foreign-content +(1,36) expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg desc> +| <svg svg> +| <ul> +| "a" + +#data +<!DOCTYPE html><p><svg><desc><p> +#errors +(1,32) expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <svg svg> +| <svg desc> +| <p> + +#data +<!DOCTYPE html><p><svg><title><p> +#errors +(1,33) expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <svg svg> +| <svg title> +| <p> + +#data +<div><svg><path><foreignObject><p></foreignObject><p> +#errors +(1,5) expected-doctype-but-got-start-tag +(1,50) unexpected-end-tag +(1,53) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| <svg svg> +| <svg path> +| <svg foreignObject> +| <p> +| <p> + +#data +<math><mi><div><object><div><span></span></div></object></div></mi><mi> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,71) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| <div> +| <object> +| <div> +| <span> +| <math mi> + +#data +<math><mi><svg><foreignObject><div><div></div></div></foreignObject></svg></mi><mi> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,83) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| <svg svg> +| <svg foreignObject> +| <div> +| <div> +| <math mi> + +#data +<svg><script></script><path> +#errors +(1,5) expected-doctype-but-got-start-tag +(1,28) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| <svg script> +| <svg path> + +#data +<table><svg></svg><tr> +#errors +(1,7) expected-doctype-but-got-start-tag +(1,12) unexpected-start-tag-implies-table-voodoo +(1,22) eof-in-table +#document +| <html> +| <head> +| <body> +| <svg svg> +| <table> +| <tbody> +| <tr> + +#data +<math><mi><mglyph> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| <math mglyph> + +#data +<math><mi><malignmark> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| <math malignmark> + +#data +<math><mo><mglyph> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mo> +| <math mglyph> + +#data +<math><mo><malignmark> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mo> +| <math malignmark> + +#data +<math><mn><mglyph> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mn> +| <math mglyph> + +#data +<math><mn><malignmark> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mn> +| <math malignmark> + +#data +<math><ms><mglyph> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,18) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math ms> +| <math mglyph> + +#data +<math><ms><malignmark> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,22) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math ms> +| <math malignmark> + +#data +<math><mtext><mglyph> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,21) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mtext> +| <math mglyph> + +#data +<math><mtext><malignmark> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,25) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math mtext> +| <math malignmark> + +#data +<math><annotation-xml><svg></svg></annotation-xml><mi> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,54) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| <svg svg> +| <math mi> + +#data +<math><annotation-xml><svg><foreignObject><div><math><mi></mi></math><span></span></div></foreignObject><path></path></svg></annotation-xml><mi> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,144) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| <svg svg> +| <svg foreignObject> +| <div> +| <math math> +| <math mi> +| <span> +| <svg path> +| <math mi> + +#data +<math><annotation-xml><svg><foreignObject><math><mi><svg></svg></mi><mo></mo></math><span></span></foreignObject><path></path></svg></annotation-xml><mi> +#errors +(1,6) expected-doctype-but-got-start-tag +(1,153) expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| <svg svg> +| <svg foreignObject> +| <math math> +| <math mi> +| <svg svg> +| <math mo> +| <span> +| <svg path> +| <math mi> diff --git a/tests/html5lib-tests/tree-construction/tests11.dat b/tests/html5lib-tests/tree-construction/tests11.dat new file mode 100644 index 0000000..b9901e7 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests11.dat @@ -0,0 +1,523 @@ +#data +<!DOCTYPE html><body><svg attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| attributeName="" +| attributeType="" +| baseFrequency="" +| baseProfile="" +| calcMode="" +| clipPathUnits="" +| diffuseConstant="" +| edgeMode="" +| filterUnits="" +| glyphRef="" +| gradientTransform="" +| gradientUnits="" +| kernelMatrix="" +| kernelUnitLength="" +| keyPoints="" +| keySplines="" +| keyTimes="" +| lengthAdjust="" +| limitingConeAngle="" +| markerHeight="" +| markerUnits="" +| markerWidth="" +| maskContentUnits="" +| maskUnits="" +| numOctaves="" +| pathLength="" +| patternContentUnits="" +| patternTransform="" +| patternUnits="" +| pointsAtX="" +| pointsAtY="" +| pointsAtZ="" +| preserveAlpha="" +| preserveAspectRatio="" +| primitiveUnits="" +| refX="" +| refY="" +| repeatCount="" +| repeatDur="" +| requiredExtensions="" +| requiredFeatures="" +| specularConstant="" +| specularExponent="" +| spreadMethod="" +| startOffset="" +| stdDeviation="" +| stitchTiles="" +| surfaceScale="" +| systemLanguage="" +| tableValues="" +| targetX="" +| targetY="" +| textLength="" +| viewBox="" +| viewTarget="" +| xChannelSelector="" +| yChannelSelector="" +| zoomAndPan="" + +#data +<!DOCTYPE html><BODY><SVG ATTRIBUTENAME='' ATTRIBUTETYPE='' BASEFREQUENCY='' BASEPROFILE='' CALCMODE='' CLIPPATHUNITS='' DIFFUSECONSTANT='' EDGEMODE='' FILTERUNITS='' GLYPHREF='' GRADIENTTRANSFORM='' GRADIENTUNITS='' KERNELMATRIX='' KERNELUNITLENGTH='' KEYPOINTS='' KEYSPLINES='' KEYTIMES='' LENGTHADJUST='' LIMITINGCONEANGLE='' MARKERHEIGHT='' MARKERUNITS='' MARKERWIDTH='' MASKCONTENTUNITS='' MASKUNITS='' NUMOCTAVES='' PATHLENGTH='' PATTERNCONTENTUNITS='' PATTERNTRANSFORM='' PATTERNUNITS='' POINTSATX='' POINTSATY='' POINTSATZ='' PRESERVEALPHA='' PRESERVEASPECTRATIO='' PRIMITIVEUNITS='' REFX='' REFY='' REPEATCOUNT='' REPEATDUR='' REQUIREDEXTENSIONS='' REQUIREDFEATURES='' SPECULARCONSTANT='' SPECULAREXPONENT='' SPREADMETHOD='' STARTOFFSET='' STDDEVIATION='' STITCHTILES='' SURFACESCALE='' SYSTEMLANGUAGE='' TABLEVALUES='' TARGETX='' TARGETY='' TEXTLENGTH='' VIEWBOX='' VIEWTARGET='' XCHANNELSELECTOR='' YCHANNELSELECTOR='' ZOOMANDPAN=''></SVG> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| attributeName="" +| attributeType="" +| baseFrequency="" +| baseProfile="" +| calcMode="" +| clipPathUnits="" +| diffuseConstant="" +| edgeMode="" +| filterUnits="" +| glyphRef="" +| gradientTransform="" +| gradientUnits="" +| kernelMatrix="" +| kernelUnitLength="" +| keyPoints="" +| keySplines="" +| keyTimes="" +| lengthAdjust="" +| limitingConeAngle="" +| markerHeight="" +| markerUnits="" +| markerWidth="" +| maskContentUnits="" +| maskUnits="" +| numOctaves="" +| pathLength="" +| patternContentUnits="" +| patternTransform="" +| patternUnits="" +| pointsAtX="" +| pointsAtY="" +| pointsAtZ="" +| preserveAlpha="" +| preserveAspectRatio="" +| primitiveUnits="" +| refX="" +| refY="" +| repeatCount="" +| repeatDur="" +| requiredExtensions="" +| requiredFeatures="" +| specularConstant="" +| specularExponent="" +| spreadMethod="" +| startOffset="" +| stdDeviation="" +| stitchTiles="" +| surfaceScale="" +| systemLanguage="" +| tableValues="" +| targetX="" +| targetY="" +| textLength="" +| viewBox="" +| viewTarget="" +| xChannelSelector="" +| yChannelSelector="" +| zoomAndPan="" + +#data +<!DOCTYPE html><body><svg attributename='' attributetype='' basefrequency='' baseprofile='' calcmode='' clippathunits='' diffuseconstant='' edgemode='' filterunits='' filterres='' glyphref='' gradienttransform='' gradientunits='' kernelmatrix='' kernelunitlength='' keypoints='' keysplines='' keytimes='' lengthadjust='' limitingconeangle='' markerheight='' markerunits='' markerwidth='' maskcontentunits='' maskunits='' numoctaves='' pathlength='' patterncontentunits='' patterntransform='' patternunits='' pointsatx='' pointsaty='' pointsatz='' preservealpha='' preserveaspectratio='' primitiveunits='' refx='' refy='' repeatcount='' repeatdur='' requiredextensions='' requiredfeatures='' specularconstant='' specularexponent='' spreadmethod='' startoffset='' stddeviation='' stitchtiles='' surfacescale='' systemlanguage='' tablevalues='' targetx='' targety='' textlength='' viewbox='' viewtarget='' xchannelselector='' ychannelselector='' zoomandpan=''></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| attributeName="" +| attributeType="" +| baseFrequency="" +| baseProfile="" +| calcMode="" +| clipPathUnits="" +| diffuseConstant="" +| edgeMode="" +| filterUnits="" +| filterres="" +| glyphRef="" +| gradientTransform="" +| gradientUnits="" +| kernelMatrix="" +| kernelUnitLength="" +| keyPoints="" +| keySplines="" +| keyTimes="" +| lengthAdjust="" +| limitingConeAngle="" +| markerHeight="" +| markerUnits="" +| markerWidth="" +| maskContentUnits="" +| maskUnits="" +| numOctaves="" +| pathLength="" +| patternContentUnits="" +| patternTransform="" +| patternUnits="" +| pointsAtX="" +| pointsAtY="" +| pointsAtZ="" +| preserveAlpha="" +| preserveAspectRatio="" +| primitiveUnits="" +| refX="" +| refY="" +| repeatCount="" +| repeatDur="" +| requiredExtensions="" +| requiredFeatures="" +| specularConstant="" +| specularExponent="" +| spreadMethod="" +| startOffset="" +| stdDeviation="" +| stitchTiles="" +| surfaceScale="" +| systemLanguage="" +| tableValues="" +| targetX="" +| targetY="" +| textLength="" +| viewBox="" +| viewTarget="" +| xChannelSelector="" +| yChannelSelector="" +| zoomAndPan="" + +#data +<!DOCTYPE html><body><math attributeName='' attributeType='' baseFrequency='' baseProfile='' calcMode='' clipPathUnits='' diffuseConstant='' edgeMode='' filterUnits='' glyphRef='' gradientTransform='' gradientUnits='' kernelMatrix='' kernelUnitLength='' keyPoints='' keySplines='' keyTimes='' lengthAdjust='' limitingConeAngle='' markerHeight='' markerUnits='' markerWidth='' maskContentUnits='' maskUnits='' numOctaves='' pathLength='' patternContentUnits='' patternTransform='' patternUnits='' pointsAtX='' pointsAtY='' pointsAtZ='' preserveAlpha='' preserveAspectRatio='' primitiveUnits='' refX='' refY='' repeatCount='' repeatDur='' requiredExtensions='' requiredFeatures='' specularConstant='' specularExponent='' spreadMethod='' startOffset='' stdDeviation='' stitchTiles='' surfaceScale='' systemLanguage='' tableValues='' targetX='' targetY='' textLength='' viewBox='' viewTarget='' xChannelSelector='' yChannelSelector='' zoomAndPan=''></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| attributename="" +| attributetype="" +| basefrequency="" +| baseprofile="" +| calcmode="" +| clippathunits="" +| diffuseconstant="" +| edgemode="" +| filterunits="" +| glyphref="" +| gradienttransform="" +| gradientunits="" +| kernelmatrix="" +| kernelunitlength="" +| keypoints="" +| keysplines="" +| keytimes="" +| lengthadjust="" +| limitingconeangle="" +| markerheight="" +| markerunits="" +| markerwidth="" +| maskcontentunits="" +| maskunits="" +| numoctaves="" +| pathlength="" +| patterncontentunits="" +| patterntransform="" +| patternunits="" +| pointsatx="" +| pointsaty="" +| pointsatz="" +| preservealpha="" +| preserveaspectratio="" +| primitiveunits="" +| refx="" +| refy="" +| repeatcount="" +| repeatdur="" +| requiredextensions="" +| requiredfeatures="" +| specularconstant="" +| specularexponent="" +| spreadmethod="" +| startoffset="" +| stddeviation="" +| stitchtiles="" +| surfacescale="" +| systemlanguage="" +| tablevalues="" +| targetx="" +| targety="" +| textlength="" +| viewbox="" +| viewtarget="" +| xchannelselector="" +| ychannelselector="" +| zoomandpan="" + +#data +<!DOCTYPE html><body><svg contentScriptType='' contentStyleType='' externalResourcesRequired='' filterRes=''></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| contentscripttype="" +| contentstyletype="" +| externalresourcesrequired="" +| filterres="" + +#data +<!DOCTYPE html><body><svg CONTENTSCRIPTTYPE='' CONTENTSTYLETYPE='' EXTERNALRESOURCESREQUIRED='' FILTERRES=''></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| contentscripttype="" +| contentstyletype="" +| externalresourcesrequired="" +| filterres="" + +#data +<!DOCTYPE html><body><svg contentscripttype='' contentstyletype='' externalresourcesrequired='' filterres=''></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| contentscripttype="" +| contentstyletype="" +| externalresourcesrequired="" +| filterres="" + +#data +<!DOCTYPE html><body><math contentScriptType='' contentStyleType='' externalResourcesRequired='' filterRes=''></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| contentscripttype="" +| contentstyletype="" +| externalresourcesrequired="" +| filterres="" + +#data +<!DOCTYPE html><body><svg><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg altGlyph> +| <svg altGlyphDef> +| <svg altGlyphItem> +| <svg animateColor> +| <svg animateMotion> +| <svg animateTransform> +| <svg clipPath> +| <svg feBlend> +| <svg feColorMatrix> +| <svg feComponentTransfer> +| <svg feComposite> +| <svg feConvolveMatrix> +| <svg feDiffuseLighting> +| <svg feDisplacementMap> +| <svg feDistantLight> +| <svg feFlood> +| <svg feFuncA> +| <svg feFuncB> +| <svg feFuncG> +| <svg feFuncR> +| <svg feGaussianBlur> +| <svg feImage> +| <svg feMerge> +| <svg feMergeNode> +| <svg feMorphology> +| <svg feOffset> +| <svg fePointLight> +| <svg feSpecularLighting> +| <svg feSpotLight> +| <svg feTile> +| <svg feTurbulence> +| <svg foreignObject> +| <svg glyphRef> +| <svg linearGradient> +| <svg radialGradient> +| <svg textPath> + +#data +<!DOCTYPE html><body><svg><altglyph /><altglyphdef /><altglyphitem /><animatecolor /><animatemotion /><animatetransform /><clippath /><feblend /><fecolormatrix /><fecomponenttransfer /><fecomposite /><feconvolvematrix /><fediffuselighting /><fedisplacementmap /><fedistantlight /><feflood /><fefunca /><fefuncb /><fefuncg /><fefuncr /><fegaussianblur /><feimage /><femerge /><femergenode /><femorphology /><feoffset /><fepointlight /><fespecularlighting /><fespotlight /><fetile /><feturbulence /><foreignobject /><glyphref /><lineargradient /><radialgradient /><textpath /></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg altGlyph> +| <svg altGlyphDef> +| <svg altGlyphItem> +| <svg animateColor> +| <svg animateMotion> +| <svg animateTransform> +| <svg clipPath> +| <svg feBlend> +| <svg feColorMatrix> +| <svg feComponentTransfer> +| <svg feComposite> +| <svg feConvolveMatrix> +| <svg feDiffuseLighting> +| <svg feDisplacementMap> +| <svg feDistantLight> +| <svg feFlood> +| <svg feFuncA> +| <svg feFuncB> +| <svg feFuncG> +| <svg feFuncR> +| <svg feGaussianBlur> +| <svg feImage> +| <svg feMerge> +| <svg feMergeNode> +| <svg feMorphology> +| <svg feOffset> +| <svg fePointLight> +| <svg feSpecularLighting> +| <svg feSpotLight> +| <svg feTile> +| <svg feTurbulence> +| <svg foreignObject> +| <svg glyphRef> +| <svg linearGradient> +| <svg radialGradient> +| <svg textPath> + +#data +<!DOCTYPE html><BODY><SVG><ALTGLYPH /><ALTGLYPHDEF /><ALTGLYPHITEM /><ANIMATECOLOR /><ANIMATEMOTION /><ANIMATETRANSFORM /><CLIPPATH /><FEBLEND /><FECOLORMATRIX /><FECOMPONENTTRANSFER /><FECOMPOSITE /><FECONVOLVEMATRIX /><FEDIFFUSELIGHTING /><FEDISPLACEMENTMAP /><FEDISTANTLIGHT /><FEFLOOD /><FEFUNCA /><FEFUNCB /><FEFUNCG /><FEFUNCR /><FEGAUSSIANBLUR /><FEIMAGE /><FEMERGE /><FEMERGENODE /><FEMORPHOLOGY /><FEOFFSET /><FEPOINTLIGHT /><FESPECULARLIGHTING /><FESPOTLIGHT /><FETILE /><FETURBULENCE /><FOREIGNOBJECT /><GLYPHREF /><LINEARGRADIENT /><RADIALGRADIENT /><TEXTPATH /></SVG> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg altGlyph> +| <svg altGlyphDef> +| <svg altGlyphItem> +| <svg animateColor> +| <svg animateMotion> +| <svg animateTransform> +| <svg clipPath> +| <svg feBlend> +| <svg feColorMatrix> +| <svg feComponentTransfer> +| <svg feComposite> +| <svg feConvolveMatrix> +| <svg feDiffuseLighting> +| <svg feDisplacementMap> +| <svg feDistantLight> +| <svg feFlood> +| <svg feFuncA> +| <svg feFuncB> +| <svg feFuncG> +| <svg feFuncR> +| <svg feGaussianBlur> +| <svg feImage> +| <svg feMerge> +| <svg feMergeNode> +| <svg feMorphology> +| <svg feOffset> +| <svg fePointLight> +| <svg feSpecularLighting> +| <svg feSpotLight> +| <svg feTile> +| <svg feTurbulence> +| <svg foreignObject> +| <svg glyphRef> +| <svg linearGradient> +| <svg radialGradient> +| <svg textPath> + +#data +<!DOCTYPE html><body><math><altGlyph /><altGlyphDef /><altGlyphItem /><animateColor /><animateMotion /><animateTransform /><clipPath /><feBlend /><feColorMatrix /><feComponentTransfer /><feComposite /><feConvolveMatrix /><feDiffuseLighting /><feDisplacementMap /><feDistantLight /><feFlood /><feFuncA /><feFuncB /><feFuncG /><feFuncR /><feGaussianBlur /><feImage /><feMerge /><feMergeNode /><feMorphology /><feOffset /><fePointLight /><feSpecularLighting /><feSpotLight /><feTile /><feTurbulence /><foreignObject /><glyphRef /><linearGradient /><radialGradient /><textPath /></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math altglyph> +| <math altglyphdef> +| <math altglyphitem> +| <math animatecolor> +| <math animatemotion> +| <math animatetransform> +| <math clippath> +| <math feblend> +| <math fecolormatrix> +| <math fecomponenttransfer> +| <math fecomposite> +| <math feconvolvematrix> +| <math fediffuselighting> +| <math fedisplacementmap> +| <math fedistantlight> +| <math feflood> +| <math fefunca> +| <math fefuncb> +| <math fefuncg> +| <math fefuncr> +| <math fegaussianblur> +| <math feimage> +| <math femerge> +| <math femergenode> +| <math femorphology> +| <math feoffset> +| <math fepointlight> +| <math fespecularlighting> +| <math fespotlight> +| <math fetile> +| <math feturbulence> +| <math foreignobject> +| <math glyphref> +| <math lineargradient> +| <math radialgradient> +| <math textpath> + +#data +<!DOCTYPE html><body><svg><solidColor /></svg> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg solidcolor> diff --git a/tests/html5lib-tests/tree-construction/tests12.dat b/tests/html5lib-tests/tree-construction/tests12.dat new file mode 100644 index 0000000..63107d2 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests12.dat @@ -0,0 +1,62 @@ +#data +<!DOCTYPE html><body><p>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| "foo" +| <math math> +| <math mtext> +| <i> +| "baz" +| <math annotation-xml> +| <svg svg> +| <svg desc> +| <b> +| "eggs" +| <svg g> +| <svg foreignObject> +| <p> +| "spam" +| <table> +| <tbody> +| <tr> +| <td> +| <img> +| <svg g> +| "quux" +| "bar" + +#data +<!DOCTYPE html><body>foo<math><mtext><i>baz</i></mtext><annotation-xml><svg><desc><b>eggs</b></desc><g><foreignObject><P>spam<TABLE><tr><td><img></td></table></foreignObject></g><g>quux</g></svg></annotation-xml></math>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "foo" +| <math math> +| <math mtext> +| <i> +| "baz" +| <math annotation-xml> +| <svg svg> +| <svg desc> +| <b> +| "eggs" +| <svg g> +| <svg foreignObject> +| <p> +| "spam" +| <table> +| <tbody> +| <tr> +| <td> +| <img> +| <svg g> +| "quux" +| "bar" diff --git a/tests/html5lib-tests/tree-construction/tests14.dat b/tests/html5lib-tests/tree-construction/tests14.dat new file mode 100644 index 0000000..a08b764 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests14.dat @@ -0,0 +1,75 @@ +#data +<!DOCTYPE html><html><body><xyz:abc></xyz:abc> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <xyz:abc> + +#data +<!DOCTYPE html><html><body><xyz:abc></xyz:abc><span></span> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <xyz:abc> +| <span> + +#data +<!DOCTYPE html><html><html abc:def=gh><xyz:abc></xyz:abc> +#errors +(1,38): non-html-root +#document +| <!DOCTYPE html> +| <html> +| abc:def="gh" +| <head> +| <body> +| <xyz:abc> + +#data +<!DOCTYPE html><html xml:lang=bar><html xml:lang=foo> +#errors +(1,53): non-html-root +#document +| <!DOCTYPE html> +| <html> +| xml:lang="bar" +| <head> +| <body> + +#data +<!DOCTYPE html><html 123=456> +#errors +#document +| <!DOCTYPE html> +| <html> +| 123="456" +| <head> +| <body> + +#data +<!DOCTYPE html><html 123=456><html 789=012> +#errors +(1,43): non-html-root +#document +| <!DOCTYPE html> +| <html> +| 123="456" +| 789="012" +| <head> +| <body> + +#data +<!DOCTYPE html><html><body 789=012> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| 789="012" diff --git a/tests/html5lib-tests/tree-construction/tests15.dat b/tests/html5lib-tests/tree-construction/tests15.dat new file mode 100644 index 0000000..93d06a8 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests15.dat @@ -0,0 +1,216 @@ +#data +<!DOCTYPE html><p><b><i><u></p> <p>X +#errors +(1,31): unexpected-end-tag +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <b> +| <i> +| <u> +| <b> +| <i> +| <u> +| " " +| <p> +| "X" + +#data +<p><b><i><u></p> +<p>X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,16): unexpected-end-tag +(2,4): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <b> +| <i> +| <u> +| <b> +| <i> +| <u> +| " +" +| <p> +| "X" + +#data +<!doctype html></html> <head> +#errors +(1,29): expected-eof-but-got-start-tag +(1,29): unexpected-start-tag-ignored +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " " + +#data +<!doctype html></body><meta> +#errors +(1,28): unexpected-start-tag-after-body +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <meta> + +#data +<html></html><!-- foo --> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <!-- foo --> + +#data +<!doctype html></body><title>X</title> +#errors +(1,29): unexpected-start-tag-after-body +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <title> +| "X" + +#data +<!doctype html><table> X<meta></table> +#errors +(1,23): foster-parenting-character +(1,24): foster-parenting-character +(1,30): foster-parenting-start-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " X" +| <meta> +| <table> + +#data +<!doctype html><table> x</table> +#errors +(1,23): foster-parenting-character +(1,24): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " x" +| <table> + +#data +<!doctype html><table> x </table> +#errors +(1,23): foster-parenting-character +(1,24): foster-parenting-character +(1,25): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " x " +| <table> + +#data +<!doctype html><table><tr> x</table> +#errors +(1,27): foster-parenting-character +(1,28): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " x" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><table>X<style> <tr>x </style> </table> +#errors +(1,23): foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "X" +| <table> +| <style> +| " <tr>x " +| " " + +#data +<!doctype html><div><table><a>foo</a> <tr><td>bar</td> </tr></table></div> +#errors +(1,30): foster-parenting-start-tag +(1,31): foster-parenting-character +(1,32): foster-parenting-character +(1,33): foster-parenting-character +(1,37): foster-parenting-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| <a> +| "foo" +| <table> +| " " +| <tbody> +| <tr> +| <td> +| "bar" +| " " + +#data +<frame></frame></frame><frameset><frame><frameset><frame></frameset><noframes></frameset><noframes> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,7): unexpected-start-tag-ignored +(1,15): unexpected-end-tag +(1,23): unexpected-end-tag +(1,33): unexpected-start-tag +(1,99): expected-named-closing-tag-but-got-eof +(1,99): eof-in-frameset +#document +| <html> +| <head> +| <frameset> +| <frame> +| <frameset> +| <frame> +| <noframes> +| "</frameset><noframes>" + +#data +<!DOCTYPE html><object></html> +#errors +(1,30): expected-body-in-scope +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <object> diff --git a/tests/html5lib-tests/tree-construction/tests16.dat b/tests/html5lib-tests/tree-construction/tests16.dat new file mode 100644 index 0000000..05f34c1 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests16.dat @@ -0,0 +1,2602 @@ +#data +<!doctype html><script> +#errors +(1,23): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| <body> + +#data +<!doctype html><script>a +#errors +(1,24): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "a" +| <body> + +#data +<!doctype html><script>< +#errors +(1,24): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<" +| <body> + +#data +<!doctype html><script></ +#errors +(1,25): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</" +| <body> + +#data +<!doctype html><script></S +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</S" +| <body> + +#data +<!doctype html><script></SC +#errors +(1,27): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SC" +| <body> + +#data +<!doctype html><script></SCR +#errors +(1,28): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCR" +| <body> + +#data +<!doctype html><script></SCRI +#errors +(1,29): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCRI" +| <body> + +#data +<!doctype html><script></SCRIP +#errors +(1,30): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCRIP" +| <body> + +#data +<!doctype html><script></SCRIPT +#errors +(1,31): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</SCRIPT" +| <body> + +#data +<!doctype html><script></SCRIPT +#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> +| <head> +| <script> +| <body> + +#data +<!doctype html><script></s +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</s" +| <body> + +#data +<!doctype html><script></sc +#errors +(1,27): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</sc" +| <body> + +#data +<!doctype html><script></scr +#errors +(1,28): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</scr" +| <body> + +#data +<!doctype html><script></scri +#errors +(1,29): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</scri" +| <body> + +#data +<!doctype html><script></scrip +#errors +(1,30): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</scrip" +| <body> + +#data +<!doctype html><script></script +#errors +(1,31): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "</script" +| <body> + +#data +<!doctype html><script></script +#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> +| <head> +| <script> +| <body> + +#data +<!doctype html><script><! +#errors +(1,25): expected-script-data-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!" +| <body> + +#data +<!doctype html><script><!a +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!a" +| <body> + +#data +<!doctype html><script><!- +#errors +(1,26): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!-" +| <body> + +#data +<!doctype html><script><!-a +#errors +(1,27): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!-a" +| <body> + +#data +<!doctype html><script><!-- +#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> +| <head> +| <script> +| "<!--" +| <body> + +#data +<!doctype html><script><!--a +#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> +| <head> +| <script> +| "<!--a" +| <body> + +#data +<!doctype html><script><!--< +#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> +| <head> +| <script> +| "<!--<" +| <body> + +#data +<!doctype html><script><!--<a +#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> +| <head> +| <script> +| "<!--<a" +| <body> + +#data +<!doctype html><script><!--</ +#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> +| <head> +| <script> +| "<!--</" +| <body> + +#data +<!doctype html><script><!--</script +#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> +| <head> +| <script> +| "<!--</script" +| <body> + +#data +<!doctype html><script><!--</script +#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> +| <head> +| <script> +| "<!--" +| <body> + +#data +<!doctype html><script><!--<s +#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> +| <head> +| <script> +| "<!--<s" +| <body> + +#data +<!doctype html><script><!--<script +#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> +| <head> +| <script> +| "<!--<script" +| <body> + +#data +<!doctype html><script><!--<script +#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> +| <head> +| <script> +| "<!--<script " +| <body> + +#data +<!doctype html><script><!--<script < +#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> +| <head> +| <script> +| "<!--<script <" +| <body> + +#data +<!doctype html><script><!--<script <a +#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> +| <head> +| <script> +| "<!--<script <a" +| <body> + +#data +<!doctype html><script><!--<script </ +#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> +| <head> +| <script> +| "<!--<script </" +| <body> + +#data +<!doctype html><script><!--<script </s +#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> +| <head> +| <script> +| "<!--<script </s" +| <body> + +#data +<!doctype html><script><!--<script </script +#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> +| <head> +| <script> +| "<!--<script </script" +| <body> + +#data +<!doctype html><script><!--<script </scripta +#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> +| <head> +| <script> +| "<!--<script </scripta" +| <body> + +#data +<!doctype html><script><!--<script </script +#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> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<!doctype html><script><!--<script </script> +#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> +| <head> +| <script> +| "<!--<script </script>" +| <body> + +#data +<!doctype html><script><!--<script </script/ +#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> +| <head> +| <script> +| "<!--<script </script/" +| <body> + +#data +<!doctype html><script><!--<script </script < +#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> +| <head> +| <script> +| "<!--<script </script <" +| <body> + +#data +<!doctype html><script><!--<script </script <a +#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> +| <head> +| <script> +| "<!--<script </script <a" +| <body> + +#data +<!doctype html><script><!--<script </script </ +#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> +| <head> +| <script> +| "<!--<script </script </" +| <body> + +#data +<!doctype html><script><!--<script </script </script +#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> +| <head> +| <script> +| "<!--<script </script </script" +| <body> + +#data +<!doctype html><script><!--<script </script </script +#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> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<!doctype html><script><!--<script </script </script/ +#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> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<!doctype html><script><!--<script </script </script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<!doctype html><script><!--<script - +#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> +| <head> +| <script> +| "<!--<script -" +| <body> + +#data +<!doctype html><script><!--<script -a +#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> +| <head> +| <script> +| "<!--<script -a" +| <body> + +#data +<!doctype html><script><!--<script -< +#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> +| <head> +| <script> +| "<!--<script -<" +| <body> + +#data +<!doctype html><script><!--<script -- +#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> +| <head> +| <script> +| "<!--<script --" +| <body> + +#data +<!doctype html><script><!--<script --a +#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> +| <head> +| <script> +| "<!--<script --a" +| <body> + +#data +<!doctype html><script><!--<script --< +#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> +| <head> +| <script> +| "<!--<script --<" +| <body> + +#data +<!doctype html><script><!--<script --> +#errors +(1,38): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<!doctype html><script><!--<script -->< +#errors +(1,39): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --><" +| <body> + +#data +<!doctype html><script><!--<script --></ +#errors +(1,40): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --></" +| <body> + +#data +<!doctype html><script><!--<script --></script +#errors +(1,46): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script --></script" +| <body> + +#data +<!doctype html><script><!--<script --></script +#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> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<!doctype html><script><!--<script --></script/ +#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> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<!doctype html><script><!--<script --></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<!doctype html><script><!--<script><\/script>--></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script><\/script>-->" +| <body> + +#data +<!doctype html><script><!--<script></scr'+'ipt>--></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></scr'+'ipt>-->" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>--><!--</script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>--><!--" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>-- ></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>-- >" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>- -></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- ->" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>- - ></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- - >" +| <body> + +#data +<!doctype html><script><!--<script></script><script></script>-></script> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>->" +| <body> + +#data +<!doctype html><script><!--<script>--!></script>X +#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> +| <head> +| <script> +| "<!--<script>--!></script>X" +| <body> + +#data +<!doctype html><script><!--<scr'+'ipt></script>--></script> +#errors +(1,59): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| "<!--<scr'+'ipt>" +| <body> +| "-->" + +#data +<!doctype html><script><!--<script></scr'+'ipt></script>X +#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> +| <head> +| <script> +| "<!--<script></scr'+'ipt></script>X" +| <body> + +#data +<!doctype html><style><!--<style></style>--></style> +#errors +(1,52): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--<style>" +| <body> +| "-->" + +#data +<!doctype html><style><!--</style>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--" +| <body> +| "X" + +#data +<!doctype html><style><!--...</style>...--></style> +#errors +(1,51): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--..." +| <body> +| "...-->" + +#data +<!doctype html><style><!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style></style>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style>" +| <body> +| "X" + +#data +<!doctype html><style><!--...<style><!--...--!></style>--></style> +#errors +(1,66): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--...<style><!--...--!>" +| <body> +| "-->" + +#data +<!doctype html><style><!--...</style><!-- --><style>@import ...</style> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "<!--..." +| <!-- --> +| <style> +| "@import ..." +| <body> + +#data +<!doctype html><style>...<style><!--...</style><!-- --></style> +#errors +(1,63): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "...<style><!--..." +| <!-- --> +| <body> + +#data +<!doctype html><style>...<!--[if IE]><style>...</style>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <style> +| "...<!--[if IE]><style>..." +| <body> +| "X" + +#data +<!doctype html><title><!--<title></title>--></title> +#errors +(1,52): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "<!--<title>" +| <body> +| "-->" + +#data +<!doctype html><title></title></title> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "</title>" +| <body> + +#data +<!doctype html><title>foo/title><link></head><body>X +#errors +(1,52): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "foo/title><link></head><body>X" +| <body> + +#data +<!doctype html><noscript><!--<noscript></noscript>--></noscript> +#errors +(1,64): unexpected-end-tag +#script-on +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| "<!--<noscript>" +| <body> +| "-->" + +#data +<!doctype html><noscript><!--<noscript></noscript>--></noscript> +#errors +#script-off +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| <!-- <noscript></noscript> --> +| <body> + +#data +<!doctype html><noscript><!--</noscript>X<noscript>--></noscript> +#errors +#script-on +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| "<!--" +| <body> +| "X" +| <noscript> +| "-->" + +#data +<!doctype html><noscript><!--</noscript>X<noscript>--></noscript> +#errors +#script-off +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| <!-- </noscript>X<noscript> --> +| <body> + +#data +<!doctype html><noscript><iframe></noscript>X +#errors +#script-on +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| "<iframe>" +| <body> +| "X" + +#data +<!doctype html><noscript><iframe></noscript>X +#errors + * (1,34) unexpected token in head noscript + * (1,46) unexpected EOF +#script-off +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| <body> +| <iframe> +| "</noscript>X" + +#data +<!doctype html><noframes><!--<noframes></noframes>--></noframes> +#errors +(1,64): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noframes> +| "<!--<noframes>" +| <body> +| "-->" + +#data +<!doctype html><noframes><body><script><!--...</script></body></noframes></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noframes> +| "<body><script><!--...</script></body>" +| <body> + +#data +<!doctype html><textarea><!--<textarea></textarea>--></textarea> +#errors +(1,64): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> +| "<!--<textarea>" +| "-->" + +#data +<!doctype html><textarea></textarea></textarea> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> +| "</textarea>" + +#data +<!doctype html><textarea><</textarea> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> +| "<" + +#data +<!doctype html><textarea>a<b</textarea> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> +| "a<b" + +#data +<!doctype html><iframe><!--<iframe></iframe>--></iframe> +#errors +(1,56): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <iframe> +| "<!--<iframe>" +| "-->" + +#data +<!doctype html><iframe>...<!--X->...<!--/X->...</iframe> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <iframe> +| "...<!--X->...<!--/X->..." + +#data +<!doctype html><xmp><!--<xmp></xmp>--></xmp> +#errors +(1,44): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <xmp> +| "<!--<xmp>" +| "-->" + +#data +<!doctype html><noembed><!--<noembed></noembed>--></noembed> +#errors +(1,60): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <noembed> +| "<!--<noembed>" +| "-->" + +#data +<script> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,8): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| <body> + +#data +<script>a +#errors +(1,8): expected-doctype-but-got-start-tag +(1,9): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "a" +| <body> + +#data +<script>< +#errors +(1,8): expected-doctype-but-got-start-tag +(1,9): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<" +| <body> + +#data +<script></ +#errors +(1,8): expected-doctype-but-got-start-tag +(1,10): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</" +| <body> + +#data +<script></S +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</S" +| <body> + +#data +<script></SC +#errors +(1,8): expected-doctype-but-got-start-tag +(1,12): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SC" +| <body> + +#data +<script></SCR +#errors +(1,8): expected-doctype-but-got-start-tag +(1,13): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCR" +| <body> + +#data +<script></SCRI +#errors +(1,8): expected-doctype-but-got-start-tag +(1,14): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCRI" +| <body> + +#data +<script></SCRIP +#errors +(1,8): expected-doctype-but-got-start-tag +(1,15): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCRIP" +| <body> + +#data +<script></SCRIPT +#errors +(1,8): expected-doctype-but-got-start-tag +(1,16): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</SCRIPT" +| <body> + +#data +<script></SCRIPT +#errors +(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> +| <script> +| <body> + +#data +<script></s +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</s" +| <body> + +#data +<script></sc +#errors +(1,8): expected-doctype-but-got-start-tag +(1,12): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</sc" +| <body> + +#data +<script></scr +#errors +(1,8): expected-doctype-but-got-start-tag +(1,13): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</scr" +| <body> + +#data +<script></scri +#errors +(1,8): expected-doctype-but-got-start-tag +(1,14): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</scri" +| <body> + +#data +<script></scrip +#errors +(1,8): expected-doctype-but-got-start-tag +(1,15): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</scrip" +| <body> + +#data +<script></script +#errors +(1,8): expected-doctype-but-got-start-tag +(1,16): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</script" +| <body> + +#data +<script></script +#errors +(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> +| <script> +| <body> + +#data +<script><! +#errors +(1,8): expected-doctype-but-got-start-tag +(1,10): expected-script-data-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!" +| <body> + +#data +<script><!a +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!a" +| <body> + +#data +<script><!- +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!-" +| <body> + +#data +<script><!-a +#errors +(1,8): expected-doctype-but-got-start-tag +(1,12): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!-a" +| <body> + +#data +<script><!-- +#errors +(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> +| <script> +| "<!--" +| <body> + +#data +<script><!--a +#errors +(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> +| <script> +| "<!--a" +| <body> + +#data +<script><!--< +#errors +(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> +| <script> +| "<!--<" +| <body> + +#data +<script><!--<a +#errors +(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> +| <script> +| "<!--<a" +| <body> + +#data +<script><!--</ +#errors +(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> +| <script> +| "<!--</" +| <body> + +#data +<script><!--</script +#errors +(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> +| <script> +| "<!--</script" +| <body> + +#data +<script><!--</script +#errors +(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> +| <script> +| "<!--" +| <body> + +#data +<script><!--<s +#errors +(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> +| <script> +| "<!--<s" +| <body> + +#data +<script><!--<script +#errors +(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> +| <script> +| "<!--<script" +| <body> + +#data +<script><!--<script +#errors +(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> +| <script> +| "<!--<script " +| <body> + +#data +<script><!--<script < +#errors +(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> +| <script> +| "<!--<script <" +| <body> + +#data +<script><!--<script <a +#errors +(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> +| <script> +| "<!--<script <a" +| <body> + +#data +<script><!--<script </ +#errors +(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> +| <script> +| "<!--<script </" +| <body> + +#data +<script><!--<script </s +#errors +(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> +| <script> +| "<!--<script </s" +| <body> + +#data +<script><!--<script </script +#errors +(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> +| <script> +| "<!--<script </script" +| <body> + +#data +<script><!--<script </scripta +#errors +(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> +| <script> +| "<!--<script </scripta" +| <body> + +#data +<script><!--<script </script +#errors +(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> +| <script> +| "<!--<script </script " +| <body> + +#data +<script><!--<script </script> +#errors +(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> +| <script> +| "<!--<script </script>" +| <body> + +#data +<script><!--<script </script/ +#errors +(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> +| <script> +| "<!--<script </script/" +| <body> + +#data +<script><!--<script </script < +#errors +(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> +| <script> +| "<!--<script </script <" +| <body> + +#data +<script><!--<script </script <a +#errors +(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> +| <script> +| "<!--<script </script <a" +| <body> + +#data +<script><!--<script </script </ +#errors +(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> +| <script> +| "<!--<script </script </" +| <body> + +#data +<script><!--<script </script </script +#errors +(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> +| <script> +| "<!--<script </script </script" +| <body> + +#data +<script><!--<script </script </script +#errors +(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> +| <script> +| "<!--<script </script " +| <body> + +#data +<script><!--<script </script </script/ +#errors +(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> +| <script> +| "<!--<script </script " +| <body> + +#data +<script><!--<script </script </script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script </script " +| <body> + +#data +<script><!--<script - +#errors +(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> +| <script> +| "<!--<script -" +| <body> + +#data +<script><!--<script -a +#errors +(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> +| <script> +| "<!--<script -a" +| <body> + +#data +<script><!--<script -- +#errors +(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> +| <script> +| "<!--<script --" +| <body> + +#data +<script><!--<script --a +#errors +(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> +| <script> +| "<!--<script --a" +| <body> + +#data +<script><!--<script --> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,23): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<script><!--<script -->< +#errors +(1,8): expected-doctype-but-got-start-tag +(1,24): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script --><" +| <body> + +#data +<script><!--<script --></ +#errors +(1,8): expected-doctype-but-got-start-tag +(1,25): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script --></" +| <body> + +#data +<script><!--<script --></script +#errors +(1,8): expected-doctype-but-got-start-tag +(1,31): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "<!--<script --></script" +| <body> + +#data +<script><!--<script --></script +#errors +(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> +| <script> +| "<!--<script -->" +| <body> + +#data +<script><!--<script --></script/ +#errors +(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> +| <script> +| "<!--<script -->" +| <body> + +#data +<script><!--<script --></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script -->" +| <body> + +#data +<script><!--<script><\/script>--></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script><\/script>-->" +| <body> + +#data +<script><!--<script></scr'+'ipt>--></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></scr'+'ipt>-->" +| <body> + +#data +<script><!--<script></script><script></script></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>" +| <body> + +#data +<script><!--<script></script><script></script>--><!--</script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>--><!--" +| <body> + +#data +<script><!--<script></script><script></script>-- ></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>-- >" +| <body> + +#data +<script><!--<script></script><script></script>- -></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- ->" +| <body> + +#data +<script><!--<script></script><script></script>- - ></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>- - >" +| <body> + +#data +<script><!--<script></script><script></script>-></script> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <script> +| "<!--<script></script><script></script>->" +| <body> + +#data +<script><!--<script>--!></script>X +#errors +(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> +| <script> +| "<!--<script>--!></script>X" +| <body> + +#data +<script><!--<scr'+'ipt></script>--></script> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,44): unexpected-end-tag +#document +| <html> +| <head> +| <script> +| "<!--<scr'+'ipt>" +| <body> +| "-->" + +#data +<script><!--<script></scr'+'ipt></script>X +#errors +(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> +| <script> +| "<!--<script></scr'+'ipt></script>X" +| <body> + +#data +<style><!--<style></style>--></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,37): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "<!--<style>" +| <body> +| "-->" + +#data +<style><!--</style>X +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "<!--" +| <body> +| "X" + +#data +<style><!--...</style>...--></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,36): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "<!--..." +| <body> +| "...-->" + +#data +<style><!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style></style>X +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "<!--<br><html xmlns:v="urn:schemas-microsoft-com:vml"><!--[if !mso]><style>" +| <body> +| "X" + +#data +<style><!--...<style><!--...--!></style>--></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,51): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "<!--...<style><!--...--!>" +| <body> +| "-->" + +#data +<style><!--...</style><!-- --><style>@import ...</style> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "<!--..." +| <!-- --> +| <style> +| "@import ..." +| <body> + +#data +<style>...<style><!--...</style><!-- --></style> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,48): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| "...<style><!--..." +| <!-- --> +| <body> + +#data +<style>...<!--[if IE]><style>...</style>X +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| "...<!--[if IE]><style>..." +| <body> +| "X" + +#data +<title><!--<title></title>--></title> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,37): unexpected-end-tag +#document +| <html> +| <head> +| <title> +| "<!--<title>" +| <body> +| "-->" + +#data +<title></title></title> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <title> +| "</title>" +| <body> + +#data +<title>foo/title><link></head><body>X +#errors +(1,7): expected-doctype-but-got-start-tag +(1,37): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <title> +| "foo/title><link></head><body>X" +| <body> + +#data +<noscript><!--<noscript></noscript>--></noscript> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,49): unexpected-end-tag +#script-on +#document +| <html> +| <head> +| <noscript> +| "<!--<noscript>" +| <body> +| "-->" + +#data +<noscript><!--<noscript></noscript>--></noscript> +#errors + * (1,11) missing DOCTYPE +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- <noscript></noscript> --> +| <body> + +#data +<noscript><!--</noscript>X<noscript>--></noscript> +#errors +(1,10): expected-doctype-but-got-start-tag +#script-on +#document +| <html> +| <head> +| <noscript> +| "<!--" +| <body> +| "X" +| <noscript> +| "-->" + +#data +<noscript><!--</noscript>X<noscript>--></noscript> +#errors +(1,10): expected-doctype-but-got-start-tag +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- </noscript>X<noscript> --> +| <body> + +#data +<noscript><iframe></noscript>X +#errors +(1,10): expected-doctype-but-got-start-tag +#script-on +#document +| <html> +| <head> +| <noscript> +| "<iframe>" +| <body> +| "X" + +#data +<noscript><iframe></noscript>X +#errors + * (1,11) missing DOCTYPE + * (1,19) unexpected token in head noscript + * (1,31) unexpected EOF +#script-off +#document +| <html> +| <head> +| <noscript> +| <body> +| <iframe> +| "</noscript>X" + +#data +<noframes><!--<noframes></noframes>--></noframes> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,49): unexpected-end-tag +#document +| <html> +| <head> +| <noframes> +| "<!--<noframes>" +| <body> +| "-->" + +#data +<noframes><body><script><!--...</script></body></noframes></html> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <noframes> +| "<body><script><!--...</script></body>" +| <body> + +#data +<textarea><!--<textarea></textarea>--></textarea> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,49): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| "<!--<textarea>" +| "-->" + +#data +<textarea></textarea></textarea> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| "</textarea>" + +#data +<iframe><!--<iframe></iframe>--></iframe> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,41): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <iframe> +| "<!--<iframe>" +| "-->" + +#data +<iframe>...<!--X->...<!--/X->...</iframe> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <iframe> +| "...<!--X->...<!--/X->..." + +#data +<xmp><!--<xmp></xmp>--></xmp> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,29): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <xmp> +| "<!--<xmp>" +| "-->" + +#data +<noembed><!--<noembed></noembed>--></noembed> +#errors +(1,9): expected-doctype-but-got-start-tag +(1,45): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <noembed> +| "<!--<noembed>" +| "-->" + +#data +<!doctype html><table> + +#errors +(2,0): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| " +" + +#data +<!doctype html><table><td><span><font></span><span> +#errors +(1,26): unexpected-cell-in-table-body +(1,45): unexpected-end-tag +(1,51): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <span> +| <font> +| <font> +| <span> + +#data +<!doctype html><form><table></form><form></table></form> +#errors +(1,35): unexpected-end-tag-implies-table-voodoo +(1,35): unexpected-end-tag +(1,41): unexpected-form-in-table +(1,56): unexpected-end-tag +(1,56): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| <table> +| <form> diff --git a/tests/html5lib-tests/tree-construction/tests17.dat b/tests/html5lib-tests/tree-construction/tests17.dat new file mode 100644 index 0000000..e49bcf0 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests17.dat @@ -0,0 +1,179 @@ +#data +<!doctype html><table><tbody><select><tr> +#errors +(1,37): unexpected-start-tag-implies-table-voodoo +(1,41): unexpected-table-element-start-tag-in-select-in-table +(1,41): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><table><tr><select><td> +#errors +(1,34): unexpected-start-tag-implies-table-voodoo +(1,38): unexpected-table-element-start-tag-in-select-in-table +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <table> +| <tbody> +| <tr> +| <td> + +#data +<!doctype html><table><tr><td><select><td> +#errors +(1,42): unexpected-table-element-start-tag-in-select-in-table +(1,42): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <select> +| <td> + +#data +<!doctype html><table><tr><th><select><td> +#errors +(1,42): unexpected-table-element-start-tag-in-select-in-table +(1,42): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <th> +| <select> +| <td> + +#data +<!doctype html><table><caption><select><tr> +#errors +(1,43): unexpected-table-element-start-tag-in-select-in-table +(1,43): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <select> +| <tbody> +| <tr> + +#data +<!doctype html><select><tr> +#errors +(1,27): unexpected-start-tag-in-select +(1,27): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><td> +#errors +(1,27): unexpected-start-tag-in-select +(1,27): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><th> +#errors +(1,27): unexpected-start-tag-in-select +(1,27): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><tbody> +#errors +(1,30): unexpected-start-tag-in-select +(1,30): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><thead> +#errors +(1,30): unexpected-start-tag-in-select +(1,30): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><tfoot> +#errors +(1,30): unexpected-start-tag-in-select +(1,30): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><select><caption> +#errors +(1,32): unexpected-start-tag-in-select +(1,32): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><table><tr></table>a +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| "a" diff --git a/tests/html5lib-tests/tree-construction/tests18.dat b/tests/html5lib-tests/tree-construction/tests18.dat new file mode 100644 index 0000000..0b6d5dc --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests18.dat @@ -0,0 +1,558 @@ +#data +<plaintext></plaintext> +#errors +11: Start tag seen without seeing a doctype first. Expected <!DOCTYPE html>. +23: End of file seen and there were open elements. +#document +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><plaintext></plaintext> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><html><plaintext></plaintext> +#errors +44: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><head><plaintext></plaintext> +#errors +44: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><html><noscript><plaintext></plaintext> +#errors +42: Bad start tag in plaintext in head. +54: End of file seen and there were open elements. +#script-off +#document +| <!DOCTYPE html> +| <html> +| <head> +| <noscript> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html></head><plaintext></plaintext> +#errors +45: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><body><plaintext></plaintext> +#errors +44: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><table><plaintext></plaintext> +#errors +(1,33): foster-parenting-start-tag +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): foster-parenting-character +(1,46): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" +| <table> + +#data +<!doctype html><table><tbody><plaintext></plaintext> +#errors +(1,40): foster-parenting-start-tag +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): foster-parenting-character +(1,53): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" +| <table> +| <tbody> + +#data +<!doctype html><table><tbody><tr><plaintext></plaintext> +#errors +(1,44): foster-parenting-start-tag +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): foster-parenting-character +(1,57): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><table><td><plaintext></plaintext> +#errors +(1,26): unexpected-cell-in-table-body +(1,49): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><table><caption><plaintext></plaintext> +#errors +(1,54): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><table><colgroup><plaintext></plaintext> +#errors +(1,43): foster-parenting-start-tag +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +(1,56): foster-parenting-character +55: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" +| <table> +| <colgroup> + +#data +<!doctype html><select><plaintext></plaintext>X +#errors +34: Stray start tag plaintext. +46: Stray end tag plaintext. +47: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| "X" + +#data +<!doctype html><table><select><plaintext>a<caption>b +#errors +30: Start tag select seen in table. +41: Stray start tag plaintext. +51: caption start tag with select open. +52: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| "a" +| <table> +| <caption> +| "b" + +#data +<!doctype html><template><plaintext>a</template>b +#errors +49: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <template> +| content +| <plaintext> +| "a</template>b" +| <body> + +#data +<!doctype html><body></body><plaintext></plaintext> +#errors +39: Stray start tag plaintext. +51: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><frameset><plaintext></plaintext> +#errors +36: Stray start tag plaintext. +48: Stray end tag plaintext. +48: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><frameset></frameset><plaintext></plaintext> +#errors +47: Stray start tag plaintext. +59: Stray end tag plaintext. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><body></body></html><plaintext></plaintext> +#errors +46: Stray start tag plaintext. +58: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!doctype html><frameset></frameset></html><plaintext></plaintext> +#errors +54: Stray start tag plaintext. +66: Stray end tag plaintext. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><svg><plaintext>a</plaintext>b +#errors +45: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg plaintext> +| "a" +| "b" + +#data +<!doctype html><svg><title><plaintext>a</plaintext>b +#errors +52: End of file seen and there were open elements. +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg title> +| <plaintext> +| "a</plaintext>b" + +#data +<!doctype html><table><tr><style></script></style>abc +#errors +(1,51): foster-parenting-character +(1,52): foster-parenting-character +(1,53): foster-parenting-character +(1,53): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "abc" +| <table> +| <tbody> +| <tr> +| <style> +| "</script>" + +#data +<!doctype html><table><tr><script></style></script>abc +#errors +(1,52): foster-parenting-character +(1,53): foster-parenting-character +(1,54): foster-parenting-character +(1,54): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "abc" +| <table> +| <tbody> +| <tr> +| <script> +| "</style>" + +#data +<!doctype html><table><caption><style></script></style>abc +#errors +(1,58): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <style> +| "</script>" +| "abc" + +#data +<!doctype html><table><td><style></script></style>abc +#errors +(1,26): unexpected-cell-in-table-body +(1,53): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <style> +| "</script>" +| "abc" + +#data +<!doctype html><select><script></style></script>abc +#errors +(1,51): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <script> +| "</style>" +| "abc" + +#data +<!doctype html><table><select><script></style></script>abc +#errors +(1,30): unexpected-start-tag-implies-table-voodoo +(1,58): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <script> +| "</style>" +| "abc" +| <table> + +#data +<!doctype html><table><tr><select><script></style></script>abc +#errors +(1,34): unexpected-start-tag-implies-table-voodoo +(1,62): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <script> +| "</style>" +| "abc" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><frameset></frameset><noframes>abc +#errors +(1,49): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" + +#data +<!doctype html><frameset></frameset><noframes>abc</noframes><!--abc--> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" +| <!-- abc --> + +#data +<!doctype html><frameset></frameset></html><noframes>abc +#errors +(1,56): expected-named-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" + +#data +<!doctype html><frameset></frameset></html><noframes>abc</noframes><!--abc--> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <noframes> +| "abc" +| <!-- abc --> + +#data +<!doctype html><table><tr></tbody><tfoot> +#errors +(1,41): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <tfoot> + +#data +<!doctype html><table><td><svg></svg>abc<td> +#errors +(1,26): unexpected-cell-in-table-body +(1,44): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| "abc" +| <td> diff --git a/tests/html5lib-tests/tree-construction/tests19.dat b/tests/html5lib-tests/tree-construction/tests19.dat new file mode 100644 index 0000000..2e06fb3 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests19.dat @@ -0,0 +1,1453 @@ +#data +<!doctype html><math><mn DefinitionUrl="foo"> +#errors +(1,45): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mn> +| definitionURL="foo" + +#data +<!doctype html><html></p><!--foo--> +#errors +(1,25): end-tag-after-implied-root +#document +| <!DOCTYPE html> +| <html> +| <!-- foo --> +| <head> +| <body> + +#data +<!doctype html><head></head></p><!--foo--> +#errors +(1,32): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <!-- foo --> +| <body> + +#data +<!doctype html><body><p><pre> +#errors +(1,29): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <pre> + +#data +<!doctype html><body><p><listing> +#errors +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <listing> + +#data +<!doctype html><p><plaintext> +#errors +(1,29): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <plaintext> + +#data +<!doctype html><p><h1> +#errors +(1,22): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <h1> + +#data +<!doctype html><isindex type="hidden"> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <isindex> +| type="hidden" + +#data +<!doctype html><ruby><p><rp> +#errors +(1,28): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <p> +| <rp> + +#data +<!doctype html><ruby><div><span><rp> +#errors +(1,36): XXX-undefined-error +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <span> +| <rp> + +#data +<!doctype html><ruby><div><p><rp> +#errors +(1,33): XXX-undefined-error +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <p> +| <rp> + +#data +<!doctype html><ruby><p><rt> +#errors +(1,28): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <p> +| <rt> + +#data +<!doctype html><ruby><div><span><rt> +#errors +(1,36): XXX-undefined-error +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <span> +| <rt> + +#data +<!doctype html><ruby><div><p><rt> +#errors +(1,33): XXX-undefined-error +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <p> +| <rt> + +#data +<html><ruby>a<rb>b<rt></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rb> +| "b" +| <rt> + +#data +<html><ruby>a<rp>b<rt></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rp> +| "b" +| <rt> + +#data +<html><ruby>a<rt>b<rt></ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rt> +| "b" +| <rt> + +#data +<html><ruby>a<rtc>b<rt>c<rb>d</ruby></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <ruby> +| "a" +| <rtc> +| "b" +| <rt> +| "c" +| <rb> +| "d" + +#data +<!doctype html><math/><foo> +#errors +(1,27): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <foo> + +#data +<!doctype html><svg/><foo> +#errors +(1,26): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <foo> + +#data +<!doctype html><div></body><!--foo--> +#errors +(1,27): expected-one-end-tag-but-got-another +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| <!-- foo --> + +#data +<!doctype html><h1><div><h3><span></h1>foo +#errors +(1,39): end-tag-too-early +(1,42): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <h1> +| <div> +| <h3> +| <span> +| "foo" + +#data +<!doctype html><p></h3>foo +#errors +(1,23): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| "foo" + +#data +<!doctype html><h3><li>abc</h2>foo +#errors +(1,31): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <h3> +| <li> +| "abc" +| "foo" + +#data +<!doctype html><table>abc<!--foo--> +#errors +(1,23): foster-parenting-character +(1,24): foster-parenting-character +(1,25): foster-parenting-character +(1,35): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "abc" +| <table> +| <!-- foo --> + +#data +<!doctype html><table> <!--foo--> +#errors +(1,34): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| " " +| <!-- foo --> + +#data +<!doctype html><table> b <!--foo--> +#errors +(1,23): foster-parenting-character +(1,24): foster-parenting-character +(1,25): foster-parenting-character +(1,35): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| " b " +| <table> +| <!-- foo --> + +#data +<!doctype html><select><option><option> +#errors +(1,39): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> +| <option> + +#data +<!doctype html><select><option></optgroup> +#errors +(1,42): unexpected-end-tag-in-select +(1,42): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> + +#data +<!doctype html><select><option></optgroup> +#errors +(1,42): unexpected-end-tag-in-select +(1,42): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> + +#data +<!doctype html><dd><optgroup><dd> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dd> +| <optgroup> +| <dd> + +#data +<!doctype html><p><math><mi><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mi> +| <p> +| <h1> + +#data +<!doctype html><p><math><mo><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mo> +| <p> +| <h1> + +#data +<!doctype html><p><math><mn><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mn> +| <p> +| <h1> + +#data +<!doctype html><p><math><ms><p><h1> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math ms> +| <p> +| <h1> + +#data +<!doctype html><p><math><mtext><p><h1> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mtext> +| <p> +| <h1> + +#data +<!doctype html><frameset></noframes> +#errors +(1,36): unexpected-end-tag-in-frameset +(1,36): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><html c=d><body></html><html a=b> +#errors +(1,48): non-html-root +#document +| <!DOCTYPE html> +| <html> +| a="b" +| c="d" +| <head> +| <body> + +#data +<!doctype html><html c=d><frameset></frameset></html><html a=b> +#errors +(1,63): non-html-root +#document +| <!DOCTYPE html> +| <html> +| a="b" +| c="d" +| <head> +| <frameset> + +#data +<!doctype html><html><frameset></frameset></html><!--foo--> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <!-- foo --> + +#data +<!doctype html><html><frameset></frameset></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| " " + +#data +<!doctype html><html><frameset></frameset></html>abc +#errors +(1,50): expected-eof-but-got-char +(1,51): expected-eof-but-got-char +(1,52): expected-eof-but-got-char +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><html><frameset></frameset></html><p> +#errors +(1,52): expected-eof-but-got-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><html><frameset></frameset></html></p> +#errors +(1,53): expected-eof-but-got-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<html><frameset></frameset></html><!doctype html> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,49): unexpected-doctype +#document +| <html> +| <head> +| <frameset> + +#data +<!doctype html><body><frameset> +#errors +(1,31): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<!doctype html><p><frameset><frame> +#errors +(1,28): unexpected-start-tag +(1,35): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><p>a<frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| "a" + +#data +<!doctype html><p> <frameset><frame> +#errors +(1,29): unexpected-start-tag +(1,36): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><pre><frameset> +#errors +(1,30): unexpected-start-tag +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> + +#data +<!doctype html><listing><frameset> +#errors +(1,34): unexpected-start-tag +(1,34): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <listing> + +#data +<!doctype html><li><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <li> + +#data +<!doctype html><dd><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dd> + +#data +<!doctype html><dt><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dt> + +#data +<!doctype html><button><frameset> +#errors +(1,33): unexpected-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <button> + +#data +<!doctype html><applet><frameset> +#errors +(1,33): unexpected-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <applet> + +#data +<!doctype html><marquee><frameset> +#errors +(1,34): unexpected-start-tag +(1,34): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <marquee> + +#data +<!doctype html><object><frameset> +#errors +(1,33): unexpected-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <object> + +#data +<!doctype html><table><frameset> +#errors +(1,32): unexpected-start-tag-implies-table-voodoo +(1,32): unexpected-start-tag +(1,32): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> + +#data +<!doctype html><area><frameset> +#errors +(1,31): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <area> + +#data +<!doctype html><basefont><frameset> +#errors +(1,35): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <basefont> +| <frameset> + +#data +<!doctype html><bgsound><frameset> +#errors +(1,34): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <bgsound> +| <frameset> + +#data +<!doctype html><br><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <br> + +#data +<!doctype html><embed><frameset> +#errors +(1,32): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <embed> + +#data +<!doctype html><img><frameset> +#errors +(1,30): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <img> + +#data +<!doctype html><input><frameset> +#errors +(1,32): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <input> + +#data +<!doctype html><keygen><frameset> +#errors +(1,33): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <keygen> + +#data +<!doctype html><wbr><frameset> +#errors +(1,30): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <wbr> + +#data +<!doctype html><hr><frameset> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <hr> + +#data +<!doctype html><textarea></textarea><frameset> +#errors +(1,46): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> + +#data +<!doctype html><xmp></xmp><frameset> +#errors +(1,36): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <xmp> + +#data +<!doctype html><iframe></iframe><frameset> +#errors +(1,42): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <iframe> + +#data +<!doctype html><select></select><frameset> +#errors +(1,42): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!doctype html><svg></svg><frameset><frame> +#errors +(1,36): unexpected-start-tag +(1,43): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><math></math><frameset><frame> +#errors +(1,38): unexpected-start-tag +(1,45): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><svg><foreignObject><div> <frameset><frame> +#errors +(1,51): unexpected-start-tag +(1,58): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<!doctype html><svg>a</svg><frameset><frame> +#errors +(1,37): unexpected-start-tag +(1,44): unexpected-start-tag-ignored +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| "a" + +#data +<!doctype html><svg> </svg><frameset><frame> +#errors +(1,37): unexpected-start-tag +(1,44): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| <frame> + +#data +<html>aaa<frameset></frameset> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,19): unexpected-start-tag +(1,30): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| "aaa" + +#data +<html> a <frameset></frameset> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,19): unexpected-start-tag +(1,30): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| "a " + +#data +<!doctype html><div><frameset> +#errors +(1,30): unexpected-start-tag +(1,30): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><div><body><frameset> +#errors +(1,26): unexpected-start-tag +(1,36): unexpected-start-tag +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> + +#data +<!doctype html><p><math></p>a +#errors +(1,28): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| "a" + +#data +<!doctype html><p><math><mn><span></p>a +#errors +(1,38): unexpected-end-tag +(1,39): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <math math> +| <math mn> +| <span> +| <p> +| "a" + +#data +<!doctype html><math></html> +#errors +(1,28): unexpected-end-tag +(1,28): expected-one-end-tag-but-got-another +(1,28): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> + +#data +<!doctype html><meta charset="ascii"> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <meta> +| charset="ascii" +| <body> + +#data +<!doctype html><meta http-equiv="content-type" content="text/html;charset=ascii"> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <meta> +| content="text/html;charset=ascii" +| http-equiv="content-type" +| <body> + +#data +<!doctype html><head><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><meta charset="utf8"> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <!-- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --> +| <meta> +| charset="utf8" +| <body> + +#data +<!doctype html><html a=b><head></head><html c=d> +#errors +(1,48): non-html-root +#document +| <!DOCTYPE html> +| <html> +| a="b" +| c="d" +| <head> +| <body> + +#data +<!doctype html><image/> +#errors +(1,23): image-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <img> + +#data +<!doctype html>a<i>b<table>c<b>d</i>e</b>f +#errors +(1,28): foster-parenting-character +(1,31): foster-parenting-start-tag +(1,32): foster-parenting-character +(1,36): foster-parenting-end-tag +(1,36): adoption-agency-1.3 +(1,37): foster-parenting-character +(1,41): foster-parenting-end-tag +(1,42): foster-parenting-character +(1,42): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "a" +| <i> +| "bc" +| <b> +| "de" +| "f" +| <table> + +#data +<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f +#errors +(1,25): foster-parenting-start-tag +(1,26): foster-parenting-character +(1,29): foster-parenting-start-tag +(1,30): foster-parenting-character +(1,35): foster-parenting-start-tag +(1,36): foster-parenting-character +(1,39): foster-parenting-start-tag +(1,40): foster-parenting-character +(1,44): foster-parenting-end-tag +(1,44): adoption-agency-1.3 +(1,44): adoption-agency-1.3 +(1,45): foster-parenting-character +(1,49): foster-parenting-end-tag +(1,49): adoption-agency-1.3 +(1,49): adoption-agency-1.3 +(1,50): foster-parenting-character +(1,50): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <b> +| <i> +| "c" +| <a> +| "d" +| <a> +| "e" +| <a> +| "f" +| <table> + +#data +<!doctype html><i>a<b>b<div>c<a>d</i>e</b>f +#errors +(1,37): adoption-agency-1.3 +(1,37): adoption-agency-1.3 +(1,42): adoption-agency-1.3 +(1,42): adoption-agency-1.3 +(1,43): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <b> +| <i> +| "c" +| <a> +| "d" +| <a> +| "e" +| <a> +| "f" + +#data +<!doctype html><table><i>a<b>b<div>c</i> +#errors +(1,25): foster-parenting-start-tag +(1,26): foster-parenting-character +(1,29): foster-parenting-start-tag +(1,30): foster-parenting-character +(1,35): foster-parenting-start-tag +(1,36): foster-parenting-character +(1,40): foster-parenting-end-tag +(1,40): adoption-agency-1.3 +(1,40): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <i> +| "c" +| <table> + +#data +<!doctype html><table><i>a<b>b<div>c<a>d</i>e</b>f +#errors +(1,25): foster-parenting-start-tag +(1,26): foster-parenting-character +(1,29): foster-parenting-start-tag +(1,30): foster-parenting-character +(1,35): foster-parenting-start-tag +(1,36): foster-parenting-character +(1,39): foster-parenting-start-tag +(1,40): foster-parenting-character +(1,44): foster-parenting-end-tag +(1,44): adoption-agency-1.3 +(1,44): adoption-agency-1.3 +(1,45): foster-parenting-character +(1,49): foster-parenting-end-tag +(1,44): adoption-agency-1.3 +(1,44): adoption-agency-1.3 +(1,50): foster-parenting-character +(1,50): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <b> +| "b" +| <b> +| <div> +| <b> +| <i> +| "c" +| <a> +| "d" +| <a> +| "e" +| <a> +| "f" +| <table> + +#data +<!doctype html><table><i>a<div>b<tr>c<b>d</i>e +#errors +(1,25): foster-parenting-start-tag +(1,26): foster-parenting-character +(1,31): foster-parenting-start-tag +(1,32): foster-parenting-character +(1,37): foster-parenting-character +(1,40): foster-parenting-start-tag +(1,41): foster-parenting-character +(1,45): foster-parenting-end-tag +(1,45): adoption-agency-1.3 +(1,46): foster-parenting-character +(1,46): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <i> +| "a" +| <div> +| "b" +| <i> +| "c" +| <b> +| "d" +| <b> +| "e" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><table><td><table><i>a<div>b<b>c</i>d +#errors +(1,26): unexpected-cell-in-table-body +(1,36): foster-parenting-start-tag +(1,37): foster-parenting-character +(1,42): foster-parenting-start-tag +(1,43): foster-parenting-character +(1,46): foster-parenting-start-tag +(1,47): foster-parenting-character +(1,51): foster-parenting-end-tag +(1,51): adoption-agency-1.3 +(1,51): adoption-agency-1.3 +(1,52): foster-parenting-character +(1,52): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <i> +| "a" +| <div> +| <i> +| "b" +| <b> +| "c" +| <b> +| "d" +| <table> + +#data +<!doctype html><body><bgsound> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <bgsound> + +#data +<!doctype html><body><basefont> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <basefont> + +#data +<!doctype html><a><b></a><basefont> +#errors +(1,25): adoption-agency-1.3 +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <a> +| <b> +| <basefont> + +#data +<!doctype html><a><b></a><bgsound> +#errors +(1,25): adoption-agency-1.3 +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <a> +| <b> +| <bgsound> + +#data +<!doctype html><figcaption><article></figcaption>a +#errors +(1,49): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <figcaption> +| <article> +| "a" + +#data +<!doctype html><summary><article></summary>a +#errors +(1,43): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <summary> +| <article> +| "a" + +#data +<!doctype html><p><a><plaintext>b +#errors +(1,32): unexpected-end-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <a> +| <plaintext> +| <a> +| "b" + +#data +<!DOCTYPE html><div>a<a></div>b<p>c</p>d +#errors +(1,30): end-tag-too-early +(1,40): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| "a" +| <a> +| <a> +| "b" +| <p> +| "c" +| "d" diff --git a/tests/html5lib-tests/tree-construction/tests2.dat b/tests/html5lib-tests/tree-construction/tests2.dat new file mode 100644 index 0000000..b44fec4 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests2.dat @@ -0,0 +1,821 @@ +#data +<!DOCTYPE html>Test +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "Test" + +#data +<textarea>test</div>test +#errors +(1,10): expected-doctype-but-got-start-tag +(1,24): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <textarea> +| "test</div>test" + +#data +<table><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,11): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> + +#data +<table><td>test</tbody></table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| "test" + +#data +<frame>test +#errors +(1,7): expected-doctype-but-got-start-tag +(1,7): unexpected-start-tag-ignored +#document +| <html> +| <head> +| <body> +| "test" + +#data +<!DOCTYPE html><frameset>test +#errors +(1,29): unexpected-char-in-frameset +(1,29): unexpected-char-in-frameset +(1,29): unexpected-char-in-frameset +(1,29): unexpected-char-in-frameset +(1,29): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!DOCTYPE html><frameset> te st +#errors +(1,29): unexpected-char-in-frameset +(1,29): unexpected-char-in-frameset +(1,29): unexpected-char-in-frameset +(1,29): unexpected-char-in-frameset +(1,29): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| " " + +#data +<!DOCTYPE html><frameset></frameset> te st +#errors +(1,29): unexpected-char-after-frameset +(1,29): unexpected-char-after-frameset +(1,29): unexpected-char-after-frameset +(1,29): unexpected-char-after-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> +| " " + +#data +<!DOCTYPE html><frameset><!DOCTYPE html> +#errors +(1,40): unexpected-doctype +(1,40): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!DOCTYPE html><font><p><b>test</font> +#errors +(1,38): adoption-agency-1.3 +(1,38): adoption-agency-1.3 +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <font> +| <p> +| <font> +| <b> +| "test" + +#data +<!DOCTYPE html><dt><div><dd> +#errors +(1,28): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <dt> +| <div> +| <dd> + +#data +<script></x +#errors +(1,8): expected-doctype-but-got-start-tag +(1,11): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <script> +| "</x" +| <body> + +#data +<table><plaintext><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,18): unexpected-start-tag-implies-table-voodoo +(1,22): foster-parenting-character-in-table +(1,22): foster-parenting-character-in-table +(1,22): foster-parenting-character-in-table +(1,22): foster-parenting-character-in-table +(1,22): eof-in-table +#document +| <html> +| <head> +| <body> +| <plaintext> +| "<td>" +| <table> + +#data +<plaintext></plaintext> +#errors +(1,11): expected-doctype-but-got-start-tag +(1,23): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <plaintext> +| "</plaintext>" + +#data +<!DOCTYPE html><table><tr>TEST +#errors +(1,30): foster-parenting-character-in-table +(1,30): foster-parenting-character-in-table +(1,30): foster-parenting-character-in-table +(1,30): foster-parenting-character-in-table +(1,30): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "TEST" +| <table> +| <tbody> +| <tr> + +#data +<!DOCTYPE html><body t1=1><body t2=2><body t3=3 t4=4> +#errors +(1,37): unexpected-start-tag +(1,53): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| t1="1" +| t2="2" +| t3="3" +| t4="4" + +#data +</b test +#errors +(1,8): eof-in-attribute-name +(1,8): expected-doctype-but-got-eof +#new-errors +(1:9) eof-in-tag +#document +| <html> +| <head> +| <body> + +#data +<!DOCTYPE html></b test<b &=&>X +#errors +(1,24): invalid-character-in-attribute-name +(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> +| <head> +| <body> +| "X" + +#data +<!doctypehtml><scrIPt type=text/x-foobar;baz>X</SCRipt +#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> +| <head> +| <script> +| type="text/x-foobar;baz" +| "X</SCRipt" +| <body> + +#data +& +#errors +(1,1): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "&" + +#data +&# +#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> +| <body> +| "&#" + +#data +&#X +#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> +| <body> +| "&#X" + +#data +&#x +#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> +| <body> +| "&#x" + +#data +- +#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> +| <body> +| "-" + +#data +&x-test +#errors +(1,2): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "&x-test" + +#data +<!doctypehtml><p><li> +#errors +(1,9): need-space-after-doctype +#new-errors +(1:10) missing-whitespace-before-doctype-name +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <li> + +#data +<!doctypehtml><p><dt> +#errors +(1,9): need-space-after-doctype +#new-errors +(1:10) missing-whitespace-before-doctype-name +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <dt> + +#data +<!doctypehtml><p><dd> +#errors +(1,9): need-space-after-doctype +#new-errors +(1:10) missing-whitespace-before-doctype-name +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <dd> + +#data +<!doctypehtml><p><form> +#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> +| <head> +| <body> +| <p> +| <form> + +#data +<!DOCTYPE html><p></P>X +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| "X" + +#data +& +#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> +| <body> +| "&" + +#data +&AMp; +#errors +(1,3): expected-named-entity +(1,3): expected-doctype-but-got-chars +#new-errors +(1:5) unknown-named-character-reference +#document +| <html> +| <head> +| <body> +| "&AMp;" + +#data +<!DOCTYPE html><html><head></head><body><thisISasillyTESTelementNameToMakeSureCrazyTagNamesArePARSEDcorrectLY> +#errors +(1,110): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <thisisasillytestelementnametomakesurecrazytagnamesareparsedcorrectly> + +#data +<!DOCTYPE html>X</body>X +#errors +(1,24): unexpected-char-after-body +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "XX" + +#data +<!DOCTYPE html><!-- X +#errors +(1,21): eof-in-comment +#new-errors +(1:22) eof-in-comment +#document +| <!DOCTYPE html> +| <!-- X --> +| <html> +| <head> +| <body> + +#data +<!DOCTYPE html><table><caption>test TEST</caption><td>test +#errors +(1,54): unexpected-cell-in-table-body +(1,58): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| "test TEST" +| <tbody> +| <tr> +| <td> +| "test" + +#data +<!DOCTYPE html><select><option><optgroup> +#errors +(1,41): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> +| <optgroup> + +#data +<!DOCTYPE html><select><optgroup><option></optgroup><option><select><option> +#errors +(1,68): unexpected-select-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <optgroup> +| <option> +| <option> +| <option> + +#data +<!DOCTYPE html><select><optgroup><option><optgroup> +#errors +(1,51): eof-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <optgroup> +| <option> +| <optgroup> + +#data +<!DOCTYPE html><datalist><option>foo</datalist>bar +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <datalist> +| <option> +| "foo" +| "bar" + +#data +<!DOCTYPE html><font><input><input></font> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <font> +| <input> +| <input> + +#data +<!DOCTYPE html><!-- XXX - XXX --> +#errors +#document +| <!DOCTYPE html> +| <!-- XXX - XXX --> +| <html> +| <head> +| <body> + +#data +<!DOCTYPE html><!-- XXX - XXX +#errors +(1,29): eof-in-comment +#new-errors +(1:30) eof-in-comment +#document +| <!DOCTYPE html> +| <!-- XXX - XXX --> +| <html> +| <head> +| <body> + +#data +<!DOCTYPE html><!-- XXX - XXX - XXX --> +#errors +#document +| <!DOCTYPE html> +| <!-- XXX - XXX - XXX --> +| <html> +| <head> +| <body> + +#data +test +test +#errors +(2,4): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "test +test" + +#data +<!DOCTYPE html><body><title>test</body></title> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <title> +| "test</body>" + +#data +<!DOCTYPE html><body><title>X</title><meta name=z><link rel=foo><style> +x { content:"</style" } </style> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <title> +| "X" +| <meta> +| name="z" +| <link> +| rel="foo" +| <style> +| " +x { content:"</style" } " + +#data +<!DOCTYPE html><select><optgroup></optgroup></select> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <optgroup> + +#data + + +#errors +(2,1): expected-doctype-but-got-eof +#document +| <html> +| <head> +| <body> + +#data +<!DOCTYPE html> <html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<!DOCTYPE html><script> +</script> <title>x</title> </head> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <script> +| " +" +| " " +| <title> +| "x" +| " " +| <body> + +#data +<!DOCTYPE html><html><body><html id=x> +#errors +(1,38): non-html-root +#document +| <!DOCTYPE html> +| <html> +| id="x" +| <head> +| <body> + +#data +<!DOCTYPE html>X</body><html id="x"> +#errors +(1,36): non-html-root +#document +| <!DOCTYPE html> +| <html> +| id="x" +| <head> +| <body> +| "X" + +#data +<!DOCTYPE html><head><html id=x> +#errors +(1,32): non-html-root +#document +| <!DOCTYPE html> +| <html> +| id="x" +| <head> +| <body> + +#data +<!DOCTYPE html>X</html>X +#errors +(1,24): expected-eof-but-got-char +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "XX" + +#data +<!DOCTYPE html>X</html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "X " + +#data +<!DOCTYPE html>X</html><p>X +#errors +(1,26): expected-eof-but-got-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "X" +| <p> +| "X" + +#data +<!DOCTYPE html>X<p/x/y/z> +#errors +(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> +| <head> +| <body> +| "X" +| <p> +| x="" +| y="" +| z="" + +#data +<!DOCTYPE html><!--x-- +#errors +(1,22): eof-in-comment-double-dash +#new-errors +(1:23) eof-in-comment +#document +| <!DOCTYPE html> +| <!-- x --> +| <html> +| <head> +| <body> + +#data +<!DOCTYPE html><table><tr><td></p></table> +#errors +(1,34): unexpected-end-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <p> + +#data +<!DOCTYPE <!DOCTYPE HTML>><!--<!--x-->--> +#errors +(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> +| <head> +| <body> +| ">" +| <!-- <!--x --> +| "-->" + +#data +<!doctype html><div><form></form><div></div></div> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <div> +| <form> +| <div> diff --git a/tests/html5lib-tests/tree-construction/tests20.dat b/tests/html5lib-tests/tree-construction/tests20.dat new file mode 100644 index 0000000..1bfd130 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests20.dat @@ -0,0 +1,583 @@ +#data +<!doctype html><p><button><button> +#errors +(1,34): unexpected-start-tag-implies-end-tag +(1,34): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <button> + +#data +<!doctype html><p><button><address> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <address> + +#data +<!doctype html><p><button><blockquote> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <blockquote> + +#data +<!doctype html><p><button><menu> +#errors +(1,32): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <menu> + +#data +<!doctype html><p><button><p> +#errors +(1,29): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <p> + +#data +<!doctype html><p><button><ul> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <ul> + +#data +<!doctype html><p><button><h1> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <h1> + +#data +<!doctype html><p><button><h6> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <h6> + +#data +<!doctype html><p><button><listing> +#errors +(1,35): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <listing> + +#data +<!doctype html><p><button><pre> +#errors +(1,31): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <pre> + +#data +<!doctype html><p><button><form> +#errors +(1,32): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <form> + +#data +<!doctype html><p><button><li> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <li> + +#data +<!doctype html><p><button><dd> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <dd> + +#data +<!doctype html><p><button><dt> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <dt> + +#data +<!doctype html><p><button><plaintext> +#errors +(1,37): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <plaintext> + +#data +<!doctype html><p><button><table> +#errors +(1,33): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <table> + +#data +<!doctype html><p><button><hr> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <hr> + +#data +<!doctype html><p><button><xmp> +#errors +(1,31): expected-named-closing-tag-but-got-eof +(1,31): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <xmp> + +#data +<!doctype html><p><button></p> +#errors +(1,30): unexpected-end-tag +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <button> +| <p> + +#data +<!doctype html><address><button></address>a +#errors +(1,42): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <address> +| <button> +| "a" + +#data +<!doctype html><address><button></address>a +#errors +(1,42): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <address> +| <button> +| "a" + +#data +<p><table></p> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,14): unexpected-end-tag-implies-table-voodoo +(1,14): unexpected-end-tag +(1,14): eof-in-table +#document +| <html> +| <head> +| <body> +| <p> +| <p> +| <table> + +#data +<!doctype html><svg> +#errors +(1,20): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> + +#data +<!doctype html><p><figcaption> +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <figcaption> + +#data +<!doctype html><p><summary> +#errors +(1,27): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <summary> + +#data +<!doctype html><form><table><form> +#errors +(1,34): unexpected-form-in-table +(1,34): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| <table> + +#data +<!doctype html><table><form><form> +#errors +(1,28): unexpected-form-in-table +(1,34): unexpected-form-in-table +(1,34): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <form> + +#data +<!doctype html><table><form></table><form> +#errors +(1,28): unexpected-form-in-table +(1,42): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <form> + +#data +<!doctype html><svg><foreignObject><p> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg foreignObject> +| <p> + +#data +<!doctype html><svg><title>abc +#errors +(1,30): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg title> +| "abc" + +#data +<option><span><option> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,22): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <option> +| <span> +| <option> + +#data +<option><option> +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <option> +| <option> + +#data +<math><annotation-xml><div> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,27): unexpected-html-element-in-foreign-content +(1,27): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| <div> + +#data +<math><annotation-xml encoding="application/svg+xml"><div> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,58): unexpected-html-element-in-foreign-content +(1,58): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| encoding="application/svg+xml" +| <div> + +#data +<math><annotation-xml encoding="application/xhtml+xml"><div> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,60): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| encoding="application/xhtml+xml" +| <div> + +#data +<math><annotation-xml encoding="aPPlication/xhtmL+xMl"><div> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,60): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| encoding="aPPlication/xhtmL+xMl" +| <div> + +#data +<math><annotation-xml encoding="text/html"><div> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,48): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| encoding="text/html" +| <div> + +#data +<math><annotation-xml encoding="Text/htmL"><div> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,48): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| encoding="Text/htmL" +| <div> + +#data +<math><annotation-xml encoding=" text/html "><div> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,50): unexpected-html-element-in-foreign-content +(1,50): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| <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-in-math +(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/tests/html5lib-tests/tree-construction/tests21.dat b/tests/html5lib-tests/tree-construction/tests21.dat new file mode 100644 index 0000000..d52ab8c --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests21.dat @@ -0,0 +1,333 @@ +#data +<svg><![CDATA[foo]]> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,20): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "foo" + +#data +<math><![CDATA[foo]]> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,21): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <math math> +| "foo" + +#data +<div><![CDATA[foo]]> +#errors +(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> +| <body> +| <div> +| <!-- [CDATA[foo]] --> + +#data +<svg><![CDATA[foo +#errors +(1,5): expected-doctype-but-got-start-tag +(1:18) eof-in-cdata +(1,17): expected-closing-tag-but-got-eof +#new-errors +(1:18) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> +| "foo" + +#data +<svg><![CDATA[foo +#errors +(1,5): expected-doctype-but-got-start-tag +(1:18) eof-in-cdata +(1,17): expected-closing-tag-but-got-eof +#new-errors +(1:18) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> +| "foo" + +#data +<svg><![CDATA[ +#errors +(1,5): expected-doctype-but-got-start-tag +(1:15) eof-in-cdata +(1,14): expected-closing-tag-but-got-eof +#new-errors +(1:15) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> + +#data +<svg><![CDATA[]]> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,17): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> + +#data +<svg><![CDATA[]] >]]> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,21): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "]] >" + +#data +<svg><![CDATA[]] >]]> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,21): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "]] >" + +#data +<svg><![CDATA[]] +#errors +(1,5): expected-doctype-but-got-start-tag +(1:17) eof-in-cdata +(1,16): expected-closing-tag-but-got-eof +#new-errors +(1:17) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> +| "]]" + +#data +<svg><![CDATA[] +#errors +(1,5): expected-doctype-but-got-start-tag +(1:16) eof-in-cdata +(1,15): expected-closing-tag-but-got-eof +#new-errors +(1:16) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> +| "]" + +#data +<svg><![CDATA[]>a +#errors +(1,5): expected-doctype-but-got-start-tag +(1:16) eof-in-cdata +(1,17): expected-closing-tag-but-got-eof +#new-errors +(1:18) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> +| "]>a" + +#data +<!DOCTYPE html><svg><![CDATA[foo]]]> +#errors +(1,36): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| "foo]" + +#data +<!DOCTYPE html><svg><![CDATA[foo]]]]> +#errors +(1,37): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| "foo]]" + +#data +<!DOCTYPE html><svg><![CDATA[foo]]]]]> +#errors +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| "foo]]]" + +#data +<svg><foreignObject><div><![CDATA[foo]]> +#errors +(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> +| <body> +| <svg svg> +| <svg foreignObject> +| <div> +| <!-- [CDATA[foo]] --> + +#data +<svg><![CDATA[<svg>]]> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,22): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "<svg>" + +#data +<svg><![CDATA[</svg>a]]> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,24): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "</svg>a" + +#data +<svg><![CDATA[<svg>a +#errors +(1,5): expected-doctype-but-got-start-tag +(1:21) eof-in-cdata +(1,20): expected-closing-tag-but-got-eof +#new-errors +(1:21) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> +| "<svg>a" + +#data +<svg><![CDATA[</svg>a +#errors +(1,5): expected-doctype-but-got-start-tag +(1:22) eof-in-cdata +(1,21): expected-closing-tag-but-got-eof +#new-errors +(1:22) eof-in-cdata +#document +| <html> +| <head> +| <body> +| <svg svg> +| "</svg>a" + +#data +<svg><![CDATA[<svg>]]><path> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,28): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "<svg>" +| <svg path> + +#data +<svg><![CDATA[<svg>]]></path> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,29): unexpected-end-tag +(1,29): unexpected-end-tag +(1,29): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "<svg>" + +#data +<svg><![CDATA[<svg>]]><!--path--> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "<svg>" +| <!-- path --> + +#data +<svg><![CDATA[<svg>]]>path +#errors +(1,5): expected-doctype-but-got-start-tag +(1,26): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "<svg>path" + +#data +<svg><![CDATA[<!--svg-->]]> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,27): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| "<!--svg-->" diff --git a/tests/html5lib-tests/tree-construction/tests22.dat b/tests/html5lib-tests/tree-construction/tests22.dat new file mode 100644 index 0000000..31e6d9e --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests22.dat @@ -0,0 +1,190 @@ +#data +<a><b><big><em><strong><div>X</a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,33): adoption-agency-1.3 +(1,33): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <b> +| <big> +| <em> +| <strong> +| <big> +| <em> +| <strong> +| <div> +| <a> +| "X" + +#data +<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8>A</a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,91): adoption-agency-1.3 +(1,91): adoption-agency-1.3 +(1,91): adoption-agency-1.3 +(1,91): adoption-agency-1.3 +(1,91): adoption-agency-1.3 +(1,91): adoption-agency-1.3 +(1,91): adoption-agency-1.3 +(1,91): adoption-agency-1.3 +(1,91): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <b> +| <b> +| <div> +| id="1" +| <a> +| <div> +| id="2" +| <a> +| <div> +| id="3" +| <a> +| <div> +| id="4" +| <a> +| <div> +| id="5" +| <a> +| <div> +| id="6" +| <a> +| <div> +| id="7" +| <a> +| <div> +| id="8" +| <a> +| "A" + +#data +<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9>A</a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,101): adoption-agency-1.3 +(1,101): adoption-agency-1.3 +(1,101): adoption-agency-1.3 +(1,101): adoption-agency-1.3 +(1,101): adoption-agency-1.3 +(1,101): adoption-agency-1.3 +(1,101): adoption-agency-1.3 +(1,101): adoption-agency-1.3 +(1,101): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <b> +| <b> +| <div> +| id="1" +| <a> +| <div> +| id="2" +| <a> +| <div> +| id="3" +| <a> +| <div> +| id="4" +| <a> +| <div> +| id="5" +| <a> +| <div> +| id="6" +| <a> +| <div> +| id="7" +| <a> +| <div> +| id="8" +| <a> +| <div> +| id="9" +| "A" + +#data +<a><b><div id=1><div id=2><div id=3><div id=4><div id=5><div id=6><div id=7><div id=8><div id=9><div id=10>A</a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,112): adoption-agency-1.3 +(1,112): adoption-agency-1.3 +(1,112): adoption-agency-1.3 +(1,112): adoption-agency-1.3 +(1,112): adoption-agency-1.3 +(1,112): adoption-agency-1.3 +(1,112): adoption-agency-1.3 +(1,112): adoption-agency-1.3 +(1,112): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <b> +| <b> +| <div> +| id="1" +| <a> +| <div> +| id="2" +| <a> +| <div> +| id="3" +| <a> +| <div> +| id="4" +| <a> +| <div> +| id="5" +| <a> +| <div> +| id="6" +| <a> +| <div> +| id="7" +| <a> +| <div> +| id="8" +| <a> +| <div> +| id="9" +| <div> +| id="10" +| "A" + +#data +<cite><b><cite><i><cite><i><cite><i><div>X</b>TEST +#errors +(1,6): expected-doctype-but-got-start-tag +(1,46): adoption-agency-1.3 +(1,50): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <cite> +| <b> +| <cite> +| <i> +| <cite> +| <i> +| <cite> +| <i> +| <i> +| <i> +| <div> +| <b> +| "X" +| "TEST" diff --git a/tests/html5lib-tests/tree-construction/tests23.dat b/tests/html5lib-tests/tree-construction/tests23.dat new file mode 100644 index 0000000..49e4a4a --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests23.dat @@ -0,0 +1,168 @@ +#data +<p><font size=4><font color=red><font size=4><font size=4><font size=4><font size=4><font size=4><font color=red><p>X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,116): unexpected-end-tag +(1,117): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <font> +| size="4" +| <font> +| color="red" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| color="red" +| <p> +| <font> +| color="red" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| color="red" +| "X" + +#data +<p><font size=4><font size=4><font size=4><font size=4><p>X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,58): unexpected-end-tag +(1,59): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <p> +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| "X" + +#data +<p><font size=4><font size=4><font size=4><font size="5"><font size=4><p>X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,73): unexpected-end-tag +(1,74): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="5" +| <font> +| size="4" +| <p> +| <font> +| size="4" +| <font> +| size="4" +| <font> +| size="5" +| <font> +| size="4" +| "X" + +#data +<p><font size=4 id=a><font size=4 id=b><font size=4><font size=4><p>X +#errors +(1,3): expected-doctype-but-got-start-tag +(1,68): unexpected-end-tag +(1,69): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <font> +| id="a" +| size="4" +| <font> +| id="b" +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| <p> +| <font> +| id="a" +| size="4" +| <font> +| id="b" +| size="4" +| <font> +| size="4" +| <font> +| size="4" +| "X" + +#data +<p><b id=a><b id=a><b id=a><b><object><b id=a><b id=a>X</object><p>Y +#errors +(1,3): expected-doctype-but-got-start-tag +(1,64): end-tag-too-early +(1,67): unexpected-end-tag +(1,68): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <p> +| <b> +| id="a" +| <b> +| id="a" +| <b> +| id="a" +| <b> +| <object> +| <b> +| id="a" +| <b> +| id="a" +| "X" +| <p> +| <b> +| id="a" +| <b> +| id="a" +| <b> +| id="a" +| <b> +| "Y" diff --git a/tests/html5lib-tests/tree-construction/tests24.dat b/tests/html5lib-tests/tree-construction/tests24.dat new file mode 100644 index 0000000..f6dc7eb --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests24.dat @@ -0,0 +1,79 @@ +#data +<!DOCTYPE html>≂̸ +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "抶" + +#data +<!DOCTYPE html>≂̸A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "抶A" + +#data +<!DOCTYPE html>   +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "" + +#data +<!DOCTYPE html>  A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "A" + +#data +<!DOCTYPE html>⊂⃒ +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "" + +#data +<!DOCTYPE html>⊂⃒A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "A" + +#data +<!DOCTYPE html>𝔾 +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "" + +#data +<!DOCTYPE html>𝔾A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "適" diff --git a/tests/html5lib-tests/tree-construction/tests25.dat b/tests/html5lib-tests/tree-construction/tests25.dat new file mode 100644 index 0000000..5bb369b --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests25.dat @@ -0,0 +1,288 @@ +#data +<!DOCTYPE html><body><foo>A +#errors +(1,27): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <foo> +| "A" + +#data +<!DOCTYPE html><body><area>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <area> +| "A" + +#data +<!DOCTYPE html><body><base>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <base> +| "A" + +#data +<!DOCTYPE html><body><basefont>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <basefont> +| "A" + +#data +<!DOCTYPE html><body><bgsound>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <bgsound> +| "A" + +#data +<!DOCTYPE html><body><br>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <br> +| "A" + +#data +<!DOCTYPE html><body><col>A +#errors +(1,26): unexpected-start-tag-ignored +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "A" + +#data +<!DOCTYPE html><body><command>A +#errors +eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <command> +| "A" + +#data +<!DOCTYPE html><body><embed>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <embed> +| "A" + +#data +<!DOCTYPE html><body><frame>A +#errors +(1,28): unexpected-start-tag-ignored +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "A" + +#data +<!DOCTYPE html><body><hr>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <hr> +| "A" + +#data +<!DOCTYPE html><body><img>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <img> +| "A" + +#data +<!DOCTYPE html><body><input>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <input> +| "A" + +#data +<!DOCTYPE html><body><keygen>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <keygen> +| "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 +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <link> +| "A" + +#data +<!DOCTYPE html><body><meta>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <meta> +| "A" + +#data +<!DOCTYPE html><body><param>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <param> +| "A" + +#data +<!DOCTYPE html><body><source>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <source> +| "A" + +#data +<!DOCTYPE html><body><track>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <track> +| "A" + +#data +<!DOCTYPE html><body><wbr>A +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <wbr> +| "A" diff --git a/tests/html5lib-tests/tree-construction/tests26.dat b/tests/html5lib-tests/tree-construction/tests26.dat new file mode 100644 index 0000000..1ba2be2 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests26.dat @@ -0,0 +1,453 @@ +#data +<!DOCTYPE html><body><a href='#1'><nobr>1<nobr></a><br><a href='#2'><nobr>2<nobr></a><br><a href='#3'><nobr>3<nobr></a> +#errors +(1,47): unexpected-start-tag-implies-end-tag +(1,51): adoption-agency-1.3 +(1,74): unexpected-start-tag-implies-end-tag +(1,74): adoption-agency-1.3 +(1,81): unexpected-start-tag-implies-end-tag +(1,85): adoption-agency-1.3 +(1,108): unexpected-start-tag-implies-end-tag +(1,108): adoption-agency-1.3 +(1,115): unexpected-start-tag-implies-end-tag +(1,119): adoption-agency-1.3 +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <a> +| href="#1" +| <nobr> +| "1" +| <nobr> +| <nobr> +| <br> +| <a> +| href="#2" +| <a> +| href="#2" +| <nobr> +| "2" +| <nobr> +| <nobr> +| <br> +| <a> +| href="#3" +| <a> +| href="#3" +| <nobr> +| "3" +| <nobr> + +#data +<!DOCTYPE html><body><b><nobr>1<nobr></b><i><nobr>2<nobr></i>3 +#errors +(1,37): unexpected-start-tag-implies-end-tag +(1,41): adoption-agency-1.3 +(1,50): unexpected-start-tag-implies-end-tag +(1,50): adoption-agency-1.3 +(1,57): unexpected-start-tag-implies-end-tag +(1,61): adoption-agency-1.3 +(1,62): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| <nobr> +| "1" +| <nobr> +| <nobr> +| <i> +| <i> +| <nobr> +| "2" +| <nobr> +| <nobr> +| "3" + +#data +<!DOCTYPE html><body><b><nobr>1<table><nobr></b><i><nobr>2<nobr></i>3 +#errors +(1,44): foster-parenting-start-tag +(1,48): foster-parenting-end-tag +(1,48): adoption-agency-1.3 +(1,51): foster-parenting-start-tag +(1,57): foster-parenting-start-tag +(1,57): nobr-already-in-scope +(1,57): adoption-agency-1.2 +(1,58): foster-parenting-character +(1,64): foster-parenting-start-tag +(1,64): nobr-already-in-scope +(1,68): foster-parenting-end-tag +(1,68): adoption-agency-1.2 +(1,69): foster-parenting-character +(1,69): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| <nobr> +| "1" +| <nobr> +| <i> +| <i> +| <nobr> +| "2" +| <nobr> +| <nobr> +| "3" +| <table> + +#data +<!DOCTYPE html><body><b><nobr>1<table><tr><td><nobr></b><i><nobr>2<nobr></i>3 +#errors +(1,56): unexpected-end-tag +(1,65): unexpected-start-tag-implies-end-tag +(1,65): adoption-agency-1.3 +(1,72): unexpected-start-tag-implies-end-tag +(1,76): adoption-agency-1.3 +(1,77): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| <nobr> +| "1" +| <table> +| <tbody> +| <tr> +| <td> +| <nobr> +| <i> +| <i> +| <nobr> +| "2" +| <nobr> +| <nobr> +| "3" + +#data +<!DOCTYPE html><body><b><nobr>1<div><nobr></b><i><nobr>2<nobr></i>3 +#errors +(1,42): unexpected-start-tag-implies-end-tag +(1,42): adoption-agency-1.3 +(1,46): adoption-agency-1.3 +(1,46): adoption-agency-1.3 +(1,55): unexpected-start-tag-implies-end-tag +(1,55): adoption-agency-1.3 +(1,62): unexpected-start-tag-implies-end-tag +(1,66): adoption-agency-1.3 +(1,67): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| <nobr> +| "1" +| <div> +| <b> +| <nobr> +| <nobr> +| <nobr> +| <i> +| <i> +| <nobr> +| "2" +| <nobr> +| <nobr> +| "3" + +#data +<!DOCTYPE html><body><b><nobr>1<nobr></b><div><i><nobr>2<nobr></i>3 +#errors +(1,37): unexpected-start-tag-implies-end-tag +(1,41): adoption-agency-1.3 +(1,55): unexpected-start-tag-implies-end-tag +(1,55): adoption-agency-1.3 +(1,62): unexpected-start-tag-implies-end-tag +(1,66): adoption-agency-1.3 +(1,67): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| <nobr> +| "1" +| <nobr> +| <div> +| <nobr> +| <i> +| <i> +| <nobr> +| "2" +| <nobr> +| <nobr> +| "3" + +#data +<!DOCTYPE html><body><b><nobr>1<nobr><ins></b><i><nobr> +#errors +(1,37): unexpected-start-tag-implies-end-tag +(1,46): adoption-agency-1.3 +(1,55): unexpected-start-tag-implies-end-tag +(1,55): adoption-agency-1.3 +(1,55): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| <nobr> +| "1" +| <nobr> +| <ins> +| <nobr> +| <i> +| <i> +| <nobr> + +#data +<!DOCTYPE html><body><b><nobr>1<ins><nobr></b><i>2 +#errors +(1,42): unexpected-start-tag-implies-end-tag +(1,42): adoption-agency-1.3 +(1,46): adoption-agency-1.3 +(1,50): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| <nobr> +| "1" +| <ins> +| <nobr> +| <nobr> +| <i> +| "2" + +#data +<!DOCTYPE html><body><b>1<nobr></b><i><nobr>2</i> +#errors +(1,35): adoption-agency-1.3 +(1,44): unexpected-start-tag-implies-end-tag +(1,44): adoption-agency-1.3 +(1,49): adoption-agency-1.3 +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <b> +| "1" +| <nobr> +| <nobr> +| <i> +| <i> +| <nobr> +| "2" + +#data +<p><code x</code></p> + +#errors +(1,3): expected-doctype-but-got-start-tag +(1,11): invalid-character-in-attribute-name +(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> +| <body> +| <p> +| <code> +| code="" +| x<="" +| <code> +| code="" +| x<="" +| " +" + +#data +<!DOCTYPE html><svg><foreignObject><p><i></p>a +#errors +(1,45): unexpected-end-tag +(1,46): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <svg svg> +| <svg foreignObject> +| <p> +| <i> +| <i> +| "a" + +#data +<!DOCTYPE html><table><tr><td><svg><foreignObject><p><i></p>a +#errors +(1,60): unexpected-end-tag +(1,61): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| <svg foreignObject> +| <p> +| <i> +| <i> +| "a" + +#data +<!DOCTYPE html><math><mtext><p><i></p>a +#errors +(1,38): unexpected-end-tag +(1,39): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mtext> +| <p> +| <i> +| <i> +| "a" + +#data +<!DOCTYPE html><table><tr><td><math><mtext><p><i></p>a +#errors +(1,53): unexpected-end-tag +(1,54): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <math math> +| <math mtext> +| <p> +| <i> +| <i> +| "a" + +#data +<!DOCTYPE html><body><div><!/div>a +#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> +| <head> +| <body> +| <div> +| <!-- /div --> +| "a" + +#data +<button><p><button> +#errors +Line 1 Col 8 Unexpected start tag (button). Expected DOCTYPE. +Line 1 Col 19 Unexpected start tag (button) implies end tag (button). +Line 1 Col 19 Expected closing tag. Unexpected end of file. +#document +| <html> +| <head> +| <body> +| <button> +| <p> +| <button> + +#data +<svg></p><foo> +#errors +(1:1) Missing doctype +9: HTML end tag p in a foreign namespace context. +(1:6) Unexpected </p> from in body insertion mode +(1:16) Unexpected EOF +#document +| <html> +| <head> +| <body> +| <svg svg> +| <p> +| <foo> + +#data +<svg></br><foo> +#errors +(1:1) Missing doctype +10: HTML end tag br in a foreign namespace context. +(1:6) Unexpected </br> from in body insertion mode +(1:16) Unexpected EOF +#document +| <html> +| <head> +| <body> +| <svg svg> +| <br> +| <foo> + +#data +<math></p><foo> +#errors +(1:1) Missing doctype +10: HTML end tag p in a foreign namespace context. +(1:7) Unexpected </p> from in body insertion mode +(1:16) Unexpected EOF +#document +| <html> +| <head> +| <body> +| <math math> +| <p> +| <foo> + +#data +<math></br><foo> +#errors +(1:1) Missing doctype +11: HTML end tag br in a foreign namespace context. +(1:7) Unexpected </br> from in body insertion mode +(1:17) Unexpected EOF +#document +| <html> +| <head> +| <body> +| <math math> +| <br> +| <foo> diff --git a/tests/html5lib-tests/tree-construction/tests3.dat b/tests/html5lib-tests/tree-construction/tests3.dat new file mode 100644 index 0000000..c7583d9 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests3.dat @@ -0,0 +1,305 @@ +#data +<head></head><style></style> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,20): unexpected-start-tag-out-of-my-head +#document +| <html> +| <head> +| <style> +| <body> + +#data +<head></head><script></script> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,21): unexpected-start-tag-out-of-my-head +#document +| <html> +| <head> +| <script> +| <body> + +#data +<head></head><!-- --><style></style><!-- --><script></script> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,28): unexpected-start-tag-out-of-my-head +(1,52): unexpected-start-tag-out-of-my-head +#document +| <html> +| <head> +| <style> +| <script> +| <!-- --> +| <!-- --> +| <body> + +#data +<head></head><!-- -->x<style></style><!-- --><script></script> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <!-- --> +| <body> +| "x" +| <style> +| <!-- --> +| <script> + +#data +<!DOCTYPE html><html><head></head><body><pre> +</pre></body></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> + +#data +<!DOCTYPE html><html><head></head><body><pre> +foo</pre></body></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| "foo" + +#data +<!DOCTYPE html><html><head></head><body><pre> + +foo</pre></body></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| " +foo" + +#data +<!DOCTYPE html><html><head></head><body><pre> +foo +</pre></body></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| "foo +" + +#data +<!DOCTYPE html><html><head></head><body><pre>x</pre><span> +</span></body></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| "x" +| <span> +| " +" + +#data +<!DOCTYPE html><html><head></head><body><pre>x +y</pre></body></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| "x +y" + +#data +<!DOCTYPE html><html><head></head><body><pre>x<div> +y</pre></body></html> +#errors +(2,7): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| "x" +| <div> +| " +y" + +#data +<!DOCTYPE html><pre>

A</pre> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <pre> +| " +A" + +#data +<!DOCTYPE html><HTML><META><HEAD></HEAD></HTML> +#errors +(1,33): two-heads-are-not-better-than-one +#document +| <!DOCTYPE html> +| <html> +| <head> +| <meta> +| <body> + +#data +<!DOCTYPE html><HTML><HEAD><head></HEAD></HTML> +#errors +(1,33): two-heads-are-not-better-than-one +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<textarea>foo<span>bar</span><i>baz +#errors +(1,10): expected-doctype-but-got-start-tag +(1,35): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <textarea> +| "foo<span>bar</span><i>baz" + +#data +<title>foo<span>bar</em><i>baz +#errors +(1,7): expected-doctype-but-got-start-tag +(1,30): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <title> +| "foo<span>bar</em><i>baz" +| <body> + +#data +<!DOCTYPE html><textarea> +</textarea> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> + +#data +<!DOCTYPE html><textarea> +foo</textarea> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> +| "foo" + +#data +<!DOCTYPE html><textarea> + +foo</textarea> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <textarea> +| " +foo" + +#data +<!DOCTYPE html><html><head></head><body><ul><li><div><p><li></ul></body></html> +#errors +(1,60): end-tag-too-early +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <ul> +| <li> +| <div> +| <p> +| <li> + +#data +<!doctype html><nobr><nobr><nobr> +#errors +(1,27): unexpected-start-tag-implies-end-tag +(1,33): unexpected-start-tag-implies-end-tag +(1,33): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <nobr> +| <nobr> +| <nobr> + +#data +<!doctype html><nobr><nobr></nobr><nobr> +#errors +(1,27): unexpected-start-tag-implies-end-tag +(1,40): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <nobr> +| <nobr> +| <nobr> + +#data +<!doctype html><html><body><p><table></table></body></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <table> + +#data +<p><table></table> +#errors +(1,3): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <p> +| <table> diff --git a/tests/html5lib-tests/tree-construction/tests4.dat b/tests/html5lib-tests/tree-construction/tests4.dat new file mode 100644 index 0000000..0a6174c --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests4.dat @@ -0,0 +1,58 @@ +#data +direct div content +#errors +#document-fragment +div +#document +| "direct div content" + +#data +direct textarea content +#errors +#document-fragment +textarea +#document +| "direct textarea content" + +#data +textarea content with <em>pseudo</em> <foo>markup +#errors +#document-fragment +textarea +#document +| "textarea content with <em>pseudo</em> <foo>markup" + +#data +this is CDATA inside a <style> element +#errors +#document-fragment +style +#document +| "this is CDATA inside a <style> element" + +#data +</plaintext> +#errors +#document-fragment +plaintext +#document +| "</plaintext>" + +#data +setting html's innerHTML +#errors +#document-fragment +html +#document +| <head> +| <body> +| "setting html's innerHTML" + +#data +<title>setting head's innerHTML</title> +#errors +#document-fragment +head +#document +| <title> +| "setting head's innerHTML" diff --git a/tests/html5lib-tests/tree-construction/tests5.dat b/tests/html5lib-tests/tree-construction/tests5.dat new file mode 100644 index 0000000..1ef8cae --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests5.dat @@ -0,0 +1,210 @@ +#data +<style> <!-- </style>x +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| " <!-- " +| <body> +| "x" + +#data +<style> <!-- </style> --> </style>x +#errors +(1,7): expected-doctype-but-got-start-tag +(1,34): unexpected-end-tag +#document +| <html> +| <head> +| <style> +| " <!-- " +| " " +| <body> +| "--> x" + +#data +<style> <!--> </style>x +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| " <!--> " +| <body> +| "x" + +#data +<style> <!---> </style>x +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| " <!---> " +| <body> +| "x" + +#data +<iframe> <!---> </iframe>x +#errors +(1,8): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <iframe> +| " <!---> " +| "x" + +#data +<iframe> <!--- </iframe>->x</iframe> --> </iframe>x +#errors +(1,8): expected-doctype-but-got-start-tag +(1,36): unexpected-end-tag +(1,50): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <iframe> +| " <!--- " +| "->x --> x" + +#data +<script> <!-- </script> --> </script>x +#errors +(1,8): expected-doctype-but-got-start-tag +(1,37): unexpected-end-tag +#document +| <html> +| <head> +| <script> +| " <!-- " +| " " +| <body> +| "--> x" + +#data +<title> <!-- </title> --> </title>x +#errors +(1,7): expected-doctype-but-got-start-tag +(1,34): unexpected-end-tag +#document +| <html> +| <head> +| <title> +| " <!-- " +| " " +| <body> +| "--> x" + +#data +<textarea> <!--- </textarea>->x</textarea> --> </textarea>x +#errors +(1,10): expected-doctype-but-got-start-tag +(1,42): unexpected-end-tag +(1,58): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <textarea> +| " <!--- " +| "->x --> x" + +#data +<style> <!</-- </style>x +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <style> +| " <!</-- " +| <body> +| "x" + +#data +<p><xmp></xmp> +#errors +(1,3): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <p> +| <xmp> + +#data +<xmp> <!-- > --> </xmp> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <xmp> +| " <!-- > --> " + +#data +<title>&</title> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <title> +| "&" +| <body> + +#data +<title><!--&--></title> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <title> +| "<!--&-->" +| <body> + +#data +<title><!--</title> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <title> +| "<!--" +| <body> + +#data +<noscript><!--</noscript>--></noscript> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,39): unexpected-end-tag +#script-on +#document +| <html> +| <head> +| <noscript> +| "<!--" +| <body> +| "-->" + +#data +<noscript><!--</noscript>--></noscript> +#errors +(1,10): expected-doctype-but-got-start-tag +#script-off +#document +| <html> +| <head> +| <noscript> +| <!-- </noscript> --> +| <body> diff --git a/tests/html5lib-tests/tree-construction/tests6.dat b/tests/html5lib-tests/tree-construction/tests6.dat new file mode 100644 index 0000000..8c36dd3 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests6.dat @@ -0,0 +1,663 @@ +#data +<!doctype html></head> <head> +#errors +(1,29): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| " " +| <body> + +#data +<!doctype html><form><div></form><div> +#errors +(1,33): end-tag-too-early-ignored +(1,38): expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <form> +| <div> +| <div> + +#data +<!doctype html><title>&</title> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "&" +| <body> + +#data +<!doctype html><title><!--&--></title> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "<!--&-->" +| <body> + +#data +<!doctype> +#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> + +#data +<!---x +#errors +(1,6): eof-in-comment +(1,6): expected-doctype-but-got-eof +#new-errors +(1:7) eof-in-comment +#document +| <!-- -x --> +| <html> +| <head> +| <body> + +#data +<body> +<div> +#errors +(1,6): unexpected-start-tag +(2,5): expected-closing-tag-but-got-eof +#document-fragment +div +#document +| " +" +| <div> + +#data +<frameset></frameset> +foo +#errors +(1,10): expected-doctype-but-got-start-tag +(2,1): unexpected-char-after-frameset +(2,2): unexpected-char-after-frameset +(2,3): unexpected-char-after-frameset +#document +| <html> +| <head> +| <frameset> +| " +" + +#data +<frameset></frameset> +<noframes> +#errors +(1,10): expected-doctype-but-got-start-tag +(2,10): expected-named-closing-tag-but-got-eof +#document +| <html> +| <head> +| <frameset> +| " +" +| <noframes> + +#data +<frameset></frameset> +<div> +#errors +(1,10): expected-doctype-but-got-start-tag +(2,5): unexpected-start-tag-after-frameset +#document +| <html> +| <head> +| <frameset> +| " +" + +#data +<frameset></frameset> +</html> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <frameset> +| " +" + +#data +<frameset></frameset> +</div> +#errors +(1,10): expected-doctype-but-got-start-tag +(2,6): unexpected-end-tag-after-frameset +#document +| <html> +| <head> +| <frameset> +| " +" + +#data +<form><form> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,12): unexpected-start-tag +(1,12): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <form> + +#data +<button><button> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,16): unexpected-start-tag-implies-end-tag +(1,16): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <button> +| <button> + +#data +<table><tr><td></th> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,20): unexpected-end-tag +(1,20): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> + +#data +<table><caption><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,20): unexpected-cell-in-table-body +(1,20): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <caption> +| <tbody> +| <tr> +| <td> + +#data +<table><caption><div> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,21): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <caption> +| <div> + +#data +</caption><div> +#errors +(1,10): XXX-undefined-error +(1,15): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <div> + +#data +<table><caption><div></caption> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,31): expected-one-end-tag-but-got-another +(1,31): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <caption> +| <div> + +#data +<table><caption></table> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <table> +| <caption> + +#data +</table><div> +#errors +(1,8): unexpected-end-tag +(1,13): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <div> + +#data +<table><caption></body></col></colgroup></html></tbody></td></tfoot></th></thead></tr> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,23): unexpected-end-tag +(1,29): unexpected-end-tag +(1,40): unexpected-end-tag +(1,47): unexpected-end-tag +(1,55): unexpected-end-tag +(1,60): unexpected-end-tag +(1,68): unexpected-end-tag +(1,73): unexpected-end-tag +(1,81): unexpected-end-tag +(1,86): unexpected-end-tag +(1,86): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <caption> + +#data +<table><caption><div></div> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,27): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <caption> +| <div> + +#data +<table><tr><td></body></caption></col></colgroup></html> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,22): unexpected-end-tag +(1,32): unexpected-end-tag +(1,38): unexpected-end-tag +(1,49): unexpected-end-tag +(1,56): unexpected-end-tag +(1,56): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> + +#data +</table></tbody></tfoot></thead></tr><div> +#errors +(1,8): unexpected-end-tag +(1,16): unexpected-end-tag +(1,24): unexpected-end-tag +(1,32): unexpected-end-tag +(1,37): unexpected-end-tag +(1,42): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <div> + +#data +<table><colgroup>foo +#errors +(1,7): expected-doctype-but-got-start-tag +(1,18): foster-parenting-character-in-table +(1,19): foster-parenting-character-in-table +(1,20): foster-parenting-character-in-table +(1,20): eof-in-table +#document +| <html> +| <head> +| <body> +| "foo" +| <table> +| <colgroup> + +#data +foo<col> +#errors +(1,1): unexpected-character-in-colgroup +(1,2): unexpected-character-in-colgroup +(1,3): unexpected-character-in-colgroup +#document-fragment +colgroup +#document +| <col> + +#data +<table><colgroup></col> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,23): no-end-tag +(1,23): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <colgroup> + +#data +<frameset><div> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,15): unexpected-start-tag-in-frameset +(1,15): eof-in-frameset +#document +| <html> +| <head> +| <frameset> + +#data +</frameset><frame> +#errors +(1,11): unexpected-frameset-in-frameset-innerhtml +#document-fragment +frameset +#document +| <frame> + +#data +<frameset></div> +#errors +(1,10): expected-doctype-but-got-start-tag +(1,16): unexpected-end-tag-in-frameset +(1,16): eof-in-frameset +#document +| <html> +| <head> +| <frameset> + +#data +</body><div> +#errors +(1,7): unexpected-close-tag +(1,12): expected-closing-tag-but-got-eof +#document-fragment +body +#document +| <div> + +#data +<table><tr><div> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,16): unexpected-start-tag-implies-table-voodoo +(1,16): eof-in-table +#document +| <html> +| <head> +| <body> +| <div> +| <table> +| <tbody> +| <tr> + +#data +</tr><td> +#errors +(1,5): unexpected-end-tag +#document-fragment +tr +#document +| <td> + +#data +</tbody></tfoot></thead><td> +#errors +(1,8): unexpected-end-tag +(1,16): unexpected-end-tag +(1,24): unexpected-end-tag +#document-fragment +tr +#document +| <td> + +#data +<table><tr><div><td> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,16): foster-parenting-start-tag +(1,20): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| <table> +| <tbody> +| <tr> +| <td> + +#data +<caption><col><colgroup><tbody><tfoot><thead><tr> +#errors +(1,9): unexpected-start-tag +(1,14): unexpected-start-tag +(1,24): unexpected-start-tag +(1,31): unexpected-start-tag +(1,38): unexpected-start-tag +(1,45): unexpected-start-tag +#document-fragment +tbody +#document +| <tr> + +#data +<table><tbody></thead> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,22): unexpected-end-tag-in-table-body +(1,22): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> + +#data +</table><tr> +#errors +(1,8): unexpected-end-tag +#document-fragment +tbody +#document +| <tr> + +#data +<table><tbody></body></caption></col></colgroup></html></td></th></tr> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,21): unexpected-end-tag-in-table-body +(1,31): unexpected-end-tag-in-table-body +(1,37): unexpected-end-tag-in-table-body +(1,48): unexpected-end-tag-in-table-body +(1,55): unexpected-end-tag-in-table-body +(1,60): unexpected-end-tag-in-table-body +(1,65): unexpected-end-tag-in-table-body +(1,70): unexpected-end-tag-in-table-body +(1,70): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> + +#data +<table><tbody></div> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,20): unexpected-end-tag-implies-table-voodoo +(1,20): end-tag-too-early +(1,20): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> + +#data +<table><table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,14): unexpected-start-tag-implies-end-tag +(1,14): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> +| <table> + +#data +<table></body></caption></col></colgroup></html></tbody></td></tfoot></th></thead></tr> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,14): unexpected-end-tag +(1,24): unexpected-end-tag +(1,30): unexpected-end-tag +(1,41): unexpected-end-tag +(1,48): unexpected-end-tag +(1,56): unexpected-end-tag +(1,61): unexpected-end-tag +(1,69): unexpected-end-tag +(1,74): unexpected-end-tag +(1,82): unexpected-end-tag +(1,87): unexpected-end-tag +(1,87): eof-in-table +#document +| <html> +| <head> +| <body> +| <table> + +#data +</table><tr> +#errors +(1,8): unexpected-end-tag +#document-fragment +table +#document +| <tbody> +| <tr> + +#data +<body></body></html> +#errors +(1,20): unexpected-end-tag-after-body-innerhtml +#document-fragment +html +#document +| <head> +| <body> + +#data +<html><frameset></frameset></html> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <frameset> +| " " + +#data +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><html></html> +#errors +(1,50): doctype-has-public-identifier +#document +| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" ""> +| <html> +| <head> +| <body> + +#data +<param><frameset></frameset> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,17): unexpected-start-tag +#document +| <html> +| <head> +| <frameset> + +#data +<source><frameset></frameset> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,18): unexpected-start-tag +#document +| <html> +| <head> +| <frameset> + +#data +<track><frameset></frameset> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,17): unexpected-start-tag +#document +| <html> +| <head> +| <frameset> + +#data +</html><frameset></frameset> +#errors +(1,7): expected-doctype-but-got-end-tag +(1,17): expected-eof-but-got-start-tag +(1,17): unexpected-start-tag +#document +| <html> +| <head> +| <frameset> + +#data +</body><frameset></frameset> +#errors +(1,7): expected-doctype-but-got-end-tag +(1,17): unexpected-start-tag-after-body +(1,17): unexpected-start-tag +#document +| <html> +| <head> +| <frameset> diff --git a/tests/html5lib-tests/tree-construction/tests7.dat b/tests/html5lib-tests/tree-construction/tests7.dat new file mode 100644 index 0000000..8c5596b --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests7.dat @@ -0,0 +1,417 @@ +#data +<!doctype html><body><title>X</title> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <title> +| "X" + +#data +<!doctype html><table><title>X</title></table> +#errors +(1,29): unexpected-start-tag-implies-table-voodoo +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <title> +| "X" +| <table> + +#data +<!doctype html><head></head><title>X</title> +#errors +(1,35): unexpected-start-tag-out-of-my-head +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "X" +| <body> + +#data +<!doctype html></head><title>X</title> +#errors +(1,29): unexpected-start-tag-out-of-my-head +#document +| <!DOCTYPE html> +| <html> +| <head> +| <title> +| "X" +| <body> + +#data +<!doctype html><table><meta></table> +#errors +(1,28): unexpected-start-tag-implies-table-voodoo +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <meta> +| <table> + +#data +<!doctype html><table>X<tr><td><table> <meta></table></table> +#errors +unexpected text in table +(1,45): unexpected-start-tag-implies-table-voodoo +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "X" +| <table> +| <tbody> +| <tr> +| <td> +| <meta> +| <table> +| " " + +#data +<!doctype html><html> <head> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<!doctype html> <head> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<!doctype html><table><style> <tr>x </style> </table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <style> +| " <tr>x " +| " " + +#data +<!doctype html><table><TBODY><script> <tr>x </script> </table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <script> +| " <tr>x " +| " " + +#data +<!doctype html><p><applet><p>X</p></applet> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <applet> +| <p> +| "X" + +#data +<!doctype html><p><object type="application/x-non-existant-plugin"><p>X</p></object> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <p> +| <object> +| type="application/x-non-existant-plugin" +| <p> +| "X" + +#data +<!doctype html><listing> +X</listing> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <listing> +| "X" + +#data +<!doctype html><select><input>X +#errors +(1,30): unexpected-input-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <input> +| "X" + +#data +<!doctype html><select><select>X +#errors +(1,31): unexpected-select-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| "X" + +#data +<!doctype html><table><input type=hidDEN></table> +#errors +(1,41): unexpected-hidden-input-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <input> +| type="hidDEN" + +#data +<!doctype html><table>X<input type=hidDEN></table> +#errors +(1,23): foster-parenting-character +(1,42): unexpected-hidden-input-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| "X" +| <table> +| <input> +| type="hidDEN" + +#data +<!doctype html><table> <input type=hidDEN></table> +#errors +(1,43): unexpected-hidden-input-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| " " +| <input> +| type="hidDEN" + +#data +<!doctype html><table> <input type='hidDEN'></table> +#errors +(1,45): unexpected-hidden-input-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| " " +| <input> +| type="hidDEN" + +#data +<!doctype html><table><input type=" hidden"><input type=hidDEN></table> +#errors +(1,44): unexpected-start-tag-implies-table-voodoo +(1,63): unexpected-hidden-input-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <input> +| type=" hidden" +| <table> +| <input> +| type="hidDEN" + +#data +<!doctype html><table><select>X<tr> +#errors +(1,30): unexpected-start-tag-implies-table-voodoo +(1,35): unexpected-table-element-start-tag-in-select-in-table +(1,35): eof-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| "X" +| <table> +| <tbody> +| <tr> + +#data +<!doctype html><select>X</select> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| "X" + +#data +<!DOCTYPE hTmL><html></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<!DOCTYPE HTML><html></html> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> + +#data +<body>X</body></body> +#errors +(1,21): unexpected-end-tag-after-body +#document-fragment +html +#document +| <head> +| <body> +| "X" + +#data +<div><p>a</x> b +#errors +(1,5): expected-doctype-but-got-start-tag +(1,13): unexpected-end-tag +(1,15): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| <p> +| "a b" + +#data +<table><tr><td><code></code> </table> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <code> +| " " + +#data +<table><b><tr><td>aaa</td></tr>bbb</table>ccc +#errors +(1,7): expected-doctype-but-got-start-tag +(1,10): foster-parenting-start-tag +(1,32): foster-parenting-character +(1,33): foster-parenting-character +(1,34): foster-parenting-character +(1,45): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <b> +| "bbb" +| <table> +| <tbody> +| <tr> +| <td> +| "aaa" +| <b> +| "ccc" + +#data +A<table><tr> B</tr> B</table> +#errors +(1,1): expected-doctype-but-got-chars +(1,13): foster-parenting-character +(1,14): foster-parenting-character +(1,20): foster-parenting-character +(1,21): foster-parenting-character +#document +| <html> +| <head> +| <body> +| "A B B" +| <table> +| <tbody> +| <tr> + +#data +A<table><tr> B</tr> </em>C</table> +#errors +(1,1): expected-doctype-but-got-chars +(1,13): foster-parenting-character +(1,14): foster-parenting-character +(1,25): unexpected-end-tag +(1,25): unexpected-end-tag-in-special-element +(1,26): foster-parenting-character +#document +| <html> +| <head> +| <body> +| "A BC" +| <table> +| <tbody> +| <tr> +| " " + +#data +<select><keygen> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,16): unexpected-input-in-select +#document +| <html> +| <head> +| <body> +| <select> +| <keygen> diff --git a/tests/html5lib-tests/tree-construction/tests8.dat b/tests/html5lib-tests/tree-construction/tests8.dat new file mode 100644 index 0000000..d532801 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests8.dat @@ -0,0 +1,165 @@ +#data +<div> +<div></div> +</span>x +#errors +(1,5): expected-doctype-but-got-start-tag +(3,7): unexpected-end-tag +(3,8): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| " +" +| <div> +| " +x" + +#data +<div>x<div></div> +</span>x +#errors +(1,5): expected-doctype-but-got-start-tag +(2,7): unexpected-end-tag +(2,8): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| "x" +| <div> +| " +x" + +#data +<div>x<div></div>x</span>x +#errors +(1,5): expected-doctype-but-got-start-tag +(1,25): unexpected-end-tag +(1,26): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| "x" +| <div> +| "xx" + +#data +<div>x<div></div>y</span>z +#errors +(1,5): expected-doctype-but-got-start-tag +(1,25): unexpected-end-tag +(1,26): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| "x" +| <div> +| "yz" + +#data +<table><div>x<div></div>x</span>x +#errors +(1,7): expected-doctype-but-got-start-tag +(1,12): foster-parenting-start-tag +(1,13): foster-parenting-character +(1,18): foster-parenting-start-tag +(1,24): foster-parenting-end-tag +(1,25): foster-parenting-start-tag +(1,32): foster-parenting-end-tag +(1,32): unexpected-end-tag +(1,33): foster-parenting-character +(1,33): eof-in-table +#document +| <html> +| <head> +| <body> +| <div> +| "x" +| <div> +| "xx" +| <table> + +#data +<table><li><li></table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): foster-parenting-start-tag +(1,15): foster-parenting-start-tag +#document +| <html> +| <head> +| <body> +| <li> +| <li> +| <table> + +#data +x<table>x +#errors +(1,1): expected-doctype-but-got-chars +(1,9): foster-parenting-character +(1,9): eof-in-table +#document +| <html> +| <head> +| <body> +| "xx" +| <table> + +#data +x<table><table>x +#errors +(1,1): expected-doctype-but-got-chars +(1,15): unexpected-start-tag-implies-end-tag +(1,16): foster-parenting-character +(1,16): eof-in-table +#document +| <html> +| <head> +| <body> +| "x" +| <table> +| "x" +| <table> + +#data +<b>a<div></div><div></b>y +#errors +(1,3): expected-doctype-but-got-start-tag +(1,24): adoption-agency-1.3 +(1,25): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| "a" +| <div> +| <div> +| <b> +| "y" + +#data +<a><div><p></a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,15): adoption-agency-1.3 +(1,15): adoption-agency-1.3 +(1,15): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <div> +| <a> +| <p> +| <a> diff --git a/tests/html5lib-tests/tree-construction/tests9.dat b/tests/html5lib-tests/tree-construction/tests9.dat new file mode 100644 index 0000000..f8d04b2 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests9.dat @@ -0,0 +1,472 @@ +#data +<!DOCTYPE html><math></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> + +#data +<!DOCTYPE html><body><math></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> + +#data +<!DOCTYPE html><math><mi> +#errors +(1,25) expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> + +#data +<!DOCTYPE html><math><annotation-xml><svg><u> +#errors +(1,45) unexpected-html-element-in-foreign-content +(1,45) expected-closing-tag-but-got-eof +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math annotation-xml> +| <svg svg> +| <u> + +#data +<!DOCTYPE html><body><select><math></math></select> +#errors +(1,35) unexpected-start-tag-in-select +(1,42) unexpected-end-tag-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> + +#data +<!DOCTYPE html><body><select><option><math></math></option></select> +#errors +(1,43) unexpected-start-tag-in-select +(1,50) unexpected-end-tag-in-select +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| <option> + +#data +<!DOCTYPE html><body><table><math></math></table> +#errors +(1,34) unexpected-start-tag-implies-table-voodoo +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <table> + +#data +<!DOCTYPE html><body><table><math><mi>foo</mi></math></table> +#errors +(1,34) foster-parenting-start-token +(1,39) foster-parenting-character +(1,40) foster-parenting-character +(1,41) foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| "foo" +| <table> + +#data +<!DOCTYPE html><body><table><math><mi>foo</mi><mi>bar</mi></math></table> +#errors +(1,34) foster-parenting-start-tag +(1,39) foster-parenting-character +(1,40) foster-parenting-character +(1,41) foster-parenting-character +(1,51) foster-parenting-character +(1,52) foster-parenting-character +(1,53) foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <table> + +#data +<!DOCTYPE html><body><table><tbody><math><mi>foo</mi><mi>bar</mi></math></tbody></table> +#errors +(1,41) foster-parenting-start-tag +(1,46) foster-parenting-character +(1,47) foster-parenting-character +(1,48) foster-parenting-character +(1,58) foster-parenting-character +(1,59) foster-parenting-character +(1,60) foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <table> +| <tbody> + +#data +<!DOCTYPE html><body><table><tbody><tr><math><mi>foo</mi><mi>bar</mi></math></tr></tbody></table> +#errors +(1,45) foster-parenting-start-tag +(1,50) foster-parenting-character +(1,51) foster-parenting-character +(1,52) foster-parenting-character +(1,62) foster-parenting-character +(1,63) foster-parenting-character +(1,64) foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <table> +| <tbody> +| <tr> + +#data +<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math></td></tr></tbody></table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" + +#data +<!DOCTYPE html><body><table><tbody><tr><td><math><mi>foo</mi><mi>bar</mi></math><p>baz</td></tr></tbody></table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi></math><p>baz</caption></table> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux +#errors +(1,70) unexpected-html-element-in-foreign-content +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <p> +| "baz" +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><caption><math><mi>foo</mi><mi>bar</mi>baz</table><p>quux +#errors +(1,78) unexpected-end-tag +(1,78) expected-one-end-tag-but-got-another +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <caption> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| "baz" +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><colgroup><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux +#errors +(1,44) foster-parenting-start-tag +(1,49) foster-parenting-character +(1,50) foster-parenting-character +(1,51) foster-parenting-character +(1,61) foster-parenting-character +(1,62) foster-parenting-character +(1,63) foster-parenting-character +(1,71) unexpected-html-element-in-foreign-content +(1,71) foster-parenting-start-tag +(1,63) foster-parenting-character +(1,63) foster-parenting-character +(1,63) foster-parenting-character +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <p> +| "baz" +| <table> +| <colgroup> +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><tr><td><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux +#errors +(1,50) unexpected-start-tag-in-select +(1,54) unexpected-start-tag-in-select +(1,62) unexpected-end-tag-in-select +(1,66) unexpected-start-tag-in-select +(1,74) unexpected-end-tag-in-select +(1,77) unexpected-start-tag-in-select +(1,88) unexpected-table-element-end-tag-in-select-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <select> +| "foobarbaz" +| <p> +| "quux" + +#data +<!DOCTYPE html><body><table><select><math><mi>foo</mi><mi>bar</mi><p>baz</table><p>quux +#errors +(1,36) unexpected-start-tag-implies-table-voodoo +(1,42) unexpected-start-tag-in-select +(1,46) unexpected-start-tag-in-select +(1,54) unexpected-end-tag-in-select +(1,58) unexpected-start-tag-in-select +(1,66) unexpected-end-tag-in-select +(1,69) unexpected-start-tag-in-select +(1,80) unexpected-table-element-end-tag-in-select-in-table +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <select> +| "foobarbaz" +| <table> +| <p> +| "quux" + +#data +<!DOCTYPE html><body></body></html><math><mi>foo</mi><mi>bar</mi><p>baz +#errors +(1,41) expected-eof-but-got-start-tag +(1,68) unexpected-html-element-in-foreign-content +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><body></body><math><mi>foo</mi><mi>bar</mi><p>baz +#errors +(1,34) unexpected-start-tag-after-body +(1,61) unexpected-html-element-in-foreign-content +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <math math> +| <math mi> +| "foo" +| <math mi> +| "bar" +| <p> +| "baz" + +#data +<!DOCTYPE html><frameset><math><mi></mi><mi></mi><p><span> +#errors +(1,31) unexpected-start-tag-in-frameset +(1,35) unexpected-start-tag-in-frameset +(1,40) unexpected-end-tag-in-frameset +(1,44) unexpected-start-tag-in-frameset +(1,49) unexpected-end-tag-in-frameset +(1,52) unexpected-start-tag-in-frameset +(1,58) unexpected-start-tag-in-frameset +(1,58) eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!DOCTYPE html><frameset></frameset><math><mi></mi><mi></mi><p><span> +#errors +(1,42) unexpected-start-tag-after-frameset +(1,46) unexpected-start-tag-after-frameset +(1,51) unexpected-end-tag-after-frameset +(1,55) unexpected-start-tag-after-frameset +(1,60) unexpected-end-tag-after-frameset +(1,63) unexpected-start-tag-after-frameset +(1,69) unexpected-start-tag-after-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!DOCTYPE html><body xlink:href=foo><math xlink:href=foo></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| <math math> +| xlink href="foo" + +#data +<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo></mi></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| xml:lang="en" +| <math math> +| <math mi> +| xlink href="foo" +| xml lang="en" + +#data +<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo /></math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| xml:lang="en" +| <math math> +| <math mi> +| xlink href="foo" +| xml lang="en" + +#data +<!DOCTYPE html><body xlink:href=foo xml:lang=en><math><mi xml:lang=en xlink:href=foo />bar</math> +#errors +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| xlink:href="foo" +| xml:lang="en" +| <math math> +| <math mi> +| xlink href="foo" +| xml lang="en" +| "bar" diff --git a/tests/html5lib-tests/tree-construction/tests_innerHTML_1.dat b/tests/html5lib-tests/tree-construction/tests_innerHTML_1.dat new file mode 100644 index 0000000..54f4368 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tests_innerHTML_1.dat @@ -0,0 +1,887 @@ +#data +<body><span> +#errors +(1,6): unexpected-start-tag +(1,12): expected-closing-tag-but-got-eof +#document-fragment +body +#document +| <span> + +#data +<span><body> +#errors +(1,12): unexpected-start-tag +(1,12): expected-closing-tag-but-got-eof +#document-fragment +body +#document +| <span> + +#data +<span><body> +#errors +(1,12): unexpected-start-tag +(1,12): expected-closing-tag-but-got-eof +#document-fragment +div +#document +| <span> + +#data +<body><span> +#errors +(1,12): expected-closing-tag-but-got-eof +#document-fragment +html +#document +| <head> +| <body> +| <span> + +#data +<frameset><span> +#errors +(1,10): unexpected-start-tag +(1,16): expected-closing-tag-but-got-eof +#document-fragment +body +#document +| <span> + +#data +<span><frameset> +#errors +(1,16): unexpected-start-tag +(1,16): expected-closing-tag-but-got-eof +#document-fragment +body +#document +| <span> + +#data +<span><frameset> +#errors +(1,16): unexpected-start-tag +(1,16): expected-closing-tag-but-got-eof +#document-fragment +div +#document +| <span> + +#data +<frameset><span> +#errors +(1,16): unexpected-start-tag-in-frameset +(1,16): eof-in-frameset +#document-fragment +html +#document +| <head> +| <frameset> + +#data +<table><tr> +#errors +(1,7): unexpected-start-tag +#document-fragment +table +#document +| <tbody> +| <tr> + +#data +</table><tr> +#errors +(1,8): unexpected-end-tag +#document-fragment +table +#document +| <tbody> +| <tr> + +#data +<a> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,3): eof-in-table +#document-fragment +table +#document +| <a> + +#data +<a> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,3): eof-in-table +#document-fragment +table +#document +| <a> + +#data +<a><caption>a +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,13): expected-closing-tag-but-got-eof +#document-fragment +table +#document +| <a> +| <caption> +| "a" + +#data +<a><colgroup><col> +#errors +(1,3): foster-parenting-start-token +(1,18): expected-closing-tag-but-got-eof +#document-fragment +table +#document +| <a> +| <colgroup> +| <col> + +#data +<a><tbody><tr> +#errors +(1,3): foster-parenting-start-tag +#document-fragment +table +#document +| <a> +| <tbody> +| <tr> + +#data +<a><tfoot><tr> +#errors +(1,3): foster-parenting-start-tag +#document-fragment +table +#document +| <a> +| <tfoot> +| <tr> + +#data +<a><thead><tr> +#errors +(1,3): foster-parenting-start-tag +#document-fragment +table +#document +| <a> +| <thead> +| <tr> + +#data +<a><tr> +#errors +(1,3): foster-parenting-start-tag +#document-fragment +table +#document +| <a> +| <tbody> +| <tr> + +#data +<a><th> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,7): unexpected-cell-in-table-body +#document-fragment +table +#document +| <a> +| <tbody> +| <tr> +| <th> + +#data +<a><td> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,7): unexpected-cell-in-table-body +#document-fragment +table +#document +| <a> +| <tbody> +| <tr> +| <td> + +#data +<table></table><tbody> +#errors +(1,22): unexpected-start-tag +#document-fragment +caption +#document +| <table> + +#data +</table><span> +#errors +(1,8): unexpected-end-tag +(1,14): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> + +#data +<span></table> +#errors +(1,14): unexpected-end-tag +(1,14): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> + +#data +</caption><span> +#errors +(1,10): XXX-undefined-error +(1,16): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> + +#data +<span></caption><span> +#errors +(1,16): XXX-undefined-error +(1,22): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><caption><span> +#errors +(1,15): unexpected-start-tag +(1,21): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><col><span> +#errors +(1,11): unexpected-start-tag +(1,17): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><colgroup><span> +#errors +(1,16): unexpected-start-tag +(1,22): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><html><span> +#errors +(1,12): non-html-root +(1,18): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><tbody><span> +#errors +(1,13): unexpected-start-tag +(1,19): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><td><span> +#errors +(1,10): unexpected-start-tag +(1,16): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><tfoot><span> +#errors +(1,13): unexpected-start-tag +(1,19): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><thead><span> +#errors +(1,13): unexpected-start-tag +(1,19): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><th><span> +#errors +(1,10): unexpected-start-tag +(1,16): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span><tr><span> +#errors +(1,10): unexpected-start-tag +(1,16): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +<span></table><span> +#errors +(1,14): unexpected-end-tag +(1,20): expected-closing-tag-but-got-eof +#document-fragment +caption +#document +| <span> +| <span> + +#data +</colgroup><col> +#errors +(1,11): XXX-undefined-error +#document-fragment +colgroup +#document +| <col> + +#data +<a><col> +#errors +(1,3): XXX-undefined-error +#document-fragment +colgroup +#document +| <col> + +#data +<caption><a> +#errors +(1,9): XXX-undefined-error +(1,12): unexpected-start-tag-implies-table-voodoo +(1,12): eof-in-table +#document-fragment +tbody +#document +| <a> + +#data +<col><a> +#errors +(1,5): XXX-undefined-error +(1,8): unexpected-start-tag-implies-table-voodoo +(1,8): eof-in-table +#document-fragment +tbody +#document +| <a> + +#data +<colgroup><a> +#errors +(1,10): XXX-undefined-error +(1,13): unexpected-start-tag-implies-table-voodoo +(1,13): eof-in-table +#document-fragment +tbody +#document +| <a> + +#data +<tbody><a> +#errors +(1,7): XXX-undefined-error +(1,10): unexpected-start-tag-implies-table-voodoo +(1,10): eof-in-table +#document-fragment +tbody +#document +| <a> + +#data +<tfoot><a> +#errors +(1,7): XXX-undefined-error +(1,10): unexpected-start-tag-implies-table-voodoo +(1,10): eof-in-table +#document-fragment +tbody +#document +| <a> + +#data +<thead><a> +#errors +(1,7): XXX-undefined-error +(1,10): unexpected-start-tag-implies-table-voodoo +(1,10): eof-in-table +#document-fragment +tbody +#document +| <a> + +#data +</table><a> +#errors +(1,8): XXX-undefined-error +(1,11): unexpected-start-tag-implies-table-voodoo +(1,11): eof-in-table +#document-fragment +tbody +#document +| <a> + +#data +<a><tr> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +#document-fragment +tbody +#document +| <a> +| <tr> + +#data +<a><td> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,7): unexpected-cell-in-table-body +#document-fragment +tbody +#document +| <a> +| <tr> +| <td> + +#data +<a><td> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,7): unexpected-cell-in-table-body +#document-fragment +tbody +#document +| <a> +| <tr> +| <td> + +#data +<a><td> +#errors +(1,3): unexpected-start-tag-implies-table-voodoo +(1,7): unexpected-cell-in-table-body +#document-fragment +tbody +#document +| <a> +| <tr> +| <td> + +#data +<td><table><tbody><a><tr> +#errors +(1,4): unexpected-cell-in-table-body +(1,21): unexpected-start-tag-implies-table-voodoo +(1,25): eof-in-table +#document-fragment +tbody +#document +| <tr> +| <td> +| <a> +| <table> +| <tbody> +| <tr> + +#data +</tr><td> +#errors +(1,5): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<td><table><a><tr></tr><tr> +#errors +(1,14): unexpected-start-tag-implies-table-voodoo +(1,27): eof-in-table +#document-fragment +tr +#document +| <td> +| <a> +| <table> +| <tbody> +| <tr> +| <tr> + +#data +<caption><td> +#errors +(1,9): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<col><td> +#errors +(1,5): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<colgroup><td> +#errors +(1,10): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<tbody><td> +#errors +(1,7): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<tfoot><td> +#errors +(1,7): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<thead><td> +#errors +(1,7): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<tr><td> +#errors +(1,4): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +</table><td> +#errors +(1,8): XXX-undefined-error +#document-fragment +tr +#document +| <td> + +#data +<td><table></table><td> +#errors +#document-fragment +tr +#document +| <td> +| <table> +| <td> + +#data +<td><table></table><td> +#errors +#document-fragment +tr +#document +| <td> +| <table> +| <td> + +#data +<caption><a> +#errors +(1,9): XXX-undefined-error +(1,12): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<col><a> +#errors +(1,5): XXX-undefined-error +(1,8): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<colgroup><a> +#errors +(1,10): XXX-undefined-error +(1,13): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<tbody><a> +#errors +(1,7): XXX-undefined-error +(1,10): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<tfoot><a> +#errors +(1,7): XXX-undefined-error +(1,10): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<th><a> +#errors +(1,4): XXX-undefined-error +(1,7): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<thead><a> +#errors +(1,7): XXX-undefined-error +(1,10): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<tr><a> +#errors +(1,4): XXX-undefined-error +(1,7): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +</table><a> +#errors +(1,8): XXX-undefined-error +(1,11): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +</tbody><a> +#errors +(1,8): XXX-undefined-error +(1,11): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +</td><a> +#errors +(1,5): unexpected-end-tag +(1,8): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +</tfoot><a> +#errors +(1,8): XXX-undefined-error +(1,11): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +</thead><a> +#errors +(1,8): XXX-undefined-error +(1,11): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +</th><a> +#errors +(1,5): unexpected-end-tag +(1,8): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +</tr><a> +#errors +(1,5): XXX-undefined-error +(1,8): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <a> + +#data +<table><td><td> +#errors +(1,11): unexpected-cell-in-table-body +(1,15): expected-closing-tag-but-got-eof +#document-fragment +td +#document +| <table> +| <tbody> +| <tr> +| <td> +| <td> + +#data +</select><option> +#errors +(1,9): XXX-undefined-error +#document-fragment +select +#document +| <option> + +#data +<input><option> +#errors +(1,7): unexpected-input-in-select +#document-fragment +select +#document +| <option> + +#data +<keygen><option> +#errors +(1,8): unexpected-input-in-select +#document-fragment +select +#document +| <option> + +#data +<textarea><option> +#errors +(1,10): unexpected-input-in-select +#document-fragment +select +#document +| <option> + +#data +</html><!--abc--> +#errors +(1,7): unexpected-end-tag-after-body-innerhtml +#document-fragment +html +#document +| <head> +| <body> +| <!-- abc --> + +#data +</frameset><frame> +#errors +(1,11): unexpected-frameset-in-frameset-innerhtml +#document-fragment +frameset +#document +| <frame> + +#data +#errors +#document-fragment +html +#document +| <head> +| <body> diff --git a/tests/html5lib-tests/tree-construction/tricky01.dat b/tests/html5lib-tests/tree-construction/tricky01.dat new file mode 100644 index 0000000..753502a --- /dev/null +++ b/tests/html5lib-tests/tree-construction/tricky01.dat @@ -0,0 +1,336 @@ +#data +<b><p>Bold </b> Not bold</p> +Also not bold. +#errors +(1,3): expected-doctype-but-got-start-tag +(1,15): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <b> +| <p> +| <b> +| "Bold " +| " Not bold" +| " +Also not bold." + +#data +<html> +<font color=red><i>Italic and Red<p>Italic and Red </font> Just italic.</p> Italic only.</i> Plain +<p>I should not be red. <font color=red>Red. <i>Italic and red.</p> +<p>Italic and red. </i> Red.</font> I should not be red.</p> +<b>Bold <i>Bold and italic</b> Only Italic </i> Plain +#errors +(1,6): expected-doctype-but-got-start-tag +(2,58): adoption-agency-1.3 +(3,67): unexpected-end-tag +(4,23): adoption-agency-1.3 +(4,35): adoption-agency-1.3 +(5,30): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <font> +| color="red" +| <i> +| "Italic and Red" +| <i> +| <p> +| <font> +| color="red" +| "Italic and Red " +| " Just italic." +| " Italic only." +| " Plain +" +| <p> +| "I should not be red. " +| <font> +| color="red" +| "Red. " +| <i> +| "Italic and red." +| <font> +| color="red" +| <i> +| " +" +| <p> +| <font> +| color="red" +| <i> +| "Italic and red. " +| " Red." +| " I should not be red." +| " +" +| <b> +| "Bold " +| <i> +| "Bold and italic" +| <i> +| " Only Italic " +| " Plain" + +#data +<html><body> +<p><font size="7">First paragraph.</p> +<p>Second paragraph.</p></font> +<b><p><i>Bold and Italic</b> Italic</p> +#errors +(1,6): expected-doctype-but-got-start-tag +(2,38): unexpected-end-tag +(4,28): adoption-agency-1.3 +(4,28): adoption-agency-1.3 +(4,39): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| " +" +| <p> +| <font> +| size="7" +| "First paragraph." +| <font> +| size="7" +| " +" +| <p> +| "Second paragraph." +| " +" +| <b> +| <p> +| <b> +| <i> +| "Bold and Italic" +| <i> +| " Italic" + +#data +<html> +<dl> +<dt><b>Boo +<dd>Goo? +</dl> +</html> +#errors +(1,6): expected-doctype-but-got-start-tag +(4,4): end-tag-too-early +(5,5): end-tag-too-early +(6,7): expected-one-end-tag-but-got-another +#document +| <html> +| <head> +| <body> +| <dl> +| " +" +| <dt> +| <b> +| "Boo +" +| <dd> +| <b> +| "Goo? +" +| <b> +| " +" + +#data +<html><body> +<label><a><div>Hello<div>World</div></a></label> +</body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +(2,40): adoption-agency-1.3 +(2,48): unexpected-end-tag +(3,7): expected-one-end-tag-but-got-another +#document +| <html> +| <head> +| <body> +| " +" +| <label> +| <a> +| <div> +| <a> +| "Hello" +| <div> +| "World" +| " +" + +#data +<table><center> <font>a</center> <img> <tr><td> </td> </tr> </table> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,15): foster-parenting-start-tag +(1,16): foster-parenting-character +(1,22): foster-parenting-start-tag +(1,23): foster-parenting-character +(1,32): foster-parenting-end-tag +(1,32): end-tag-too-early +(1,33): foster-parenting-character +(1,38): foster-parenting-start-tag +#document +| <html> +| <head> +| <body> +| <center> +| " " +| <font> +| "a" +| <font> +| <img> +| " " +| <table> +| " " +| <tbody> +| <tr> +| <td> +| " " +| " " +| " " + +#data +<table><tr><p><a><p>You should see this text. +#errors +(1,7): expected-doctype-but-got-start-tag +(1,14): unexpected-start-tag-implies-table-voodoo +(1,17): unexpected-start-tag-implies-table-voodoo +(1,20): unexpected-start-tag-implies-table-voodoo +(1,20): closing-non-current-p-element +(1,21): foster-parenting-character +(1,22): foster-parenting-character +(1,23): foster-parenting-character +(1,24): foster-parenting-character +(1,25): foster-parenting-character +(1,26): foster-parenting-character +(1,27): foster-parenting-character +(1,28): foster-parenting-character +(1,29): foster-parenting-character +(1,30): foster-parenting-character +(1,31): foster-parenting-character +(1,32): foster-parenting-character +(1,33): foster-parenting-character +(1,34): foster-parenting-character +(1,35): foster-parenting-character +(1,36): foster-parenting-character +(1,37): foster-parenting-character +(1,38): foster-parenting-character +(1,39): foster-parenting-character +(1,40): foster-parenting-character +(1,41): foster-parenting-character +(1,42): foster-parenting-character +(1,43): foster-parenting-character +(1,44): foster-parenting-character +(1,45): foster-parenting-character +(1,45): eof-in-table +#document +| <html> +| <head> +| <body> +| <p> +| <a> +| <p> +| <a> +| "You should see this text." +| <table> +| <tbody> +| <tr> + +#data +<TABLE> +<TR> +<CENTER><CENTER><TD></TD></TR><TR> +<FONT> +<TABLE><tr></tr></TABLE> +</P> +<a></font><font></a> +This page contains an insanely badly-nested tag sequence. +#errors +(1,7): expected-doctype-but-got-start-tag +(3,8): unexpected-start-tag-implies-table-voodoo +(3,16): unexpected-start-tag-implies-table-voodoo +(4,6): unexpected-start-tag-implies-table-voodoo +(4,6): unexpected character token in table (the newline) +(5,7): unexpected-start-tag-implies-end-tag +(6,4): unexpected p end tag +(7,10): adoption-agency-1.3 +(7,20): adoption-agency-1.3 +(8,57): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <center> +| <center> +| <font> +| " +" +| <table> +| " +" +| <tbody> +| <tr> +| " +" +| <td> +| <tr> +| " +" +| <table> +| <tbody> +| <tr> +| <font> +| " +" +| <p> +| " +" +| <a> +| <a> +| <font> +| <font> +| " +This page contains an insanely badly-nested tag sequence." + +#data +<html> +<body> +<b><nobr><div>This text is in a div inside a nobr</nobr>More text that should not be in the nobr, i.e., the +nobr should have closed the div inside it implicitly. </b><pre>A pre tag outside everything else.</pre> +</body> +</html> +#errors +(1,6): expected-doctype-but-got-start-tag +(3,56): adoption-agency-1.3 +(4,58): adoption-agency-1.3 +(5,7): expected-one-end-tag-but-got-another +#document +| <html> +| <head> +| <body> +| " +" +| <b> +| <nobr> +| <div> +| <b> +| <nobr> +| "This text is in a div inside a nobr" +| "More text that should not be in the nobr, i.e., the +nobr should have closed the div inside it implicitly. " +| <pre> +| "A pre tag outside everything else." +| " + +" diff --git a/tests/html5lib-tests/tree-construction/webkit01.dat b/tests/html5lib-tests/tree-construction/webkit01.dat new file mode 100644 index 0000000..3bb3bb9 --- /dev/null +++ b/tests/html5lib-tests/tree-construction/webkit01.dat @@ -0,0 +1,759 @@ +#data +Test +#errors +(1,4): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "Test" + +#data +<div></div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> + +#data +<div>Test</div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| "Test" + +#data +<di +#errors +(1,3): eof-in-tag-name +(1,3): expected-doctype-but-got-eof +#new-errors +(1:4) eof-in-tag +#document +| <html> +| <head> +| <body> + +#data +<div>Hello</div> +<script> +console.log("PASS"); +</script> +<div>Bye</div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| "Hello" +| " +" +| <script> +| " +console.log("PASS"); +" +| " +" +| <div> +| "Bye" + +#data +<div foo="bar">Hello</div> +#errors +(1,15): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| foo="bar" +| "Hello" + +#data +<div>Hello</div> +<script> +console.log("FOO<span>BAR</span>BAZ"); +</script> +<div>Bye</div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| "Hello" +| " +" +| <script> +| " +console.log("FOO<span>BAR</span>BAZ"); +" +| " +" +| <div> +| "Bye" + +#data +<foo bar="baz"></foo><potato quack="duck"></potato> +#errors +(1,15): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <foo> +| bar="baz" +| <potato> +| quack="duck" + +#data +<foo bar="baz"><potato quack="duck"></potato></foo> +#errors +(1,15): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <foo> +| bar="baz" +| <potato> +| quack="duck" + +#data +<foo></foo bar="baz"><potato></potato quack="duck"> +#errors +(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> +| <body> +| <foo> +| <potato> + +#data +</ tttt> +#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> +| <head> +| <body> + +#data +<div FOO ><img><img></div> +#errors +(1,10): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| foo="" +| <img> +| <img> + +#data +<p>Test</p<p>Test2</p> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,13): unexpected-end-tag +#document +| <html> +| <head> +| <body> +| <p> +| "TestTest2" + +#data +<rdar://problem/6869687> +#errors +(1,7): unexpected-character-after-solidus-in-tag +(1,8): unexpected-character-after-solidus-in-tag +(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> +| <body> +| <rdar:> +| 6869687="" +| problem="" + +#data +<A>test< /A> +#errors +(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> +| <body> +| <a> +| "test< /A>" + +#data +< +#errors +(1,4): expected-doctype-but-got-chars +#document +| <html> +| <head> +| <body> +| "<" + +#data +<body foo='bar'><body foo='baz' yo='mama'> +#errors +(1,16): expected-doctype-but-got-start-tag +(1,42): unexpected-start-tag +#document +| <html> +| <head> +| <body> +| foo="bar" +| yo="mama" + +#data +<body></br foo="bar"></body> +#errors +(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> +| <body> +| <br> + +#data +<bdy><br foo="bar"></body> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,26): expected-one-end-tag-but-got-another +#document +| <html> +| <head> +| <body> +| <bdy> +| <br> +| foo="bar" + +#data +<body></body></br foo="bar"> +#errors +(1,6): expected-doctype-but-got-start-tag +(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> +| <body> +| <br> + +#data +<bdy></body><br foo="bar"> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,12): expected-one-end-tag-but-got-another +(1,26): unexpected-start-tag-after-body +(1,26): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <bdy> +| <br> +| foo="bar" + +#data +<html><body></body></html><!-- Hi there --> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <!-- 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 +(1,27): expected-eof-but-got-char +#document +| <html> +| <head> +| <body> +| "x" +| <!-- Hi there --> + +#data +<html><body></body></html>x<!-- Hi there --></html><!-- Again --> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,27): expected-eof-but-got-char +#document +| <html> +| <head> +| <body> +| "x" +| <!-- Hi there --> +| <!-- Again --> + +#data +<html><body></body></html>x<!-- Hi there --></body></html><!-- Again --> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,27): expected-eof-but-got-char +#document +| <html> +| <head> +| <body> +| "x" +| <!-- Hi there --> +| <!-- Again --> + +#data +<html><body><ruby><div><rp>xx</rp></div></ruby></body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,27): XXX-undefined-error +#document +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <rp> +| "xx" + +#data +<html><body><ruby><div><rt>xx</rt></div></ruby></body></html> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,27): XXX-undefined-error +#document +| <html> +| <head> +| <body> +| <ruby> +| <div> +| <rt> +| "xx" + +#data +<html><frameset><!--1--><noframes>A</noframes><!--2--></frameset><!--3--><noframes>B</noframes><!--4--></html><!--5--><noframes>C</noframes><!--6--> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <frameset> +| <!-- 1 --> +| <noframes> +| "A" +| <!-- 2 --> +| <!-- 3 --> +| <noframes> +| "B" +| <!-- 4 --> +| <noframes> +| "C" +| <!-- 5 --> +| <!-- 6 --> + +#data +<select><option>A<select><option>B<select><option>C<select><option>D<select><option>E<select><option>F<select><option>G<select> +#errors +(1,8): expected-doctype-but-got-start-tag +(1,25): unexpected-select-in-select +(1,59): unexpected-select-in-select +(1,93): unexpected-select-in-select +(1,127): unexpected-select-in-select +#document +| <html> +| <head> +| <body> +| <select> +| <option> +| "A" +| <option> +| "B" +| <select> +| <option> +| "C" +| <option> +| "D" +| <select> +| <option> +| "E" +| <option> +| "F" +| <select> +| <option> +| "G" + +#data +<dd><dd><dt><dt><dd><li><li> +#errors +(1,4): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <dd> +| <dd> +| <dt> +| <dt> +| <dd> +| <li> +| <li> + +#data +<div><b></div><div><nobr>a<nobr> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,14): end-tag-too-early +(1,32): unexpected-start-tag-implies-end-tag +(1,32): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <div> +| <b> +| <div> +| <b> +| <nobr> +| "a" +| <nobr> + +#data +<head></head> +<body></body> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| " +" +| <body> + +#data +<head></head> <style></style>ddd +#errors +(1,6): expected-doctype-but-got-start-tag +(1,21): unexpected-start-tag-out-of-my-head +#document +| <html> +| <head> +| <style> +| " " +| <body> +| "ddd" + +#data +<kbd><table></kbd><col><select><tr> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,18): unexpected-end-tag-implies-table-voodoo +(1,18): unexpected-end-tag +(1,31): unexpected-start-tag-implies-table-voodoo +(1,35): unexpected-table-element-start-tag-in-select-in-table +(1,35): eof-in-table +#document +| <html> +| <head> +| <body> +| <kbd> +| <select> +| <table> +| <colgroup> +| <col> +| <tbody> +| <tr> + +#data +<kbd><table></kbd><col><select><tr></table><div> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,18): unexpected-end-tag-implies-table-voodoo +(1,18): unexpected-end-tag +(1,31): unexpected-start-tag-implies-table-voodoo +(1,35): unexpected-table-element-start-tag-in-select-in-table +(1,48): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <kbd> +| <select> +| <table> +| <colgroup> +| <col> +| <tbody> +| <tr> +| <div> + +#data +<a><li><style></style><title></title></a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,41): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <a> +| <li> +| <a> +| <style> +| <title> + +#data +<font></p><p><meta><title></title></font> +#errors +(1,6): expected-doctype-but-got-start-tag +(1,10): unexpected-end-tag +(1,41): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <font> +| <p> +| <p> +| <font> +| <meta> +| <title> + +#data +<a><center><title></title><a> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,29): unexpected-start-tag-implies-end-tag +(1,29): adoption-agency-1.3 +(1,29): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <a> +| <center> +| <a> +| <title> +| <a> + +#data +<svg><title><div> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,17): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| <svg title> +| <div> + +#data +<svg><title><rect><div> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,23): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| <svg title> +| <rect> +| <div> + +#data +<svg><title><svg><div> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,22): unexpected-html-element-in-foreign-content +(1,22): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| <svg title> +| <svg svg> +| <div> + +#data +<img <="" FAIL> +#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> +| <body> +| <img> +| <="" +| fail="" + +#data +<ul><li><div id='foo'/>A</li><li>B<div>C</div></li></ul> +#errors +(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> +| <body> +| <ul> +| <li> +| <div> +| id="foo" +| "A" +| <li> +| "B" +| <div> +| "C" + +#data +<svg><em><desc></em> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,9): unexpected-html-element-in-foreign-content +(1,20): adoption-agency-1.3 +#document +| <html> +| <head> +| <body> +| <svg svg> +| <em> +| <desc> + +#data +<table><tr><td><svg><desc><td></desc><circle> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,30): unexpected-start-tag +(1,37): unexpected-end-tag +(1,22): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| <svg svg> +| <svg desc> +| <td> +| <circle> + +#data +<svg><tfoot></mi><td> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,17): unexpected-end-tag +(1,17): unexpected-end-tag +(1,21): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| <svg tfoot> +| <svg td> + +#data +<math><mrow><mrow><mn>1</mn></mrow><mi>a</mi></mrow></math> +#errors +(1,6): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <math math> +| <math mrow> +| <math mrow> +| <math mn> +| "1" +| <math mi> +| "a" + +#data +<!doctype html><input type="hidden"><frameset> +#errors +(1,46): unexpected-start-tag +(1,46): eof-in-frameset +#document +| <!DOCTYPE html> +| <html> +| <head> +| <frameset> + +#data +<!doctype html><input type="button"><frameset> +#errors +(1,46): unexpected-start-tag +#document +| <!DOCTYPE html> +| <html> +| <head> +| <body> +| <input> +| type="button" diff --git a/tests/html5lib-tests/tree-construction/webkit02.dat b/tests/html5lib-tests/tree-construction/webkit02.dat new file mode 100644 index 0000000..dddfe2a --- /dev/null +++ b/tests/html5lib-tests/tree-construction/webkit02.dat @@ -0,0 +1,336 @@ +#data +<foo bar=qux/> +#errors +(1,14): expected-doctype-but-got-start-tag +(1,14): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <foo> +| bar="qux/" + +#data +<p id="status"><noscript><strong>A</strong></noscript><span>B</span></p> +#errors +(1,15): expected-doctype-but-got-start-tag +#script-on +#document +| <html> +| <head> +| <body> +| <p> +| id="status" +| <noscript> +| "<strong>A</strong>" +| <span> +| "B" + +#data +<p id="status"><noscript><strong>A</strong></noscript><span>B</span></p> +#errors +(1,15): expected-doctype-but-got-start-tag +#script-off +#document +| <html> +| <head> +| <body> +| <p> +| id="status" +| <noscript> +| <strong> +| "A" +| <span> +| "B" + +#data +<div><sarcasm><div></div></sarcasm></div> +#errors +(1,5): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <div> +| <sarcasm> +| <div> + +#data +<html><body><img src="" border="0" alt="><div>A</div></body></html> +#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> +| <body> + +#data +<table><td></tbody>A +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,20): foster-parenting-character +(1,20): eof-in-table +#document +| <html> +| <head> +| <body> +| "A" +| <table> +| <tbody> +| <tr> +| <td> + +#data +<table><td></thead>A +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,19): XXX-undefined-error +(1,20): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| "A" + +#data +<table><td></tfoot>A +#errors +(1,7): expected-doctype-but-got-start-tag +(1,11): unexpected-cell-in-table-body +(1,19): XXX-undefined-error +(1,20): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <tbody> +| <tr> +| <td> +| "A" + +#data +<table><thead><td></tbody>A +#errors +(1,7): expected-doctype-but-got-start-tag +(1,18): unexpected-cell-in-table-body +(1,26): XXX-undefined-error +(1,27): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <table> +| <thead> +| <tr> +| <td> +| "A" + +#data +<legend>test</legend> +#errors +(1,7): expected-doctype-but-got-start-tag +#document +| <html> +| <head> +| <body> +| <legend> +| "test" + +#data +<table><input> +#errors +(1,7): expected-doctype-but-got-start-tag +(1,14): foster-parenting-start-tag +(1,15): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <input> +| <table> + +#data +<b><em><foo><foo><aside></b> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,28): adoption-agency-9 +(1,29): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <em> +| <foo> +| <foo> +| <em> +| <aside> +| <b> + +#data +<b><em><foo><foo><aside></b></em> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,28): adoption-agency-9 +(1,33): adoption-agency-9 +(1,34): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <em> +| <foo> +| <foo> +| <em> +| <aside> +| <em> +| <b> + +#data +<b><em><foo><foo><foo><aside></b> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,33): adoption-agency-9 +(1,34): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <em> +| <foo> +| <foo> +| <foo> +| <aside> +| <b> + +#data +<b><em><foo><foo><foo><aside></b></em> +#errors +(1,3): expected-doctype-but-got-start-tag +(1,33): adoption-agency-9 +(1,38): adoption-agency-9 +(1,39): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <b> +| <em> +| <foo> +| <foo> +| <foo> +| <aside> +| <b> + +#data +<b><em><foo><foo><foo><foo><foo><foo><foo><foo><foo><foo><aside></b></em> +#errors +(1,68): adoption-agency-9 +(1,73): adoption-agency-9 +(1,74): expected-closing-tag-but-got-eof +#document-fragment +div +#document +| <b> +| <em> +| <foo> +| <foo> +| <foo> +| <foo> +| <foo> +| <foo> +| <foo> +| <foo> +| <foo> +| <foo> +| <aside> +| <b> + +#data +<b><em><foo><foob><foob><foob><foob><fooc><fooc><fooc><fooc><food><aside></b></em> +#errors +(1,77): adoption-agency-9 +(1,82): adoption-agency-9 +(1,83): expected-closing-tag-but-got-eof +#document-fragment +div +#document +| <b> +| <em> +| <foo> +| <foob> +| <foob> +| <foob> +| <foob> +| <fooc> +| <fooc> +| <fooc> +| <fooc> +| <food> +| <aside> +| <b> + +#data +<option><XH<optgroup></optgroup> +#errors +(1,21): unexpected-start-tag-in-select +(1,32): unexpected-end-tag-in-select +#document-fragment +select +#document +| <option> + +#data +<svg><foreignObject><div>foo</div><plaintext></foreignObject></svg><div>bar</div> +#errors +(1,5): expected-doctype-but-got-start-tag +(1,82): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <svg svg> +| <svg foreignObject> +| <div> +| "foo" +| <plaintext> +| "</foreignObject></svg><div>bar</div>" + +#data +<svg><foreignObject></foreignObject><title></svg>foo +#errors +(1,5): expected-doctype-but-got-start-tag +(1,49): expected-one-end-tag-but-got-another +#document +| <html> +| <head> +| <body> +| <svg svg> +| <svg foreignObject> +| <svg title> +| "foo" + +#data +</foreignObject><plaintext><div>foo</div> +#errors +(1,16): expected-doctype-but-got-end-tag +(1,16): unexpected-end-tag-before-html +(1,42): expected-closing-tag-but-got-eof +#document +| <html> +| <head> +| <body> +| <plaintext> +| "<div>foo</div>" |