Bug 1772588 [wpt PR 34302] - [wpt] Add test for block-in-inline offsetParent., a...
[gecko.git] / editor / libeditor / tests / test_bug830600.html
blob166ac187a285676c5c51d790f595ed7a73639148
1 <!DOCTYPE HTML>
2 <!-- This Source Code Form is subject to the terms of the Mozilla Public
3 - License, v. 2.0. If a copy of the MPL was not distributed with this
4 - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
5 <html>
6 <!--
7 https://bugzilla.mozilla.org/show_bug.cgi?id=830600
8 -->
9 <head>
10 <title>Test for Bug 830600</title>
11 <script src="/tests/SimpleTest/SimpleTest.js"></script>
12 <script src="/tests/SimpleTest/EventUtils.js"></script>
13 <link rel="stylesheet" href="/tests/SimpleTest/test.css">
14 </head>
16 <body>
17 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=830600">Mozilla Bug 830600</a>
18 <p id="display"></p>
19 <div id="content" style="display: none">
20 </div>
21 <input type="text" id="t1" />
22 <pre id="test">
23 <script type="application/javascript">
25 /** Test for Bug 830600 **/
26 SimpleTest.waitForExplicitFinish();
27 SimpleTest.waitForFocus(function() {
28 const Ci = SpecialPowers.Ci;
29 function test(str, expected, callback) {
30 var t = document.getElementById("t1");
31 t.focus();
32 t.value = "";
33 var editor = SpecialPowers.wrap(t).editor;
34 editor.newlineHandling = Ci.nsIEditor.eNewlinesStripSurroundingWhitespace;
35 SimpleTest.waitForClipboard(str,
36 function() {
37 SpecialPowers.Cc["@mozilla.org/widget/clipboardhelper;1"]
38 .getService(Ci.nsIClipboardHelper)
39 .copyString(str);
41 function() {
42 synthesizeKey("V", {accelKey: true});
43 is(t.value, expected, "New line handling works correctly");
44 t.value = "";
45 callback();
47 function() {
48 ok(false, "Failed to copy the string");
49 SimpleTest.finish();
54 function runNextTest() {
55 if (tests.length) {
56 var currentTest = tests.shift();
57 test(currentTest[0], currentTest[1], runNextTest);
58 } else {
59 SimpleTest.finish();
63 var tests = [
64 ["abc", "abc"],
65 ["\n", ""],
66 [" \n", ""],
67 ["\n ", ""],
68 [" \n ", ""],
69 [" a", " a"],
70 ["a ", "a "],
71 [" a ", " a "],
72 [" \nabc", "abc"],
73 ["\n abc", "abc"],
74 [" \n abc", "abc"],
75 [" \nabc ", "abc "],
76 ["\n abc ", "abc "],
77 [" \n abc ", "abc "],
78 ["abc\n ", "abc"],
79 ["abc \n", "abc"],
80 ["abc \n ", "abc"],
81 [" abc\n ", " abc"],
82 [" abc \n", " abc"],
83 [" abc \n ", " abc"],
84 [" abc \n def \n ", " abcdef"],
85 ["\n abc \n def \n ", "abcdef"],
86 [" \n abc \n def ", "abcdef "],
87 [" abc\n\ndef ", " abcdef "],
88 [" abc \n\n def ", " abcdef "],
91 runNextTest();
92 });
94 </script>
95 </pre>
96 </body>
97 </html>