<!
doctype html>
<
meta charset=utf-8>
<
title>HTMLOptionElement.text</
title>
<
link rel=author
title=Ms2ger href=
"mailto:Ms2ger@gmail.com">
<
link rel=help href=
"http://www.whatwg.org/html/#dom-option-text">
<
script src=
"/resources/testharness.js"></
script>
<
script src=
"/resources/testharnessreport.js"></
script>
<
div id=log></
div>
<
script>
test(function() {
var option = document.createElement(
"option");
option.appendChild(document.createElement(
"font"))
.appendChild(document.createTextNode(
" font "));
assert_equals(
option.text,
"font");
},
"option.text should recurse");
test(function() {
var option = document.createElement(
"option");
option.appendChild(document.createTextNode(
" before "));
option.appendChild(document.createElement(
"script"))
.appendChild(document.createTextNode(
" script "));
option.appendChild(document.createTextNode(
" after "));
assert_equals(
option.text,
"before after");
},
"option.text should not recurse into HTML script elements");
test(function() {
var option = document.createElement(
"option");
option.appendChild(document.createTextNode(
" before "));
option.appendChild(document.createElementNS(
"http://www.w3.org/2000/svg",
"script"))
.appendChild(document.createTextNode(
" script "));
option.appendChild(document.createTextNode(
" after "));
assert_equals(
option.text,
"before after");
},
"option.text should not recurse into SVG script elements");
test(function() {
var option = document.createElement(
"option");
option.appendChild(document.createTextNode(
" before "));
option.appendChild(document.createElementNS(
"http://www.w3.org/1998/Math/MathML", "script"))
.appendChild(document.createTextNode(" script "));
option.appendChild(document.createTextNode(" after "));
assert_equals(option.text, "before script after");
}, "option.text should recurse into MathML script elements");
test(function() {
var option = document.createElement("option");
option.appendChild(document.createTextNode(" before "));
option.appendChild(document.createElementNS(null, "script"))
.appendChild(document.createTextNode(" script "));
option.appendChild(document.createTextNode(" after "));
assert_equals(option.text, "before script after");
}, "option.text should recurse into null script elements");
test(function() {
var option = document.createElement("option");
var span = option.appendChild(document.createElement("span"));
span.appendChild(document.createTextNode(" Some "));
span.appendChild(document.createElement("script"))
.appendChild(document.createTextNode(" script "));
option.appendChild(document.createTextNode(" Text "));
assert_equals(option.text, "Some Text");
}, "option.text should work if a child of the option ends with a script");
</script>