diff options
author | Rupinder Singh Khokhar <rsk1coder99@gmail.com> | 2014-06-11 09:13:22 +0530 |
---|---|---|
committer | Rupinder Singh Khokhar <rsk1coder99@gmail.com> | 2014-06-11 09:17:12 +0530 |
commit | 42543b07806ca9b9bec73eda91afa657f57c64bc (patch) | |
tree | b08ae0c9371865989ab6a9abb025346a3dbd1204 | |
parent | 7630ae893aad7fbb168d073f405cfa2110ccb530 (diff) | |
download | libhubbub-rupindersingh/test.tar.gz libhubbub-rupindersingh/test.tar.bz2 |
Adding the latest test files without fixing the INDEXes or the test interfacesrupindersingh/test
99 files changed, 73246 insertions, 4999 deletions
diff --git a/test/data/AUTHORS.rst b/test/data/AUTHORS.rst new file mode 100644 index 0000000..4a7de17 --- /dev/null +++ b/test/data/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/test/data/encoding/chardet/test_big5.txt b/test/data/encoding/chardet/test_big5.txt new file mode 100644 index 0000000..91074c9 --- /dev/null +++ b/test/data/encoding/chardet/test_big5.txt @@ -0,0 +1,51 @@ +老子《道德經》 第一~四十章 + +老子道經 + +第一章 + +道可道,非常道。名可名,非常名。無,名天地之始﹔有,名萬物之母。 +故常無,欲以觀其妙;常有,欲以觀其徼。此兩者,同出而異名,同謂之 +玄。玄之又玄,眾妙之門。 + +第二章 + +天下皆知美之為美,斯惡矣﹔皆知善之為善,斯不善矣。故有無相生,難 +易相成,長短相形,高下相傾,音聲相和,前後相隨。是以聖人處「無為 +」之事,行「不言」之教。萬物作焉而不辭,生而不有,為而不恃,功成 +而弗居。夫唯弗居,是以不去。 + +第三章 + +不尚賢,使民不爭﹔不貴難得之貨,使民不為盜﹔不見可欲,使民心不亂 +。是以「聖人」之治,虛其心,實其腹,弱其志,強其骨。常使民無知無 +欲。使夫智者不敢為也。為「無為」,則無不治。 + +第四章 + +「道」沖,而用之或不盈。淵兮,似萬物之宗﹔挫其銳,解其紛,和其光 +,同其塵﹔湛兮似或存。吾不知誰之子?象帝之先。 + +第五章 + +天地不仁,以萬物為芻狗﹔聖人不仁,以百姓為芻狗。天地之間,其猶橐 +蘥乎?虛而不屈,動而愈出。多言數窮,不如守中。 + +第六章 + +谷神不死,是謂玄牝。玄牝之門,是謂天地根。綿綿若存,用之不勤。 + +第七章 + +天長地久。天地所以能長且久者,以其不自生,故能長久。是以聖人後其 +身而身先,外其身而身存。非以其無私邪?故能成其私。 + +第八章 + +上善若水。水善利萬物而不爭。處眾人之所惡,故幾於道。居善地,心善 +淵,與善仁,言善信,政善治,事善能,動善時。夫唯不爭,故無尤。 + +第九章 + +持而盈之,不如其已﹔揣而銳之,不可長保。金玉滿堂,莫之能守﹔富貴 +而驕,自遺其咎。功遂身退,天之道。 diff --git a/test/data/encoding/test-yahoo-jp.dat b/test/data/encoding/test-yahoo-jp.dat new file mode 100644 index 0000000..3c25ecb --- /dev/null +++ b/test/data/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/test/data/encoding/tests1.dat b/test/data/encoding/tests1.dat new file mode 100644 index 0000000..5b585e7 --- /dev/null +++ b/test/data/encoding/tests1.dat @@ -0,0 +1,394 @@ +#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 +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta charset='iso8859-2'> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta charset=iso8859-2> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta +charset=iso8859-2> +#encoding +iso8859-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 +iso8859-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 +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Type" content=text/html; charset=iso8859-2> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta http-equiv="Content-Type content="text/html; charset=iso8859-2"> +#encoding +iso8859-2 + +#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 +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta charset=" +iso8859-2 +"> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta charset= +iso8859-2 +> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta charset="iso8859-2> +<p>"</p> +#encoding +Windows-1252 + +#data +<!DOCTYPE HTML> +<meta charset=iso8859-2"> +<p>"</p> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta " charset=iso8859-2> +<p>"</p> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta test" charset=iso8859-2> +<p>"</p> +#encoding +iso8859-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 +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta test=x" charset=iso8859-2> +<p>"</p> +#encoding +iso8859-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 +iso8859-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 +iso8859-2 + +#data +<!DOCTYPE HTML> +<!--<meta charset="ISO-8859-1">--> +<meta charset="iso8859-2"> +#encoding +iso8859-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 +iso8859-2 + +#data +<!-- 512 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 1024 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 1025 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 2048 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 2049 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 4096 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 4097 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 8192 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx--> +<meta charset="iso8859-2"> +#encoding +iso8859-2 + +#data +<!-- 8193 characters xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz--> +<meta charset="iso8859-2"> +#encoding +iso8859-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 +iso8859-2 + +#data +<!DOCTYPE HTML> +<script>document.write('<meta charset="ISO-8859-' + '2">')</script> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<script>document.write('<meta charset="iso8859-2">')</script> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<script type="text/plain"><meta charset="iso8859-2"></script> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<style type="text/plain"><meta charset="iso8859-2"></style> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<p><meta charset="iso8859-2"></p> +#encoding +iso8859-2 + +#data +<!DOCTYPE HTML> +<meta charset="bogus"> +<meta charset="iso8859-2"> +#encoding +iso8859-2 diff --git a/test/data/encoding/tests2.dat b/test/data/encoding/tests2.dat new file mode 100644 index 0000000..eee4498 --- /dev/null +++ b/test/data/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/test/data/sanitizer/tests1.dat b/test/data/sanitizer/tests1.dat new file mode 100644 index 0000000..c741cb8 --- /dev/null +++ b/test/data/sanitizer/tests1.dat @@ -0,0 +1,501 @@ +[ + { + "name": "IE_Comments", + "input": "<!--[if gte IE 4]><script>alert('XSS');</script><![endif]-->", + "output": "" + }, + + { + "name": "IE_Comments_2", + "input": "<![if !IE 5]><script>alert('XSS');</script><![endif]>", + "output": "<script>alert('XSS');</script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "allow_colons_in_path_component", + "input": "<a href=\"./this:that\">foo</a>", + "output": "<a href='./this:that'>foo</a>" + }, + + { + "name": "background_attribute", + "input": "<div background=\"javascript:alert('XSS')\"></div>", + "output": "<div/>", + "xhtml": "<div></div>", + "rexml": "<div></div>" + }, + + { + "name": "bgsound", + "input": "<bgsound src=\"javascript:alert('XSS');\" />", + "output": "<bgsound src=\"javascript:alert('XSS');\"/>", + "rexml": "<bgsound src=\"javascript:alert('XSS');\"></bgsound>" + }, + + { + "name": "div_background_image_unicode_encoded", + "input": "<div style=\"background-image:\u00a5\u00a2\u006C\u0028'\u006a\u0061\u00a6\u0061\u00a3\u0063\u00a2\u0069\u00a0\u00a4\u003a\u0061\u006c\u0065\u00a2\u00a4\u0028.1027\u0058.1053\u0053\u0027\u0029'\u0029\">foo</div>", + "output": "<div style=''>foo</div>" + }, + + { + "name": "div_expression", + "input": "<div style=\"width: expression(alert('XSS'));\">foo</div>", + "output": "<div style=''>foo</div>" + }, + + { + "name": "double_open_angle_brackets", + "input": "<img src=http://ha.ckers.org/scriptlet.html <", + "output": "<img src='http://ha.ckers.org/scriptlet.html'>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "double_open_angle_brackets_2", + "input": "<script src=http://ha.ckers.org/scriptlet.html <", + "output": "<script src=\"http://ha.ckers.org/scriptlet.html\" <=\"\">", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "grave_accents", + "input": "<img src=`javascript:alert('XSS')` />", + "output": "<img/>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "img_dynsrc_lowsrc", + "input": "<img dynsrc=\"javascript:alert('XSS')\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "img_vbscript", + "input": "<img src='vbscript:msgbox(\"XSS\")' />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "input_image", + "input": "<input type=\"image\" src=\"javascript:alert('XSS');\" />", + "output": "<input type='image'/>", + "rexml": "<input type='image' />" + }, + + { + "name": "link_stylesheets", + "input": "<link rel=\"stylesheet\" href=\"javascript:alert('XSS');\" />", + "output": "<link rel=\"stylesheet\" href=\"javascript:alert('XSS');\"/>", + "rexml": "<link href=\"javascript:alert('XSS');\" rel=\"stylesheet\"/>" + }, + + { + "name": "link_stylesheets_2", + "input": "<link rel=\"stylesheet\" href=\"http://ha.ckers.org/xss.css\" />", + "output": "<link rel=\"stylesheet\" href=\"http://ha.ckers.org/xss.css\"/>", + "rexml": "<link href=\"http://ha.ckers.org/xss.css\" rel=\"stylesheet\"/>" + }, + + { + "name": "list_style_image", + "input": "<li style=\"list-style-image: url(javascript:alert('XSS'))\">foo</li>", + "output": "<li style=''>foo</li>" + }, + + { + "name": "no_closing_script_tags", + "input": "<script src=http://ha.ckers.org/xss.js?<b>", + "output": "<script src=\"http://ha.ckers.org/xss.js?&lt;b\">", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit", + "input": "<script/XSS src=\"http://ha.ckers.org/xss.js\"></script>", + "output": "<script XSS=\"\" src=\"http://ha.ckers.org/xss.js\"></script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_2", + "input": "<a onclick!\\#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>foo</a>", + "output": "<a>foo</a>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_3", + "input": "<img/src=\"http://ha.ckers.org/xss.js\"/>", + "output": "<img src='http://ha.ckers.org/xss.js'/>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_II", + "input": "<a href!\\#$%&()*~+-_.,:;?@[/|]^`=alert('XSS')>foo</a>", + "output": "<a>foo</a>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "non_alpha_non_digit_III", + "input": "<a/href=\"javascript:alert('XSS');\">foo</a>", + "output": "<a>foo</a>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "platypus", + "input": "<a href=\"http://www.ragingplatypus.com/\" style=\"display:block; position:absolute; left:0; top:0; width:100%; height:100%; z-index:1; background-color:black; background-image:url(http://www.ragingplatypus.com/i/cam-full.jpg); background-x:center; background-y:center; background-repeat:repeat;\">never trust your upstream platypus</a>", + "output": "<a href='http://www.ragingplatypus.com/' style='display: block; width: 100%; height: 100%; background-color: black; background-x: center; background-y: center;'>never trust your upstream platypus</a>" + }, + + { + "name": "protocol_resolution_in_script_tag", + "input": "<script src=//ha.ckers.org/.j></script>", + "output": "<script src=\"//ha.ckers.org/.j\"></script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_allow_anchors", + "input": "<a href='foo' onclick='bar'><script>baz</script></a>", + "output": "<a href='foo'><script>baz</script></a>" + }, + + { + "name": "should_allow_image_alt_attribute", + "input": "<img alt='foo' onclick='bar' />", + "output": "<img alt='foo'/>", + "rexml": "<img alt='foo' />" + }, + + { + "name": "should_allow_image_height_attribute", + "input": "<img height='foo' onclick='bar' />", + "output": "<img height='foo'/>", + "rexml": "<img height='foo' />" + }, + + { + "name": "should_allow_image_src_attribute", + "input": "<img src='foo' onclick='bar' />", + "output": "<img src='foo'/>", + "rexml": "<img src='foo' />" + }, + + { + "name": "should_allow_image_width_attribute", + "input": "<img width='foo' onclick='bar' />", + "output": "<img width='foo'/>", + "rexml": "<img width='foo' />" + }, + + { + "name": "should_handle_blank_text", + "input": "", + "output": "" + }, + + { + "name": "should_handle_malformed_image_tags", + "input": "<img \"\"\"><script>alert(\"XSS\")</script>\">", + "output": "<img/><script>alert(\"XSS\")</script>\">", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_handle_non_html", + "input": "abc", + "output": "abc" + }, + + { + "name": "should_not_fall_for_ridiculous_hack", + "input": "<img\nsrc\n=\n\"\nj\na\nv\na\ns\nc\nr\ni\np\nt\n:\na\nl\ne\nr\nt\n(\n'\nX\nS\nS\n'\n)\n\"\n />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_0", + "input": "<img src=\"javascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_1", + "input": "<img src=javascript:alert('XSS') />", + "output": "<img/>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_not_fall_for_xss_image_hack_10", + "input": "<img src=\"jav
ascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_11", + "input": "<img src=\"jav
ascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_12", + "input": "<img src=\"  javascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_13", + "input": "<img src=\" javascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_14", + "input": "<img src=\" javascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_2", + "input": "<img src=\"JaVaScRiPt:alert('XSS')\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_3", + "input": "<img src='javascript:alert("XSS")' />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_4", + "input": "<img src='javascript:alert(String.fromCharCode(88,83,83))' />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_5", + "input": "<img src='javascript:alert('XSS')' />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_6", + "input": "<img src='javascript:alert('XSS')' />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_7", + "input": "<img src='javascript:alert('XSS')' />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_8", + "input": "<img src=\"jav\tascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_not_fall_for_xss_image_hack_9", + "input": "<img src=\"jav	ascript:alert('XSS');\" />", + "output": "<img/>", + "rexml": "<img />" + }, + + { + "name": "should_sanitize_half_open_scripts", + "input": "<img src=\"javascript:alert('XSS')\"", + "output": "<img/>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_invalid_script_tag", + "input": "<script/XSS SRC=\"http://ha.ckers.org/xss.js\"></script>", + "output": "<script XSS=\"\" SRC=\"http://ha.ckers.org/xss.js\"></script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_script_tag_with_multiple_open_brackets", + "input": "<<script>alert(\"XSS\");//<</script>", + "output": "<<script>alert(\"XSS\");//<</script>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_script_tag_with_multiple_open_brackets_2", + "input": "<iframe src=http://ha.ckers.org/scriptlet.html\n<", + "output": "<iframe src=\"http://ha.ckers.org/scriptlet.html\" <=\"\">", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_tag_broken_up_by_null", + "input": "<scr\u0000ipt>alert(\"XSS\")</scr\u0000ipt>", + "output": "<scr\ufffdipt>alert(\"XSS\")</scr\ufffdipt>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_sanitize_unclosed_script", + "input": "<script src=http://ha.ckers.org/xss.js?<b>", + "output": "<script src=\"http://ha.ckers.org/xss.js?&lt;b\">", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "should_strip_href_attribute_in_a_with_bad_protocols", + "input": "<a href=\"javascript:XSS\" title=\"1\">boo</a>", + "output": "<a title='1'>boo</a>" + }, + + { + "name": "should_strip_href_attribute_in_a_with_bad_protocols_and_whitespace", + "input": "<a href=\" javascript:XSS\" title=\"1\">boo</a>", + "output": "<a title='1'>boo</a>" + }, + + { + "name": "should_strip_src_attribute_in_img_with_bad_protocols", + "input": "<img src=\"javascript:XSS\" title=\"1\">boo</img>", + "output": "<img title='1'/>boo", + "rexml": "<img title='1' />" + }, + + { + "name": "should_strip_src_attribute_in_img_with_bad_protocols_and_whitespace", + "input": "<img src=\" javascript:XSS\" title=\"1\">boo</img>", + "output": "<img title='1'/>boo", + "rexml": "<img title='1' />" + }, + + { + "name": "xml_base", + "input": "<div xml:base=\"javascript:alert('XSS');//\">foo</div>", + "output": "<div>foo</div>" + }, + + { + "name": "xul", + "input": "<p style=\"-moz-binding:url('http://ha.ckers.org/xssmoz.xml#xss')\">fubar</p>", + "output": "<p style=''>fubar</p>" + }, + + { + "name": "quotes_in_attributes", + "input": "<img src='foo' title='\"foo\" bar' />", + "rexml": "<img src='foo' title='\"foo\" bar' />", + "output": "<img title='"foo" bar' src='foo'/>" + }, + + { + "name": "uri_refs_in_svg_attributes", + "input": "<rect fill='url(#foo)' />", + "rexml": "<rect fill='url(#foo)'></rect>", + "xhtml": "<rect fill='url(#foo)'></rect>", + "output": "<rect fill='url(#foo)'/>" + }, + + { + "name": "absolute_uri_refs_in_svg_attributes", + "input": "<rect fill='url(http://bad.com/) #fff' />", + "rexml": "<rect fill=' #fff'></rect>", + "xhtml": "<rect fill=' #fff'></rect>", + "output": "<rect fill=' #fff'/>" + }, + + { + "name": "uri_ref_with_space_in svg_attribute", + "input": "<rect fill='url(\n#foo)' />", + "rexml": "<rect fill='url(\n#foo)'></rect>", + "xhtml": "<rect fill='url(\n#foo)'></rect>", + "output": "<rect fill='url(\n#foo)'/>" + }, + + { + "name": "absolute_uri_ref_with_space_in svg_attribute", + "input": "<rect fill=\"url(\nhttp://bad.com/)\" />", + "rexml": "<rect fill=' '></rect>", + "xhtml": "<rect fill=' '></rect>", + "output": "<rect fill=' '/>" + }, + + { + "name": "allow_html5_image_tag", + "input": "<image src='foo' />", + "rexml": "<image src=\"foo\"></image>", + "output": "<image src=\"foo\"/>" + }, + + { + "name": "style_attr_end_with_nothing", + "input": "<div style=\"color: blue\" />", + "output": "<div style='color: blue;'/>", + "xhtml": "<div style='color: blue;'></div>", + "rexml": "<div style='color: blue;'></div>" + }, + + { + "name": "style_attr_end_with_space", + "input": "<div style=\"color: blue \" />", + "output": "<div style='color: blue ;'/>", + "xhtml": "<div style='color: blue ;'></div>", + "rexml": "<div style='color: blue ;'></div>" + }, + + { + "name": "style_attr_end_with_semicolon", + "input": "<div style=\"color: blue;\" />", + "output": "<div style='color: blue;'/>", + "xhtml": "<div style='color: blue;'></div>", + "rexml": "<div style='color: blue;'></div>" + }, + + { + "name": "style_attr_end_with_semicolon_space", + "input": "<div style=\"color: blue; \" />", + "output": "<div style='color: blue;'/>", + "xhtml": "<div style='color: blue;'></div>", + "rexml": "<div style='color: blue;'></div>" + }, + + { + "name": "attributes_with_embedded_quotes", + "input": "<img src=doesntexist.jpg\"'onerror=\"alert(1) />", + "output": "<img src='doesntexist.jpg"'onerror="alert(1)'/>", + "rexml": "Ill-formed XHTML!" + }, + + { + "name": "attributes_with_embedded_quotes_II", + "input": "<img src=notthere.jpg\"\"onerror=\"alert(2) />", + "output": "<img src='notthere.jpg""onerror="alert(2)'/>", + "rexml": "Ill-formed XHTML!" + } +] diff --git a/test/data/serializer/core.test b/test/data/serializer/core.test new file mode 100644 index 0000000..c0b4222 --- /dev/null +++ b/test/data/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/test/data/serializer/injectmeta.test b/test/data/serializer/injectmeta.test new file mode 100644 index 0000000..feaaa44 --- /dev/null +++ b/test/data/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/test/data/serializer/optionaltags.test b/test/data/serializer/optionaltags.test new file mode 100644 index 0000000..80a5edf --- /dev/null +++ b/test/data/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/test/data/serializer/options.test b/test/data/serializer/options.test new file mode 100644 index 0000000..6f342dd --- /dev/null +++ b/test/data/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/test/data/serializer/whitespace.test b/test/data/serializer/whitespace.test new file mode 100644 index 0000000..e5d050d --- /dev/null +++ b/test/data/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/test/data/sniffer/htmlOrFeed.json b/test/data/sniffer/htmlOrFeed.json new file mode 100644 index 0000000..c1506db --- /dev/null +++ b/test/data/sniffer/htmlOrFeed.json @@ -0,0 +1,43 @@ +[ + {"type": "text/html", "input": ""}, + {"type": "text/html", "input": "<!---->"}, + {"type": "text/html", "input": "<!--asdfaslkjdf;laksjdf as;dkfjsd-->"}, + {"type": "text/html", "input": "<!"}, + {"type": "text/html", "input": "\t"}, + {"type": "text/html", "input": "<!>"}, + {"type": "text/html", "input": "<?"}, + {"type": "text/html", "input": "<??>"}, + {"type": "application/rss+xml", "input": "<rss"}, + {"type": "application/atom+xml", "input": "<feed"}, + {"type": "text/html", "input": "<html"}, + {"type": "text/html", "input": "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>302 Found</title>\n</head><body>\n<h1>Found</h1>\n<p>The document has moved <a href=\"http://feeds.feedburner.com/gofug\">here</a>.</p>\n</body></html>\n"}, + {"type": "text/html", "input": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r\n<HTML><HEAD>\r\n <link rel=\"stylesheet\" type=\"text/css\" href=\"http://cache.blogads.com/289619328/feed.css\" /><link rel=\"stylesheet\" type=\"text/css\" href=\"http://cache.blogads.com/431602649/feed.css\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"http://cache.blogads.com/382549546/feed.css\" />\r\n<link rel=\"stylesheet\" type=\"text/css\" href=\"http://cache.blogads.com/314618017/feed.css\" /><META http-equiv=\"expires\" content="}, + {"type": "text/html", "input": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n<html>\r\n<head>\r\n<title>Xiaxue - Chicken pie blogger.</title><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"><style type=\"text/css\">\r\n<style type=\"text/css\">\r\n<!--\r\nbody {\r\n background-color: #FFF2F2;\r\n}\r\n.style1 {font-family: Georgia, \"Times New Roman\", Times, serif}\r\n.style2 {\r\n color: #8a567c;\r\n font-size: 14px;\r\n font-family: Georgia, \"Times New Roman\", Times, serif;\r\n}\r"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\r\n<head> \r\n<title>Google Operating System</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n<meta name=\"Description\" content=\"Unofficial news and tips about Google. A blog that watches Google's latest developments and the attempts to move your operating system online.\" />\r\n<meta name=\"generator\" c"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\r\n<head>\r\n <title>Assimilated Press</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n<meta name=\"MSSmartTagsPreventParsing\" content=\"true\" />\r\n<meta name=\"generator\" content=\"Blogger\" />\r\n<link rel=\"alternate\" type=\"application/atom+xml\" title=\"Assimilated Press - Atom\" href=\"http://assimila"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\r\n<head>\r\n <title>PostSecret</title>\r\n<META name=\"keywords\" Content=\"secrets, postcard, secret, postcards, postsecret, postsecrets,online confessional, post secret, post secrets, artomatic, post a secret\"><META name=\"discription\" Content=\"See a Secret...Share a Secret\"> <meta http-equiv=\"Content-Type\" content=\"te"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>\n <head>\n \n <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>\n <meta content='true' name='MSSmartTagsPreventParsing'/>\n <meta content='blogger' name='generator'/>\n <link rel=\"alternate\" typ"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"ja\">\n<head profile=\"http://gmpg.org/xfn/11\"> \n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /> \n<title> CMS Lever</title><link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"http://s.wordpress.com/wp-content/themes/pub/twenty-eight/2813.css\"/>\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS 2.0\" h"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en\"><head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<title> Park Avenue Peerage</title>\t<meta name=\"generator\" content=\"WordPress.com\" />\t<!-- feeds -->\n\t<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS 2.0\" href=\"http://parkavenuepeerage.wordpress.com/feed/\" />\t<link rel=\"pingback\" href="}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"ja\"><head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<title> \u884c\u96f2\u6d41\u6c34 -like a floating clouds and running water-</title>\t<meta name=\"generator\" content=\"WordPress.com\" />\t<!-- feeds -->\n\t<link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS 2.0\" href=\"http://shw4.wordpress.com/feed/\" />\t<li"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<meta name=\"generator\" content=\"http://www.typepad.com/\" />\n<title>Go Fug Yourself</title><link rel=\"stylesheet\" href=\"http://gofugyourself.typepad.com/go_fug_yourself/styles.css\" type=\"text/css\" />\n<link rel=\"alternate\" type=\"application/atom+xml\" title=\"Atom\" "}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en\"><head profile=\"http://gmpg.org/xfn/11\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><title> Ladies…</title><meta name=\"generator\" content=\"WordPress.com\" /> <!-- leave this for stats --><link rel=\"stylesheet\" href=\"http://s.wordpress.com/wp-content/themes/default/style.css?1\" type=\"tex"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\r\n<head>\r\n <title>The Sartorialist</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n<meta name=\"MSSmartTagsPreventParsing\" content=\"true\" />\r\n<meta name=\"generator\" content=\"Blogger\" />\r\n<link rel=\"alternate\" type=\"application/atom+xml\" title=\"The Sartorialist - Atom\" href=\"http://thesartorialist.blogspot"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \n \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n<meta name=\"generator\" content=\"http://www.typepad.com/\" />\n<title>Creating Passionate Users</title><link rel=\"stylesheet\" href=\"http://headrush.typepad.com/creating_passionate_users/styles.css\" type=\"text/css\" />\n<link rel=\"alternate\" type"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\t\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" id=\"sixapart-standard\">\n<head>\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\t<meta name=\"generator\" content=\"http://www.typepad.com/\" />\n\t\n\t\n <meta name=\"keywords\" content=\"marketing, blog, seth, ideas, respect, permission\" />\n <meta name=\"description\" content=\"Seth Godin's riffs on marketing, respect, and the "}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\t\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" id=\"sixapart-standard\">\n<head>\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n\t<meta name=\"generator\" content=\"http://www.typepad.com/\" />\n\t\n\t\n \n <meta name=\"description\" content=\" Western Civilization hangs in the balance. This blog is part of the solution,the cure. Get your heads out of the sand and Fight the G"}, + {"type": "text/html", "input": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" dir=\"ltr\" lang=\"en\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=pahrefhttpwwwfeedburnercomtarget_blankimgsrchttpwwwfeedburnercomfbimagespubpowered_by_fbgifaltPoweredbyFeedBurnerstyleborder0ap\" />\n<title> From Under the Rotunda</title>\n<link rel=\"stylesheet\" href=\"http://s.wordpress.com/wp-content/themes/pub/andreas04/style.css\" type=\"text/css\""}, + {"type": "application/atom+xml", "input": "<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href=\"http://www.blogger.com/styles/atom.css\" type=\"text/css\"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-10861780</id><updated>2007-07-27T12:38:50.888-07:00</updated><title type='text'>Official Google Blog</title><link rel='alternate' type='text/html' href='http://googleblog.blogspot.com/'/><link rel='next' type='application/atom+xml' href='http://googleblog.blogs"}, + {"type": "application/rss+xml", "input": "<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-10861780</atom:id><lastBuildDate>Fri, 27 Jul 2007 19:38:50 +0000</lastBuildDate><title>Official Google Blog</title><description/><link>http://googleblog.blogspot.com/</link><managingEditor>Eric Case</managingEditor><generator>Blogger</generator><openSearch:totalResults>729</openSearch:totalResults><openSearc"}, + {"type": "application/rss+xml", "input": "<?xml version=\"1.0\" encoding=\"pahrefhttpwwwfeedburnercomtarget_blankimgsrchttpwwwfeedburnercomfbimagespubpowered_by_fbgifaltPoweredbyFeedBurnerstyleborder0ap\"?>\n<!-- generator=\"wordpress/MU\" -->\n<rss version=\"2.0\"\n\txmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n\txmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n\txmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n\t><channel>\n\t<title>From Under the Rotunda</title>\n\t<link>http://dannybernardi.wordpress.com</link>\n\t<description>The Monographs of Danny Ber"}, + {"type": "application/rss+xml", "input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- generator=\"wordpress/MU\" -->\n<rss version=\"2.0\"\n\txmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n\txmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n\txmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n\t><channel>\n\t<title>CMS Lever</title>\n\t<link>http://kanaguri.wordpress.com</link>\n\t<description>CMS\u306e\u6c17\u306b\u306a\u3063\u305f\u3053\u3068</description>\n\t<pubDate>Wed, 18 Jul 2007 21:26:22 +0000</pubDate>\n\t<generator>http://wordpress.org/?v=MU</generator>\n\t<language>ja</languag"}, + {"type": "application/atom+xml", "input": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<feed xmlns=\"http://www.w3.org/2005/Atom\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:thr=\"http://purl.org/syndication/thread/1.0\">\n <title>Atlas Shrugs</title>\n <link rel=\"self\" type=\"application/atom+xml\" href=\"http://atlasshrugs2000.typepad.com/atlas_shrugs/atom.xml\" />\n <link rel=\"alternate\" type=\"text/html\" href=\"http://atlasshrugs2000.typepad.com/atlas_shrugs/\" />\n <id>tag:typepad.com,2003:weblog-132946</id>\n <updated>2007-08-15T16:07:34-04"}, + {"type": "application/atom+xml", "input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/atom10full.xsl\" type=\"text/xsl\" media=\"screen\"?><?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/itemcontent.css\" type=\"text/css\" media=\"screen\"?><feed xmlns=\"http://www.w3.org/2005/Atom\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:thr=\"http://purl.org/syndication/thread/1.0\" xmlns:feedburner=\"http://rssnamespace.org/feedburner/ext/1.0\">\r\n <title>Creating Passionate Users</title>\r\n "}, + {"type": "application/atom+xml", "input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/atom10full.xsl\" type=\"text/xsl\" media=\"screen\"?><?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/itemcontent.css\" type=\"text/css\" media=\"screen\"?><feed xmlns=\"http://www.w3.org/2005/Atom\" xmlns:feedburner=\"http://rssnamespace.org/feedburner/ext/1.0\">\r\n <title>Seth's Blog</title>\r\n <link rel=\"alternate\" type=\"text/html\" href=\"http://sethgodin.typepad.com/seths_blog/\" />\r\n <link rel=\"s"}, + {"type": "application/atom+xml", "input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/atom10full.xsl\" type=\"text/xsl\" media=\"screen\"?><?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/itemcontent.css\" type=\"text/css\" media=\"screen\"?><feed xmlns=\"http://www.w3.org/2005/Atom\" xmlns:openSearch=\"http://a9.com/-/spec/opensearchrss/1.0/\" xmlns:feedburner=\"http://rssnamespace.org/feedburner/ext/1.0\"><id>tag:blogger.com,1999:blog-32454861</id><updated>2007-07-31T21:44:09.867+02:00</upd"}, + {"type": "application/atom+xml", "input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/atomfull.xsl\" type=\"text/xsl\" media=\"screen\"?><?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/itemcontent.css\" type=\"text/css\" media=\"screen\"?><feed xmlns=\"http://purl.org/atom/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:feedburner=\"http://rssnamespace.org/feedburner/ext/1.0\" version=\"0.3\">\r\n <title>Go Fug Yourself</title>\r\n <link rel=\"alternate\" type=\"text/html\" href=\"http://go"}, + {"type": "application/rss+xml", "input": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/rss2full.xsl\" type=\"text/xsl\" media=\"screen\"?><?xml-stylesheet href=\"http://feeds.feedburner.com/~d/styles/itemcontent.css\" type=\"text/css\" media=\"screen\"?><rss xmlns:creativeCommons=\"http://backend.userland.com/creativeCommonsRssModule\" xmlns:feedburner=\"http://rssnamespace.org/feedburner/ext/1.0\" version=\"2.0\"><channel><title>Google Operating System</title><link>http://googlesystem.blogspot.com/</link>"}, + {"type": "application/rss+xml", "input": "<?xml version=\"1.0\" encoding=\"\"?>\n<!-- generator=\"wordpress/MU\" -->\n<rss version=\"2.0\"\n\txmlns:content=\"http://purl.org/rss/1.0/modules/content/\"\n\txmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"\n\txmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n\t><channel>\n\t<title>Nunublog</title>\n\t<link>http://nunubh.wordpress.com</link>\n\t<description>Just Newbie Blog!</description>\n\t<pubDate>Mon, 09 Jul 2007 18:54:09 +0000</pubDate>\n\t<generator>http://wordpress.org/?v=MU</generator>\n\t<language>id</language>\n\t\t\t<item>\n\t\t<ti"}, + {"type": "text/html", "input": "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\r\n<HEAD>\r\n<TITLE>Design*Sponge</TITLE><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\r\n<meta name=\"MSSmartTagsPreventParsing\" content=\"true\" />\r\n<meta name=\"generator\" content=\"Blogger\" />\r\n<link rel=\"alternate\" type=\"application/atom+xml\" title=\"Design*Sponge - Atom\" href=\"http://designsponge.blogspot.com/feeds/posts/default\" />\r\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"Design*Sponge - RSS\" href="}, + {"type": "text/html", "input": "<HTML>\n<HEAD>\n<TITLE>Moved Temporarily</TITLE>\n</HEAD>\n<BODY BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\">\n<H1>Moved Temporarily</H1>\nThe document has moved <A HREF=\"http://feeds.feedburner.com/thesecretdiaryofstevejobs\">here</A>.\n</BODY>\n</HTML>\n"} +]
\ No newline at end of file diff --git a/test/data/tokeniser2/INDEX b/test/data/tokeniser2/INDEX index f16feb4..67475c4 100644 --- a/test/data/tokeniser2/INDEX +++ b/test/data/tokeniser2/INDEX @@ -3,13 +3,18 @@ # Test Description test1.test html5lib tests (part 1) -test2.test html5lib tests (part 2) -test3.test html5lib tests (part 3) -test4.test html5lib tests (part 4) -contentModelFlags.test html5lib content model tests -entities.test html5lib entity tests -escapeFlag.test html5lib escape flag tests -numericEntities.test html5lib numeric entities tests +#test2.test html5lib tests (part 2) +#test3.test html5lib tests (part 3) +#test4.test html5lib tests (part 4) +#contentModelFlags.test html5lib content model tests +#entities.test html5lib entity tests +#escapeFlag.test html5lib escape flag tests +#numericEntities.test html5lib numeric entities tests #unicodeChars.test html5lib unicode character tests cdata.test CDATA section tests -regression.test Regression tests +#regression.test Regression tests +#domjs.test NA +#namedEntities.test html5lib named entities tests +#pendingSpecChanges.test NA +#unicodeCharsProblematic.test NA +#xmlViolation.test NA diff --git a/test/data/tokeniser2/README.md b/test/data/tokeniser2/README.md new file mode 100644 index 0000000..4218c26 --- /dev/null +++ b/test/data/tokeniser2/README.md @@ -0,0 +1,104 @@ +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, + "ignoreErrorOrder": ignore_error_order + } + ]} + +Multiple tests per file are allowed simply by adding more objects to the +"tests" list. + +`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. 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] + "ParseError" + +`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. + +`test.ignoreErrorOrder` is a boolean value indicating that the order of +`ParseError` tokens relative to other tokens in the output stream is +unimportant, and implementations should ignore such differences between +their output and `expected_output_tokens`. (This is used for errors +emitted by the input stream preprocessing stage, since it is useful to +test that code but it is undefined when the errors occur). If it is +omitted, it defaults to `false`. + +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/test/data/tokeniser2/contentModelFlags.test b/test/data/tokeniser2/contentModelFlags.test index 1dec3e8..a8b1695 100644 --- a/test/data/tokeniser2/contentModelFlags.test +++ b/test/data/tokeniser2/contentModelFlags.test @@ -1,73 +1,73 @@ {"tests": [ {"description":"PLAINTEXT content model flag", -"contentModelFlags":["PLAINTEXT"], +"initialStates":["PLAINTEXT state"], "lastStartTag":"plaintext", "input":"<head>&body;", "output":[["Character", "<head>&body;"]]}, -{"description":"End tag closing RCDATA or CDATA", -"contentModelFlags":["RCDATA", "CDATA"], +{"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 CDATA (case-insensitivity)", -"contentModelFlags":["RCDATA", "CDATA"], +{"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 CDATA (ending with space)", -"contentModelFlags":["RCDATA", "CDATA"], +{"description":"End tag closing RCDATA or RAWTEXT (ending with space)", +"initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp ", -"output":[["Character", "foo"], "ParseError", ["EndTag", "xmp"]]}, +"output":[["Character", "foo"], "ParseError"]}, -{"description":"End tag closing RCDATA or CDATA (ending with EOF)", -"contentModelFlags":["RCDATA", "CDATA"], +{"description":"End tag closing RCDATA or RAWTEXT (ending with EOF)", +"initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp", -"output":[["Character", "foo"], "ParseError", ["EndTag", "xmp"]]}, +"output":[["Character", "foo</xmp"]]}, -{"description":"End tag closing RCDATA or CDATA (ending with slash)", -"contentModelFlags":["RCDATA", "CDATA"], +{"description":"End tag closing RCDATA or RAWTEXT (ending with slash)", +"initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo</xmp/", -"output":[["Character", "foo"], "ParseError", ["EndTag", "xmp"]]}, +"output":[["Character", "foo"], "ParseError"]}, -{"description":"End tag not closing RCDATA or CDATA (ending with left-angle-bracket)", -"contentModelFlags":["RCDATA", "CDATA"], +{"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 CDATA", -"contentModelFlags":["RCDATA", "CDATA"], +{"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":"End tag with incorrect name in RCDATA or CDATA (starting like correct name)", -"contentModelFlags":["RCDATA", "CDATA"], +{"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 CDATA, switching back to PCDATA", -"contentModelFlags":["RCDATA", "CDATA"], +{"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":"CDATA w/ something looking like an entity", -"contentModelFlags":["CDATA"], +{"description":"RAWTEXT w/ something looking like an entity", +"initialStates":["RAWTEXT state"], "lastStartTag":"xmp", "input":"&foo;", "output":[["Character", "&foo;"]]}, {"description":"RCDATA w/ an entity", -"contentModelFlags":["RCDATA"], +"initialStates":["RCDATA state"], "lastStartTag":"textarea", "input":"<", "output":[["Character", "<"]]} diff --git a/test/data/tokeniser2/domjs.test b/test/data/tokeniser2/domjs.test new file mode 100644 index 0000000..b9e650c --- /dev/null +++ b/test/data/tokeniser2/domjs.test @@ -0,0 +1,91 @@ +{ + "tests": [ + { + "description":"CR in bogus comment state", + "input":"<?\u000d", + "output":["ParseError", ["Comment", "?\u000a"]] + }, + { + "description":"CRLF in bogus comment state", + "input":"<?\u000d\u000a", + "output":["ParseError", ["Comment", "?\u000a"]] + }, + { + "description":"NUL in RCDATA and RAWTEXT", + "doubleEscaped":true, + "initialStates":["RCDATA state", "RAWTEXT state"], + "input":"\\u0000", + "output":["ParseError", ["Character", "\\uFFFD"]] + }, + { + "description":"leading U+FEFF must pass through", + "doubleEscaped":true, + "input":"\\uFEFFfoo\\uFEFFbar", + "output":[["Character", "\\uFEFFfoo\\uFEFFbar"]] + }, + { + "description":"Non BMP-charref in in RCDATA", + "initialStates":["RCDATA state"], + "input":"≂̸", + "output":[["Character", "\u2242\u0338"]] + }, + { + "description":"Bad charref in in RCDATA", + "initialStates":["RCDATA state"], + "input":"&NotEqualTild;", + "output":["ParseError", ["Character", "&NotEqualTild;"]] + }, + { + "description":"lowercase endtags in RCDATA and RAWTEXT", + "initialStates":["RCDATA state", "RAWTEXT state"], + "lastStartTag":"xmp", + "input":"</XMP>", + "output":[["EndTag","xmp"]] + }, + { + "description":"bad endtag in RCDATA and RAWTEXT", + "initialStates":["RCDATA state", "RAWTEXT state"], + "lastStartTag":"xmp", + "input":"</ XMP>", + "output":[["Character","</ XMP>"]] + }, + { + "description":"bad endtag in RCDATA and RAWTEXT", + "initialStates":["RCDATA state", "RAWTEXT state"], + "lastStartTag":"xmp", + "input":"</xm>", + "output":[["Character","</xm>"]] + }, + { + "description":"bad endtag in RCDATA and RAWTEXT", + "initialStates":["RCDATA state", "RAWTEXT state"], + "lastStartTag":"xmp", + "input":"</xm ", + "output":[["Character","</xm "]] + }, + { + "description":"bad endtag in RCDATA and RAWTEXT", + "initialStates":["RCDATA state", "RAWTEXT 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":["ParseError", "ParseError", ["Comment", "--!\\uFFFD"]] + }, + { + "description":"space EOF after doctype ", + "input":"<!DOCTYPE html ", + "output":["ParseError", ["DOCTYPE", "html", null, null , false]] + } + + ] +} diff --git a/test/data/tokeniser2/entities.test b/test/data/tokeniser2/entities.test index 8b8d352..27b85a1 100644 --- a/test/data/tokeniser2/entities.test +++ b/test/data/tokeniser2/entities.test @@ -2,2091 +2,19 @@ {"description": "Undefined named entity in attribute value ending in semicolon and whose name starts with a known entity name.", "input":"<h a='¬i;'>", -"output": ["ParseError", ["StartTag", "h", {"a": "¬i;"}]]}, +"output": [["StartTag", "h", {"a": "¬i;"}]]}, -{"description": "Named entity: AElig with a semi-colon.", -"input":"Æ", -"output": [["Character", "\u00C6"]]}, - -{"description": "Named entity: AElig without a semi-colon.", -"input":"Æ", -"output": ["ParseError", ["Character", "\u00C6"]]}, - -{"description": "Named entity: AMP with a semi-colon.", -"input":"&", -"output": [["Character", "\u0026"]]}, - -{"description": "Named entity: AMP without a semi-colon.", -"input":"&", -"output": ["ParseError", ["Character", "\u0026"]]}, - -{"description": "Named entity: Aacute with a semi-colon.", -"input":"Á", -"output": [["Character", "\u00C1"]]}, - -{"description": "Named entity: Aacute without a semi-colon.", -"input":"Á", -"output": ["ParseError", ["Character", "\u00C1"]]}, - -{"description": "Named entity: Acirc with a semi-colon.", -"input":"Â", -"output": [["Character", "\u00C2"]]}, - -{"description": "Named entity: Acirc without a semi-colon.", -"input":"Â", -"output": ["ParseError", ["Character", "\u00C2"]]}, - -{"description": "Named entity: Agrave with a semi-colon.", -"input":"À", -"output": [["Character", "\u00C0"]]}, - -{"description": "Named entity: Agrave without a semi-colon.", -"input":"À", -"output": ["ParseError", ["Character", "\u00C0"]]}, - -{"description": "Named entity: Alpha with a semi-colon.", -"input":"Α", -"output": [["Character", "\u0391"]]}, - -{"description": "Named entity: Aring with a semi-colon.", -"input":"Å", -"output": [["Character", "\u00C5"]]}, - -{"description": "Named entity: Aring without a semi-colon.", -"input":"Å", -"output": ["ParseError", ["Character", "\u00C5"]]}, - -{"description": "Named entity: Atilde with a semi-colon.", -"input":"Ã", -"output": [["Character", "\u00C3"]]}, - -{"description": "Named entity: Atilde without a semi-colon.", -"input":"Ã", -"output": ["ParseError", ["Character", "\u00C3"]]}, - -{"description": "Named entity: Auml with a semi-colon.", -"input":"Ä", -"output": [["Character", "\u00C4"]]}, - -{"description": "Named entity: Auml without a semi-colon.", -"input":"Ä", -"output": ["ParseError", ["Character", "\u00C4"]]}, - -{"description": "Named entity: Beta with a semi-colon.", -"input":"Β", -"output": [["Character", "\u0392"]]}, - -{"description": "Named entity: COPY with a semi-colon.", -"input":"©", -"output": [["Character", "\u00A9"]]}, - -{"description": "Named entity: COPY without a semi-colon.", -"input":"©", -"output": ["ParseError", ["Character", "\u00A9"]]}, - -{"description": "Named entity: Ccedil with a semi-colon.", -"input":"Ç", -"output": [["Character", "\u00C7"]]}, - -{"description": "Named entity: Ccedil without a semi-colon.", -"input":"Ç", -"output": ["ParseError", ["Character", "\u00C7"]]}, - -{"description": "Named entity: Chi with a semi-colon.", -"input":"Χ", -"output": [["Character", "\u03A7"]]}, - -{"description": "Named entity: Dagger with a semi-colon.", -"input":"‡", -"output": [["Character", "\u2021"]]}, - -{"description": "Named entity: Delta with a semi-colon.", -"input":"Δ", -"output": [["Character", "\u0394"]]}, - -{"description": "Named entity: ETH with a semi-colon.", -"input":"Ð", -"output": [["Character", "\u00D0"]]}, - -{"description": "Named entity: ETH without a semi-colon.", -"input":"Ð", -"output": ["ParseError", ["Character", "\u00D0"]]}, - -{"description": "Named entity: Eacute with a semi-colon.", -"input":"É", -"output": [["Character", "\u00C9"]]}, - -{"description": "Named entity: Eacute without a semi-colon.", -"input":"É", -"output": ["ParseError", ["Character", "\u00C9"]]}, - -{"description": "Named entity: Ecirc with a semi-colon.", -"input":"Ê", -"output": [["Character", "\u00CA"]]}, - -{"description": "Named entity: Ecirc without a semi-colon.", -"input":"Ê", -"output": ["ParseError", ["Character", "\u00CA"]]}, - -{"description": "Named entity: Egrave with a semi-colon.", -"input":"È", -"output": [["Character", "\u00C8"]]}, - -{"description": "Named entity: Egrave without a semi-colon.", -"input":"È", -"output": ["ParseError", ["Character", "\u00C8"]]}, - -{"description": "Named entity: Epsilon with a semi-colon.", -"input":"Ε", -"output": [["Character", "\u0395"]]}, - -{"description": "Named entity: Eta with a semi-colon.", -"input":"Η", -"output": [["Character", "\u0397"]]}, - -{"description": "Named entity: Euml with a semi-colon.", -"input":"Ë", -"output": [["Character", "\u00CB"]]}, - -{"description": "Named entity: Euml without a semi-colon.", -"input":"Ë", -"output": ["ParseError", ["Character", "\u00CB"]]}, - -{"description": "Named entity: GT with a semi-colon.", -"input":">", -"output": [["Character", "\u003E"]]}, - -{"description": "Named entity: GT without a semi-colon.", -"input":">", -"output": ["ParseError", ["Character", "\u003E"]]}, - -{"description": "Named entity: Gamma with a semi-colon.", -"input":"Γ", -"output": [["Character", "\u0393"]]}, - -{"description": "Named entity: Iacute with a semi-colon.", -"input":"Í", -"output": [["Character", "\u00CD"]]}, - -{"description": "Named entity: Iacute without a semi-colon.", -"input":"Í", -"output": ["ParseError", ["Character", "\u00CD"]]}, - -{"description": "Named entity: Icirc with a semi-colon.", -"input":"Î", -"output": [["Character", "\u00CE"]]}, - -{"description": "Named entity: Icirc without a semi-colon.", -"input":"Î", -"output": ["ParseError", ["Character", "\u00CE"]]}, - -{"description": "Named entity: Igrave with a semi-colon.", -"input":"Ì", -"output": [["Character", "\u00CC"]]}, - -{"description": "Named entity: Igrave without a semi-colon.", -"input":"Ì", -"output": ["ParseError", ["Character", "\u00CC"]]}, - -{"description": "Named entity: Iota with a semi-colon.", -"input":"Ι", -"output": [["Character", "\u0399"]]}, - -{"description": "Named entity: Iuml with a semi-colon.", -"input":"Ï", -"output": [["Character", "\u00CF"]]}, - -{"description": "Named entity: Iuml without a semi-colon.", -"input":"Ï", -"output": ["ParseError", ["Character", "\u00CF"]]}, - -{"description": "Named entity: Kappa with a semi-colon.", -"input":"Κ", -"output": [["Character", "\u039A"]]}, - -{"description": "Named entity: LT with a semi-colon.", -"input":"<", -"output": [["Character", "\u003C"]]}, - -{"description": "Named entity: LT without a semi-colon.", -"input":"<", -"output": ["ParseError", ["Character", "\u003C"]]}, - -{"description": "Named entity: Lambda with a semi-colon.", -"input":"Λ", -"output": [["Character", "\u039B"]]}, - -{"description": "Named entity: Mu with a semi-colon.", -"input":"Μ", -"output": [["Character", "\u039C"]]}, - -{"description": "Named entity: Ntilde with a semi-colon.", -"input":"Ñ", -"output": [["Character", "\u00D1"]]}, - -{"description": "Named entity: Ntilde without a semi-colon.", -"input":"Ñ", -"output": ["ParseError", ["Character", "\u00D1"]]}, - -{"description": "Named entity: Nu with a semi-colon.", -"input":"Ν", -"output": [["Character", "\u039D"]]}, - -{"description": "Named entity: OElig with a semi-colon.", -"input":"Œ", -"output": [["Character", "\u0152"]]}, - -{"description": "Named entity: Oacute with a semi-colon.", -"input":"Ó", -"output": [["Character", "\u00D3"]]}, - -{"description": "Named entity: Oacute without a semi-colon.", -"input":"Ó", -"output": ["ParseError", ["Character", "\u00D3"]]}, - -{"description": "Named entity: Ocirc with a semi-colon.", -"input":"Ô", -"output": [["Character", "\u00D4"]]}, - -{"description": "Named entity: Ocirc without a semi-colon.", -"input":"Ô", -"output": ["ParseError", ["Character", "\u00D4"]]}, - -{"description": "Named entity: Ograve with a semi-colon.", -"input":"Ò", -"output": [["Character", "\u00D2"]]}, - -{"description": "Named entity: Ograve without a semi-colon.", -"input":"Ò", -"output": ["ParseError", ["Character", "\u00D2"]]}, - -{"description": "Named entity: Omega with a semi-colon.", -"input":"Ω", -"output": [["Character", "\u03A9"]]}, - -{"description": "Named entity: Omicron with a semi-colon.", -"input":"Ο", -"output": [["Character", "\u039F"]]}, - -{"description": "Named entity: Oslash with a semi-colon.", -"input":"Ø", -"output": [["Character", "\u00D8"]]}, - -{"description": "Named entity: Oslash without a semi-colon.", -"input":"Ø", -"output": ["ParseError", ["Character", "\u00D8"]]}, - -{"description": "Named entity: Otilde with a semi-colon.", -"input":"Õ", -"output": [["Character", "\u00D5"]]}, - -{"description": "Named entity: Otilde without a semi-colon.", -"input":"Õ", -"output": ["ParseError", ["Character", "\u00D5"]]}, - -{"description": "Named entity: Ouml with a semi-colon.", -"input":"Ö", -"output": [["Character", "\u00D6"]]}, - -{"description": "Named entity: Ouml without a semi-colon.", -"input":"Ö", -"output": ["ParseError", ["Character", "\u00D6"]]}, - -{"description": "Named entity: Phi with a semi-colon.", -"input":"Φ", -"output": [["Character", "\u03A6"]]}, - -{"description": "Named entity: Pi with a semi-colon.", -"input":"Π", -"output": [["Character", "\u03A0"]]}, - -{"description": "Named entity: Prime with a semi-colon.", -"input":"″", -"output": [["Character", "\u2033"]]}, - -{"description": "Named entity: Psi with a semi-colon.", -"input":"Ψ", -"output": [["Character", "\u03A8"]]}, - -{"description": "Named entity: QUOT with a semi-colon.", -"input":""", -"output": [["Character", "\u0022"]]}, - -{"description": "Named entity: QUOT without a semi-colon.", -"input":""", -"output": ["ParseError", ["Character", "\u0022"]]}, - -{"description": "Named entity: REG with a semi-colon.", -"input":"®", -"output": [["Character", "\u00AE"]]}, - -{"description": "Named entity: REG without a semi-colon.", -"input":"®", -"output": ["ParseError", ["Character", "\u00AE"]]}, - -{"description": "Named entity: Rho with a semi-colon.", -"input":"Ρ", -"output": [["Character", "\u03A1"]]}, - -{"description": "Named entity: Scaron with a semi-colon.", -"input":"Š", -"output": [["Character", "\u0160"]]}, - -{"description": "Named entity: Sigma with a semi-colon.", -"input":"Σ", -"output": [["Character", "\u03A3"]]}, - -{"description": "Named entity: THORN with a semi-colon.", -"input":"Þ", -"output": [["Character", "\u00DE"]]}, - -{"description": "Named entity: THORN without a semi-colon.", -"input":"Þ", -"output": ["ParseError", ["Character", "\u00DE"]]}, - -{"description": "Named entity: TRADE with a semi-colon.", -"input":"™", -"output": [["Character", "\u2122"]]}, - -{"description": "Named entity: Tau with a semi-colon.", -"input":"Τ", -"output": [["Character", "\u03A4"]]}, - -{"description": "Named entity: Theta with a semi-colon.", -"input":"Θ", -"output": [["Character", "\u0398"]]}, - -{"description": "Named entity: Uacute with a semi-colon.", -"input":"Ú", -"output": [["Character", "\u00DA"]]}, - -{"description": "Named entity: Uacute without a semi-colon.", -"input":"Ú", -"output": ["ParseError", ["Character", "\u00DA"]]}, - -{"description": "Named entity: Ucirc with a semi-colon.", -"input":"Û", -"output": [["Character", "\u00DB"]]}, - -{"description": "Named entity: Ucirc without a semi-colon.", -"input":"Û", -"output": ["ParseError", ["Character", "\u00DB"]]}, - -{"description": "Named entity: Ugrave with a semi-colon.", -"input":"Ù", -"output": [["Character", "\u00D9"]]}, - -{"description": "Named entity: Ugrave without a semi-colon.", -"input":"Ù", -"output": ["ParseError", ["Character", "\u00D9"]]}, - -{"description": "Named entity: Upsilon with a semi-colon.", -"input":"Υ", -"output": [["Character", "\u03A5"]]}, - -{"description": "Named entity: Uuml with a semi-colon.", -"input":"Ü", -"output": [["Character", "\u00DC"]]}, - -{"description": "Named entity: Uuml without a semi-colon.", -"input":"Ü", -"output": ["ParseError", ["Character", "\u00DC"]]}, - -{"description": "Named entity: Xi with a semi-colon.", -"input":"Ξ", -"output": [["Character", "\u039E"]]}, - -{"description": "Named entity: Yacute with a semi-colon.", -"input":"Ý", -"output": [["Character", "\u00DD"]]}, - -{"description": "Named entity: Yacute without a semi-colon.", -"input":"Ý", -"output": ["ParseError", ["Character", "\u00DD"]]}, - -{"description": "Named entity: Yuml with a semi-colon.", -"input":"Ÿ", -"output": [["Character", "\u0178"]]}, - -{"description": "Named entity: Zeta with a semi-colon.", -"input":"Ζ", -"output": [["Character", "\u0396"]]}, - -{"description": "Named entity: aacute with a semi-colon.", -"input":"á", -"output": [["Character", "\u00E1"]]}, - -{"description": "Named entity: aacute without a semi-colon.", -"input":"á", -"output": ["ParseError", ["Character", "\u00E1"]]}, - -{"description": "Named entity: acirc with a semi-colon.", -"input":"â", -"output": [["Character", "\u00E2"]]}, - -{"description": "Named entity: acirc without a semi-colon.", -"input":"â", -"output": ["ParseError", ["Character", "\u00E2"]]}, - -{"description": "Named entity: acute with a semi-colon.", -"input":"´", -"output": [["Character", "\u00B4"]]}, - -{"description": "Named entity: acute without a semi-colon.", -"input":"´", -"output": ["ParseError", ["Character", "\u00B4"]]}, - -{"description": "Named entity: aelig with a semi-colon.", -"input":"æ", -"output": [["Character", "\u00E6"]]}, - -{"description": "Named entity: aelig without a semi-colon.", -"input":"æ", -"output": ["ParseError", ["Character", "\u00E6"]]}, - -{"description": "Named entity: agrave with a semi-colon.", -"input":"à", -"output": [["Character", "\u00E0"]]}, - -{"description": "Named entity: agrave without a semi-colon.", -"input":"à", -"output": ["ParseError", ["Character", "\u00E0"]]}, - -{"description": "Named entity: alefsym with a semi-colon.", -"input":"ℵ", -"output": [["Character", "\u2135"]]}, - -{"description": "Named entity: alpha with a semi-colon.", -"input":"α", -"output": [["Character", "\u03B1"]]}, - -{"description": "Named entity: amp with a semi-colon.", -"input":"&", -"output": [["Character", "\u0026"]]}, - -{"description": "Named entity: amp without a semi-colon.", -"input":"&", -"output": ["ParseError", ["Character", "\u0026"]]}, - -{"description": "Named entity: and with a semi-colon.", -"input":"∧", -"output": [["Character", "\u2227"]]}, - -{"description": "Named entity: ang with a semi-colon.", -"input":"∠", -"output": [["Character", "\u2220"]]}, - -{"description": "Named entity: apos with a semi-colon.", -"input":"'", -"output": [["Character", "\u0027"]]}, - -{"description": "Named entity: aring with a semi-colon.", -"input":"å", -"output": [["Character", "\u00E5"]]}, - -{"description": "Named entity: aring without a semi-colon.", -"input":"å", -"output": ["ParseError", ["Character", "\u00E5"]]}, - -{"description": "Named entity: asymp with a semi-colon.", -"input":"≈", -"output": [["Character", "\u2248"]]}, - -{"description": "Named entity: atilde with a semi-colon.", -"input":"ã", -"output": [["Character", "\u00E3"]]}, - -{"description": "Named entity: atilde without a semi-colon.", -"input":"ã", -"output": ["ParseError", ["Character", "\u00E3"]]}, - -{"description": "Named entity: auml with a semi-colon.", -"input":"ä", -"output": [["Character", "\u00E4"]]}, - -{"description": "Named entity: auml without a semi-colon.", -"input":"ä", -"output": ["ParseError", ["Character", "\u00E4"]]}, - -{"description": "Named entity: bdquo with a semi-colon.", -"input":"„", -"output": [["Character", "\u201E"]]}, - -{"description": "Named entity: beta with a semi-colon.", -"input":"β", -"output": [["Character", "\u03B2"]]}, - -{"description": "Named entity: brvbar with a semi-colon.", -"input":"¦", -"output": [["Character", "\u00A6"]]}, - -{"description": "Named entity: brvbar without a semi-colon.", -"input":"¦", -"output": ["ParseError", ["Character", "\u00A6"]]}, - -{"description": "Named entity: bull with a semi-colon.", -"input":"•", -"output": [["Character", "\u2022"]]}, - -{"description": "Named entity: cap with a semi-colon.", -"input":"∩", -"output": [["Character", "\u2229"]]}, - -{"description": "Named entity: ccedil with a semi-colon.", -"input":"ç", -"output": [["Character", "\u00E7"]]}, - -{"description": "Named entity: ccedil without a semi-colon.", -"input":"ç", -"output": ["ParseError", ["Character", "\u00E7"]]}, - -{"description": "Named entity: cedil with a semi-colon.", -"input":"¸", -"output": [["Character", "\u00B8"]]}, - -{"description": "Named entity: cedil without a semi-colon.", -"input":"¸", -"output": ["ParseError", ["Character", "\u00B8"]]}, - -{"description": "Named entity: cent with a semi-colon.", -"input":"¢", -"output": [["Character", "\u00A2"]]}, - -{"description": "Named entity: cent without a semi-colon.", -"input":"¢", -"output": ["ParseError", ["Character", "\u00A2"]]}, - -{"description": "Named entity: chi with a semi-colon.", -"input":"χ", -"output": [["Character", "\u03C7"]]}, - -{"description": "Named entity: circ with a semi-colon.", -"input":"ˆ", -"output": [["Character", "\u02C6"]]}, - -{"description": "Named entity: clubs with a semi-colon.", -"input":"♣", -"output": [["Character", "\u2663"]]}, - -{"description": "Named entity: cong with a semi-colon.", -"input":"≅", -"output": [["Character", "\u2245"]]}, - -{"description": "Named entity: copy with a semi-colon.", -"input":"©", -"output": [["Character", "\u00A9"]]}, - -{"description": "Named entity: copy without a semi-colon.", -"input":"©", -"output": ["ParseError", ["Character", "\u00A9"]]}, - -{"description": "Named entity: crarr with a semi-colon.", -"input":"↵", -"output": [["Character", "\u21B5"]]}, - -{"description": "Named entity: cup with a semi-colon.", -"input":"∪", -"output": [["Character", "\u222A"]]}, - -{"description": "Named entity: curren with a semi-colon.", -"input":"¤", -"output": [["Character", "\u00A4"]]}, - -{"description": "Named entity: curren without a semi-colon.", -"input":"¤", -"output": ["ParseError", ["Character", "\u00A4"]]}, - -{"description": "Named entity: dArr with a semi-colon.", -"input":"⇓", -"output": [["Character", "\u21D3"]]}, - -{"description": "Named entity: dagger with a semi-colon.", -"input":"†", -"output": [["Character", "\u2020"]]}, - -{"description": "Named entity: darr with a semi-colon.", -"input":"↓", -"output": [["Character", "\u2193"]]}, - -{"description": "Named entity: deg with a semi-colon.", -"input":"°", -"output": [["Character", "\u00B0"]]}, - -{"description": "Named entity: deg without a semi-colon.", -"input":"°", -"output": ["ParseError", ["Character", "\u00B0"]]}, - -{"description": "Named entity: delta with a semi-colon.", -"input":"δ", -"output": [["Character", "\u03B4"]]}, - -{"description": "Named entity: diams with a semi-colon.", -"input":"♦", -"output": [["Character", "\u2666"]]}, - -{"description": "Named entity: divide with a semi-colon.", -"input":"÷", -"output": [["Character", "\u00F7"]]}, - -{"description": "Named entity: divide without a semi-colon.", -"input":"÷", -"output": ["ParseError", ["Character", "\u00F7"]]}, - -{"description": "Named entity: eacute with a semi-colon.", -"input":"é", -"output": [["Character", "\u00E9"]]}, - -{"description": "Named entity: eacute without a semi-colon.", -"input":"é", -"output": ["ParseError", ["Character", "\u00E9"]]}, - -{"description": "Named entity: ecirc with a semi-colon.", -"input":"ê", -"output": [["Character", "\u00EA"]]}, - -{"description": "Named entity: ecirc without a semi-colon.", -"input":"ê", -"output": ["ParseError", ["Character", "\u00EA"]]}, - -{"description": "Named entity: egrave with a semi-colon.", -"input":"è", -"output": [["Character", "\u00E8"]]}, - -{"description": "Named entity: egrave without a semi-colon.", -"input":"è", -"output": ["ParseError", ["Character", "\u00E8"]]}, - -{"description": "Named entity: empty with a semi-colon.", -"input":"∅", -"output": [["Character", "\u2205"]]}, - -{"description": "Named entity: emsp with a semi-colon.", -"input":" ", -"output": [["Character", "\u2003"]]}, - -{"description": "Named entity: ensp with a semi-colon.", -"input":" ", -"output": [["Character", "\u2002"]]}, - -{"description": "Named entity: epsilon with a semi-colon.", -"input":"ε", -"output": [["Character", "\u03B5"]]}, - -{"description": "Named entity: equiv with a semi-colon.", -"input":"≡", -"output": [["Character", "\u2261"]]}, - -{"description": "Named entity: eta with a semi-colon.", -"input":"η", -"output": [["Character", "\u03B7"]]}, - -{"description": "Named entity: eth with a semi-colon.", -"input":"ð", -"output": [["Character", "\u00F0"]]}, - -{"description": "Named entity: eth without a semi-colon.", -"input":"ð", -"output": ["ParseError", ["Character", "\u00F0"]]}, - -{"description": "Named entity: euml with a semi-colon.", -"input":"ë", -"output": [["Character", "\u00EB"]]}, - -{"description": "Named entity: euml without a semi-colon.", -"input":"ë", -"output": ["ParseError", ["Character", "\u00EB"]]}, - -{"description": "Named entity: euro with a semi-colon.", -"input":"€", -"output": [["Character", "\u20AC"]]}, - -{"description": "Named entity: exist with a semi-colon.", -"input":"∃", -"output": [["Character", "\u2203"]]}, - -{"description": "Named entity: fnof with a semi-colon.", -"input":"ƒ", -"output": [["Character", "\u0192"]]}, - -{"description": "Named entity: forall with a semi-colon.", -"input":"∀", -"output": [["Character", "\u2200"]]}, - -{"description": "Named entity: frac12 with a semi-colon.", -"input":"½", -"output": [["Character", "\u00BD"]]}, - -{"description": "Named entity: frac12 without a semi-colon.", -"input":"½", -"output": ["ParseError", ["Character", "\u00BD"]]}, - -{"description": "Named entity: frac14 with a semi-colon.", -"input":"¼", -"output": [["Character", "\u00BC"]]}, - -{"description": "Named entity: frac14 without a semi-colon.", -"input":"¼", -"output": ["ParseError", ["Character", "\u00BC"]]}, - -{"description": "Named entity: frac34 with a semi-colon.", -"input":"¾", -"output": [["Character", "\u00BE"]]}, - -{"description": "Named entity: frac34 without a semi-colon.", -"input":"¾", -"output": ["ParseError", ["Character", "\u00BE"]]}, - -{"description": "Named entity: frasl with a semi-colon.", -"input":"⁄", -"output": [["Character", "\u2044"]]}, - -{"description": "Named entity: gamma with a semi-colon.", -"input":"γ", -"output": [["Character", "\u03B3"]]}, - -{"description": "Named entity: ge with a semi-colon.", -"input":"≥", -"output": [["Character", "\u2265"]]}, - -{"description": "Named entity: gt with a semi-colon.", -"input":">", -"output": [["Character", "\u003E"]]}, - -{"description": "Named entity: gt without a semi-colon.", -"input":">", -"output": ["ParseError", ["Character", "\u003E"]]}, - -{"description": "Named entity: hArr with a semi-colon.", -"input":"⇔", -"output": [["Character", "\u21D4"]]}, - -{"description": "Named entity: harr with a semi-colon.", -"input":"↔", -"output": [["Character", "\u2194"]]}, - -{"description": "Named entity: hearts with a semi-colon.", -"input":"♥", -"output": [["Character", "\u2665"]]}, - -{"description": "Named entity: hellip with a semi-colon.", -"input":"…", -"output": [["Character", "\u2026"]]}, - -{"description": "Named entity: iacute with a semi-colon.", -"input":"í", -"output": [["Character", "\u00ED"]]}, - -{"description": "Named entity: iacute without a semi-colon.", -"input":"í", -"output": ["ParseError", ["Character", "\u00ED"]]}, - -{"description": "Named entity: icirc with a semi-colon.", -"input":"î", -"output": [["Character", "\u00EE"]]}, - -{"description": "Named entity: icirc without a semi-colon.", -"input":"î", -"output": ["ParseError", ["Character", "\u00EE"]]}, - -{"description": "Named entity: iexcl with a semi-colon.", -"input":"¡", -"output": [["Character", "\u00A1"]]}, - -{"description": "Named entity: iexcl without a semi-colon.", -"input":"¡", -"output": ["ParseError", ["Character", "\u00A1"]]}, - -{"description": "Named entity: igrave with a semi-colon.", -"input":"ì", -"output": [["Character", "\u00EC"]]}, - -{"description": "Named entity: igrave without a semi-colon.", -"input":"ì", -"output": ["ParseError", ["Character", "\u00EC"]]}, - -{"description": "Named entity: image with a semi-colon.", -"input":"ℑ", -"output": [["Character", "\u2111"]]}, - -{"description": "Named entity: infin with a semi-colon.", -"input":"∞", -"output": [["Character", "\u221E"]]}, - -{"description": "Named entity: int with a semi-colon.", -"input":"∫", -"output": [["Character", "\u222B"]]}, - -{"description": "Named entity: iota with a semi-colon.", -"input":"ι", -"output": [["Character", "\u03B9"]]}, - -{"description": "Named entity: iquest with a semi-colon.", -"input":"¿", -"output": [["Character", "\u00BF"]]}, - -{"description": "Named entity: iquest without a semi-colon.", -"input":"¿", -"output": ["ParseError", ["Character", "\u00BF"]]}, - -{"description": "Named entity: isin with a semi-colon.", -"input":"∈", -"output": [["Character", "\u2208"]]}, - -{"description": "Named entity: iuml with a semi-colon.", -"input":"ï", -"output": [["Character", "\u00EF"]]}, - -{"description": "Named entity: iuml without a semi-colon.", -"input":"ï", -"output": ["ParseError", ["Character", "\u00EF"]]}, - -{"description": "Named entity: kappa with a semi-colon.", -"input":"κ", -"output": [["Character", "\u03BA"]]}, - -{"description": "Named entity: lArr with a semi-colon.", -"input":"⇐", -"output": [["Character", "\u21D0"]]}, - -{"description": "Named entity: lambda with a semi-colon.", -"input":"λ", -"output": [["Character", "\u03BB"]]}, - -{"description": "Named entity: lang with a semi-colon.", -"input":"⟨", -"output": [["Character", "\u27E8"]]}, - -{"description": "Named entity: laquo with a semi-colon.", -"input":"«", -"output": [["Character", "\u00AB"]]}, - -{"description": "Named entity: laquo without a semi-colon.", -"input":"«", -"output": ["ParseError", ["Character", "\u00AB"]]}, - -{"description": "Named entity: larr with a semi-colon.", -"input":"←", -"output": [["Character", "\u2190"]]}, - -{"description": "Named entity: lceil with a semi-colon.", -"input":"⌈", -"output": [["Character", "\u2308"]]}, - -{"description": "Named entity: ldquo with a semi-colon.", -"input":"“", -"output": [["Character", "\u201C"]]}, - -{"description": "Named entity: le with a semi-colon.", -"input":"≤", -"output": [["Character", "\u2264"]]}, - -{"description": "Named entity: lfloor with a semi-colon.", -"input":"⌊", -"output": [["Character", "\u230A"]]}, - -{"description": "Named entity: lowast with a semi-colon.", -"input":"∗", -"output": [["Character", "\u2217"]]}, - -{"description": "Named entity: loz with a semi-colon.", -"input":"◊", -"output": [["Character", "\u25CA"]]}, - -{"description": "Named entity: lrm with a semi-colon.", -"input":"‎", -"output": [["Character", "\u200E"]]}, - -{"description": "Named entity: lsaquo with a semi-colon.", -"input":"‹", -"output": [["Character", "\u2039"]]}, - -{"description": "Named entity: lsquo with a semi-colon.", -"input":"‘", -"output": [["Character", "\u2018"]]}, - -{"description": "Named entity: lt with a semi-colon.", -"input":"<", -"output": [["Character", "\u003C"]]}, - -{"description": "Named entity: lt without a semi-colon.", -"input":"<", -"output": ["ParseError", ["Character", "\u003C"]]}, - -{"description": "Named entity: macr with a semi-colon.", -"input":"¯", -"output": [["Character", "\u00AF"]]}, - -{"description": "Named entity: macr without a semi-colon.", -"input":"¯", -"output": ["ParseError", ["Character", "\u00AF"]]}, - -{"description": "Named entity: mdash with a semi-colon.", -"input":"—", -"output": [["Character", "\u2014"]]}, - -{"description": "Named entity: micro with a semi-colon.", -"input":"µ", -"output": [["Character", "\u00B5"]]}, - -{"description": "Named entity: micro without a semi-colon.", -"input":"µ", -"output": ["ParseError", ["Character", "\u00B5"]]}, - -{"description": "Named entity: middot with a semi-colon.", -"input":"·", -"output": [["Character", "\u00B7"]]}, - -{"description": "Named entity: middot without a semi-colon.", -"input":"·", -"output": ["ParseError", ["Character", "\u00B7"]]}, - -{"description": "Named entity: minus with a semi-colon.", -"input":"−", -"output": [["Character", "\u2212"]]}, - -{"description": "Named entity: mu with a semi-colon.", -"input":"μ", -"output": [["Character", "\u03BC"]]}, - -{"description": "Named entity: nabla with a semi-colon.", -"input":"∇", -"output": [["Character", "\u2207"]]}, - -{"description": "Named entity: nbsp with a semi-colon.", -"input":" ", -"output": [["Character", "\u00A0"]]}, - -{"description": "Named entity: nbsp without a semi-colon.", -"input":" ", -"output": ["ParseError", ["Character", "\u00A0"]]}, - -{"description": "Named entity: ndash with a semi-colon.", -"input":"–", -"output": [["Character", "\u2013"]]}, - -{"description": "Named entity: ne with a semi-colon.", -"input":"≠", -"output": [["Character", "\u2260"]]}, - -{"description": "Named entity: ni with a semi-colon.", -"input":"∋", -"output": [["Character", "\u220B"]]}, - -{"description": "Named entity: not with a semi-colon.", -"input":"¬", -"output": [["Character", "\u00AC"]]}, - -{"description": "Named entity: not without a semi-colon.", -"input":"¬", -"output": ["ParseError", ["Character", "\u00AC"]]}, - -{"description": "Named entity: notin with a semi-colon.", -"input":"∉", -"output": [["Character", "\u2209"]]}, - -{"description": "Named entity: nsub with a semi-colon.", -"input":"⊄", -"output": [["Character", "\u2284"]]}, - -{"description": "Named entity: ntilde with a semi-colon.", -"input":"ñ", -"output": [["Character", "\u00F1"]]}, - -{"description": "Named entity: ntilde without a semi-colon.", -"input":"ñ", -"output": ["ParseError", ["Character", "\u00F1"]]}, - -{"description": "Named entity: nu with a semi-colon.", -"input":"ν", -"output": [["Character", "\u03BD"]]}, - -{"description": "Named entity: oacute with a semi-colon.", -"input":"ó", -"output": [["Character", "\u00F3"]]}, - -{"description": "Named entity: oacute without a semi-colon.", -"input":"ó", -"output": ["ParseError", ["Character", "\u00F3"]]}, - -{"description": "Named entity: ocirc with a semi-colon.", -"input":"ô", -"output": [["Character", "\u00F4"]]}, - -{"description": "Named entity: ocirc without a semi-colon.", -"input":"ô", -"output": ["ParseError", ["Character", "\u00F4"]]}, - -{"description": "Named entity: oelig with a semi-colon.", -"input":"œ", -"output": [["Character", "\u0153"]]}, - -{"description": "Named entity: ograve with a semi-colon.", -"input":"ò", -"output": [["Character", "\u00F2"]]}, - -{"description": "Named entity: ograve without a semi-colon.", -"input":"ò", -"output": ["ParseError", ["Character", "\u00F2"]]}, - -{"description": "Named entity: oline with a semi-colon.", -"input":"‾", -"output": [["Character", "\u203E"]]}, - -{"description": "Named entity: omega with a semi-colon.", -"input":"ω", -"output": [["Character", "\u03C9"]]}, - -{"description": "Named entity: omicron with a semi-colon.", -"input":"ο", -"output": [["Character", "\u03BF"]]}, - -{"description": "Named entity: oplus with a semi-colon.", -"input":"⊕", -"output": [["Character", "\u2295"]]}, - -{"description": "Named entity: or with a semi-colon.", -"input":"∨", -"output": [["Character", "\u2228"]]}, - -{"description": "Named entity: ordf with a semi-colon.", -"input":"ª", -"output": [["Character", "\u00AA"]]}, - -{"description": "Named entity: ordf without a semi-colon.", -"input":"ª", -"output": ["ParseError", ["Character", "\u00AA"]]}, - -{"description": "Named entity: ordm with a semi-colon.", -"input":"º", -"output": [["Character", "\u00BA"]]}, - -{"description": "Named entity: ordm without a semi-colon.", -"input":"º", -"output": ["ParseError", ["Character", "\u00BA"]]}, - -{"description": "Named entity: oslash with a semi-colon.", -"input":"ø", -"output": [["Character", "\u00F8"]]}, - -{"description": "Named entity: oslash without a semi-colon.", -"input":"ø", -"output": ["ParseError", ["Character", "\u00F8"]]}, - -{"description": "Named entity: otilde with a semi-colon.", -"input":"õ", -"output": [["Character", "\u00F5"]]}, - -{"description": "Named entity: otilde without a semi-colon.", -"input":"õ", -"output": ["ParseError", ["Character", "\u00F5"]]}, - -{"description": "Named entity: otimes with a semi-colon.", -"input":"⊗", -"output": [["Character", "\u2297"]]}, - -{"description": "Named entity: ouml with a semi-colon.", -"input":"ö", -"output": [["Character", "\u00F6"]]}, - -{"description": "Named entity: ouml without a semi-colon.", -"input":"ö", -"output": ["ParseError", ["Character", "\u00F6"]]}, - -{"description": "Named entity: para with a semi-colon.", -"input":"¶", -"output": [["Character", "\u00B6"]]}, - -{"description": "Named entity: para without a semi-colon.", -"input":"¶", -"output": ["ParseError", ["Character", "\u00B6"]]}, - -{"description": "Named entity: part with a semi-colon.", -"input":"∂", -"output": [["Character", "\u2202"]]}, - -{"description": "Named entity: permil with a semi-colon.", -"input":"‰", -"output": [["Character", "\u2030"]]}, - -{"description": "Named entity: perp with a semi-colon.", -"input":"⊥", -"output": [["Character", "\u22A5"]]}, - -{"description": "Named entity: phi with a semi-colon.", -"input":"φ", -"output": [["Character", "\u03C6"]]}, - -{"description": "Named entity: pi with a semi-colon.", -"input":"π", -"output": [["Character", "\u03C0"]]}, - -{"description": "Named entity: piv with a semi-colon.", -"input":"ϖ", -"output": [["Character", "\u03D6"]]}, - -{"description": "Named entity: plusmn with a semi-colon.", -"input":"±", -"output": [["Character", "\u00B1"]]}, - -{"description": "Named entity: plusmn without a semi-colon.", -"input":"±", -"output": ["ParseError", ["Character", "\u00B1"]]}, - -{"description": "Named entity: pound with a semi-colon.", -"input":"£", -"output": [["Character", "\u00A3"]]}, - -{"description": "Named entity: pound without a semi-colon.", -"input":"£", -"output": ["ParseError", ["Character", "\u00A3"]]}, - -{"description": "Named entity: prime with a semi-colon.", -"input":"′", -"output": [["Character", "\u2032"]]}, - -{"description": "Named entity: prod with a semi-colon.", -"input":"∏", -"output": [["Character", "\u220F"]]}, - -{"description": "Named entity: prop with a semi-colon.", -"input":"∝", -"output": [["Character", "\u221D"]]}, - -{"description": "Named entity: psi with a semi-colon.", -"input":"ψ", -"output": [["Character", "\u03C8"]]}, - -{"description": "Named entity: quot with a semi-colon.", -"input":""", -"output": [["Character", "\u0022"]]}, - -{"description": "Named entity: quot without a semi-colon.", -"input":""", -"output": ["ParseError", ["Character", "\u0022"]]}, - -{"description": "Named entity: rArr with a semi-colon.", -"input":"⇒", -"output": [["Character", "\u21D2"]]}, - -{"description": "Named entity: radic with a semi-colon.", -"input":"√", -"output": [["Character", "\u221A"]]}, - -{"description": "Named entity: rang with a semi-colon.", -"input":"⟩", -"output": [["Character", "\u27E9"]]}, - -{"description": "Named entity: raquo with a semi-colon.", -"input":"»", -"output": [["Character", "\u00BB"]]}, - -{"description": "Named entity: raquo without a semi-colon.", -"input":"»", -"output": ["ParseError", ["Character", "\u00BB"]]}, - -{"description": "Named entity: rarr with a semi-colon.", -"input":"→", -"output": [["Character", "\u2192"]]}, - -{"description": "Named entity: rceil with a semi-colon.", -"input":"⌉", -"output": [["Character", "\u2309"]]}, - -{"description": "Named entity: rdquo with a semi-colon.", -"input":"”", -"output": [["Character", "\u201D"]]}, - -{"description": "Named entity: real with a semi-colon.", -"input":"ℜ", -"output": [["Character", "\u211C"]]}, - -{"description": "Named entity: reg with a semi-colon.", -"input":"®", -"output": [["Character", "\u00AE"]]}, - -{"description": "Named entity: reg without a semi-colon.", -"input":"®", -"output": ["ParseError", ["Character", "\u00AE"]]}, - -{"description": "Named entity: rfloor with a semi-colon.", -"input":"⌋", -"output": [["Character", "\u230B"]]}, - -{"description": "Named entity: rho with a semi-colon.", -"input":"ρ", -"output": [["Character", "\u03C1"]]}, - -{"description": "Named entity: rlm with a semi-colon.", -"input":"‏", -"output": [["Character", "\u200F"]]}, - -{"description": "Named entity: rsaquo with a semi-colon.", -"input":"›", -"output": [["Character", "\u203A"]]}, - -{"description": "Named entity: rsquo with a semi-colon.", -"input":"’", -"output": [["Character", "\u2019"]]}, - -{"description": "Named entity: sbquo with a semi-colon.", -"input":"‚", -"output": [["Character", "\u201A"]]}, - -{"description": "Named entity: scaron with a semi-colon.", -"input":"š", -"output": [["Character", "\u0161"]]}, - -{"description": "Named entity: sdot with a semi-colon.", -"input":"⋅", -"output": [["Character", "\u22C5"]]}, - -{"description": "Named entity: sect with a semi-colon.", -"input":"§", -"output": [["Character", "\u00A7"]]}, - -{"description": "Named entity: sect without a semi-colon.", -"input":"§", -"output": ["ParseError", ["Character", "\u00A7"]]}, - -{"description": "Named entity: shy with a semi-colon.", -"input":"­", -"output": [["Character", "\u00AD"]]}, - -{"description": "Named entity: shy without a semi-colon.", -"input":"­", -"output": ["ParseError", ["Character", "\u00AD"]]}, - -{"description": "Named entity: sigma with a semi-colon.", -"input":"σ", -"output": [["Character", "\u03C3"]]}, - -{"description": "Named entity: sigmaf with a semi-colon.", -"input":"ς", -"output": [["Character", "\u03C2"]]}, - -{"description": "Named entity: sim with a semi-colon.", -"input":"∼", -"output": [["Character", "\u223C"]]}, - -{"description": "Named entity: spades with a semi-colon.", -"input":"♠", -"output": [["Character", "\u2660"]]}, - -{"description": "Named entity: sub with a semi-colon.", -"input":"⊂", -"output": [["Character", "\u2282"]]}, - -{"description": "Named entity: sube with a semi-colon.", -"input":"⊆", -"output": [["Character", "\u2286"]]}, - -{"description": "Named entity: sum with a semi-colon.", -"input":"∑", -"output": [["Character", "\u2211"]]}, - -{"description": "Named entity: sup1 with a semi-colon.", -"input":"¹", -"output": [["Character", "\u00B9"]]}, - -{"description": "Named entity: sup1 without a semi-colon.", -"input":"¹", -"output": ["ParseError", ["Character", "\u00B9"]]}, - -{"description": "Named entity: sup2 with a semi-colon.", -"input":"²", -"output": [["Character", "\u00B2"]]}, - -{"description": "Named entity: sup2 without a semi-colon.", -"input":"²", -"output": ["ParseError", ["Character", "\u00B2"]]}, - -{"description": "Named entity: sup3 with a semi-colon.", -"input":"³", -"output": [["Character", "\u00B3"]]}, - -{"description": "Named entity: sup3 without a semi-colon.", -"input":"³", -"output": ["ParseError", ["Character", "\u00B3"]]}, - -{"description": "Named entity: sup with a semi-colon.", -"input":"⊃", -"output": [["Character", "\u2283"]]}, - -{"description": "Named entity: supe with a semi-colon.", -"input":"⊇", -"output": [["Character", "\u2287"]]}, - -{"description": "Named entity: szlig with a semi-colon.", -"input":"ß", -"output": [["Character", "\u00DF"]]}, - -{"description": "Named entity: szlig without a semi-colon.", -"input":"ß", -"output": ["ParseError", ["Character", "\u00DF"]]}, - -{"description": "Named entity: tau with a semi-colon.", -"input":"τ", -"output": [["Character", "\u03C4"]]}, - -{"description": "Named entity: there4 with a semi-colon.", -"input":"∴", -"output": [["Character", "\u2234"]]}, - -{"description": "Named entity: theta with a semi-colon.", -"input":"θ", -"output": [["Character", "\u03B8"]]}, - -{"description": "Named entity: thetasym with a semi-colon.", -"input":"ϑ", -"output": [["Character", "\u03D1"]]}, - -{"description": "Named entity: thinsp with a semi-colon.", -"input":" ", -"output": [["Character", "\u2009"]]}, - -{"description": "Named entity: thorn with a semi-colon.", -"input":"þ", -"output": [["Character", "\u00FE"]]}, - -{"description": "Named entity: thorn without a semi-colon.", -"input":"þ", -"output": ["ParseError", ["Character", "\u00FE"]]}, - -{"description": "Named entity: tilde with a semi-colon.", -"input":"˜", -"output": [["Character", "\u02DC"]]}, - -{"description": "Named entity: times with a semi-colon.", -"input":"×", -"output": [["Character", "\u00D7"]]}, - -{"description": "Named entity: times without a semi-colon.", -"input":"×", -"output": ["ParseError", ["Character", "\u00D7"]]}, - -{"description": "Named entity: trade with a semi-colon.", -"input":"™", -"output": [["Character", "\u2122"]]}, - -{"description": "Named entity: uArr with a semi-colon.", -"input":"⇑", -"output": [["Character", "\u21D1"]]}, - -{"description": "Named entity: uacute with a semi-colon.", -"input":"ú", -"output": [["Character", "\u00FA"]]}, - -{"description": "Named entity: uacute without a semi-colon.", -"input":"ú", -"output": ["ParseError", ["Character", "\u00FA"]]}, - -{"description": "Named entity: uarr with a semi-colon.", -"input":"↑", -"output": [["Character", "\u2191"]]}, - -{"description": "Named entity: ucirc with a semi-colon.", -"input":"û", -"output": [["Character", "\u00FB"]]}, - -{"description": "Named entity: ucirc without a semi-colon.", -"input":"û", -"output": ["ParseError", ["Character", "\u00FB"]]}, - -{"description": "Named entity: ugrave with a semi-colon.", -"input":"ù", -"output": [["Character", "\u00F9"]]}, - -{"description": "Named entity: ugrave without a semi-colon.", -"input":"ù", -"output": ["ParseError", ["Character", "\u00F9"]]}, - -{"description": "Named entity: uml with a semi-colon.", -"input":"¨", -"output": [["Character", "\u00A8"]]}, - -{"description": "Named entity: uml without a semi-colon.", -"input":"¨", -"output": ["ParseError", ["Character", "\u00A8"]]}, - -{"description": "Named entity: upsih with a semi-colon.", -"input":"ϒ", -"output": [["Character", "\u03D2"]]}, - -{"description": "Named entity: upsilon with a semi-colon.", -"input":"υ", -"output": [["Character", "\u03C5"]]}, - -{"description": "Named entity: uuml with a semi-colon.", -"input":"ü", -"output": [["Character", "\u00FC"]]}, - -{"description": "Named entity: uuml without a semi-colon.", -"input":"ü", -"output": ["ParseError", ["Character", "\u00FC"]]}, - -{"description": "Named entity: weierp with a semi-colon.", -"input":"℘", -"output": [["Character", "\u2118"]]}, - -{"description": "Named entity: xi with a semi-colon.", -"input":"ξ", -"output": [["Character", "\u03BE"]]}, - -{"description": "Named entity: yacute with a semi-colon.", -"input":"ý", -"output": [["Character", "\u00FD"]]}, - -{"description": "Named entity: yacute without a semi-colon.", -"input":"ý", -"output": ["ParseError", ["Character", "\u00FD"]]}, - -{"description": "Named entity: yen with a semi-colon.", -"input":"¥", -"output": [["Character", "\u00A5"]]}, - -{"description": "Named entity: yen without a semi-colon.", -"input":"¥", -"output": ["ParseError", ["Character", "\u00A5"]]}, - -{"description": "Named entity: yuml with a semi-colon.", -"input":"ÿ", -"output": [["Character", "\u00FF"]]}, - -{"description": "Named entity: yuml without a semi-colon.", -"input":"ÿ", -"output": ["ParseError", ["Character", "\u00FF"]]}, - -{"description": "Named entity: zeta with a semi-colon.", -"input":"ζ", -"output": [["Character", "\u03B6"]]}, - -{"description": "Named entity: zwj with a semi-colon.", -"input":"‍", -"output": [["Character", "\u200D"]]}, - -{"description": "Named entity: zwnj with a semi-colon.", -"input":"‌", -"output": [["Character", "\u200C"]]}, - -{"description": "Bad named entity: Alpha without a semi-colon.", -"input":"&Alpha", -"output": ["ParseError", ["Character", "&Alpha"]]}, - -{"description": "Bad named entity: alpha without a semi-colon.", -"input":"&alpha", -"output": ["ParseError", ["Character", "&alpha"]]}, - -{"description": "Bad named entity: and without a semi-colon.", -"input":"&and", -"output": ["ParseError", ["Character", "&and"]]}, - -{"description": "Bad named entity: ang without a semi-colon.", -"input":"&ang", -"output": ["ParseError", ["Character", "&ang"]]}, - -{"description": "Bad named entity: apos without a semi-colon.", -"input":"&apos", -"output": ["ParseError", ["Character", "&apos"]]}, - -{"description": "Bad named entity: asymp without a semi-colon.", -"input":"&asymp", -"output": ["ParseError", ["Character", "&asymp"]]}, - -{"description": "Bad named entity: bdquo without a semi-colon.", -"input":"&bdquo", -"output": ["ParseError", ["Character", "&bdquo"]]}, - -{"description": "Bad named entity: Beta without a semi-colon.", -"input":"&Beta", -"output": ["ParseError", ["Character", "&Beta"]]}, - -{"description": "Bad named entity: beta without a semi-colon.", -"input":"&beta", -"output": ["ParseError", ["Character", "&beta"]]}, - -{"description": "Bad named entity: bull without a semi-colon.", -"input":"&bull", -"output": ["ParseError", ["Character", "&bull"]]}, - -{"description": "Bad named entity: cap without a semi-colon.", -"input":"&cap", -"output": ["ParseError", ["Character", "&cap"]]}, - -{"description": "Bad named entity: Chi without a semi-colon.", -"input":"&Chi", -"output": ["ParseError", ["Character", "&Chi"]]}, - -{"description": "Bad named entity: chi without a semi-colon.", -"input":"&chi", -"output": ["ParseError", ["Character", "&chi"]]}, - -{"description": "Bad named entity: circ without a semi-colon.", -"input":"&circ", -"output": ["ParseError", ["Character", "&circ"]]}, - -{"description": "Bad named entity: clubs without a semi-colon.", -"input":"&clubs", -"output": ["ParseError", ["Character", "&clubs"]]}, - -{"description": "Bad named entity: cong without a semi-colon.", -"input":"&cong", -"output": ["ParseError", ["Character", "&cong"]]}, - -{"description": "Bad named entity: crarr without a semi-colon.", -"input":"&crarr", -"output": ["ParseError", ["Character", "&crarr"]]}, - -{"description": "Bad named entity: cup without a semi-colon.", -"input":"&cup", -"output": ["ParseError", ["Character", "&cup"]]}, - -{"description": "Bad named entity: dagger without a semi-colon.", -"input":"&dagger", -"output": ["ParseError", ["Character", "&dagger"]]}, - -{"description": "Bad named entity: dagger without a semi-colon.", -"input":"&dagger", -"output": ["ParseError", ["Character", "&dagger"]]}, - -{"description": "Bad named entity: darr without a semi-colon.", -"input":"&darr", -"output": ["ParseError", ["Character", "&darr"]]}, - -{"description": "Bad named entity: darr without a semi-colon.", -"input":"&darr", -"output": ["ParseError", ["Character", "&darr"]]}, - -{"description": "Bad named entity: Delta without a semi-colon.", -"input":"&Delta", -"output": ["ParseError", ["Character", "&Delta"]]}, - -{"description": "Bad named entity: delta without a semi-colon.", -"input":"&delta", -"output": ["ParseError", ["Character", "&delta"]]}, - -{"description": "Bad named entity: diams without a semi-colon.", -"input":"&diams", -"output": ["ParseError", ["Character", "&diams"]]}, - -{"description": "Bad named entity: empty without a semi-colon.", -"input":"&empty", -"output": ["ParseError", ["Character", "&empty"]]}, - -{"description": "Bad named entity: emsp without a semi-colon.", -"input":"&emsp", -"output": ["ParseError", ["Character", "&emsp"]]}, - -{"description": "Bad named entity: ensp without a semi-colon.", -"input":"&ensp", -"output": ["ParseError", ["Character", "&ensp"]]}, - -{"description": "Bad named entity: Epsilon without a semi-colon.", -"input":"&Epsilon", -"output": ["ParseError", ["Character", "&Epsilon"]]}, - -{"description": "Bad named entity: epsilon without a semi-colon.", -"input":"&epsilon", -"output": ["ParseError", ["Character", "&epsilon"]]}, - -{"description": "Bad named entity: equiv without a semi-colon.", -"input":"&equiv", -"output": ["ParseError", ["Character", "&equiv"]]}, - -{"description": "Bad named entity: Eta without a semi-colon.", -"input":"&Eta", -"output": ["ParseError", ["Character", "&Eta"]]}, - -{"description": "Bad named entity: eta without a semi-colon.", -"input":"&eta", -"output": ["ParseError", ["Character", "&eta"]]}, - -{"description": "Bad named entity: euro without a semi-colon.", -"input":"&euro", -"output": ["ParseError", ["Character", "&euro"]]}, - -{"description": "Bad named entity: exist without a semi-colon.", -"input":"&exist", -"output": ["ParseError", ["Character", "&exist"]]}, - -{"description": "Bad named entity: fnof without a semi-colon.", -"input":"&fnof", -"output": ["ParseError", ["Character", "&fnof"]]}, - -{"description": "Bad named entity: forall without a semi-colon.", -"input":"&forall", -"output": ["ParseError", ["Character", "&forall"]]}, - -{"description": "Bad named entity: frasl without a semi-colon.", -"input":"&frasl", -"output": ["ParseError", ["Character", "&frasl"]]}, - -{"description": "Bad named entity: Gamma without a semi-colon.", -"input":"&Gamma", -"output": ["ParseError", ["Character", "&Gamma"]]}, - -{"description": "Bad named entity: gamma without a semi-colon.", -"input":"&gamma", -"output": ["ParseError", ["Character", "&gamma"]]}, - -{"description": "Bad named entity: ge without a semi-colon.", -"input":"&ge", -"output": ["ParseError", ["Character", "&ge"]]}, - -{"description": "Bad named entity: harr without a semi-colon.", -"input":"&harr", -"output": ["ParseError", ["Character", "&harr"]]}, - -{"description": "Bad named entity: harr without a semi-colon.", -"input":"&harr", -"output": ["ParseError", ["Character", "&harr"]]}, - -{"description": "Bad named entity: hearts without a semi-colon.", -"input":"&hearts", -"output": ["ParseError", ["Character", "&hearts"]]}, - -{"description": "Bad named entity: hellip without a semi-colon.", -"input":"&hellip", -"output": ["ParseError", ["Character", "&hellip"]]}, - -{"description": "Bad named entity: image without a semi-colon.", -"input":"&image", -"output": ["ParseError", ["Character", "&image"]]}, - -{"description": "Bad named entity: infin without a semi-colon.", -"input":"&infin", -"output": ["ParseError", ["Character", "&infin"]]}, - -{"description": "Bad named entity: int without a semi-colon.", -"input":"&int", -"output": ["ParseError", ["Character", "&int"]]}, - -{"description": "Bad named entity: Iota without a semi-colon.", -"input":"&Iota", -"output": ["ParseError", ["Character", "&Iota"]]}, - -{"description": "Bad named entity: iota without a semi-colon.", -"input":"&iota", -"output": ["ParseError", ["Character", "&iota"]]}, - -{"description": "Bad named entity: isin without a semi-colon.", -"input":"&isin", -"output": ["ParseError", ["Character", "&isin"]]}, - -{"description": "Bad named entity: Kappa without a semi-colon.", -"input":"&Kappa", -"output": ["ParseError", ["Character", "&Kappa"]]}, - -{"description": "Bad named entity: kappa without a semi-colon.", -"input":"&kappa", -"output": ["ParseError", ["Character", "&kappa"]]}, - -{"description": "Bad named entity: Lambda without a semi-colon.", -"input":"&Lambda", -"output": ["ParseError", ["Character", "&Lambda"]]}, - -{"description": "Bad named entity: lambda without a semi-colon.", -"input":"&lambda", -"output": ["ParseError", ["Character", "&lambda"]]}, - -{"description": "Bad named entity: lang without a semi-colon.", -"input":"&lang", -"output": ["ParseError", ["Character", "&lang"]]}, - -{"description": "Bad named entity: larr without a semi-colon.", -"input":"&larr", -"output": ["ParseError", ["Character", "&larr"]]}, - -{"description": "Bad named entity: larr without a semi-colon.", -"input":"&larr", -"output": ["ParseError", ["Character", "&larr"]]}, - -{"description": "Bad named entity: lceil without a semi-colon.", -"input":"&lceil", -"output": ["ParseError", ["Character", "&lceil"]]}, - -{"description": "Bad named entity: ldquo without a semi-colon.", -"input":"&ldquo", -"output": ["ParseError", ["Character", "&ldquo"]]}, - -{"description": "Bad named entity: le without a semi-colon.", -"input":"&le", -"output": ["ParseError", ["Character", "&le"]]}, - -{"description": "Bad named entity: lfloor without a semi-colon.", -"input":"&lfloor", -"output": ["ParseError", ["Character", "&lfloor"]]}, - -{"description": "Bad named entity: lowast without a semi-colon.", -"input":"&lowast", -"output": ["ParseError", ["Character", "&lowast"]]}, - -{"description": "Bad named entity: loz without a semi-colon.", -"input":"&loz", -"output": ["ParseError", ["Character", "&loz"]]}, - -{"description": "Bad named entity: lrm without a semi-colon.", -"input":"&lrm", -"output": ["ParseError", ["Character", "&lrm"]]}, - -{"description": "Bad named entity: lsaquo without a semi-colon.", -"input":"&lsaquo", -"output": ["ParseError", ["Character", "&lsaquo"]]}, - -{"description": "Bad named entity: lsquo without a semi-colon.", -"input":"&lsquo", -"output": ["ParseError", ["Character", "&lsquo"]]}, - -{"description": "Bad named entity: mdash without a semi-colon.", -"input":"&mdash", -"output": ["ParseError", ["Character", "&mdash"]]}, - -{"description": "Bad named entity: minus without a semi-colon.", -"input":"&minus", -"output": ["ParseError", ["Character", "&minus"]]}, - -{"description": "Bad named entity: Mu without a semi-colon.", -"input":"&Mu", -"output": ["ParseError", ["Character", "&Mu"]]}, - -{"description": "Bad named entity: mu without a semi-colon.", -"input":"&mu", -"output": ["ParseError", ["Character", "&mu"]]}, - -{"description": "Bad named entity: nabla without a semi-colon.", -"input":"&nabla", -"output": ["ParseError", ["Character", "&nabla"]]}, - -{"description": "Bad named entity: ndash without a semi-colon.", -"input":"&ndash", -"output": ["ParseError", ["Character", "&ndash"]]}, - -{"description": "Bad named entity: ne without a semi-colon.", -"input":"&ne", -"output": ["ParseError", ["Character", "&ne"]]}, - -{"description": "Bad named entity: ni without a semi-colon.", -"input":"&ni", -"output": ["ParseError", ["Character", "&ni"]]}, - -{"description": "Bad named entity: notin without a semi-colon.", -"input":"¬in", -"output": ["ParseError", ["Character", "\u00ACin"]]}, - -{"description": "Bad named entity: nsub without a semi-colon.", -"input":"&nsub", -"output": ["ParseError", ["Character", "&nsub"]]}, - -{"description": "Bad named entity: Nu without a semi-colon.", -"input":"&Nu", -"output": ["ParseError", ["Character", "&Nu"]]}, - -{"description": "Bad named entity: nu without a semi-colon.", -"input":"&nu", -"output": ["ParseError", ["Character", "&nu"]]}, - -{"description": "Bad named entity: OElig without a semi-colon.", -"input":"&OElig", -"output": ["ParseError", ["Character", "&OElig"]]}, - -{"description": "Bad named entity: oelig without a semi-colon.", -"input":"&oelig", -"output": ["ParseError", ["Character", "&oelig"]]}, - -{"description": "Bad named entity: oline without a semi-colon.", -"input":"&oline", -"output": ["ParseError", ["Character", "&oline"]]}, - -{"description": "Bad named entity: Omega without a semi-colon.", -"input":"&Omega", -"output": ["ParseError", ["Character", "&Omega"]]}, - -{"description": "Bad named entity: omega without a semi-colon.", -"input":"&omega", -"output": ["ParseError", ["Character", "&omega"]]}, - -{"description": "Bad named entity: Omicron without a semi-colon.", -"input":"&Omicron", -"output": ["ParseError", ["Character", "&Omicron"]]}, - -{"description": "Bad named entity: omicron without a semi-colon.", -"input":"&omicron", -"output": ["ParseError", ["Character", "&omicron"]]}, - -{"description": "Bad named entity: oplus without a semi-colon.", -"input":"&oplus", -"output": ["ParseError", ["Character", "&oplus"]]}, - -{"description": "Bad named entity: or without a semi-colon.", -"input":"&or", -"output": ["ParseError", ["Character", "&or"]]}, - -{"description": "Bad named entity: otimes without a semi-colon.", -"input":"&otimes", -"output": ["ParseError", ["Character", "&otimes"]]}, - -{"description": "Bad named entity: part without a semi-colon.", -"input":"&part", -"output": ["ParseError", ["Character", "&part"]]}, - -{"description": "Bad named entity: permil without a semi-colon.", -"input":"&permil", -"output": ["ParseError", ["Character", "&permil"]]}, - -{"description": "Bad named entity: perp without a semi-colon.", -"input":"&perp", -"output": ["ParseError", ["Character", "&perp"]]}, - -{"description": "Bad named entity: Phi without a semi-colon.", -"input":"&Phi", -"output": ["ParseError", ["Character", "&Phi"]]}, - -{"description": "Bad named entity: phi without a semi-colon.", -"input":"&phi", -"output": ["ParseError", ["Character", "&phi"]]}, - -{"description": "Bad named entity: Pi without a semi-colon.", -"input":"&Pi", -"output": ["ParseError", ["Character", "&Pi"]]}, - -{"description": "Bad named entity: pi without a semi-colon.", -"input":"&pi", -"output": ["ParseError", ["Character", "&pi"]]}, - -{"description": "Bad named entity: piv without a semi-colon.", -"input":"&piv", -"output": ["ParseError", ["Character", "&piv"]]}, - -{"description": "Bad named entity: prime without a semi-colon.", -"input":"&prime", -"output": ["ParseError", ["Character", "&prime"]]}, - -{"description": "Bad named entity: prime without a semi-colon.", -"input":"&prime", -"output": ["ParseError", ["Character", "&prime"]]}, - -{"description": "Bad named entity: prod without a semi-colon.", -"input":"&prod", -"output": ["ParseError", ["Character", "&prod"]]}, - -{"description": "Bad named entity: prop without a semi-colon.", -"input":"&prop", -"output": ["ParseError", ["Character", "&prop"]]}, - -{"description": "Bad named entity: Psi without a semi-colon.", -"input":"&Psi", -"output": ["ParseError", ["Character", "&Psi"]]}, - -{"description": "Bad named entity: psi without a semi-colon.", -"input":"&psi", -"output": ["ParseError", ["Character", "&psi"]]}, - -{"description": "Bad named entity: radic without a semi-colon.", -"input":"&radic", -"output": ["ParseError", ["Character", "&radic"]]}, - -{"description": "Bad named entity: rang without a semi-colon.", -"input":"&rang", -"output": ["ParseError", ["Character", "&rang"]]}, - -{"description": "Bad named entity: rarr without a semi-colon.", -"input":"&rarr", -"output": ["ParseError", ["Character", "&rarr"]]}, - -{"description": "Bad named entity: rarr without a semi-colon.", -"input":"&rarr", -"output": ["ParseError", ["Character", "&rarr"]]}, - -{"description": "Bad named entity: rceil without a semi-colon.", -"input":"&rceil", -"output": ["ParseError", ["Character", "&rceil"]]}, - -{"description": "Bad named entity: rdquo without a semi-colon.", -"input":"&rdquo", -"output": ["ParseError", ["Character", "&rdquo"]]}, - -{"description": "Bad named entity: real without a semi-colon.", -"input":"&real", -"output": ["ParseError", ["Character", "&real"]]}, - -{"description": "Bad named entity: rfloor without a semi-colon.", -"input":"&rfloor", -"output": ["ParseError", ["Character", "&rfloor"]]}, - -{"description": "Bad named entity: Rho without a semi-colon.", -"input":"&Rho", -"output": ["ParseError", ["Character", "&Rho"]]}, - -{"description": "Bad named entity: rho without a semi-colon.", -"input":"&rho", -"output": ["ParseError", ["Character", "&rho"]]}, - -{"description": "Bad named entity: rlm without a semi-colon.", -"input":"&rlm", -"output": ["ParseError", ["Character", "&rlm"]]}, - -{"description": "Bad named entity: rsaquo without a semi-colon.", -"input":"&rsaquo", -"output": ["ParseError", ["Character", "&rsaquo"]]}, - -{"description": "Bad named entity: rsquo without a semi-colon.", -"input":"&rsquo", -"output": ["ParseError", ["Character", "&rsquo"]]}, - -{"description": "Bad named entity: sbquo without a semi-colon.", -"input":"&sbquo", -"output": ["ParseError", ["Character", "&sbquo"]]}, - -{"description": "Bad named entity: Scaron without a semi-colon.", -"input":"&Scaron", -"output": ["ParseError", ["Character", "&Scaron"]]}, - -{"description": "Bad named entity: scaron without a semi-colon.", -"input":"&scaron", -"output": ["ParseError", ["Character", "&scaron"]]}, - -{"description": "Bad named entity: sdot without a semi-colon.", -"input":"&sdot", -"output": ["ParseError", ["Character", "&sdot"]]}, - -{"description": "Bad named entity: Sigma without a semi-colon.", -"input":"&Sigma", -"output": ["ParseError", ["Character", "&Sigma"]]}, - -{"description": "Bad named entity: sigma without a semi-colon.", -"input":"&sigma", -"output": ["ParseError", ["Character", "&sigma"]]}, - -{"description": "Bad named entity: sigmaf without a semi-colon.", -"input":"&sigmaf", -"output": ["ParseError", ["Character", "&sigmaf"]]}, - -{"description": "Bad named entity: sim without a semi-colon.", -"input":"&sim", -"output": ["ParseError", ["Character", "&sim"]]}, - -{"description": "Bad named entity: spades without a semi-colon.", -"input":"&spades", -"output": ["ParseError", ["Character", "&spades"]]}, - -{"description": "Bad named entity: sub without a semi-colon.", -"input":"&sub", -"output": ["ParseError", ["Character", "&sub"]]}, - -{"description": "Bad named entity: sube without a semi-colon.", -"input":"&sube", -"output": ["ParseError", ["Character", "&sube"]]}, - -{"description": "Bad named entity: sum without a semi-colon.", -"input":"&sum", -"output": ["ParseError", ["Character", "&sum"]]}, - -{"description": "Bad named entity: sup without a semi-colon.", -"input":"&sup", -"output": ["ParseError", ["Character", "&sup"]]}, - -{"description": "Bad named entity: supe without a semi-colon.", -"input":"&supe", -"output": ["ParseError", ["Character", "&supe"]]}, - -{"description": "Bad named entity: Tau without a semi-colon.", -"input":"&Tau", -"output": ["ParseError", ["Character", "&Tau"]]}, - -{"description": "Bad named entity: tau without a semi-colon.", -"input":"&tau", -"output": ["ParseError", ["Character", "&tau"]]}, - -{"description": "Bad named entity: there4 without a semi-colon.", -"input":"&there4", -"output": ["ParseError", ["Character", "&there4"]]}, - -{"description": "Bad named entity: Theta without a semi-colon.", -"input":"&Theta", -"output": ["ParseError", ["Character", "&Theta"]]}, - -{"description": "Bad named entity: theta without a semi-colon.", -"input":"&theta", -"output": ["ParseError", ["Character", "&theta"]]}, - -{"description": "Bad named entity: thetasym without a semi-colon.", -"input":"&thetasym", -"output": ["ParseError", ["Character", "&thetasym"]]}, - -{"description": "Bad named entity: thinsp without a semi-colon.", -"input":"&thinsp", -"output": ["ParseError", ["Character", "&thinsp"]]}, - -{"description": "Bad named entity: tilde without a semi-colon.", -"input":"&tilde", -"output": ["ParseError", ["Character", "&tilde"]]}, - -{"description": "Bad named entity: trade without a semi-colon.", -"input":"&trade", -"output": ["ParseError", ["Character", "&trade"]]}, - -{"description": "Bad named entity: uarr without a semi-colon.", -"input":"&uarr", -"output": ["ParseError", ["Character", "&uarr"]]}, - -{"description": "Bad named entity: uarr without a semi-colon.", -"input":"&uarr", -"output": ["ParseError", ["Character", "&uarr"]]}, - -{"description": "Bad named entity: upsih without a semi-colon.", -"input":"&upsih", -"output": ["ParseError", ["Character", "&upsih"]]}, - -{"description": "Bad named entity: Upsilon without a semi-colon.", -"input":"&Upsilon", -"output": ["ParseError", ["Character", "&Upsilon"]]}, - -{"description": "Bad named entity: upsilon without a semi-colon.", -"input":"&upsilon", -"output": ["ParseError", ["Character", "&upsilon"]]}, - -{"description": "Bad named entity: weierp without a semi-colon.", -"input":"&weierp", -"output": ["ParseError", ["Character", "&weierp"]]}, - -{"description": "Bad named entity: Xi without a semi-colon.", -"input":"&Xi", -"output": ["ParseError", ["Character", "&Xi"]]}, - -{"description": "Bad named entity: xi without a semi-colon.", -"input":"&xi", -"output": ["ParseError", ["Character", "&xi"]]}, - -{"description": "Bad named entity: Yuml without a semi-colon.", -"input":"&Yuml", -"output": ["ParseError", ["Character", "&Yuml"]]}, - -{"description": "Bad named entity: Zeta without a semi-colon.", -"input":"&Zeta", -"output": ["ParseError", ["Character", "&Zeta"]]}, - -{"description": "Bad named entity: zeta without a semi-colon.", -"input":"&zeta", -"output": ["ParseError", ["Character", "&zeta"]]}, - -{"description": "Bad named entity: zwj without a semi-colon.", -"input":"&zwj", -"output": ["ParseError", ["Character", "&zwj"]]}, - -{"description": "Bad named entity: zwnj without a semi-colon.", -"input":"&zwnj", -"output": ["ParseError", ["Character", "&zwnj"]]}, - -{"description": "Bad named entity: zwnj without a semi-colon.", -"input":"&zwnj", -"output": ["ParseError", ["Character", "&zwnj"]]}, +{"description": "Entity name followed by the equals sign in an attribute value.", +"input":"<h a='&lang='>", +"output": [["StartTag", "h", {"a": "&lang="}]]}, {"description": "CR as numeric entity", "input":"
", -"output": ["ParseError", ["Character", "\n"]]}, +"output": ["ParseError", ["Character", "\r"]]}, {"description": "CR as hexadecimal numeric entity", "input":"
", -"output": ["ParseError", ["Character", "\n"]]}, +"output": ["ParseError", ["Character", "\r"]]}, {"description": "Windows-1252 EURO SIGN numeric entity.", "input":"€", @@ -2094,7 +22,7 @@ {"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u0081"]]}, {"description": "Windows-1252 SINGLE LOW-9 QUOTATION MARK numeric entity.", "input":"‚", @@ -2142,7 +70,7 @@ {"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u008D"]]}, {"description": "Windows-1252 LATIN CAPITAL LETTER Z WITH CARON numeric entity.", "input":"Ž", @@ -2150,11 +78,11 @@ {"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u008F"]]}, {"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u0090"]]}, {"description": "Windows-1252 LEFT SINGLE QUOTATION MARK numeric entity.", "input":"‘", @@ -2206,7 +134,7 @@ {"description": "Windows-1252 REPLACEMENT CHAR numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u009D"]]}, {"description": "Windows-1252 EURO SIGN hexadecimal numeric entity.", "input":"€", @@ -2214,7 +142,7 @@ {"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u0081"]]}, {"description": "Windows-1252 SINGLE LOW-9 QUOTATION MARK hexadecimal numeric entity.", "input":"‚", @@ -2262,7 +190,7 @@ {"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u008D"]]}, {"description": "Windows-1252 LATIN CAPITAL LETTER Z WITH CARON hexadecimal numeric entity.", "input":"Ž", @@ -2270,11 +198,11 @@ {"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u008F"]]}, {"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u0090"]]}, {"description": "Windows-1252 LEFT SINGLE QUOTATION MARK hexadecimal numeric entity.", "input":"‘", @@ -2326,7 +254,7 @@ {"description": "Windows-1252 REPLACEMENT CHAR hexadecimal numeric entity.", "input":"", -"output": ["ParseError", ["Character", "\uFFFD"]]}, +"output": ["ParseError", ["Character", "\u009D"]]}, {"description": "Windows-1252 LATIN SMALL LETTER Z WITH CARON hexadecimal numeric entity.", "input":"ž", @@ -2334,6 +262,22 @@ {"description": "Windows-1252 LATIN CAPITAL LETTER Y WITH DIAERESIS hexadecimal numeric entity.", "input":"Ÿ", -"output": ["ParseError", ["Character", "\u0178"]]} +"output": ["ParseError", ["Character", "\u0178"]]}, + +{"description": "Decimal numeric entity followed by hex character a.", +"input":"aa", +"output": ["ParseError", ["Character", "aa"]]}, + +{"description": "Decimal numeric entity followed by hex character A.", +"input":"aA", +"output": ["ParseError", ["Character", "aA"]]}, + +{"description": "Decimal numeric entity followed by hex character f.", +"input":"af", +"output": ["ParseError", ["Character", "af"]]}, + +{"description": "Decimal numeric entity followed by hex character A.", +"input":"aF", +"output": ["ParseError", ["Character", "aF"]]} ]} diff --git a/test/data/tokeniser2/escapeFlag.test b/test/data/tokeniser2/escapeFlag.test index 4c4bf51..18cb430 100644 --- a/test/data/tokeniser2/escapeFlag.test +++ b/test/data/tokeniser2/escapeFlag.test @@ -1,33 +1,33 @@ {"tests": [ -{"description":"Commented close tag in [R]CDATA", -"contentModelFlags":["RCDATA", "CDATA"], +{"description":"Commented close tag in RCDATA or RAWTEXT", +"initialStates":["RCDATA state", "RAWTEXT state"], "lastStartTag":"xmp", "input":"foo<!--</xmp>--></xmp>", -"output":[["Character", "foo<!--</xmp>-->"], ["EndTag", "xmp"]]}, +"output":[["Character", "foo<!--"], ["EndTag", "xmp"], ["Character", "-->"], ["EndTag", "xmp"]]}, -{"description":"Bogus comment in [R]CDATA", -"contentModelFlags":["RCDATA", "CDATA"], +{"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 [R]CDATA", -"contentModelFlags":["RCDATA", "CDATA"], +{"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"], "ParseError", ["Comment", ""], ["Character", "baz"], ["EndTag", "xmp"]]}, {"description":"Commented entities in RCDATA", -"contentModelFlags":["RCDATA"], +"initialStates":["RCDATA state"], "lastStartTag":"xmp", "input":" & <!-- & --> & </xmp>", -"output":[["Character", " & <!-- & --> & "], ["EndTag", "xmp"]]}, +"output":[["Character", " & <!-- & --> & "], ["EndTag", "xmp"]]}, -{"description":"Incorrect comment ending sequences in [R]CDATA", -"contentModelFlags":["RCDATA", "CDATA"], +{"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--<></xmp>"]]} +"output":[["Character", "foo<!-- x --x>x-- >x--!>x--<>"], ["EndTag", "xmp"]]} ]} diff --git a/test/data/tokeniser2/namedEntities.test b/test/data/tokeniser2/namedEntities.test new file mode 100644 index 0000000..14db2ed --- /dev/null +++ b/test/data/tokeniser2/namedEntities.test @@ -0,0 +1,42210 @@ +{ + "tests": [ + { + "input": "Æ", + "description": "Named entity: AElig without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00c6" + ] + ] + }, + { + "input": "Æ", + "description": "Named entity: AElig; with a semi-colon", + "output": [ + [ + "Character", + "\u00c6" + ] + ] + }, + { + "input": "&", + "description": "Named entity: AMP without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "&" + ] + ] + }, + { + "input": "&", + "description": "Named entity: AMP; with a semi-colon", + "output": [ + [ + "Character", + "&" + ] + ] + }, + { + "input": "Á", + "description": "Named entity: Aacute without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00c1" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00c2" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00c0" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00c5" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00c3" + ] + ] + }, + { + "input": "Ã", + "description": "Named entity: Atilde; with a semi-colon", + "output": [ + [ + "Character", + "\u00c3" + ] + ] + }, + { + "input": "Ä", + "description": "Named entity: Auml without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00c4" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00a9" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00c7" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00d0" + ] + ] + }, + { + "input": "Ð", + "description": "Named entity: ETH; with a semi-colon", + "output": [ + [ + "Character", + "\u00d0" + ] + ] + }, + { + "input": "É", + "description": "Named entity: Eacute without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00c9" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00ca" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00c8" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00cb" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + ">" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00cd" + ] + ] + }, + { + "input": "Í", + "description": "Named entity: Iacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00cd" + ] + ] + }, + { + "input": "Î", + "description": "Named entity: Icirc without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00ce" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00cc" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00cf" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "<" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00d1" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00d3" + ] + ] + }, + { + "input": "Ó", + "description": "Named entity: Oacute; with a semi-colon", + "output": [ + [ + "Character", + "\u00d3" + ] + ] + }, + { + "input": "Ô", + "description": "Named entity: Ocirc without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00d4" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00d2" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00d8" + ] + ] + }, + { + "input": "Ø", + "description": "Named entity: Oslash; with a semi-colon", + "output": [ + [ + "Character", + "\u00d8" + ] + ] + }, + { + "input": "Õ", + "description": "Named entity: Otilde without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00d5" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00d6" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\"" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00ae" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00de" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00da" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00db" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00d9" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00dc" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00dd" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00e1" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00e2" + ] + ] + }, + { + "input": "â", + "description": "Named entity: acirc; with a semi-colon", + "output": [ + [ + "Character", + "\u00e2" + ] + ] + }, + { + "input": "´", + "description": "Named entity: acute without a semi-colon", + "output": [ + "ParseError", + [ + "Character", + "\u00b4" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00e6" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "\u00e0" + ] + ] + }, + { + "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": [ + "ParseError", + [ + "Character", + "&" + ] + ] + }, + { + "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": |