Thu, 15 Jan 2015 21:03:48 +0100
Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=276037
5 -->
6 <head>
7 <title>Test for Bug 276037</title>
8 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
10 </head>
11 <body>
12 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=276037">Mozilla Bug 276037</a>
13 <p id="display"></p>
14 <div id="content" style="display: none">
16 </div>
17 <pre id="test">
18 <script class="testbody" type="text/javascript">
19 /** Test for Bug 276037 **/
20 function countElements (node, namespaceURI, localName) {
21 var count = 0;
22 for (var i = 0; i < node.childNodes.length; i++) {
23 var child = node.childNodes[i];
24 if (child.nodeType == Node.ELEMENT_NODE && child.localName == localName &&
25 child.namespaceURI == namespaceURI) {
26 count++;
27 }
28 if (child.hasChildNodes()) {
29 count += countElements(child, namespaceURI, localName);
30 }
31 }
32 return count;
33 }
35 function checkElements(namespaceURI, localName) {
36 var elementsNS = document.getElementsByTagNameNS(namespaceURI, localName);
37 var elements = document.getElementsByTagName(localName);
38 var elementCount = countElements(document, namespaceURI, localName);
39 const gEBTN = 'document.getElementsByTagName(\'' + localName + '\').length: ' + elements.length;
40 const gEBTNNS = '; document.getElementsByTagNameNS(\'' + namespaceURI + '\', \'' + localName + '\').length: ' + elementsNS.length;
42 text1 = gEBTN + '; element count: ' + elementCount;
43 text2 = gEBTNNS + '; element count: ' + elementCount;
45 is(elements.length, elementCount, text1);
46 is(elementsNS.length, elementCount, text2);
47 is(global.gEBTN[namespaceURI][localName].length, elementCount, text1);
48 is(global.gEBTNNS[namespaceURI][localName].length, elementCount, text2);
49 }
51 const xhtmlNS = 'http://www.w3.org/1999/xhtml';
53 function checkSpansAndScripts () {
54 checkElements(xhtmlNS, 'span');
55 checkElements(xhtmlNS, 'script');
56 }
58 SimpleTest.waitForExplicitFinish();
59 addLoadEvent(function() { checkSpansAndScripts() });
60 addLoadEvent(SimpleTest.finish);
62 // Init our global lists
63 var global = {};
64 global.gEBTN = {};
65 global.gEBTN[xhtmlNS] = {};
66 global.gEBTNNS = {};
67 global.gEBTNNS[xhtmlNS] = {};
69 global.gEBTN[xhtmlNS].span = document.getElementsByTagName("span");
70 global.gEBTNNS[xhtmlNS].span = document.getElementsByTagNameNS(xhtmlNS, "span");
71 global.gEBTN[xhtmlNS].script = document.getElementsByTagName("script");
72 global.gEBTNNS[xhtmlNS].script = document.getElementsByTagNameNS(xhtmlNS, "script");
73 </script>
74 <p><span>Static text in span.</span></p>
75 <script type="text/javascript">
76 checkSpansAndScripts();
77 </script>
78 <p><span>Static text in span.</span></p>
79 <script type="text/javascript">
80 checkSpansAndScripts();
81 </script>
82 <p><span>Static text in span.</span></p>
83 <script type="text/javascript">
84 checkSpansAndScripts();
85 </script>
86 <p><span>Static text in span.</span></p>
87 <script type="text/javascript">
88 checkSpansAndScripts();
89 </script>
90 <p><span>Static text in span.</span></p>
91 <script type="text/javascript">
92 checkSpansAndScripts();
93 </script>
94 <p><span>Static text in span.</span></p>
95 <script type="text/javascript">
96 checkSpansAndScripts();
97 </script>
98 <p><span>Static text in span.</span></p>
99 <script type="text/javascript">
100 checkSpansAndScripts();
101 </script>
102 </pre>
103 </body>
104 </html>