<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=433533 --> <head> <title>Test for Bug 433533</title> <script type="text/javascript" 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=433533">Mozilla Bug 433533</a> <p id="display"></p> <div id="content" style="display: none"> </div> <pre id="test"> <script class="testbody" type="text/javascript"> /** Test for Bug 433533 **/ var input = document.createElement("input"); input.setAttribute("type", "hidden"); is(input.getAttribute("type"), "hidden", "Setting type attribute didn't work!"); input.setAttribute("type", "hiDDen"); is(input.getAttribute("type"), "hiDDen", "Type attribute didn't store the original value"); is(input.type, "hidden", "Wrong input.type!"); input.setAttribute("type", "HIDDEN"); is(input.getAttribute("type"), "HIDDEN", "Type attribute didn't store the original value"); is(input.type, "hidden", "Wrong input.type!"); var td = document.createElement("td"); td.setAttribute("scope", "rOW"); is(td.getAttribute("scope"), "rOW", "Scope attribute didn't store the original value"); td.setAttribute("scope", "row"); is(td.getAttribute("scope"), "row", "Scope attribute didn't store the original value"); td.setAttribute("colspan", "100k"); is(td.getAttribute("colspan"), "100k", "Colspan attribute didn't store the original value"); td.setAttribute("colspan", " 100 "); is(td.getAttribute("colspan"), " 100 ", "Colspan attribute didn't store the original value"); td.setAttribute("colspan", "100"); is(td.getAttribute("colspan"), "100", "Colspan attribute didn't store the original value"); // Note, if colspan is negative, it is set to 1, because of backwards compatibility. // @see nsHTMLTableCellElement::ParseAttribute td.setAttribute("colspan", "-100k"); is(td.getAttribute("colspan"), "-100k", "Colspan attribute didn't store the original value"); td.setAttribute("colspan", " -100 "); is(td.getAttribute("colspan"), " -100 ", "Colspan attribute didn't store the original value"); is(td.colSpan, 1, "Colspan reflection should be correct for ' -100 '"); td.setAttribute("colspan", "-100"); is(td.getAttribute("colspan"), "-100", "Colspan attribute didn't store the original value"); is(td.colSpan, 1, "Colspan reflection should be correct for '-100'"); td.setAttribute("colspan", "foobar"); is(td.getAttribute("colspan"), "foobar", "Colspan attribute didn't store the original value"); var iframe = document.createElement("iframe"); iframe.setAttribute("marginwidth", "50%"); is(iframe.getAttribute("marginwidth"), "50%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "50"); is(iframe.getAttribute("marginwidth"), "50", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "0"); is(iframe.getAttribute("marginwidth"), "0", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "0%"); is(iframe.getAttribute("marginwidth"), "0%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "9999999999999999999999"); is(iframe.getAttribute("marginwidth"), "9999999999999999999999", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "9999999999999999999999%"); is(iframe.getAttribute("marginwidth"), "9999999999999999999999%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-9999999999999999999999"); is(iframe.getAttribute("marginwidth"), "-9999999999999999999999", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-9999999999999999999999%"); is(iframe.getAttribute("marginwidth"), "-9999999999999999999999%", "Marginwidth attribute didn't store the original value"); // Test PRInt32 min/max value iframe.setAttribute("marginwidth", "2147483647"); is(iframe.getAttribute("marginwidth"), "2147483647", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "2147483647%"); is(iframe.getAttribute("marginwidth"), "2147483647%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-2147483648"); is(iframe.getAttribute("marginwidth"), "-2147483648", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-2147483648%"); is(iframe.getAttribute("marginwidth"), "-2147483648%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "2147483646"); is(iframe.getAttribute("marginwidth"), "2147483646", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "2147483647%"); is(iframe.getAttribute("marginwidth"), "2147483647%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-2147483647"); is(iframe.getAttribute("marginwidth"), "-2147483647", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-2147483647%"); is(iframe.getAttribute("marginwidth"), "-2147483647%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "2147483648"); is(iframe.getAttribute("marginwidth"), "2147483648", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "2147483648%"); is(iframe.getAttribute("marginwidth"), "2147483648%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-2147483649"); is(iframe.getAttribute("marginwidth"), "-2147483649", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-2147483649%"); is(iframe.getAttribute("marginwidth"), "-2147483649%", "Marginwidth attribute didn't store the original value"); // some values 0 > x > NS_ATTRVALUE_INTEGERTYPE_MAXVALUE iframe.setAttribute("marginwidth", "134217726"); is(iframe.getAttribute("marginwidth"), "134217726", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "134217727"); is(iframe.getAttribute("marginwidth"), "134217727", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "134217728"); is(iframe.getAttribute("marginwidth"), "134217728", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "134217729"); is(iframe.getAttribute("marginwidth"), "134217729", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "134217726%"); is(iframe.getAttribute("marginwidth"), "134217726%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "134217727%"); is(iframe.getAttribute("marginwidth"), "134217727%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "134217728%"); is(iframe.getAttribute("marginwidth"), "134217728%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "134217729%"); is(iframe.getAttribute("marginwidth"), "134217729%", "Marginwidth attribute didn't store the original value"); // some values 0 < x < NS_ATTRVALUE_INTEGERTYPE_MINVALUE iframe.setAttribute("marginwidth", "-134217727"); is(iframe.getAttribute("marginwidth"), "-134217727", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-134217728"); is(iframe.getAttribute("marginwidth"), "-134217728", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-134217729"); is(iframe.getAttribute("marginwidth"), "-134217729", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-134217730"); is(iframe.getAttribute("marginwidth"), "-134217730", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-134217727%"); is(iframe.getAttribute("marginwidth"), "-134217727%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-134217728%"); is(iframe.getAttribute("marginwidth"), "-134217728%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-134217729%"); is(iframe.getAttribute("marginwidth"), "-134217729%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-134217730%"); is(iframe.getAttribute("marginwidth"), "-134217730%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-0"); is(iframe.getAttribute("marginwidth"), "-0", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-0%"); is(iframe.getAttribute("marginwidth"), "-0%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", " 0 "); is(iframe.getAttribute("marginwidth"), " 0 ", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", " 0% "); is(iframe.getAttribute("marginwidth"), " 0% ", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-50%"); is(iframe.getAttribute("marginwidth"), "-50%", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "-50"); is(iframe.getAttribute("marginwidth"), "-50", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", " -50% "); is(iframe.getAttribute("marginwidth"), " -50% ", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", " -50 "); is(iframe.getAttribute("marginwidth"), " -50 ", "Marginwidth attribute didn't store the original value"); iframe.setAttribute("marginwidth", "foobar"); is(iframe.getAttribute("marginwidth"), "foobar", "Marginwidth attribute didn't store the original value"); var bd = document.createElement("body"); bd.setAttribute("bgcolor", "red"); is(bd.getAttribute("bgcolor"), "red", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "red", ".bgColor didn't return the right value!"); bd.setAttribute("bgcolor", " red "); is(bd.getAttribute("bgcolor"), " red ", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, " red ", ".bgColor didn't return the right value!"); bd.setAttribute("bgcolor", "#ff0000"); is(bd.getAttribute("bgcolor"), "#ff0000", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "#ff0000", ".bgColor didn't return the right value!"); bd.setAttribute("bgcolor", "#f00"); is(bd.getAttribute("bgcolor"), "#f00", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "#f00", ".bgColor didn't return the right value!"); bd.setAttribute("bgcolor", " #ff0000 "); is(bd.getAttribute("bgcolor"), " #ff0000 ", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, " #ff0000 ", ".bgColor didn't return the right value!"); bd.setAttribute("bgcolor", "nonsense(complete)"); is(bd.getAttribute("bgcolor"), "nonsense(complete)", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "nonsense(complete)", ".bgColor didn't return the right value!"); // same test again setting the prop bd.bgColor = "red"; is(bd.getAttribute("bgcolor"), "red", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "red", ".bgColor didn't return the right value!"); bd.bgColor = " red "; is(bd.getAttribute("bgcolor"), " red ", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, " red ", ".bgColor didn't return the right value!"); bd.bgColor = "#ff0000"; is(bd.getAttribute("bgcolor"), "#ff0000", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "#ff0000", ".bgColor didn't return the right value!"); bd.bgColor = "#f00"; is(bd.getAttribute("bgcolor"), "#f00", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "#f00", ".bgColor didn't return the right value!"); bd.bgColor = " #ff0000 "; is(bd.getAttribute("bgcolor"), " #ff0000 ", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, " #ff0000 ", ".bgColor didn't return the right value!"); bd.bgColor = "nonsense(complete)"; is(bd.getAttribute("bgcolor"), "nonsense(complete)", "Bgcolor attribute didn't store the original value"); is(bd.bgColor, "nonsense(complete)", ".bgColor didn't return the right value!"); // equal color, unequal string var f1 = document.createElement("font"); var f2 = document.createElement("font"); var f3 = document.createElement("font"); f1.color = "#f00"; f2.color = "#ff0000"; f3.color = "red"; isnot(f1.color, f2.color, "#f00 and #ff0000 should not compare equal"); isnot(f1.color, f3.color, "#f00 and red should not compare equal"); isnot(f2.color, f3.color, "#ff0000 and red should not compare equal"); isnot(f1.getAttribute("color"), f2.getAttribute("color"), "#f00 and #ff0000 should not compare equal [attr]"); isnot(f1.getAttribute("color"), f3.getAttribute("color"), "#f00 and red should not compare equal [attr]"); isnot(f2.getAttribute("color"), f3.getAttribute("color"), "#ff0000 and red should not compare equal [attr]"); var video = document.createElement("video"); video.setAttribute("playbackrate", "1"); is(video.getAttribute('playbackrate'), "1", "Playbackrate attribute didn't store the original value"); video.setAttribute("playbackrate", "1.5"); is(video.getAttribute('playbackrate'), "1.5", "Playbackrate attribute didn't store the original value"); video.setAttribute("playbackrate", "999999999999999999"); is(video.getAttribute('playbackrate'), "999999999999999999", "Playbackrate attribute didn't store the original value"); video.setAttribute("playbackrate", "-999999999999999999"); is(video.getAttribute('playbackrate'), "-999999999999999999", "Playbackrate attribute didn't store the original value"); video.setAttribute("playbackrate", "foo"); is(video.getAttribute('playbackrate'), "foo", "Playbackrate attribute didn't store the original value"); </script> </pre> </body> </html>