<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=600570 --> <head> <title>Test for Bug 600570</title> <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script> <script type="text/javascript" src="/tests/SimpleTest/WindowSnapshot.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=600570">Mozilla Bug 600570</a> <p id="display"></p> <div id="content"> <textarea spellcheck="false"> aaa [bbb]</textarea> </div> <pre id="test"> <script type="application/javascript"> /** Test for Bug 600570 **/ SimpleTest.waitForExplicitFinish(); SimpleTest.waitForFocus(function() { var t = document.querySelector("textarea"); t.value = "[aaa\nbbb]"; t.focus(); synthesizeKey("A", {accelKey: true}); SimpleTest.executeSoon(function() { t.getBoundingClientRect(); // flush layout var afterSetValue = snapshotWindow(window); t.value = t.defaultValue; t.selectionStart = 0; t.selectionEnd = 4; SimpleTest.waitForClipboard("aaa\n", function() { synthesizeKey("X", {accelKey: true}); }, function() { t.addEventListener("input", function() { t.removeEventListener("input", arguments.callee, false); setTimeout(function() { // Avoid the assertion in bug 649797 is(t.value, "[aaa\nbbb]", "The value of the textarea should be correct"); synthesizeKey("A", {accelKey: true}); is(t.selectionStart, 0, "Select all should set the selection start to the beginning of textarea"); is(t.selectionEnd, 9, "Select all should set the selection end to the end of textarea"); var afterPaste = snapshotWindow(window); var res = compareSnapshots(afterSetValue, afterPaste, true); var msg = "Pasting and setting the value directly should result in the same rendering"; if (!res[0]) { msg += "\nRESULT:\n" + res[2] + "\nREFERENCE:\n" + res[1]; } ok(res[0], msg); SimpleTest.finish(); }, 0); }, false); synthesizeKey("VK_RIGHT", {}); synthesizeKey("V", {accelKey: true}); }, function() { SimpleTest.finish(); } ); }); }); </script> </pre> </body> </html>