browser/components/feeds/test/test_bug436801.html

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

     1 <!DOCTYPE HTML>
     2 <html>
     3 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=436801
     5 -->
     6 <head>
     7   <title>Test feed preview subscribe UI</title>
     8   <script type="text/javascript" src="/MochiKit/packed.js"></script>
     9   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    10   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    11 </head>
    12 <body>
    13 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436801">Mozilla Bug 436801</a>
    14 <p id="display"><iframe id="testFrame" src="bug436801-data.xml"></iframe></p>
    15 <div id="content" style="display: none">
    16 </div>
    17 <pre id="test">
    18 <script class="testbody" type="text/javascript">
    20 SimpleTest.waitForExplicitFinish();
    22 addLoadEvent(function () {
    23   var doc = SpecialPowers.wrap($("testFrame")).contentDocument;
    25   checkNode(doc.getElementById("feedTitleText"), [
    26     "ELEMENT", "h1", { "xml:base": "http://www.example.com/foo/bar/" }, [
    27       ["TEXT", "Example of a "],
    28       ["ELEMENT", "em", [
    29         ["TEXT", "special"],
    30       ]],
    31       ["TEXT", " feed ("],
    32       ["ELEMENT", "img", { "src": "baz.png" }],
    33       ["TEXT", ")"],
    34     ]
    35   ]);
    37   checkNode(doc.getElementById("feedSubtitleText"), [
    38     "ELEMENT", "h2", { "xml:base": "http://www.example.com/foo/bar/" }, [
    39       ["TEXT", "With a "],
    40       ["ELEMENT", "em", [
    41         ["TEXT", "special"],
    42       ]],
    43       ["TEXT", " subtitle ("],
    44       ["ELEMENT", "img", { "src": "baz.png" }],
    45       ["TEXT", ")"],
    46     ]
    47   ]);
    49   checkNode(doc.querySelector(".entry").firstChild.firstChild.firstChild, [
    50     "ELEMENT", "span", { "xml:base": "http://www.example.com/foo/bar/" }, [
    51       ["TEXT", "Some "],
    52       ["ELEMENT", "abbr", { title: "Extensible Hyper-text Mark-up Language" }, [
    53         ["TEXT", "XHTML"],
    54       ]],
    55       ["TEXT", " examples ("],
    56       ["ELEMENT", "img", { "src": "baz.png" }],
    57       ["TEXT", ")"],
    58     ]
    59   ]);
    61   checkNode(doc.querySelectorAll(".entry")[1].firstChild.firstChild.firstChild, [
    62     "ELEMENT", "span", { "xml:base": "http://www.example.com/foo/bar/" }, [
    63       ["TEXT", "Some "],
    64       ["ELEMENT", "abbr", { title: "Hyper-text Mark-up Language" }, [
    65         ["TEXT", "HTML"],
    66       ]],
    67       ["TEXT", " examples ("],
    68       ["ELEMENT", "img", { "src": "baz.png" }],
    69       ["TEXT", ")"],
    70     ]
    71   ]);
    72 });
    74 addLoadEvent(SimpleTest.finish);
    76 function checkNode(node, schema) {
    77   var typeName = schema.shift() + "_NODE";
    78   var type = Node[typeName];
    79   is(node.nodeType, type, "Node should be expected type " + typeName);
    80   if (type == Node.TEXT_NODE) {
    81     var text = schema.shift();
    82     is(node.data, text, "Text should match");
    83     return;
    84   }
    85   // type == Node.ELEMENT_NODE
    86   var tag = schema.shift();
    87   is(node.localName, tag, "Element should have expected tag");
    88   while (schema.length) {
    89     var val = schema.shift();
    90     if (Array.isArray(val))
    91       var childSchema = val;
    92     else
    93       var attrSchema = val;
    94   }
    95   if (attrSchema) {
    96     var nsTable = {
    97       xml: "http://www.w3.org/XML/1998/namespace",
    98     };
    99     for (var name in attrSchema) {
   100       var [ns, nsName] = name.split(":");
   101       var val = nsName ? node.getAttributeNS(nsTable[ns], nsName) :
   102                 node.getAttribute(name);
   103       is(val, attrSchema[name], "Attribute " + name + " should match");
   104     }
   105   }
   106   if (childSchema) {
   107     var numChildren = node.childNodes.length;
   108     is(childSchema.length, numChildren,
   109        "Element should have expected number of children");
   110     for (var i = 0; i < numChildren; i++)
   111       checkNode(node.childNodes[i], childSchema[i]);
   112   }
   113 }
   115 </script>
   116 </pre>
   117 </body>
   118 </html>

mercurial