summaryrefslogtreecommitdiffstats
path: root/editor/libeditor/tests/test_bug1568996.html
diff options
context:
space:
mode:
Diffstat (limited to 'editor/libeditor/tests/test_bug1568996.html')
-rw-r--r--editor/libeditor/tests/test_bug1568996.html67
1 files changed, 67 insertions, 0 deletions
diff --git a/editor/libeditor/tests/test_bug1568996.html b/editor/libeditor/tests/test_bug1568996.html
new file mode 100644
index 0000000000..e0d48dad76
--- /dev/null
+++ b/editor/libeditor/tests/test_bug1568996.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1568996
+-->
+<html>
+<head>
+<title>Test for Bug 1568996</title>
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<script src="/tests/SimpleTest/EventUtils.js"></script>
+<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1568996">Bug 1568996</a>
+<p id="display"></p>
+<div id="content" style="display: none"></div>
+<pre id="test"></pre>
+<input id="input1">
+<script>
+add_task(async () => {
+ await new Promise((resolve) => {
+ SimpleTest.waitForFocus(() => {
+ SimpleTest.executeSoon(resolve);
+ }, window);
+ });
+
+ let input1 = document.getElementById("input1");
+ input1.value = "hello"
+ input1.focus();
+ input1.setSelectionRange(0, 0);
+
+ input1.addEventListener('keydown', () => {
+ let s = input1.selectionStart;
+ let e = input1.selectionEnd;
+ input1.value = input1.value.toUpperCase();
+ input1.setSelectionRange(s, e);
+ });
+
+ input1.addEventListener('input', () => {
+ let s = input1.selectionStart;
+ let e = input1.selectionEnd;
+ input1.value = input1.value.toLowerCase();
+ input1.setSelectionRange(s, e);
+ });
+
+ synthesizeKey('1');
+ synthesizeKey('KEY_Delete');
+ is(input1.value, "1ello", "Delete key should be worked");
+
+ synthesizeKey('B');
+ synthesizeKey('KEY_Delete');
+ synthesizeKey('KEY_Delete');
+ is(input1.value, "1blo", "Multiple delete key should be worked");
+
+ synthesizeKey('KEY_ArrowRight');
+ synthesizeKey('2');
+ synthesizeKey('KEY_Delete');
+ is(input1.value, "1bl2", "Delete key should be worked");
+
+ synthesizeKey('3');
+ is(input1.value, "1bl23", "charcter should be inserted");
+
+ synthesizeKey('KEY_Backspace');
+ is(input1.value, "1bl2", "Backspace key should be worked");
+});
+</script>
+</body>
+</html>