summaryrefslogtreecommitdiffstats
path: root/editor/libeditor/tests/test_paste_as_quote_in_text_control.html
diff options
context:
space:
mode:
Diffstat (limited to 'editor/libeditor/tests/test_paste_as_quote_in_text_control.html')
-rw-r--r--editor/libeditor/tests/test_paste_as_quote_in_text_control.html48
1 files changed, 48 insertions, 0 deletions
diff --git a/editor/libeditor/tests/test_paste_as_quote_in_text_control.html b/editor/libeditor/tests/test_paste_as_quote_in_text_control.html
new file mode 100644
index 0000000000..443ee00eaa
--- /dev/null
+++ b/editor/libeditor/tests/test_paste_as_quote_in_text_control.html
@@ -0,0 +1,48 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Testing "paste" event dispatching for cmd_pasteQuote command</title>
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+<script>
+"use strict";
+
+SimpleTest.waitForExplicitFinish();
+SimpleTest.waitForFocus(async () => {
+ info("Waiting for initializing clipboard...");
+ await SimpleTest.promiseClipboardChange(
+ "plain text",
+ () => SpecialPowers.clipboardCopyString("plain text")
+ );
+
+ for (let selector of ["input", "textarea"]) {
+ const textControl = document.querySelector(selector);
+ textControl.focus();
+ textControl.addEventListener(
+ "paste",
+ event => event.preventDefault(),
+ {once: true}
+ );
+ SpecialPowers.doCommand(window, "cmd_pasteQuote");
+ is(
+ textControl.value,
+ "",
+ `<${selector}> should not have pasted text because "paste" event should've been canceled`
+ );
+ SpecialPowers.doCommand(window, "cmd_pasteQuote");
+ is(
+ textControl.value.replace(/\n/g, ""),
+ "> plain text",
+ `<${selector}> should have pasted text with a ">"`
+ );
+ }
+
+ SimpleTest.finish();
+});
+</script>
+</head>
+<body>
+<input><textarea></textarea>
+</body>
+</html>