summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/chrome/test_clipboard_events_chrome.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/chrome/test_clipboard_events_chrome.html')
-rw-r--r--dom/tests/mochitest/chrome/test_clipboard_events_chrome.html63
1 files changed, 63 insertions, 0 deletions
diff --git a/dom/tests/mochitest/chrome/test_clipboard_events_chrome.html b/dom/tests/mochitest/chrome/test_clipboard_events_chrome.html
new file mode 100644
index 000000000..509cd3d5d
--- /dev/null
+++ b/dom/tests/mochitest/chrome/test_clipboard_events_chrome.html
@@ -0,0 +1,63 @@
+<html>
+<body onload="runTest()">
+
+<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>
+
+<script>
+// This test checks that the dom.event.clipboardevents.enabled does not apply to chrome shells.
+
+SimpleTest.waitForExplicitFinish();
+function runTest()
+{
+ SpecialPowers.pushPrefEnv({"set": [['dom.event.clipboardevents.enabled', false]]}, function() {
+ window.open("data:text/html,<body onload='window.opener.doChecks(this)'><input id='i' value='Sample Text'></body>",
+ "_blank", "chrome,width=200,height=200");
+ });
+}
+
+var event_fired = false;
+
+function doChecks(win)
+{
+ var windowFocused = function() {
+ var textbox = win.document.getElementById("i");
+ textbox.value = "Sample Text";
+
+ textbox.oncut = function() { event_fired = true; };
+ textbox.oncopy = function() { event_fired = true; };
+ textbox.onpaste = function() { event_fired = true; };
+
+ textbox.select();
+ textbox.focus();
+
+ textbox.setSelectionRange(1, 4);
+ synthesizeKey("x", {accelKey: 1}, win);
+ is(textbox.value, "Sle Text", "cut changed text when preference is disabled");
+ ok(event_fired, "cut event fired when preference is disabled")
+
+ event_fired = false;
+ textbox.setSelectionRange(4, 6);
+ synthesizeKey("c", {accelKey: 1}, win);
+ is(textbox.value, "Sle Text", "cut changed text when preference is disabled");
+ ok(event_fired, "copy event fired when preference is disabled")
+
+ event_fired = false;
+ textbox.setSelectionRange(1, 4);
+ synthesizeKey("v", {accelKey: 1}, win);
+ is(textbox.value, "STeText", "paste changed text when preference is disabled");
+ ok(event_fired, "paste event fired when preference is disabled")
+
+ win.close();
+ SimpleTest.finish();
+ }
+
+ SimpleTest.waitForFocus(windowFocused, win);
+}
+
+</script>
+
+<p id="display"></p>
+</body></html>