<!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>