diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js')
-rw-r--r-- | js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js b/js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js new file mode 100644 index 0000000000..3e12893222 --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/S15.10.2_A1_T1.js @@ -0,0 +1,89 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: XML Shallow Parsing with Regular Expressions +es5id: 15.10.2_A1_T1 +description: "See bug http://bugzilla.mozilla.org/show_bug.cgi?id=103087" +---*/ + +// REX/Javascript 1.0 +// Robert D. Cameron "REX: XML Shallow Parsing with Regular Expressions", +// Technical Report TR 1998-17, School of Computing Science, Simon Fraser +// University, November, 1998. +// Copyright (c) 1998, Robert D. Cameron. +// The following code may be freely used and distributed provided that +// this copyright and citation notice remains intact and that modifications +// or additions are clearly identified. + +var TextSE = "[^<]+"; +var UntilHyphen = "[^-]*-"; +var Until2Hyphens = UntilHyphen + "([^-]" + UntilHyphen + ")*-"; +var CommentCE = Until2Hyphens + ">?"; +var UntilRSBs = "[^\\]]*\\]([^\\]]+\\])*\\]+"; +var CDATA_CE = UntilRSBs + "([^\\]>]" + UntilRSBs + ")*>"; +var S = "[ \\n\\t\\r]+"; +var NameStrt = "[A-Za-z_:]|[^\\x00-\\x7F]"; +var NameChar = "[A-Za-z0-9_:.-]|[^\\x00-\\x7F]"; +var Name = "(" + NameStrt + ")(" + NameChar + ")*"; +var QuoteSE = '"[^"]' + "*" + '"' + "|'[^']*'"; +var DT_IdentSE = S + Name + "(" + S + "(" + Name + "|" + QuoteSE + "))*"; +var MarkupDeclCE = "([^\\]\"'><]+|" + QuoteSE + ")*>"; +var S1 = "[\\n\\r\\t ]"; +var UntilQMs = "[^?]*\\?+"; +var PI_Tail = "\\?>|" + S1 + UntilQMs + "([^>?]" + UntilQMs + ")*>"; +var DT_ItemSE = "<(!(--" + Until2Hyphens + ">|[^-]" + MarkupDeclCE + ")|\\?" + Name + "(" + PI_Tail + "))|%" + Name + ";|" + S; +var DocTypeCE = DT_IdentSE + "(" + S + ")?(\\[(" + DT_ItemSE + ")*\\](" + S + ")?)?>?"; +var DeclCE = "--(" + CommentCE + ")?|\\[CDATA\\[(" + CDATA_CE + ")?|DOCTYPE(" + DocTypeCE + ")?"; +var PI_CE = Name + "(" + PI_Tail + ")?"; +var EndTagCE = Name + "(" + S + ")?>?"; +var AttValSE = '"[^<"]' + "*" + '"' + "|'[^<']*'"; +var ElemTagCE = Name + "(" + S + Name + "(" + S + ")?=(" + S + ")?(" + AttValSE + "))*(" + S + ")?/?>?"; +var MarkupSPE = "<(!(" + DeclCE + ")?|\\?(" + PI_CE + ")?|/(" + EndTagCE + ")?|(" + ElemTagCE + ")?)"; +var XML_SPE = TextSE + "|" + MarkupSPE; + +/// +//// +///// + +var __patterns = [TextSE,UntilHyphen,Until2Hyphens,CommentCE,UntilRSBs,CDATA_CE,S,NameStrt, NameChar, +Name, QuoteSE, DT_IdentSE, MarkupDeclCE, S1,UntilQMs, PI_Tail, DT_ItemSE, DocTypeCE, DeclCE, +PI_CE, EndTagCE, AttValSE, ElemTagCE, MarkupSPE, XML_SPE]; + +var __html=""+ +'<html xmlns="http://www.w3.org/1999/xhtml"\n' + +' xmlns:xlink="http://www.w3.org/XML/XLink/0.9">\n' + +' <head><title>Three Namespaces</title></head>\n' + +' <body>\n' + +' <h1 align="center">An Ellipse and a Rectangle</h1>\n' + +' <svg xmlns="http://www.w3.org/Graphics/SVG/SVG-19991203.dtd"\n' + +' width="12cm" height="10cm">\n' + +' <ellipse rx="110" ry="130" />\n' + +' <rect x="4cm" y="1cm" width="3cm" height="6cm" />\n' + +' </svg>\n' + +' <p xlink:type="simple" xlink:href="ellipses.html">\n' + +' More about ellipses\n' + +' </p>\n' + +' <p xlink:type="simple" xlink:href="rectangles.html">\n' + +' More about rectangles\n' + +' </p>\n' + +' <hr/>\n' + +' <p>Last Modified February 13, 2000</p>\n' + +' </body>\n' + +'</html>'; + +////////////////////////////////////////////////////////////////////////////// +try { + for(var index=0; index<__patterns.length; index++) { + var __re = new RegExp(__patterns[index]); + __re.test(__html); + } +} catch (e) { + throw new Test262Error('#'+index+": XML Shallow Parsing with Regular Expression: "+__patterns[index]); +} +// +////////////////////////////////////////////////////////////////////////////// + +// TODO: Convert to assert.throws() format. + +reportCompare(0, 0); |