diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /dom/xslt/tests/mochitest/test_bug1436040.html | |
parent | Initial commit. (diff) | |
download | firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/xslt/tests/mochitest/test_bug1436040.html')
-rw-r--r-- | dom/xslt/tests/mochitest/test_bug1436040.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dom/xslt/tests/mochitest/test_bug1436040.html b/dom/xslt/tests/mochitest/test_bug1436040.html new file mode 100644 index 0000000000..df17e75779 --- /dev/null +++ b/dom/xslt/tests/mochitest/test_bug1436040.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Test for xslt-param PIs</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id="log"></div> +<script> +async_test(t => { + let iframe = document.createElement('iframe'); + let src = `<?xml version="1.0"?> + <?xslt-param name="param" value="true"?> + <?xml-stylesheet type="text/xml" href="#bug"?> + <doc> + <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" id="bug"> + <xsl:output method="html"/> + <xsl:param name="param">false</xsl:param> + <xsl:template match="/"> + <xsl:element name="script">parent.postMessage({test: 1, result: <xsl:value-of select="$param"/>}, "*");</xsl:element> + </xsl:template> + </xsl:stylesheet> + </doc>`; + iframe.src = "data:text/xml," + encodeURIComponent(src); + self.addEventListener("message", t.step_func_done(({data: {test, result}}) => { + if (test == 1) { + assert_true(result, "The stylesheet param's value should be set by the xslt-param PI."); + } + })); + document.body.appendChild(iframe); +}, "Test for xslt-param PIs"); +async_test(t => { + let iframe = document.createElement('iframe'); + let src = `<?xml version="1.0"?> + <?xslt-param-namespace prefix="foo" namespace="foonamespace"?> + <?xslt-param name="param" select="//foo:default"?> + <?xml-stylesheet type="text/xml" href="#bug"?> + <doc> + <default xmlns="foonamespace">true</default> + <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" id="bug"> + <xsl:output method="html"/> + <xsl:param name="param">false</xsl:param> + <xsl:template match="/"> + <xsl:element name="script">parent.postMessage({test: 2, result: <xsl:value-of select="$param"/>}, "*");</xsl:element> + </xsl:template> + </xsl:stylesheet> + </doc>`; + iframe.src = "data:text/xml," + encodeURIComponent(src); + self.addEventListener("message", t.step_func_done(({data: {test, result}}) => { + if (test == 2) { + assert_true(result, "xslt-param-namespace should have set the right namespace"); + } + })); + document.body.appendChild(iframe); +}, "Test for xslt-param PIs"); +</script> |