Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html>
<!--
-->
<head>
<title>Test for Bug 401662</title>
<script 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=401662">Mozilla Bug 401662</a>
<p id="display"><iframe id="testframe2"
srcdoc="<html><body>foo<style style='display:block'>bar{}</style></body></html>">
</iframe>
</p>
<div id="content" style="display: none">
<iframe id="testframe"
srcdoc="<html><body>foo<style>bar</style></body></html>">
</iframe>
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
/** Test for Bug 401662 - don't serialize style elements in body into
plaintext**/
SimpleTest.waitForExplicitFinish();
window.onload = function() {
const Cu = SpecialPowers.Cu;
var encoder = Cu.createDocumentEncoder("text/html");
var doc = $("testframe").contentDocument;
encoder.init(doc, "text/plain", encoder.OutputBodyOnly);
encoder.setCharset("UTF-8");
var out = encoder.encodeToString();
is(out, "foo", "style content serialized in plaintext?");
var encoder = Cu.createDocumentEncoder("text/html");
var doc = $("testframe2").contentDocument;
encoder.init(doc, "text/plain", encoder.OutputBodyOnly);
encoder.setCharset("UTF-8");
var out = encoder.encodeToString();
is(out.replace(/\r\n/g, "\n"), "foo\nbar{}", "visible style content NOT serialized in plaintext?");
SimpleTest.finish();
}
</script>
</pre>
</body>
</html>