<?xml version="1.0"?> <!-- This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> <?xml-stylesheet href="chrome://global/skin" type="text/css"?> <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?> <window title="Textbox with placeholder test" width="500" height="600" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> <hbox> <textbox id="t1" placeholder="empty"/> </hbox> <hbox> <textbox id="t2" placeholder="empty"/> </hbox> <!-- test results are displayed in the html:body --> <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"> <p id="display"> </p> <div id="content" style="display: none"> </div> <pre id="test"> </pre> </body> <!-- test code goes here --> <script type="application/javascript"><![CDATA[ SimpleTest.waitForExplicitFinish(); function doTest() { var t1 = $("t1"); var t2 = $("t2"); setTextboxValue(t1, "1"); var t1Enabled = {}; var t1CanUndo = {}; t1.editor.canUndo(t1Enabled, t1CanUndo); is(t1CanUndo.value, true, "undo correctly enabled when placeholder was not changed through property"); t2.placeholder = "reallyempty"; setTextboxValue(t2, "2"); var t2Enabled = {}; var t2CanUndo = {}; t2.editor.canUndo(t2Enabled, t2CanUndo); is(t2CanUndo.value, true, "undo correctly enabled when placeholder explicitly changed through property"); SimpleTest.finish(); } function setTextboxValue(textbox, value) { textbox.focus(); for (var i = 0; i < value.length; ++i) { synthesizeKey(value.charAt(i), {}); } textbox.blur(); } SimpleTest.waitForFocus(doTest); ]]></script> </window>