blob: 40a5961f0ae2644256d2c22c7b84eae2f32fe23a [file] [log] [blame]
<html>
<head>
<style>
.editing {
border: 2px solid red;
padding: 12px;
font-size: 24px;
}
</style>
<script src=../editing.js language="JavaScript" type="text/JavaScript" ></script>
<script>
function log(str)
{
var li = document.createElement("li");
li.appendChild(document.createTextNode(str));
var console = document.getElementById("console");
console.appendChild(li);
}
function convertStringToUnicode(string)
{
var returnValue = " (character in Unicode value): ";
for (var i = 0; i < string.length; ++i)
{
returnValue += " " + string.charCodeAt(i);
}
return returnValue;
}
function assertEqual(test_name, actual, expected)
{
if (actual != expected) {
log("==================================");
log("FAILED: " + test_name);
var actual_string = "actual" + convertStringToUnicode(actual);
var expected_string = "expected" + convertStringToUnicode(expected);
log(actual_string);
log(expected_string);
}
}
function test(element)
{
var textarea = document.getElementById(element + "1");
textarea.focus();
// Type in unicode bidi control character in the middle of a string.
typeCharacterCommand('a');
typeCharacterCommand(String.fromCharCode(0x202B));
typeCharacterCommand('b');
typeCharacterCommand('!');
typeCharacterCommand(String.fromCharCode(0x202C));
var string = textarea.innerHTML;
assertEqual("type a&#x202B;b!&#x202C;", string, "a\u202Bb!\u202c");
// Copy and past string contains unicode bidi control character in the middle.
document.execCommand("SelectAll");
copyCommand();
textarea = document.getElementById(element + "3");
textarea.focus();
pasteCommand();
string = textarea.innerHTML;
assertEqual("copy/paste a&#x202B;b!&#x202C;", string, "a\u202Bb!\u202c");
textarea = document.getElementById(element + "2");
textarea.focus();
// Type in unicode bidi control character as the beginning of a string.
typeCharacterCommand(String.fromCharCode(0x202B));
typeCharacterCommand('b');
typeCharacterCommand('!');
typeCharacterCommand(String.fromCharCode(0x202C));
string = textarea.innerHTML;
assertEqual("type &#x202B;b!&#x202C;", string, "\u202Bb!\u202c");
// Copy and past string contains unicode bidi control character at the beginning.
document.execCommand("SelectAll");
copyCommand();
textarea = document.getElementById(element + "4");
textarea.focus();
pasteCommand();
string = textarea.innerHTML;
assertEqual("copy/paste &#x202B;b!&#x202C;", string, "\u202Bb!\u202c");
}
onload = function()
{
if (window.testRunner)
testRunner.dumpAsText();
test("div");
}
</script>
<title>Editing Test</title>
</head>
<body>
<div contenteditable id="div1" class="editing"></div>
<div contenteditable id="div2" class="editing"></div>
<div contenteditable id="div3" class="editing"></div>
<div contenteditable id="div4" class="editing"></div>
<ul id="console"></ul>
</body>
</html>