[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
abarth at webkit.org
abarth at webkit.org
Wed Dec 22 13:37:18 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 712ae049fe167f41acbfcb5bbccd15fd60ed0f87
Author: abarth at webkit.org <abarth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Sep 21 19:37:13 2010 +0000
2010-09-21 Adam Barth <abarth at webkit.org>
Reviewed by Alexey Proskuryakov.
[html-parsing] make entity handling match IE7 / HTML5
https://bugs.webkit.org/show_bug.cgi?id=14391
This patch adds more test coverage of entity parsing. We seem to have
a bug with AElig, but I'll fix that in a future patch.
* fast/tokenizer/entities-01.html: Added.
* fast/tokenizer/entities-02.html: Added.
* fast/tokenizer/entities-03.html: Added.
* fast/tokenizer/entities-04.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67975 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5bcfce4..7356d97 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -2,6 +2,21 @@
Reviewed by Alexey Proskuryakov.
+ [html-parsing] make entity handling match IE7 / HTML5
+ https://bugs.webkit.org/show_bug.cgi?id=14391
+
+ This patch adds more test coverage of entity parsing. We seem to have
+ a bug with AElig, but I'll fix that in a future patch.
+
+ * fast/tokenizer/entities-01.html: Added.
+ * fast/tokenizer/entities-02.html: Added.
+ * fast/tokenizer/entities-03.html: Added.
+ * fast/tokenizer/entities-04.html: Added.
+
+2010-09-21 Adam Barth <abarth at webkit.org>
+
+ Reviewed by Alexey Proskuryakov.
+
Closing <li> should close nested <div>
https://bugs.webkit.org/show_bug.cgi?id=26170
diff --git a/LayoutTests/fast/tokenizer/entities-01-expected.txt b/LayoutTests/fast/tokenizer/entities-01-expected.txt
new file mode 100644
index 0000000..9fab35f
--- /dev/null
+++ b/LayoutTests/fast/tokenizer/entities-01-expected.txt
@@ -0,0 +1,4 @@
+FAIL:
+
+AElig (was: Æ, expected: Æ (\uc6))
+
diff --git a/LayoutTests/fast/tokenizer/entities-01.html b/LayoutTests/fast/tokenizer/entities-01.html
new file mode 100644
index 0000000..5432798
--- /dev/null
+++ b/LayoutTests/fast/tokenizer/entities-01.html
@@ -0,0 +1,769 @@
+<!doctype html>
+<title>Entities in content</title>
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+window.onload = function() {
+
+ var entities = [
+ "AElig;",
+ "AElig",
+ "AMP;",
+ "AMP",
+ "Aacute;",
+ "Aacute",
+ "Acirc;",
+ "Acirc",
+ "Agrave;",
+ "Agrave",
+ "Alpha;",
+ "Aring;",
+ "Aring",
+ "Atilde;",
+ "Atilde",
+ "Auml;",
+ "Auml",
+ "Beta;",
+ "COPY;",
+ "COPY",
+ "Ccedil;",
+ "Ccedil",
+ "Chi;",
+ "Dagger;",
+ "Delta;",
+ "ETH;",
+ "ETH",
+ "Eacute;",
+ "Eacute",
+ "Ecirc;",
+ "Ecirc",
+ "Egrave;",
+ "Egrave",
+ "Epsilon;",
+ "Eta;",
+ "Euml;",
+ "Euml",
+ "GT;",
+ "GT",
+ "Gamma;",
+ "Iacute;",
+ "Iacute",
+ "Icirc;",
+ "Icirc",
+ "Igrave;",
+ "Igrave",
+ "Iota;",
+ "Iuml;",
+ "Iuml",
+ "Kappa;",
+ "LT;",
+ "LT",
+ "Lambda;",
+ "Mu;",
+ "Ntilde;",
+ "Ntilde",
+ "Nu;",
+ "OElig;",
+ "Oacute;",
+ "Oacute",
+ "Ocirc;",
+ "Ocirc",
+ "Ograve;",
+ "Ograve",
+ "Omega;",
+ "Omicron;",
+ "Oslash;",
+ "Oslash",
+ "Otilde;",
+ "Otilde",
+ "Ouml;",
+ "Ouml",
+ "Phi;",
+ "Pi;",
+ "Prime;",
+ "Psi;",
+ "QUOT;",
+ "QUOT",
+ "REG;",
+ "REG",
+ "Rho;",
+ "Scaron;",
+ "Sigma;",
+ "THORN;",
+ "THORN",
+ "TRADE;",
+ "Tau;",
+ "Theta;",
+ "Uacute;",
+ "Uacute",
+ "Ucirc;",
+ "Ucirc",
+ "Ugrave;",
+ "Ugrave",
+ "Upsilon;",
+ "Uuml;",
+ "Uuml",
+ "Xi;",
+ "Yacute;",
+ "Yacute",
+ "Yuml;",
+ "Zeta;",
+ "aacute;",
+ "aacute",
+ "acirc;",
+ "acirc",
+ "acute;",
+ "acute",
+ "aelig;",
+ "aelig",
+ "agrave;",
+ "agrave",
+ "alefsym;",
+ "alpha;",
+ "amp;",
+ "amp",
+ "and;",
+ "ang;",
+ "apos;",
+ "aring;",
+ "aring",
+ "asymp;",
+ "atilde;",
+ "atilde",
+ "auml;",
+ "auml",
+ "bdquo;",
+ "beta;",
+ "brvbar;",
+ "brvbar",
+ "bull;",
+ "cap;",
+ "ccedil;",
+ "ccedil",
+ "cedil;",
+ "cedil",
+ "cent;",
+ "cent",
+ "chi;",
+ "circ;",
+ "clubs;",
+ "cong;",
+ "copy;",
+ "copy",
+ "crarr;",
+ "cup;",
+ "curren;",
+ "curren",
+ "dArr;",
+ "dagger;",
+ "darr;",
+ "deg;",
+ "deg",
+ "delta;",
+ "diams;",
+ "divide;",
+ "divide",
+ "eacute;",
+ "eacute",
+ "ecirc;",
+ "ecirc",
+ "egrave;",
+ "egrave",
+ "empty;",
+ "emsp;",
+ "ensp;",
+ "epsilon;",
+ "equiv;",
+ "eta;",
+ "eth;",
+ "eth",
+ "euml;",
+ "euml",
+ "euro;",
+ "exist;",
+ "fnof;",
+ "forall;",
+ "frac12;",
+ "frac12",
+ "frac14;",
+ "frac14",
+ "frac34;",
+ "frac34",
+ "frasl;",
+ "gamma;",
+ "ge;",
+ "gt;",
+ "gt",
+ "hArr;",
+ "harr;",
+ "hearts;",
+ "hellip;",
+ "iacute;",
+ "iacute",
+ "icirc;",
+ "icirc",
+ "iexcl;",
+ "iexcl",
+ "igrave;",
+ "igrave",
+ "image;",
+ "infin;",
+ "int;",
+ "iota;",
+ "iquest;",
+ "iquest",
+ "isin;",
+ "iuml;",
+ "iuml",
+ "kappa;",
+ "lArr;",
+ "lambda;",
+ "lang;",
+ "laquo;",
+ "laquo",
+ "larr;",
+ "lceil;",
+ "ldquo;",
+ "le;",
+ "lfloor;",
+ "lowast;",
+ "loz;",
+ "lrm;",
+ "lsaquo;",
+ "lsquo;",
+ "lt;",
+ "lt",
+ "macr;",
+ "macr",
+ "mdash;",
+ "micro;",
+ "micro",
+ "middot;",
+ "middot",
+ "minus;",
+ "mu;",
+ "nabla;",
+ "nbsp;",
+ "nbsp",
+ "ndash;",
+ "ne;",
+ "ni;",
+ "not;",
+ "not",
+ "notin;",
+ "nsub;",
+ "ntilde;",
+ "ntilde",
+ "nu;",
+ "oacute;",
+ "oacute",
+ "ocirc;",
+ "ocirc",
+ "oelig;",
+ "ograve;",
+ "ograve",
+ "oline;",
+ "omega;",
+ "omicron;",
+ "oplus;",
+ "or;",
+ "ordf;",
+ "ordf",
+ "ordm;",
+ "ordm",
+ "oslash;",
+ "oslash",
+ "otilde;",
+ "otilde",
+ "otimes;",
+ "ouml;",
+ "ouml",
+ "para;",
+ "para",
+ "part;",
+ "permil;",
+ "perp;",
+ "phi;",
+ "pi;",
+ "piv;",
+ "plusmn;",
+ "plusmn",
+ "pound;",
+ "pound",
+ "prime;",
+ "prod;",
+ "prop;",
+ "psi;",
+ "quot;",
+ "quot",
+ "rArr;",
+ "radic;",
+ "rang;",
+ "raquo;",
+ "raquo",
+ "rarr;",
+ "rceil;",
+ "rdquo;",
+ "real;",
+ "reg;",
+ "reg",
+ "rfloor;",
+ "rho;",
+ "rlm;",
+ "rsaquo;",
+ "rsquo;",
+ "sbquo;",
+ "scaron;",
+ "sdot;",
+ "sect;",
+ "sect",
+ "shy;",
+ "shy",
+ "sigma;",
+ "sigmaf;",
+ "sim;",
+ "spades;",
+ "sub;",
+ "sube;",
+ "sum;",
+ "sup1;",
+ "sup1",
+ "sup2;",
+ "sup2",
+ "sup3;",
+ "sup3",
+ "sup;",
+ "supe;",
+ "szlig;",
+ "szlig",
+ "tau;",
+ "there4;",
+ "theta;",
+ "thetasym;",
+ "thinsp;",
+ "thorn;",
+ "thorn",
+ "tilde;",
+ "times;",
+ "times",
+ "trade;",
+ "uArr;",
+ "uacute;",
+ "uacute",
+ "uarr;",
+ "ucirc;",
+ "ucirc",
+ "ugrave;",
+ "ugrave",
+ "uml;",
+ "uml",
+ "upsih;",
+ "upsilon;",
+ "uuml;",
+ "uuml",
+ "weierp;",
+ "xi;",
+ "yacute;",
+ "yacute",
+ "yen;",
+ "yen",
+ "yuml;",
+ "yuml",
+ "zeta;",
+ "zwj;",
+ "zwnj;"
+ ];
+
+ var characters = [
+ "\u00C6",
+ "\u00C6",
+ "\u0026",
+ "\u0026",
+ "\u00C1",
+ "\u00C1",
+ "\u00C2",
+ "\u00C2",
+ "\u00C0",
+ "\u00C0",
+ "\u0391",
+ "\u00C5",
+ "\u00C5",
+ "\u00C3",
+ "\u00C3",
+ "\u00C4",
+ "\u00C4",
+ "\u0392",
+ "\u00A9",
+ "\u00A9",
+ "\u00C7",
+ "\u00C7",
+ "\u03A7",
+ "\u2021",
+ "\u0394",
+ "\u00D0",
+ "\u00D0",
+ "\u00C9",
+ "\u00C9",
+ "\u00CA",
+ "\u00CA",
+ "\u00C8",
+ "\u00C8",
+ "\u0395",
+ "\u0397",
+ "\u00CB",
+ "\u00CB",
+ "\u003E",
+ "\u003E",
+ "\u0393",
+ "\u00CD",
+ "\u00CD",
+ "\u00CE",
+ "\u00CE",
+ "\u00CC",
+ "\u00CC",
+ "\u0399",
+ "\u00CF",
+ "\u00CF",
+ "\u039A",
+ "\u003C",
+ "\u003C",
+ "\u039B",
+ "\u039C",
+ "\u00D1",
+ "\u00D1",
+ "\u039D",
+ "\u0152",
+ "\u00D3",
+ "\u00D3",
+ "\u00D4",
+ "\u00D4",
+ "\u00D2",
+ "\u00D2",
+ "\u03A9",
+ "\u039F",
+ "\u00D8",
+ "\u00D8",
+ "\u00D5",
+ "\u00D5",
+ "\u00D6",
+ "\u00D6",
+ "\u03A6",
+ "\u03A0",
+ "\u2033",
+ "\u03A8",
+ "\u0022",
+ "\u0022",
+ "\u00AE",
+ "\u00AE",
+ "\u03A1",
+ "\u0160",
+ "\u03A3",
+ "\u00DE",
+ "\u00DE",
+ "\u2122",
+ "\u03A4",
+ "\u0398",
+ "\u00DA",
+ "\u00DA",
+ "\u00DB",
+ "\u00DB",
+ "\u00D9",
+ "\u00D9",
+ "\u03A5",
+ "\u00DC",
+ "\u00DC",
+ "\u039E",
+ "\u00DD",
+ "\u00DD",
+ "\u0178",
+ "\u0396",
+ "\u00E1",
+ "\u00E1",
+ "\u00E2",
+ "\u00E2",
+ "\u00B4",
+ "\u00B4",
+ "\u00E6",
+ "\u00E6",
+ "\u00E0",
+ "\u00E0",
+ "\u2135",
+ "\u03B1",
+ "\u0026",
+ "\u0026",
+ "\u2227",
+ "\u2220",
+ "\u0027",
+ "\u00E5",
+ "\u00E5",
+ "\u2248",
+ "\u00E3",
+ "\u00E3",
+ "\u00E4",
+ "\u00E4",
+ "\u201E",
+ "\u03B2",
+ "\u00A6",
+ "\u00A6",
+ "\u2022",
+ "\u2229",
+ "\u00E7",
+ "\u00E7",
+ "\u00B8",
+ "\u00B8",
+ "\u00A2",
+ "\u00A2",
+ "\u03C7",
+ "\u02C6",
+ "\u2663",
+ "\u2245",
+ "\u00A9",
+ "\u00A9",
+ "\u21B5",
+ "\u222A",
+ "\u00A4",
+ "\u00A4",
+ "\u21D3",
+ "\u2020",
+ "\u2193",
+ "\u00B0",
+ "\u00B0",
+ "\u03B4",
+ "\u2666",
+ "\u00F7",
+ "\u00F7",
+ "\u00E9",
+ "\u00E9",
+ "\u00EA",
+ "\u00EA",
+ "\u00E8",
+ "\u00E8",
+ "\u2205",
+ "\u2003",
+ "\u2002",
+ "\u03B5",
+ "\u2261",
+ "\u03B7",
+ "\u00F0",
+ "\u00F0",
+ "\u00EB",
+ "\u00EB",
+ "\u20AC",
+ "\u2203",
+ "\u0192",
+ "\u2200",
+ "\u00BD",
+ "\u00BD",
+ "\u00BC",
+ "\u00BC",
+ "\u00BE",
+ "\u00BE",
+ "\u2044",
+ "\u03B3",
+ "\u2265",
+ "\u003E",
+ "\u003E",
+ "\u21D4",
+ "\u2194",
+ "\u2665",
+ "\u2026",
+ "\u00ED",
+ "\u00ED",
+ "\u00EE",
+ "\u00EE",
+ "\u00A1",
+ "\u00A1",
+ "\u00EC",
+ "\u00EC",
+ "\u2111",
+ "\u221E",
+ "\u222B",
+ "\u03B9",
+ "\u00BF",
+ "\u00BF",
+ "\u2208",
+ "\u00EF",
+ "\u00EF",
+ "\u03BA",
+ "\u21D0",
+ "\u03BB",
+ "\u27e8",
+ "\u00AB",
+ "\u00AB",
+ "\u2190",
+ "\u2308",
+ "\u201C",
+ "\u2264",
+ "\u230A",
+ "\u2217",
+ "\u25CA",
+ "\u200E",
+ "\u2039",
+ "\u2018",
+ "\u003C",
+ "\u003C",
+ "\u00AF",
+ "\u00AF",
+ "\u2014",
+ "\u00B5",
+ "\u00B5",
+ "\u00B7",
+ "\u00B7",
+ "\u2212",
+ "\u03BC",
+ "\u2207",
+ "\u00A0",
+ "\u00A0",
+ "\u2013",
+ "\u2260",
+ "\u220B",
+ "\u00AC",
+ "\u00AC",
+ "\u2209",
+ "\u2284",
+ "\u00F1",
+ "\u00F1",
+ "\u03BD",
+ "\u00F3",
+ "\u00F3",
+ "\u00F4",
+ "\u00F4",
+ "\u0153",
+ "\u00F2",
+ "\u00F2",
+ "\u203E",
+ "\u03C9",
+ "\u03BF",
+ "\u2295",
+ "\u2228",
+ "\u00AA",
+ "\u00AA",
+ "\u00BA",
+ "\u00BA",
+ "\u00F8",
+ "\u00F8",
+ "\u00F5",
+ "\u00F5",
+ "\u2297",
+ "\u00F6",
+ "\u00F6",
+ "\u00B6",
+ "\u00B6",
+ "\u2202",
+ "\u2030",
+ "\u22A5",
+ "\u03C6",
+ "\u03C0",
+ "\u03D6",
+ "\u00B1",
+ "\u00B1",
+ "\u00A3",
+ "\u00A3",
+ "\u2032",
+ "\u220F",
+ "\u221D",
+ "\u03C8",
+ "\u0022",
+ "\u0022",
+ "\u21D2",
+ "\u221A",
+ "\u27e9",
+ "\u00BB",
+ "\u00BB",
+ "\u2192",
+ "\u2309",
+ "\u201D",
+ "\u211C",
+ "\u00AE",
+ "\u00AE",
+ "\u230B",
+ "\u03C1",
+ "\u200F",
+ "\u203A",
+ "\u2019",
+ "\u201A",
+ "\u0161",
+ "\u22C5",
+ "\u00A7",
+ "\u00A7",
+ "\u00AD",
+ "\u00AD",
+ "\u03C3",
+ "\u03C2",
+ "\u223C",
+ "\u2660",
+ "\u2282",
+ "\u2286",
+ "\u2211",
+ "\u00B9",
+ "\u00B9",
+ "\u00B2",
+ "\u00B2",
+ "\u00B3",
+ "\u00B3",
+ "\u2283",
+ "\u2287",
+ "\u00DF",
+ "\u00DF",
+ "\u03C4",
+ "\u2234",
+ "\u03B8",
+ "\u03D1",
+ "\u2009",
+ "\u00FE",
+ "\u00FE",
+ "\u02DC",
+ "\u00D7",
+ "\u00D7",
+ "\u2122",
+ "\u21D1",
+ "\u00FA",
+ "\u00FA",
+ "\u2191",
+ "\u00FB",
+ "\u00FB",
+ "\u00F9",
+ "\u00F9",
+ "\u00A8",
+ "\u00A8",
+ "\u03D2",
+ "\u03C5",
+ "\u00FC",
+ "\u00FC",
+ "\u2118",
+ "\u03BE",
+ "\u00FD",
+ "\u00FD",
+ "\u00A5",
+ "\u00A5",
+ "\u00FF",
+ "\u00FF",
+ "\u03B6",
+ "\u200D",
+ "\u200C"
+ ];
+
+ var log = "";
+ var elm = document.getElementsByTagName("p")[0];
+ var entity, character, characterCode, result, resultCode;
+ for (var i = 0, len = entities.length; i < len; ++i) {
+ entity = entities[i];
+ character = characters[i];
+ resultCode = characterCode = "";
+ elm.innerHTML = "&" + entity + "X ";
+ result = elm.firstChild.data.split("X")[0];
+ if (result.length == 1)
+ resultCode = " (\\u" + result.charCodeAt(0).toString(16) + ")";
+ if (character.length == 1)
+ characterCode = " (\\u" + character.charCodeAt(0).toString(16) + ")";
+ if (result != character)
+ log += entity + " (was: " + result + resultCode + ", expected: " + character + characterCode + ")\n";
+ }
+ if (log == "")
+ elm.innerHTML = "PASS";
+ else
+ document.body.innerHTML = "<plaintext>FAIL:\n\n" + log;
+}
+</script>
+<p>FAIL (script didn't run)</p>
diff --git a/LayoutTests/editing/selection/5136696-expected.txt b/LayoutTests/fast/tokenizer/entities-02-expected.txt
similarity index 100%
copy from LayoutTests/editing/selection/5136696-expected.txt
copy to LayoutTests/fast/tokenizer/entities-02-expected.txt
diff --git a/LayoutTests/fast/tokenizer/entities-02.html b/LayoutTests/fast/tokenizer/entities-02.html
new file mode 100644
index 0000000..9a5c0f0
--- /dev/null
+++ b/LayoutTests/fast/tokenizer/entities-02.html
@@ -0,0 +1,774 @@
+<!doctype html>
+<title>Entities in attributes</title>
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+window.onload = function() {
+
+ var entities = [
+ "AElig;",
+ "AElig",
+ "AMP;",
+ "AMP",
+ "Aacute;",
+ "Aacute",
+ "Acirc;",
+ "Acirc",
+ "Agrave;",
+ "Agrave",
+ "Alpha;",
+ "Aring;",
+ "Aring",
+ "Atilde;",
+ "Atilde",
+ "Auml;",
+ "Auml",
+ "Beta;",
+ "COPY;",
+ "COPY",
+ "Ccedil;",
+ "Ccedil",
+ "Chi;",
+ "Dagger;",
+ "Delta;",
+ "ETH;",
+ "ETH",
+ "Eacute;",
+ "Eacute",
+ "Ecirc;",
+ "Ecirc",
+ "Egrave;",
+ "Egrave",
+ "Epsilon;",
+ "Eta;",
+ "Euml;",
+ "Euml",
+ "GT;",
+ "GT",
+ "Gamma;",
+ "Iacute;",
+ "Iacute",
+ "Icirc;",
+ "Icirc",
+ "Igrave;",
+ "Igrave",
+ "Iota;",
+ "Iuml;",
+ "Iuml",
+ "Kappa;",
+ "LT;",
+ "LT",
+ "Lambda;",
+ "Mu;",
+ "Ntilde;",
+ "Ntilde",
+ "Nu;",
+ "OElig;",
+ "Oacute;",
+ "Oacute",
+ "Ocirc;",
+ "Ocirc",
+ "Ograve;",
+ "Ograve",
+ "Omega;",
+ "Omicron;",
+ "Oslash;",
+ "Oslash",
+ "Otilde;",
+ "Otilde",
+ "Ouml;",
+ "Ouml",
+ "Phi;",
+ "Pi;",
+ "Prime;",
+ "Psi;",
+ "QUOT;",
+ "QUOT",
+ "REG;",
+ "REG",
+ "Rho;",
+ "Scaron;",
+ "Sigma;",
+ "THORN;",
+ "THORN",
+ "TRADE;",
+ "Tau;",
+ "Theta;",
+ "Uacute;",
+ "Uacute",
+ "Ucirc;",
+ "Ucirc",
+ "Ugrave;",
+ "Ugrave",
+ "Upsilon;",
+ "Uuml;",
+ "Uuml",
+ "Xi;",
+ "Yacute;",
+ "Yacute",
+ "Yuml;",
+ "Zeta;",
+ "aacute;",
+ "aacute",
+ "acirc;",
+ "acirc",
+ "acute;",
+ "acute",
+ "aelig;",
+ "aelig",
+ "agrave;",
+ "agrave",
+ "alefsym;",
+ "alpha;",
+ "amp;",
+ "amp",
+ "and;",
+ "ang;",
+ "apos;",
+ "aring;",
+ "aring",
+ "asymp;",
+ "atilde;",
+ "atilde",
+ "auml;",
+ "auml",
+ "bdquo;",
+ "beta;",
+ "brvbar;",
+ "brvbar",
+ "bull;",
+ "cap;",
+ "ccedil;",
+ "ccedil",
+ "cedil;",
+ "cedil",
+ "cent;",
+ "cent",
+ "chi;",
+ "circ;",
+ "clubs;",
+ "cong;",
+ "copy;",
+ "copy",
+ "crarr;",
+ "cup;",
+ "curren;",
+ "curren",
+ "dArr;",
+ "dagger;",
+ "darr;",
+ "deg;",
+ "deg",
+ "delta;",
+ "diams;",
+ "divide;",
+ "divide",
+ "eacute;",
+ "eacute",
+ "ecirc;",
+ "ecirc",
+ "egrave;",
+ "egrave",
+ "empty;",
+ "emsp;",
+ "ensp;",
+ "epsilon;",
+ "equiv;",
+ "eta;",
+ "eth;",
+ "eth",
+ "euml;",
+ "euml",
+ "euro;",
+ "exist;",
+ "fnof;",
+ "forall;",
+ "frac12;",
+ "frac12",
+ "frac14;",
+ "frac14",
+ "frac34;",
+ "frac34",
+ "frasl;",
+ "gamma;",
+ "ge;",
+ "gt;",
+ "gt",
+ "hArr;",
+ "harr;",
+ "hearts;",
+ "hellip;",
+ "iacute;",
+ "iacute",
+ "icirc;",
+ "icirc",
+ "iexcl;",
+ "iexcl",
+ "igrave;",
+ "igrave",
+ "image;",
+ "infin;",
+ "int;",
+ "iota;",
+ "iquest;",
+ "iquest",
+ "isin;",
+ "iuml;",
+ "iuml",
+ "kappa;",
+ "lArr;",
+ "lambda;",
+ "lang;",
+ "laquo;",
+ "laquo",
+ "larr;",
+ "lceil;",
+ "ldquo;",
+ "le;",
+ "lfloor;",
+ "lowast;",
+ "loz;",
+ "lrm;",
+ "lsaquo;",
+ "lsquo;",
+ "lt;",
+ "lt",
+ "macr;",
+ "macr",
+ "mdash;",
+ "micro;",
+ "micro",
+ "middot;",
+ "middot",
+ "minus;",
+ "mu;",
+ "nabla;",
+ "nbsp;",
+ "nbsp",
+ "ndash;",
+ "ne;",
+ "ni;",
+ "not;",
+ "not",
+ "notin;",
+ "nsub;",
+ "ntilde;",
+ "ntilde",
+ "nu;",
+ "oacute;",
+ "oacute",
+ "ocirc;",
+ "ocirc",
+ "oelig;",
+ "ograve;",
+ "ograve",
+ "oline;",
+ "omega;",
+ "omicron;",
+ "oplus;",
+ "or;",
+ "ordf;",
+ "ordf",
+ "ordm;",
+ "ordm",
+ "oslash;",
+ "oslash",
+ "otilde;",
+ "otilde",
+ "otimes;",
+ "ouml;",
+ "ouml",
+ "para;",
+ "para",
+ "part;",
+ "permil;",
+ "perp;",
+ "phi;",
+ "pi;",
+ "piv;",
+ "plusmn;",
+ "plusmn",
+ "pound;",
+ "pound",
+ "prime;",
+ "prod;",
+ "prop;",
+ "psi;",
+ "quot;",
+ "quot",
+ "rArr;",
+ "radic;",
+ "rang;",
+ "raquo;",
+ "raquo",
+ "rarr;",
+ "rceil;",
+ "rdquo;",
+ "real;",
+ "reg;",
+ "reg",
+ "rfloor;",
+ "rho;",
+ "rlm;",
+ "rsaquo;",
+ "rsquo;",
+ "sbquo;",
+ "scaron;",
+ "sdot;",
+ "sect;",
+ "sect",
+ "shy;",
+ "shy",
+ "sigma;",
+ "sigmaf;",
+ "sim;",
+ "spades;",
+ "sub;",
+ "sube;",
+ "sum;",
+ "sup1;",
+ "sup1",
+ "sup2;",
+ "sup2",
+ "sup3;",
+ "sup3",
+ "sup;",
+ "supe;",
+ "szlig;",
+ "szlig",
+ "tau;",
+ "there4;",
+ "theta;",
+ "thetasym;",
+ "thinsp;",
+ "thorn;",
+ "thorn",
+ "tilde;",
+ "times;",
+ "times",
+ "trade;",
+ "uArr;",
+ "uacute;",
+ "uacute",
+ "uarr;",
+ "ucirc;",
+ "ucirc",
+ "ugrave;",
+ "ugrave",
+ "uml;",
+ "uml",
+ "upsih;",
+ "upsilon;",
+ "uuml;",
+ "uuml",
+ "weierp;",
+ "xi;",
+ "yacute;",
+ "yacute",
+ "yen;",
+ "yen",
+ "yuml;",
+ "yuml",
+ "zeta;",
+ "zwj;",
+ "zwnj;"
+ ];
+
+ var characters = [
+ "\u00C6",
+ "\u00C6",
+ "\u0026",
+ "\u0026",
+ "\u00C1",
+ "\u00C1",
+ "\u00C2",
+ "\u00C2",
+ "\u00C0",
+ "\u00C0",
+ "\u0391",
+ "\u00C5",
+ "\u00C5",
+ "\u00C3",
+ "\u00C3",
+ "\u00C4",
+ "\u00C4",
+ "\u0392",
+ "\u00A9",
+ "\u00A9",
+ "\u00C7",
+ "\u00C7",
+ "\u03A7",
+ "\u2021",
+ "\u0394",
+ "\u00D0",
+ "\u00D0",
+ "\u00C9",
+ "\u00C9",
+ "\u00CA",
+ "\u00CA",
+ "\u00C8",
+ "\u00C8",
+ "\u0395",
+ "\u0397",
+ "\u00CB",
+ "\u00CB",
+ "\u003E",
+ "\u003E",
+ "\u0393",
+ "\u00CD",
+ "\u00CD",
+ "\u00CE",
+ "\u00CE",
+ "\u00CC",
+ "\u00CC",
+ "\u0399",
+ "\u00CF",
+ "\u00CF",
+ "\u039A",
+ "\u003C",
+ "\u003C",
+ "\u039B",
+ "\u039C",
+ "\u00D1",
+ "\u00D1",
+ "\u039D",
+ "\u0152",
+ "\u00D3",
+ "\u00D3",
+ "\u00D4",
+ "\u00D4",
+ "\u00D2",
+ "\u00D2",
+ "\u03A9",
+ "\u039F",
+ "\u00D8",
+ "\u00D8",
+ "\u00D5",
+ "\u00D5",
+ "\u00D6",
+ "\u00D6",
+ "\u03A6",
+ "\u03A0",
+ "\u2033",
+ "\u03A8",
+ "\u0022",
+ "\u0022",
+ "\u00AE",
+ "\u00AE",
+ "\u03A1",
+ "\u0160",
+ "\u03A3",
+ "\u00DE",
+ "\u00DE",
+ "\u2122",
+ "\u03A4",
+ "\u0398",
+ "\u00DA",
+ "\u00DA",
+ "\u00DB",
+ "\u00DB",
+ "\u00D9",
+ "\u00D9",
+ "\u03A5",
+ "\u00DC",
+ "\u00DC",
+ "\u039E",
+ "\u00DD",
+ "\u00DD",
+ "\u0178",
+ "\u0396",
+ "\u00E1",
+ "\u00E1",
+ "\u00E2",
+ "\u00E2",
+ "\u00B4",
+ "\u00B4",
+ "\u00E6",
+ "\u00E6",
+ "\u00E0",
+ "\u00E0",
+ "\u2135",
+ "\u03B1",
+ "\u0026",
+ "\u0026",
+ "\u2227",
+ "\u2220",
+ "\u0027",
+ "\u00E5",
+ "\u00E5",
+ "\u2248",
+ "\u00E3",
+ "\u00E3",
+ "\u00E4",
+ "\u00E4",
+ "\u201E",
+ "\u03B2",
+ "\u00A6",
+ "\u00A6",
+ "\u2022",
+ "\u2229",
+ "\u00E7",
+ "\u00E7",
+ "\u00B8",
+ "\u00B8",
+ "\u00A2",
+ "\u00A2",
+ "\u03C7",
+ "\u02C6",
+ "\u2663",
+ "\u2245",
+ "\u00A9",
+ "\u00A9",
+ "\u21B5",
+ "\u222A",
+ "\u00A4",
+ "\u00A4",
+ "\u21D3",
+ "\u2020",
+ "\u2193",
+ "\u00B0",
+ "\u00B0",
+ "\u03B4",
+ "\u2666",
+ "\u00F7",
+ "\u00F7",
+ "\u00E9",
+ "\u00E9",
+ "\u00EA",
+ "\u00EA",
+ "\u00E8",
+ "\u00E8",
+ "\u2205",
+ "\u2003",
+ "\u2002",
+ "\u03B5",
+ "\u2261",
+ "\u03B7",
+ "\u00F0",
+ "\u00F0",
+ "\u00EB",
+ "\u00EB",
+ "\u20AC",
+ "\u2203",
+ "\u0192",
+ "\u2200",
+ "\u00BD",
+ "\u00BD",
+ "\u00BC",
+ "\u00BC",
+ "\u00BE",
+ "\u00BE",
+ "\u2044",
+ "\u03B3",
+ "\u2265",
+ "\u003E",
+ "\u003E",
+ "\u21D4",
+ "\u2194",
+ "\u2665",
+ "\u2026",
+ "\u00ED",
+ "\u00ED",
+ "\u00EE",
+ "\u00EE",
+ "\u00A1",
+ "\u00A1",
+ "\u00EC",
+ "\u00EC",
+ "\u2111",
+ "\u221E",
+ "\u222B",
+ "\u03B9",
+ "\u00BF",
+ "\u00BF",
+ "\u2208",
+ "\u00EF",
+ "\u00EF",
+ "\u03BA",
+ "\u21D0",
+ "\u03BB",
+ "\u27e8",
+ "\u00AB",
+ "\u00AB",
+ "\u2190",
+ "\u2308",
+ "\u201C",
+ "\u2264",
+ "\u230A",
+ "\u2217",
+ "\u25CA",
+ "\u200E",
+ "\u2039",
+ "\u2018",
+ "\u003C",
+ "\u003C",
+ "\u00AF",
+ "\u00AF",
+ "\u2014",
+ "\u00B5",
+ "\u00B5",
+ "\u00B7",
+ "\u00B7",
+ "\u2212",
+ "\u03BC",
+ "\u2207",
+ "\u00A0",
+ "\u00A0",
+ "\u2013",
+ "\u2260",
+ "\u220B",
+ "\u00AC",
+ "\u00AC",
+ "\u2209",
+ "\u2284",
+ "\u00F1",
+ "\u00F1",
+ "\u03BD",
+ "\u00F3",
+ "\u00F3",
+ "\u00F4",
+ "\u00F4",
+ "\u0153",
+ "\u00F2",
+ "\u00F2",
+ "\u203E",
+ "\u03C9",
+ "\u03BF",
+ "\u2295",
+ "\u2228",
+ "\u00AA",
+ "\u00AA",
+ "\u00BA",
+ "\u00BA",
+ "\u00F8",
+ "\u00F8",
+ "\u00F5",
+ "\u00F5",
+ "\u2297",
+ "\u00F6",
+ "\u00F6",
+ "\u00B6",
+ "\u00B6",
+ "\u2202",
+ "\u2030",
+ "\u22A5",
+ "\u03C6",
+ "\u03C0",
+ "\u03D6",
+ "\u00B1",
+ "\u00B1",
+ "\u00A3",
+ "\u00A3",
+ "\u2032",
+ "\u220F",
+ "\u221D",
+ "\u03C8",
+ "\u0022",
+ "\u0022",
+ "\u21D2",
+ "\u221A",
+ "\u27e9",
+ "\u00BB",
+ "\u00BB",
+ "\u2192",
+ "\u2309",
+ "\u201D",
+ "\u211C",
+ "\u00AE",
+ "\u00AE",
+ "\u230B",
+ "\u03C1",
+ "\u200F",
+ "\u203A",
+ "\u2019",
+ "\u201A",
+ "\u0161",
+ "\u22C5",
+ "\u00A7",
+ "\u00A7",
+ "\u00AD",
+ "\u00AD",
+ "\u03C3",
+ "\u03C2",
+ "\u223C",
+ "\u2660",
+ "\u2282",
+ "\u2286",
+ "\u2211",
+ "\u00B9",
+ "\u00B9",
+ "\u00B2",
+ "\u00B2",
+ "\u00B3",
+ "\u00B3",
+ "\u2283",
+ "\u2287",
+ "\u00DF",
+ "\u00DF",
+ "\u03C4",
+ "\u2234",
+ "\u03B8",
+ "\u03D1",
+ "\u2009",
+ "\u00FE",
+ "\u00FE",
+ "\u02DC",
+ "\u00D7",
+ "\u00D7",
+ "\u2122",
+ "\u21D1",
+ "\u00FA",
+ "\u00FA",
+ "\u2191",
+ "\u00FB",
+ "\u00FB",
+ "\u00F9",
+ "\u00F9",
+ "\u00A8",
+ "\u00A8",
+ "\u03D2",
+ "\u03C5",
+ "\u00FC",
+ "\u00FC",
+ "\u2118",
+ "\u03BE",
+ "\u00FD",
+ "\u00FD",
+ "\u00A5",
+ "\u00A5",
+ "\u00FF",
+ "\u00FF",
+ "\u03B6",
+ "\u200D",
+ "\u200C"
+ ];
+
+ var log = "";
+ var elm = document.getElementsByTagName("p")[0];
+ var entity, character, characterCode, result, resultCode;
+ for (var i = 0, len = entities.length; i < len; ++i) {
+ entity = entities[i];
+ character = characters[i];
+ resultCode = characterCode = "";
+ elm.innerHTML = "<span title='&" + entity + "X'></span>";
+ result = elm.firstChild.title.split("X")[0];
+ if (result.length == 1)
+ resultCode = " (\\u" + result.charCodeAt(0).toString(16) + ")";
+ if (character.length == 1)
+ characterCode = " (\\u" + character.charCodeAt(0).toString(16) + ")";
+ if (/;$/.test(entity)) {
+ if (result != character)
+ log += entity + " (was: " + result + resultCode + ", expected: " + character + characterCode + ")\n";
+ } else {
+ if (result != "&" + entity)
+ log += entity + " (was: " + result + resultCode + ", expected: &" + entity + ")\n";
+ }
+ }
+ if (log == "")
+ elm.innerHTML = "PASS";
+ else
+ document.body.innerHTML = "<plaintext>FAIL:\n\n" + log;
+}
+</script>
+<p>FAIL (script didn't run)</p>
diff --git a/LayoutTests/fast/tokenizer/entities-03-expected.txt b/LayoutTests/fast/tokenizer/entities-03-expected.txt
new file mode 100644
index 0000000..9fab35f
--- /dev/null
+++ b/LayoutTests/fast/tokenizer/entities-03-expected.txt
@@ -0,0 +1,4 @@
+FAIL:
+
+AElig (was: Æ, expected: Æ (\uc6))
+
diff --git a/LayoutTests/fast/tokenizer/entities-03.html b/LayoutTests/fast/tokenizer/entities-03.html
new file mode 100644
index 0000000..a1ea2c7
--- /dev/null
+++ b/LayoutTests/fast/tokenizer/entities-03.html
@@ -0,0 +1,769 @@
+<!doctype html>
+<title>Entities in attributes</title>
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+window.onload = function() {
+
+ var entities = [
+ "AElig;",
+ "AElig",
+ "AMP;",
+ "AMP",
+ "Aacute;",
+ "Aacute",
+ "Acirc;",
+ "Acirc",
+ "Agrave;",
+ "Agrave",
+ "Alpha;",
+ "Aring;",
+ "Aring",
+ "Atilde;",
+ "Atilde",
+ "Auml;",
+ "Auml",
+ "Beta;",
+ "COPY;",
+ "COPY",
+ "Ccedil;",
+ "Ccedil",
+ "Chi;",
+ "Dagger;",
+ "Delta;",
+ "ETH;",
+ "ETH",
+ "Eacute;",
+ "Eacute",
+ "Ecirc;",
+ "Ecirc",
+ "Egrave;",
+ "Egrave",
+ "Epsilon;",
+ "Eta;",
+ "Euml;",
+ "Euml",
+ "GT;",
+ "GT",
+ "Gamma;",
+ "Iacute;",
+ "Iacute",
+ "Icirc;",
+ "Icirc",
+ "Igrave;",
+ "Igrave",
+ "Iota;",
+ "Iuml;",
+ "Iuml",
+ "Kappa;",
+ "LT;",
+ "LT",
+ "Lambda;",
+ "Mu;",
+ "Ntilde;",
+ "Ntilde",
+ "Nu;",
+ "OElig;",
+ "Oacute;",
+ "Oacute",
+ "Ocirc;",
+ "Ocirc",
+ "Ograve;",
+ "Ograve",
+ "Omega;",
+ "Omicron;",
+ "Oslash;",
+ "Oslash",
+ "Otilde;",
+ "Otilde",
+ "Ouml;",
+ "Ouml",
+ "Phi;",
+ "Pi;",
+ "Prime;",
+ "Psi;",
+ "QUOT;",
+ "QUOT",
+ "REG;",
+ "REG",
+ "Rho;",
+ "Scaron;",
+ "Sigma;",
+ "THORN;",
+ "THORN",
+ "TRADE;",
+ "Tau;",
+ "Theta;",
+ "Uacute;",
+ "Uacute",
+ "Ucirc;",
+ "Ucirc",
+ "Ugrave;",
+ "Ugrave",
+ "Upsilon;",
+ "Uuml;",
+ "Uuml",
+ "Xi;",
+ "Yacute;",
+ "Yacute",
+ "Yuml;",
+ "Zeta;",
+ "aacute;",
+ "aacute",
+ "acirc;",
+ "acirc",
+ "acute;",
+ "acute",
+ "aelig;",
+ "aelig",
+ "agrave;",
+ "agrave",
+ "alefsym;",
+ "alpha;",
+ "amp;",
+ "amp",
+ "and;",
+ "ang;",
+ "apos;",
+ "aring;",
+ "aring",
+ "asymp;",
+ "atilde;",
+ "atilde",
+ "auml;",
+ "auml",
+ "bdquo;",
+ "beta;",
+ "brvbar;",
+ "brvbar",
+ "bull;",
+ "cap;",
+ "ccedil;",
+ "ccedil",
+ "cedil;",
+ "cedil",
+ "cent;",
+ "cent",
+ "chi;",
+ "circ;",
+ "clubs;",
+ "cong;",
+ "copy;",
+ "copy",
+ "crarr;",
+ "cup;",
+ "curren;",
+ "curren",
+ "dArr;",
+ "dagger;",
+ "darr;",
+ "deg;",
+ "deg",
+ "delta;",
+ "diams;",
+ "divide;",
+ "divide",
+ "eacute;",
+ "eacute",
+ "ecirc;",
+ "ecirc",
+ "egrave;",
+ "egrave",
+ "empty;",
+ "emsp;",
+ "ensp;",
+ "epsilon;",
+ "equiv;",
+ "eta;",
+ "eth;",
+ "eth",
+ "euml;",
+ "euml",
+ "euro;",
+ "exist;",
+ "fnof;",
+ "forall;",
+ "frac12;",
+ "frac12",
+ "frac14;",
+ "frac14",
+ "frac34;",
+ "frac34",
+ "frasl;",
+ "gamma;",
+ "ge;",
+ "gt;",
+ "gt",
+ "hArr;",
+ "harr;",
+ "hearts;",
+ "hellip;",
+ "iacute;",
+ "iacute",
+ "icirc;",
+ "icirc",
+ "iexcl;",
+ "iexcl",
+ "igrave;",
+ "igrave",
+ "image;",
+ "infin;",
+ "int;",
+ "iota;",
+ "iquest;",
+ "iquest",
+ "isin;",
+ "iuml;",
+ "iuml",
+ "kappa;",
+ "lArr;",
+ "lambda;",
+ "lang;",
+ "laquo;",
+ "laquo",
+ "larr;",
+ "lceil;",
+ "ldquo;",
+ "le;",
+ "lfloor;",
+ "lowast;",
+ "loz;",
+ "lrm;",
+ "lsaquo;",
+ "lsquo;",
+ "lt;",
+ "lt",
+ "macr;",
+ "macr",
+ "mdash;",
+ "micro;",
+ "micro",
+ "middot;",
+ "middot",
+ "minus;",
+ "mu;",
+ "nabla;",
+ "nbsp;",
+ "nbsp",
+ "ndash;",
+ "ne;",
+ "ni;",
+ "not;",
+ "not",
+ "notin;",
+ "nsub;",
+ "ntilde;",
+ "ntilde",
+ "nu;",
+ "oacute;",
+ "oacute",
+ "ocirc;",
+ "ocirc",
+ "oelig;",
+ "ograve;",
+ "ograve",
+ "oline;",
+ "omega;",
+ "omicron;",
+ "oplus;",
+ "or;",
+ "ordf;",
+ "ordf",
+ "ordm;",
+ "ordm",
+ "oslash;",
+ "oslash",
+ "otilde;",
+ "otilde",
+ "otimes;",
+ "ouml;",
+ "ouml",
+ "para;",
+ "para",
+ "part;",
+ "permil;",
+ "perp;",
+ "phi;",
+ "pi;",
+ "piv;",
+ "plusmn;",
+ "plusmn",
+ "pound;",
+ "pound",
+ "prime;",
+ "prod;",
+ "prop;",
+ "psi;",
+ "quot;",
+ "quot",
+ "rArr;",
+ "radic;",
+ "rang;",
+ "raquo;",
+ "raquo",
+ "rarr;",
+ "rceil;",
+ "rdquo;",
+ "real;",
+ "reg;",
+ "reg",
+ "rfloor;",
+ "rho;",
+ "rlm;",
+ "rsaquo;",
+ "rsquo;",
+ "sbquo;",
+ "scaron;",
+ "sdot;",
+ "sect;",
+ "sect",
+ "shy;",
+ "shy",
+ "sigma;",
+ "sigmaf;",
+ "sim;",
+ "spades;",
+ "sub;",
+ "sube;",
+ "sum;",
+ "sup1;",
+ "sup1",
+ "sup2;",
+ "sup2",
+ "sup3;",
+ "sup3",
+ "sup;",
+ "supe;",
+ "szlig;",
+ "szlig",
+ "tau;",
+ "there4;",
+ "theta;",
+ "thetasym;",
+ "thinsp;",
+ "thorn;",
+ "thorn",
+ "tilde;",
+ "times;",
+ "times",
+ "trade;",
+ "uArr;",
+ "uacute;",
+ "uacute",
+ "uarr;",
+ "ucirc;",
+ "ucirc",
+ "ugrave;",
+ "ugrave",
+ "uml;",
+ "uml",
+ "upsih;",
+ "upsilon;",
+ "uuml;",
+ "uuml",
+ "weierp;",
+ "xi;",
+ "yacute;",
+ "yacute",
+ "yen;",
+ "yen",
+ "yuml;",
+ "yuml",
+ "zeta;",
+ "zwj;",
+ "zwnj;"
+ ];
+
+ var characters = [
+ "\u00C6",
+ "\u00C6",
+ "\u0026",
+ "\u0026",
+ "\u00C1",
+ "\u00C1",
+ "\u00C2",
+ "\u00C2",
+ "\u00C0",
+ "\u00C0",
+ "\u0391",
+ "\u00C5",
+ "\u00C5",
+ "\u00C3",
+ "\u00C3",
+ "\u00C4",
+ "\u00C4",
+ "\u0392",
+ "\u00A9",
+ "\u00A9",
+ "\u00C7",
+ "\u00C7",
+ "\u03A7",
+ "\u2021",
+ "\u0394",
+ "\u00D0",
+ "\u00D0",
+ "\u00C9",
+ "\u00C9",
+ "\u00CA",
+ "\u00CA",
+ "\u00C8",
+ "\u00C8",
+ "\u0395",
+ "\u0397",
+ "\u00CB",
+ "\u00CB",
+ "\u003E",
+ "\u003E",
+ "\u0393",
+ "\u00CD",
+ "\u00CD",
+ "\u00CE",
+ "\u00CE",
+ "\u00CC",
+ "\u00CC",
+ "\u0399",
+ "\u00CF",
+ "\u00CF",
+ "\u039A",
+ "\u003C",
+ "\u003C",
+ "\u039B",
+ "\u039C",
+ "\u00D1",
+ "\u00D1",
+ "\u039D",
+ "\u0152",
+ "\u00D3",
+ "\u00D3",
+ "\u00D4",
+ "\u00D4",
+ "\u00D2",
+ "\u00D2",
+ "\u03A9",
+ "\u039F",
+ "\u00D8",
+ "\u00D8",
+ "\u00D5",
+ "\u00D5",
+ "\u00D6",
+ "\u00D6",
+ "\u03A6",
+ "\u03A0",
+ "\u2033",
+ "\u03A8",
+ "\u0022",
+ "\u0022",
+ "\u00AE",
+ "\u00AE",
+ "\u03A1",
+ "\u0160",
+ "\u03A3",
+ "\u00DE",
+ "\u00DE",
+ "\u2122",
+ "\u03A4",
+ "\u0398",
+ "\u00DA",
+ "\u00DA",
+ "\u00DB",
+ "\u00DB",
+ "\u00D9",
+ "\u00D9",
+ "\u03A5",
+ "\u00DC",
+ "\u00DC",
+ "\u039E",
+ "\u00DD",
+ "\u00DD",
+ "\u0178",
+ "\u0396",
+ "\u00E1",
+ "\u00E1",
+ "\u00E2",
+ "\u00E2",
+ "\u00B4",
+ "\u00B4",
+ "\u00E6",
+ "\u00E6",
+ "\u00E0",
+ "\u00E0",
+ "\u2135",
+ "\u03B1",
+ "\u0026",
+ "\u0026",
+ "\u2227",
+ "\u2220",
+ "\u0027",
+ "\u00E5",
+ "\u00E5",
+ "\u2248",
+ "\u00E3",
+ "\u00E3",
+ "\u00E4",
+ "\u00E4",
+ "\u201E",
+ "\u03B2",
+ "\u00A6",
+ "\u00A6",
+ "\u2022",
+ "\u2229",
+ "\u00E7",
+ "\u00E7",
+ "\u00B8",
+ "\u00B8",
+ "\u00A2",
+ "\u00A2",
+ "\u03C7",
+ "\u02C6",
+ "\u2663",
+ "\u2245",
+ "\u00A9",
+ "\u00A9",
+ "\u21B5",
+ "\u222A",
+ "\u00A4",
+ "\u00A4",
+ "\u21D3",
+ "\u2020",
+ "\u2193",
+ "\u00B0",
+ "\u00B0",
+ "\u03B4",
+ "\u2666",
+ "\u00F7",
+ "\u00F7",
+ "\u00E9",
+ "\u00E9",
+ "\u00EA",
+ "\u00EA",
+ "\u00E8",
+ "\u00E8",
+ "\u2205",
+ "\u2003",
+ "\u2002",
+ "\u03B5",
+ "\u2261",
+ "\u03B7",
+ "\u00F0",
+ "\u00F0",
+ "\u00EB",
+ "\u00EB",
+ "\u20AC",
+ "\u2203",
+ "\u0192",
+ "\u2200",
+ "\u00BD",
+ "\u00BD",
+ "\u00BC",
+ "\u00BC",
+ "\u00BE",
+ "\u00BE",
+ "\u2044",
+ "\u03B3",
+ "\u2265",
+ "\u003E",
+ "\u003E",
+ "\u21D4",
+ "\u2194",
+ "\u2665",
+ "\u2026",
+ "\u00ED",
+ "\u00ED",
+ "\u00EE",
+ "\u00EE",
+ "\u00A1",
+ "\u00A1",
+ "\u00EC",
+ "\u00EC",
+ "\u2111",
+ "\u221E",
+ "\u222B",
+ "\u03B9",
+ "\u00BF",
+ "\u00BF",
+ "\u2208",
+ "\u00EF",
+ "\u00EF",
+ "\u03BA",
+ "\u21D0",
+ "\u03BB",
+ "\u27e8",
+ "\u00AB",
+ "\u00AB",
+ "\u2190",
+ "\u2308",
+ "\u201C",
+ "\u2264",
+ "\u230A",
+ "\u2217",
+ "\u25CA",
+ "\u200E",
+ "\u2039",
+ "\u2018",
+ "\u003C",
+ "\u003C",
+ "\u00AF",
+ "\u00AF",
+ "\u2014",
+ "\u00B5",
+ "\u00B5",
+ "\u00B7",
+ "\u00B7",
+ "\u2212",
+ "\u03BC",
+ "\u2207",
+ "\u00A0",
+ "\u00A0",
+ "\u2013",
+ "\u2260",
+ "\u220B",
+ "\u00AC",
+ "\u00AC",
+ "\u2209",
+ "\u2284",
+ "\u00F1",
+ "\u00F1",
+ "\u03BD",
+ "\u00F3",
+ "\u00F3",
+ "\u00F4",
+ "\u00F4",
+ "\u0153",
+ "\u00F2",
+ "\u00F2",
+ "\u203E",
+ "\u03C9",
+ "\u03BF",
+ "\u2295",
+ "\u2228",
+ "\u00AA",
+ "\u00AA",
+ "\u00BA",
+ "\u00BA",
+ "\u00F8",
+ "\u00F8",
+ "\u00F5",
+ "\u00F5",
+ "\u2297",
+ "\u00F6",
+ "\u00F6",
+ "\u00B6",
+ "\u00B6",
+ "\u2202",
+ "\u2030",
+ "\u22A5",
+ "\u03C6",
+ "\u03C0",
+ "\u03D6",
+ "\u00B1",
+ "\u00B1",
+ "\u00A3",
+ "\u00A3",
+ "\u2032",
+ "\u220F",
+ "\u221D",
+ "\u03C8",
+ "\u0022",
+ "\u0022",
+ "\u21D2",
+ "\u221A",
+ "\u27e9",
+ "\u00BB",
+ "\u00BB",
+ "\u2192",
+ "\u2309",
+ "\u201D",
+ "\u211C",
+ "\u00AE",
+ "\u00AE",
+ "\u230B",
+ "\u03C1",
+ "\u200F",
+ "\u203A",
+ "\u2019",
+ "\u201A",
+ "\u0161",
+ "\u22C5",
+ "\u00A7",
+ "\u00A7",
+ "\u00AD",
+ "\u00AD",
+ "\u03C3",
+ "\u03C2",
+ "\u223C",
+ "\u2660",
+ "\u2282",
+ "\u2286",
+ "\u2211",
+ "\u00B9",
+ "\u00B9",
+ "\u00B2",
+ "\u00B2",
+ "\u00B3",
+ "\u00B3",
+ "\u2283",
+ "\u2287",
+ "\u00DF",
+ "\u00DF",
+ "\u03C4",
+ "\u2234",
+ "\u03B8",
+ "\u03D1",
+ "\u2009",
+ "\u00FE",
+ "\u00FE",
+ "\u02DC",
+ "\u00D7",
+ "\u00D7",
+ "\u2122",
+ "\u21D1",
+ "\u00FA",
+ "\u00FA",
+ "\u2191",
+ "\u00FB",
+ "\u00FB",
+ "\u00F9",
+ "\u00F9",
+ "\u00A8",
+ "\u00A8",
+ "\u03D2",
+ "\u03C5",
+ "\u00FC",
+ "\u00FC",
+ "\u2118",
+ "\u03BE",
+ "\u00FD",
+ "\u00FD",
+ "\u00A5",
+ "\u00A5",
+ "\u00FF",
+ "\u00FF",
+ "\u03B6",
+ "\u200D",
+ "\u200C"
+ ];
+
+ var log = "";
+ var elm = document.getElementsByTagName("p")[0];
+ var entity, character, characterCode, result, resultCode;
+ for (var i = 0, len = entities.length; i < len; ++i) {
+ entity = entities[i];
+ character = characters[i];
+ resultCode = characterCode = "";
+ elm.innerHTML = "<span title='&" + entity + ".'></span>";
+ result = elm.firstChild.title.split(".")[0];
+ if (result.length == 1)
+ resultCode = " (\\u" + result.charCodeAt(0).toString(16) + ")";
+ if (character.length == 1)
+ characterCode = " (\\u" + character.charCodeAt(0).toString(16) + ")";
+ if (result != character)
+ log += entity + " (was: " + result + resultCode + ", expected: " + character + characterCode + ")\n";
+ }
+ if (log == "")
+ elm.innerHTML = "PASS";
+ else
+ document.body.innerHTML = "<plaintext>FAIL:\n\n" + log;
+}
+</script>
+<p>FAIL (script didn't run)</p>
diff --git a/LayoutTests/fast/tokenizer/entities-04-expected.txt b/LayoutTests/fast/tokenizer/entities-04-expected.txt
new file mode 100644
index 0000000..3c10f53
--- /dev/null
+++ b/LayoutTests/fast/tokenizer/entities-04-expected.txt
@@ -0,0 +1,3 @@
+It should say "&PASS" below:
+
+&PASS
diff --git a/LayoutTests/fast/tokenizer/entities-04.html b/LayoutTests/fast/tokenizer/entities-04.html
new file mode 100644
index 0000000..1640cca
--- /dev/null
+++ b/LayoutTests/fast/tokenizer/entities-04.html
@@ -0,0 +1,8 @@
+<!doctype html>
+<title>EOF while parsing an entity</title>
+<script>
+if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+</script>
+<p>It should say "&PASS" below:
+<p>&PASS
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list