[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
rniwa at webkit.org
rniwa at webkit.org
Wed Dec 22 12:23:43 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit a45316605622d7718d4034f311207554789f1318
Author: rniwa at webkit.org <rniwa at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Aug 20 22:14:37 2010 +0000
2010-08-20 Ryosuke Niwa <rniwa at webkit.org>
Reviewed by Tony Chang.
There is no test for unicode-bidi / direction support in ApplyStyleCommand::applyInlineStyle
https://bugs.webkit.org/show_bug.cgi?id=43989
Added a test for MakeTextWritingDirectionNatural, MakeTextWritingDirectionLeftToRight,
and MakeTextWritingDirectionRightToLeft commands.
* editing/style/make-text-writing-direction-inline.html: Added.
* editing/style/script-tests/make-text-writing-direction-inline.js: Added.
(modifyWritingDirection):
(selectFirstWord):
(selectSecondAndThirdWords):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65757 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 1442a08..4959d12 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,19 @@
+2010-08-20 Ryosuke Niwa <rniwa at webkit.org>
+
+ Reviewed by Tony Chang.
+
+ There is no test for unicode-bidi / direction support in ApplyStyleCommand::applyInlineStyle
+ https://bugs.webkit.org/show_bug.cgi?id=43989
+
+ Added a test for MakeTextWritingDirectionNatural, MakeTextWritingDirectionLeftToRight,
+ and MakeTextWritingDirectionRightToLeft commands.
+
+ * editing/style/make-text-writing-direction-inline.html: Added.
+ * editing/style/script-tests/make-text-writing-direction-inline.js: Added.
+ (modifyWritingDirection):
+ (selectFirstWord):
+ (selectSecondAndThirdWords):
+
2010-08-20 Adrienne Walker <enne at google.com>
Reviewed by Kenneth Russell.
diff --git a/LayoutTests/editing/style/make-text-writing-direction-inline-expected.txt b/LayoutTests/editing/style/make-text-writing-direction-inline-expected.txt
new file mode 100644
index 0000000..b392628
--- /dev/null
+++ b/LayoutTests/editing/style/make-text-writing-direction-inline-expected.txt
@@ -0,0 +1,39 @@
+Tests to ensure MakeTextWritingDirection* modifies the direction of text and embed texts properly. Five tests are expected to fail due to the bug 44359.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS Natural on first word of "hello world"
+PASS LeftToRight on first word of "hello world"
+PASS RightToLeft on first word of "hello world"
+PASS Natural on second and third words of "<b>hello world</b> webkit"
+PASS LeftToRight on second and third words of "<b>hello world</b> webkit"
+PASS RightToLeft on second and third words of "<b>hello world</b> webkit"
+FAIL (due to the bug 44359) Natural on third word of "<span dir="rtl">hello <span dir="ltr">world webkit rocks</span></span>" yielded <span dir="rtl">hello <span dir="ltr">world</span></span><span><span> webkit</span></span><span dir="rtl"><span dir="ltr"> rocks</span></span> but expected <span dir="rtl">hello <span dir="ltr">world</span></span> webkit<span dir="rtl"><span dir="ltr"> rocks</span></span>
+FAIL (due to the bug 44359) LeftToRight on third word of "<span dir="rtl">hello <span dir="ltr">world webkit rocks</span></span>" yielded <span dir="rtl">hello <span dir="ltr">world</span></span><span><span><span style="unicode-bidi: embed;"> webkit</span></span></span><span dir="rtl"><span dir="ltr"> rocks</span></span> but expected <span dir="rtl">hello <span dir="ltr">world</span></span><span style="unicode-bidi: embed;"> webkit</span><span dir="rtl"><span dir="ltr"> rocks</span></span>
+FAIL (due to the bug 44359) RightToLeft on third word of "<span dir="rtl">hello <span dir="ltr">world webkit rocks</span></span>" yielded <span dir="rtl">hello <span dir="ltr">world</span><span> webkit</span><span dir="ltr"> rocks</span></span> but expected <span dir="rtl">hello <span dir="ltr">world</span> webkit<span dir="ltr"> rocks</span></span>
+PASS Natural on first word of "هنا يكتب النص العربي"
+PASS LeftToRight on first word of "هنا يكتب النص العربي"
+PASS RightToLeft on first word of "هنا يكتب النص العربي"
+PASS Natural on second and third words of "<b>هنا يكتب</b> النص العربي"
+PASS LeftToRight on second and third words of "<b>هنا يكتب</b> النص العربي"
+PASS RightToLeft on second and third words of "<b>هنا يكتب</b> النص العربي"
+PASS Natural on first word of "<div dir="rtl">هنا يكتب النص العربي</div>"
+PASS LeftToRight on first word of "<div dir="rtl">هنا يكتب النص العربي</div>"
+PASS RightToLeft on first word of "<div dir="rtl">هنا يكتب النص العربي</div>"
+PASS Natural on second and third words of "<div dir="rtl"><b>هنا يكتب</b> النص العربي</div>"
+PASS LeftToRight on second and third words of "<div dir="rtl"><b>هنا يكتب</b> النص العربي</div>"
+PASS RightToLeft on second and third words of "<div dir="rtl"><b>هنا يكتب</b> النص العربي</div>"
+FAIL (due to the bug 44359) Natural on third word of "<div dir="rtl">هنا <span dir="ltr">يكتب النص العربي</span></div>" yielded <div dir="rtl">هنا <span dir="ltr">يكتب</span><span> النص</span><span dir="ltr"> العربي</span></div> but expected <div dir="rtl">هنا <span dir="ltr">يكتب</span> النص<span dir="ltr"> العربي</span></div>
+PASS LeftToRight on third word of "<div dir="rtl">هنا <span dir="ltr">يكتب النص العربي</span></div>"
+FAIL (due to the bug 44359) RightToLeft on third word of "<div dir="rtl">هنا <span dir="ltr">يكتب النص العربي</span></div>" yielded <div dir="rtl">هنا <span dir="ltr">يكتب</span><span><span style="unicode-bidi: embed;"> النص</span></span><span dir="ltr"> العربي</span></div> but expected <div dir="rtl">هنا <span dir="ltr">يكتب</span><span style="unicode-bidi: embed;"> النص</span><span dir="ltr"> العربي</span></div>
+PASS Natural on first word of "中文"
+PASS LeftToRight on first word of "中文"
+PASS RightToLeft on first word of "中文"
+PASS Natural on first word of "<div dir="rtl">中文</div>"
+PASS LeftToRight on first word of "<div dir="rtl">中文</div>"
+PASS RightToLeft on first word of "<div dir="rtl">中文</div>"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/editing/style/make-text-writing-direction-inline.html b/LayoutTests/editing/style/make-text-writing-direction-inline.html
new file mode 100644
index 0000000..da136e1
--- /dev/null
+++ b/LayoutTests/editing/style/make-text-writing-direction-inline.html
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script src="script-tests/make-text-writing-direction-inline.js"></script>
+<script src="../../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/editing/style/script-tests/make-text-writing-direction-inline.js b/LayoutTests/editing/style/script-tests/make-text-writing-direction-inline.js
new file mode 100644
index 0000000..4caea4c
--- /dev/null
+++ b/LayoutTests/editing/style/script-tests/make-text-writing-direction-inline.js
@@ -0,0 +1,103 @@
+description('Tests to ensure MakeTextWritingDirection* modifies the direction of text and embed texts properly. Five tests are expected to fail due to the bug 44359.');
+
+if (!window.layoutTestController)
+ testFailed('This test requires layoutTestController');
+
+var testContainer = document.createElement("div");
+testContainer.contentEditable = true;
+document.body.appendChild(testContainer);
+
+function modifyWritingDirection(content, selector, command, expected)
+{
+ if (!window.layoutTestController)
+ return;
+
+ testContainer.innerHTML = content;
+ var selected = selector(testContainer);
+ window.layoutTestController.execCommand('MakeTextWritingDirection' + command);
+
+ // Remove Apple-style-span because it does not need to be tested here.
+ var actual = testContainer.innerHTML.replace(/ class="Apple-style-span"/g, '');
+ var action = command + ' on ' + selected + ' of "' + content + '"';
+ if (actual == expected)
+ testPassed(action);
+ else {
+ error = ' yielded ' + actual + ' but expected ' + expected
+ if (actual.replace(/<span>/g, '').replace(/<\/span>/g, '') == expected.replace(/<\/span>/g, ''))
+ testFailed('(due to the bug 44359) ' + action + error);
+ else
+ testFailed(action + error);
+ }
+}
+
+function selectFirstWord(container) {
+ document.getSelection().setBaseAndExtent(container, 0, container, 0);
+ document.getSelection().modify('extend', 'forward', 'word');
+ return 'first word';
+}
+
+function selectSecondAndThirdWords(container) {
+ document.getSelection().setBaseAndExtent(container, 0, container, 0);
+ document.getSelection().modify('move', 'forward', 'word');
+ document.getSelection().modify('extend', 'forward', 'word');
+ document.getSelection().modify('extend', 'forward', 'word');
+ return 'second and third words';
+}
+
+function selectThirdWord(container) {
+ document.getSelection().setBaseAndExtent(container, 0, container, 0);
+ document.getSelection().modify('move', 'forward', 'word');
+ document.getSelection().modify('move', 'forward', 'word');
+ document.getSelection().modify('extend', 'forward', 'word');
+ return 'third word';
+}
+
+// left to right language
+modifyWritingDirection('hello world', selectFirstWord, 'Natural', 'hello world');
+modifyWritingDirection('hello world', selectFirstWord, 'LeftToRight', '<span style="unicode-bidi: embed;">hello</span> world');
+modifyWritingDirection('hello world', selectFirstWord, 'RightToLeft', '<span style="unicode-bidi: embed; direction: rtl;">hello</span> world');
+modifyWritingDirection('<b>hello world</b> webkit', selectSecondAndThirdWords, 'Natural', '<b>hello world</b> webkit');
+modifyWritingDirection('<b>hello world</b> webkit', selectSecondAndThirdWords, 'LeftToRight', '<b>hello<span style="unicode-bidi: embed;"> world</span></b><span style="unicode-bidi: embed;"> webkit</span>');
+modifyWritingDirection('<b>hello world</b> webkit', selectSecondAndThirdWords, 'RightToLeft', '<b>hello<span style="unicode-bidi: embed; direction: rtl;"> world</span></b><span style="unicode-bidi: embed; direction: rtl;"> webkit</span>');
+modifyWritingDirection('<span dir="rtl">hello <span dir="ltr">world webkit rocks</span></span>', selectThirdWord, 'Natural',
+ '<span dir="rtl">hello <span dir="ltr">world</span></span> webkit<span dir="rtl"><span dir="ltr"> rocks</span></span>');
+modifyWritingDirection('<span dir="rtl">hello <span dir="ltr">world webkit rocks</span></span>', selectThirdWord, 'LeftToRight',
+ '<span dir="rtl">hello <span dir="ltr">world</span></span><span style="unicode-bidi: embed;"> webkit</span><span dir="rtl"><span dir="ltr"> rocks</span></span>');
+modifyWritingDirection('<span dir="rtl">hello <span dir="ltr">world webkit rocks</span></span>', selectThirdWord, 'RightToLeft',
+ '<span dir="rtl">hello <span dir="ltr">world</span> webkit<span dir="ltr"> rocks</span></span>');
+
+// right to left language
+modifyWritingDirection('هنا يكتب النص العربي', selectFirstWord, 'Natural', 'هنا يكتب النص العربي');
+modifyWritingDirection('هنا يكتب النص العربي', selectFirstWord, 'LeftToRight', '<span style="unicode-bidi: embed;">هنا</span> يكتب النص العربي');
+modifyWritingDirection('هنا يكتب النص العربي', selectFirstWord, 'RightToLeft', '<span style="unicode-bidi: embed; direction: rtl;">هنا</span> يكتب النص العربي');
+
+modifyWritingDirection('<b>هنا يكتب</b> النص العربي', selectSecondAndThirdWords, 'Natural', '<b>هنا يكتب</b> النص العربي');
+modifyWritingDirection('<b>هنا يكتب</b> النص العربي', selectSecondAndThirdWords, 'LeftToRight', '<b>هنا<span style="unicode-bidi: embed;"> يكتب</span></b><span style="unicode-bidi: embed;"> النص</span> العربي');
+modifyWritingDirection('<b>هنا يكتب</b> النص العربي', selectSecondAndThirdWords, 'RightToLeft', '<b>هنا<span style="unicode-bidi: embed; direction: rtl;"> يكتب</span></b><span style="unicode-bidi: embed; direction: rtl;"> النص</span> العربي');
+
+modifyWritingDirection('<div dir="rtl">هنا يكتب النص العربي</div>', selectFirstWord, 'Natural', '<div dir="rtl">هنا يكتب النص العربي</div>');
+modifyWritingDirection('<div dir="rtl">هنا يكتب النص العربي</div>', selectFirstWord, 'LeftToRight', '<div dir="rtl"><span style="unicode-bidi: embed; direction: ltr;">هنا</span> يكتب النص العربي</div>');
+modifyWritingDirection('<div dir="rtl">هنا يكتب النص العربي</div>', selectFirstWord, 'RightToLeft', '<div dir="rtl"><span style="unicode-bidi: embed;">هنا</span> يكتب النص العربي</div>');
+
+modifyWritingDirection('<div dir="rtl"><b>هنا يكتب</b> النص العربي</div>', selectSecondAndThirdWords, 'Natural', '<div dir="rtl"><b>هنا يكتب</b> النص العربي</div>');
+modifyWritingDirection('<div dir="rtl"><b>هنا يكتب</b> النص العربي</div>', selectSecondAndThirdWords, 'LeftToRight', '<div dir="rtl"><b>هنا<span style="unicode-bidi: embed; direction: ltr;"> يكتب</span></b><span style="unicode-bidi: embed; direction: ltr;"> النص</span> العربي</div>');
+modifyWritingDirection('<div dir="rtl"><b>هنا يكتب</b> النص العربي</div>', selectSecondAndThirdWords, 'RightToLeft', '<div dir="rtl"><b>هنا<span style="unicode-bidi: embed;"> يكتب</span></b><span style="unicode-bidi: embed;"> النص</span> العربي</div>');
+modifyWritingDirection('<div dir="rtl">هنا <span dir="ltr">يكتب النص العربي</span></div>', selectThirdWord, 'Natural',
+ '<div dir="rtl">هنا <span dir="ltr">يكتب</span> النص<span dir="ltr"> العربي</span></div>');
+modifyWritingDirection('<div dir="rtl">هنا <span dir="ltr">يكتب النص العربي</span></div>', selectThirdWord, 'LeftToRight',
+ '<div dir="rtl"><span style="direction: ltr;">هنا </span><span dir="ltr">يكتب النص العربي</span></div>');
+modifyWritingDirection('<div dir="rtl">هنا <span dir="ltr">يكتب النص العربي</span></div>', selectThirdWord, 'RightToLeft',
+ '<div dir="rtl">هنا <span dir="ltr">يكتب</span><span style="unicode-bidi: embed;"> النص</span><span dir="ltr"> العربي</span></div>');
+
+// bidirectional langauge
+modifyWritingDirection('中文', selectFirstWord, 'Natural', '中文');
+modifyWritingDirection('中文', selectFirstWord, 'LeftToRight', '<span style="unicode-bidi: embed;">中</span>文');
+modifyWritingDirection('中文', selectFirstWord, 'RightToLeft', '<span style="unicode-bidi: embed; direction: rtl;">中</span>文');
+
+modifyWritingDirection('<div dir="rtl">中文</div>', selectFirstWord, 'Natural', '<div dir="rtl">中文</div>');
+modifyWritingDirection('<div dir="rtl">中文</div>', selectFirstWord, 'LeftToRight', '<div dir="rtl"><span style="unicode-bidi: embed; direction: ltr;">中</span>文</div>');
+modifyWritingDirection('<div dir="rtl">中文</div>', selectFirstWord, 'RightToLeft', '<div dir="rtl"><span style="unicode-bidi: embed;">中</span>文</div>');
+
+document.body.removeChild(testContainer);
+
+var successfullyParsed = true;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list