gecko/toolkit/content/tests/chrome/test_bug418874.xul
2012-05-21 12:12:37 +01:00

72 lines
2.1 KiB
XML

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