content/xslt/tests/mochitest/test_bug440974.html
author David Mandelin <dmandelin@mozilla.com>
Mon, 09 Aug 2010 18:29:34 -0700
changeset 53358 688ca6c81137c6972b5a7f172394c7b4d332e93d
parent 28048 8f7b73d88f6bbedec99c6c8ef48b243ab922d05c
child 75086 95496a360748609134a5c666d57c7f48aa23393e
permissions -rw-r--r--
[JAEGER] Bug 585801 trial fix: innerize object passed as scope chain for JS evaluation

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=440974
-->
<head>
  <title>Test for Bug 440974</title>
  <script type="text/javascript" src="/MochiKit/packed.js"></script>
  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=440974">Mozilla Bug 440974</a>
<p id="display"></p>
<div id="content" style="display: none">
  
</div>
<pre id="test">
<script class="testbody" type="text/javascript">

/** Test for Bug 440974 **/

function isTxResult(node)
{
  return node.namespaceURI == "http://www.mozilla.org/TransforMiix" &&
         node.localName == "result";
}

var xmldoc, xsltdoc;
[ xmldoc, xsltdoc ] = [ new DOMParser().parseFromString(String(xml), "text/xml") for each (xml in [ 

    <items><item><id>1</id></item><item><id>2</id></item><item><id>3</id></item></items> ,

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:output method="xml" />
        <xsl:template match="item"><foo id="{id}"/></xsl:template>
    </xsl:stylesheet>

]) ];
var processor = new XSLTProcessor;
processor.importStylesheet(xsltdoc);
var result = processor.transformToDocument(xmldoc);
var resultElements = Array.prototype.filter.call(result.getElementsByTagName('*'), isTxResult);
is(resultElements.length, 1, "there should be only one 'transformiix:result' element"); 
is(resultElements[0], result.documentElement, "the 'transformiix:result' element should be the document element"); 

</script>
</pre>
</body>
</html>