93 lines
5.5 KiB
HTML
93 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
</head>
|
|
|
|
<body style="direction:rtl">
|
|
|
|
<P style="direction:ltr; text-align:right">Test rendering of 3 text runs -- TextRun1 TextRun2 TextRun3,
|
|
in which TextRun1 and TextRun2's bidi level are 2, and TextRun3's bidi level is 1.
|
|
TextRun2 and TextRun3 are siblings. But their ancestor (not their parent) is a sibling of TextRun1.
|
|
The visual order should be TextRun3 TextRun1 TextRun2, not TextRun3 TextRun2 TextRun1.
|
|
<hr>
|
|
|
|
<P style="direction:ltr; text-align:right">Pure text. The following 3 lines should all display as "שנב This is a Test"
|
|
<div contentEditable="true" style="background:red;">This is a <span><span>Test <span>שנב</span></span></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span><span><span>Test <span>שנב</span></span></span></span></div>
|
|
<div>This is a <span>Test <span>שנב</span></span></div>
|
|
<hr>
|
|
|
|
<P style="direction:ltr; text-align:right">Text in <em>. The English text should be displayed as "This is a Test".
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><em><span></span>Test<span></span></em></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><em>Test<span></span></em></span></div>
|
|
<div contenteditable style="background:red;">This is a <span style="text-decoration: underline;"><em>Test <span contenteditable>דמה</span></em></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><em><span></span>Test</em></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><em>Test</em></span></div>
|
|
<hr>
|
|
|
|
<P style="direction:ltr; text-align:right">Text in <strong>. The following lines should all display as "This is a Test".
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><strong><span></span>Test<span></span></strong></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><strong>Test<span></span></strong></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><strong><span></span>Test</strong></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><strong>Test</strong></span></div>
|
|
<hr>
|
|
|
|
<P style="direction:ltr; text-align:right">Text in <i>. The following lines should all display as "This is a Test".
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><i><span></span>Test<span></span></i></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><i>Test<span></span></i></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><i><span></span>Test</i></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><i>Test</i></span></div>
|
|
<hr>
|
|
|
|
<P style="direction:ltr; text-align:right">Text in <b>. The following lines should all display as "This is a Test".
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><b><span></span>Test<span></span></b></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><b>Test<span></span></b></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><b><span></span>Test</b></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><b>Test</strong></span></div>
|
|
<hr>
|
|
|
|
<P style="direction:ltr; text-align:right">Text in <img>, <href>, <em>, <tr>. The following English text should all display as "This is a Test".
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><a href>Test<span><img src= d:/tmp/p1.png/></span></a></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><a href>Test <span>שנב</span></a></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><em>Test<a href></a></em></span></div>
|
|
<div contentEditable="true" style="background:red;">This is a <span style="text-decoration: underline;"><em>Test<span><img src= d:/tmp/p1.png/></span></em></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><a href>Test <span>again</span></a></span></div>
|
|
<div>This is a <span style="text-decoration: underline;"><em>Test<table><tr><td>a</td></tr></td></tr></table></em></span></div>
|
|
<hr>
|
|
<ul id="console" dir=ltr></ul>
|
|
|
|
<script>
|
|
|
|
if (window.internals)
|
|
internals.settings.setEditingBehavior("mac");
|
|
|
|
function log(str)
|
|
{
|
|
var li = document.createElement("li");
|
|
li.appendChild(document.createTextNode(str));
|
|
var console = document.getElementById("console");
|
|
console.appendChild(li);
|
|
}
|
|
|
|
function assertEqual(message, actual, expected)
|
|
{
|
|
if (actual != expected)
|
|
log("\n" + message + ": Failure, actual: " + actual + "; expected: " + expected);
|
|
else
|
|
log("\n" + message + ": Success");
|
|
}
|
|
|
|
var tests = document.getElementsByTagName('div');
|
|
var sel = getSelection();
|
|
for (var i = 0; i < tests.length; ++i) {
|
|
sel.setPosition(tests[i],0);
|
|
sel.modify("move", "backward", "lineboundary");
|
|
sel.modify("extend", "forward", "word");
|
|
assertEqual("Test " + i + ": ", sel.toString(), "This");
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|