<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Selection: STYLE and SCRIPT elements should be included in Selection.toString() if they are display!=none</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
window.onload = function() {
test(function() {
var selection = window.getSelection();
var p1 = document.getElementById("p1");
var range = document.createRange();
test_block_script();
range.selectNode(p1);
selection.addRange(range);
assert_equals(selection.toString().replace(/\r\n/g, "\n"), '\nstyle { display:block; color: green; } script { color: blue; }\nfunction test_block_script() { let pre = document.createElement("pre"); pre.append(document.createTextNode("PASS")); document.getElementById("p1").append(pre); }\n\nPASS');
});
};
</script>
<div id=log></div>
<div id="p1">
<style style="display:none">#not_included{}</style>
<style>
style { display:block; color: green; }
script { color: blue; }
</style>
<script>function not_included(){}</script>
<script style="display:block">
function test_block_script() {
let pre = document.createElement("pre");
pre.append(document.createTextNode("PASS"));
document.getElementById("p1").append(pre);
}
</script>
</div>
</body>
</html>