summaryrefslogtreecommitdiffstats
path: root/toolkit/content/tests/chrome/test_bug418874.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/tests/chrome/test_bug418874.xul')
-rw-r--r--toolkit/content/tests/chrome/test_bug418874.xul71
1 files changed, 71 insertions, 0 deletions
diff --git a/toolkit/content/tests/chrome/test_bug418874.xul b/toolkit/content/tests/chrome/test_bug418874.xul
new file mode 100644
index 000000000..13f0a1453
--- /dev/null
+++ b/toolkit/content/tests/chrome/test_bug418874.xul
@@ -0,0 +1,71 @@
+<?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>