content/base/test/test_bug276037-2.xhtml

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <html xmlns="http://www.w3.org/1999/xhtml">
     2 <!--
     3 https://bugzilla.mozilla.org/show_bug.cgi?id=276037
     4 -->
     5 <head>
     6   <title>Test for Bug 276037</title>
     7   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>        
     8   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     9 </head>
    10 <body>
    11 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=276037">Mozilla Bug 276037</a>
    12 <p id="display"></p>
    13 <div id="content" style="display: none">
    15 </div>
    16 <pre id="test">
    17 <script class="testbody" type="text/javascript">
    18 <![CDATA[
    20 /** Test for Bug 276037 **/
    21 function countElements (node, namespaceURI, tagName) {
    22   var count = 0;
    23   for (var i = 0; i < node.childNodes.length; i++) {
    24     var child = node.childNodes[i];
    25     if (child.nodeType == Node.ELEMENT_NODE && child.tagName == tagName &&
    26         child.namespaceURI == namespaceURI) {
    27       count++;
    28     }
    29     if (child.hasChildNodes()) {
    30       count += countElements(child, namespaceURI, tagName);
    31     }
    32   }
    33   return count;
    34 }
    36 function checkElements(namespaceURI, tagName) {
    37   var elementsNS = document.getElementsByTagNameNS(namespaceURI, tagName);
    38   var elements = document.getElementsByTagName(tagName);
    39   var elementCount = countElements(document, namespaceURI, tagName);
    40   const gEBTN = 'document.getElementsByTagName(\'' + tagName + '\').length: ' + elements.length;
    41   const gEBTNNS = '; document.getElementsByTagNameNS(\'' + namespaceURI + '\', \'' + tagName + '\').length: ' + elementsNS.length;
    43   var text1 = gEBTN + '; element count: ' + elementCount;
    44   var text2 = gEBTNNS + '; element count: ' + elementCount;
    46   is(elements.length, elementCount, text1);
    47   is(elementsNS.length, elementCount, text2);
    48   is(global.gEBTN[namespaceURI][tagName].length, elementCount, text1);
    49   is(global.gEBTNNS[namespaceURI][tagName].length, elementCount, text2);
    50 }
    52 const xhtmlNS = 'http://www.w3.org/1999/xhtml';
    54 function checkSpansAndScripts () {
    55   checkElements(xhtmlNS, 'span');
    56   checkElements(xhtmlNS, 'script');
    57 }
    59 SimpleTest.waitForExplicitFinish();
    60 addLoadEvent(function() { checkSpansAndScripts() });
    61 addLoadEvent(SimpleTest.finish);
    63 // Init our global lists
    64 var global = {};
    65 global.gEBTN = {};
    66 global.gEBTN[xhtmlNS] = {};
    67 global.gEBTNNS = {};
    68 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 ]]>
    74 </script>
    75 <p><span>Static text in span.</span></p>
    76 <script type="text/javascript">
    77 checkSpansAndScripts();
    78 </script>
    79 <p><span>Static text in span.</span></p>
    80 <script type="text/javascript">
    81 checkSpansAndScripts();
    82 </script>
    83 <p><span>Static text in span.</span></p>
    84 <script type="text/javascript">
    85 checkSpansAndScripts();
    86 </script>
    87 <p><span>Static text in span.</span></p>
    88 <script type="text/javascript">
    89 checkSpansAndScripts();
    90 </script>
    91 <p><span>Static text in span.</span></p>
    92 <script type="text/javascript">
    93 checkSpansAndScripts();
    94 </script>
    95 <p><span>Static text in span.</span></p>
    96 <script type="text/javascript">
    97 checkSpansAndScripts();
    98 </script>
    99 <p><span>Static text in span.</span></p>
   100 <script type="text/javascript">
   101 checkSpansAndScripts();
   102 </script>
   103 </pre>
   104 </body>
   105 </html>

mercurial