Bumping manifests a=b2g-bump
[gecko.git] / parser / xml / test / unit / test_xml_declaration.js
blob4cad511fb136b9ed41d160a5d1739217b9685205
1 function noop() {}
3 function run_test() {
4   var evts;
6   var contentHandler = {
7     attrs: null,
8     startDocument: function() {
9       evts.push("startDocument");
10     },
11     endDocument: noop,
13     startElement: function startElement() {
14       evts.push("startElement");
15     },
17     endElement: noop,
18     characters: noop,
19     processingInstruction: noop,
20     ignorableWhitespace: noop,
21     startPrefixMapping: noop,
22     endPrefixMapping: noop
23   };
25   function XMLDeclHandler(version, encoding, standalone) {
26     evts.splice(evts.length, 0, version, encoding, standalone);
27   }
29   const nsISAXXMLReader = Components.interfaces.nsISAXXMLReader;
30   var saxReader = Components.classes["@mozilla.org/saxparser/xmlreader;1"]
31                             .createInstance(nsISAXXMLReader);
32   saxReader.contentHandler = contentHandler;
33   saxReader.declarationHandler = XMLDeclHandler;
35   evts = [];
36   saxReader.parseFromString("<root/>", "application/xml");
37   do_check_eq(evts.length, 2);
38   do_check_eq(evts[0], "startDocument");
39   do_check_eq(evts[1], "startElement");
41   evts = [];
42   saxReader.parseFromString("<?xml version='1.0'?><root/>", "application/xml");
43   do_check_eq(evts.length, 5);
44   do_check_eq(evts[0], "startDocument");
45   do_check_eq(evts[1], "1.0");
46   do_check_eq(evts[2], "");
47   do_check_false(evts[3]);
48   do_check_eq(evts[4], "startElement");
50   evts = [];
51   saxReader.parseFromString("<?xml version='1.0' encoding='UTF-8'?><root/>", "application/xml");
52   do_check_eq(evts.length, 5);
53   do_check_eq(evts[0], "startDocument");
54   do_check_eq(evts[1], "1.0");
55   do_check_eq(evts[2], "UTF-8");
56   do_check_false(evts[3]);
57   do_check_eq(evts[4], "startElement");
59   evts = [];
60   saxReader.parseFromString("<?xml version='1.0' standalone='yes'?><root/>", "application/xml");
61   do_check_eq(evts.length, 5);
62   do_check_eq(evts[0], "startDocument");
63   do_check_eq(evts[1], "1.0");
64   do_check_eq(evts[2], "");
65   do_check_true(evts[3]);
66   do_check_eq(evts[4], "startElement");
68   evts = [];
69   saxReader.parseFromString("<?xml version='1.0' encoding='UTF-8' standalone='yes'?><root/>", "application/xml");
70   do_check_eq(evts.length, 5);
71   do_check_eq(evts[0], "startDocument");
72   do_check_eq(evts[1], "1.0");
73   do_check_eq(evts[2], "UTF-8");
74   do_check_true(evts[3]);
75   do_check_eq(evts[4], "startElement");
77   evts = [];
78   // Not well-formed
79   saxReader.parseFromString("<?xml encoding='UTF-8'?><root/>", "application/xml");
80   do_check_eq(evts.length, 1);
81   do_check_eq(evts[0], "startDocument");