зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1087872 - Tests for dynamic change of ruby frames. r=bz,dbaron
--HG-- extra : rebase_source : 4fa97f21d33e96bfc6bf8456f7ce8983e1fedee2 extra : amend_source : 5c80d0ded3816655b8f05ef44f496b2a991d6940 extra : source : ea286aab916d2a35b4a08dc808667c78d4142968
This commit is contained in:
Родитель
3872008abd
Коммит
06113ccc4a
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic insertion of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>One space should exist between 'a' and 'b':</p>
|
||||
|
||||
<p>a<rbc><rb></rb> <rb></rb></rbc>b</p>
|
||||
<p>a<ruby><rb></rb> <rb></rb></ruby>b</p>
|
||||
<p>a<ruby><rbc></rbc> <rbc></rbc></ruby>b</p>
|
||||
<p>a<rtc><rt></rt> <rt></rt></rtc>b</p>
|
||||
<p>a<ruby><rt></rt> <rt></rt></ruby>b</p>
|
||||
|
||||
<p>a<rbc><rb></rb> <rb></rb></rbc>b</p>
|
||||
<p>a<ruby><rb></rb> <rb></rb></ruby>b</p>
|
||||
<p>a<ruby><rbc></rbc> <rbc></rbc></ruby>b</p>
|
||||
<p>a<rtc><rt></rt> <rt></rt></rtc>b</p>
|
||||
<p>a<ruby><rt></rt> <rt></rt></ruby>b</p>
|
||||
|
||||
<p>a<rb></rb><span></span> <rt></rt>b</p>
|
||||
<p>a<rb></rb> <span></span><rt></rt>b</p>
|
||||
<p>a<rb></rb> <rb></rb><rt></rt>b</p>
|
||||
<p>a<rt></rt><rb></rb> <rb></rb>b</p>
|
||||
<p>a<rbc></rbc> <rbc></rbc><rt></rt>b</p>
|
||||
<p>a<rb></rb><rt></rt> <rt></rt>b</p>
|
||||
<p>a<rt></rt> <rt></rt><rb></rb>b</p>
|
||||
|
||||
<p>a<rb></rb> <rb></rb>b</p>
|
||||
<p>a<rbc></rbc> <rbc></rbc>b</p>
|
||||
<p>a<rt></rt> <rt></rt>b</p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,55 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic insertion of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
<script src="dynamic-insertion.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>One space should exist between 'a' and 'b':</p>
|
||||
|
||||
<!-- leading white space -->
|
||||
<!-- => inter-base white space -->
|
||||
<p>a<rbc data-insert="start" data-tag="rb"> <rb></rb></rbc>b</p>
|
||||
<p>a<ruby data-insert="start" data-tag="rb"> <rb></rb></ruby>b</p>
|
||||
<!-- => inter-segment white space -->
|
||||
<p>a<ruby data-insert="start" data-tag="rbc"> <rbc></rbc></ruby>b</p>
|
||||
<!-- => inter-annotation white space -->
|
||||
<p>a<rtc data-insert="start" data-tag="rt"> <rt></rt></rtc>b</p>
|
||||
<p>a<ruby data-insert="start" data-tag="rt"> <rt></rt></ruby>b</p>
|
||||
|
||||
<!-- trailing white space -->
|
||||
<!-- => inter-base white space -->
|
||||
<p>a<rbc data-insert="end" data-tag="rb"><rb></rb> </rbc>b</p>
|
||||
<p>a<ruby data-insert="end" data-tag="rb"><rb></rb> </ruby>b</p>
|
||||
<!-- => inter-segment white space -->
|
||||
<p>a<ruby data-insert="end" data-tag="rbc"><rbc></rbc> </ruby>b</p>
|
||||
<!-- => inter-annotation white space -->
|
||||
<p>a<rtc data-insert="end" data-tag="rt"><rt></rt> </rtc>b</p>
|
||||
<p>a<ruby data-insert="end" data-tag="rt"><rt></rt> </ruby>b</p>
|
||||
|
||||
<!-- inter-level white space -->
|
||||
<!-- => normal white space -->
|
||||
<p>a<rb data-insert="after" data-tag="span"></rb> <rt></rt>b</p>
|
||||
<p>a<rb></rb> <rt data-insert="before" data-tag="span"></rt>b</p>
|
||||
<!-- => inter-base white space -->
|
||||
<p>a<rb></rb> <rt data-insert="before" data-tag="rb"></rt>b</p>
|
||||
<p>a<rt data-insert="after" data-tag="rb"></rt> <rb></rb>b</p>
|
||||
<!-- => inter-segment white space -->
|
||||
<p>a<rbc></rbc> <rt data-insert="before" data-tag="rbc"></rt>b</p>
|
||||
<!-- => inter-annotation white space -->
|
||||
<p>a<rb data-insert="after" data-tag="rt"></rb> <rt></rt>b</p>
|
||||
<p>a<rt></rt> <rb data-insert="before" data-tag="rt"></rb>b</p>
|
||||
|
||||
<!-- insert white space -->
|
||||
<!-- inter-base white space -->
|
||||
<p>a<rb data-insert="after" data-text=" "></rb><rb></rb>b</p>
|
||||
<!-- inter-segment white space -->
|
||||
<p>a<rbc data-insert="after" data-text=" "></rbc><rbc></rbc>b</p>
|
||||
<!-- inter-annotation white space -->
|
||||
<p>a<rt data-insert="after" data-text=" "></rt><rt></rt>b</p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic insertion of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>No space should exist between 'a' and 'b':</p>
|
||||
|
||||
<p><span>a</span><rb></rb> <rt></rt>b</p>
|
||||
<p>a<rb></rb> <rt></rt><span>b</span></p>
|
||||
<p>a<rb></rb> <rt></rt><rb></rb>b</p>
|
||||
<p>a<rbc></rbc> <rt></rt><rb></rb>b</p>
|
||||
<p>a<rt></rt><rb></rb> <rt></rt>b</p>
|
||||
|
||||
<p>a<ruby> <rb></rb></ruby>b</p>
|
||||
<p>a<rbc> <rb></rb></rbc>b</p>
|
||||
<p>a<rtc> <rt></rt></rtc>b</p>
|
||||
<p>a<ruby><rb></rb> </ruby>b</p>
|
||||
<p>a<rbc><rb></rb> </rbc>b</p>
|
||||
<p>a<rtc><rt></rt> </rtc>b</p>
|
||||
<p>a<rb></rb> <rt></rt>b</p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic insertion of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
<script src="dynamic-insertion.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>No space should exist between 'a' and 'b':</p>
|
||||
|
||||
<!-- inter-level white space -->
|
||||
<!-- <= normal white space -->
|
||||
<p><span data-insert="after" data-tag="rb">a</span> <rt></rt>b</p>
|
||||
<p>a<rb></rb> <span data-insert="before" data-tag="rt">b</span></p>
|
||||
<!-- <= inter-base white space -->
|
||||
<p>a<rb></rb> <rb data-insert="before" data-tag="rt"></rb>b</p>
|
||||
<!-- <= inter-segment white space -->
|
||||
<p>a<rbc></rbc> <rb data-insert="before" data-tag="rt"></rb>b</p>
|
||||
<!-- <= inter-annotation white space -->
|
||||
<p>a<rt data-insert="after" data-tag="rb"></rt> <rt></rt>b</p>
|
||||
|
||||
<!-- insert white space -->
|
||||
<!-- leading white space -->
|
||||
<p>a<ruby data-insert="start" data-text=" "><rb></rb></ruby>b</p>
|
||||
<p>a<rbc data-insert="start" data-text=" "><rb></rb></rbc>b</p>
|
||||
<p>a<rtc data-insert="start" data-text=" "><rt></rt></rtc>b</p>
|
||||
<!-- trailing white space -->
|
||||
<p>a<ruby data-insert="end" data-text=" "><rb></rb></ruby>b</p>
|
||||
<p>a<rbc data-insert="end" data-text=" "><rb></rb></rbc>b</p>
|
||||
<p>a<rtc data-insert="end" data-text=" "><rt></rt></rtc>b</p>
|
||||
<!-- inter-level white space -->
|
||||
<p>a<rb data-insert="after" data-text=" "></rb><rt></rt>b</p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic insertion of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
|
||||
|
||||
<p><rb></rb><span></span><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<p><rb></rb><rt></rt><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<p><rb>a</rb><rt>x</rt><rb>b</rb><rt>y</rt></p>
|
||||
<p><rbc><span>a</span><rb></rb>b</rbc><rt>x</rt><rt></rt><rt>y</rt></p>
|
||||
<p><rb>a</rb><rb></rb><rb>b</rb><rtc><span>x</span><rt></rt>y</rtc></p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,26 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic insertion of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
<script src="dynamic-insertion.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
|
||||
|
||||
<!-- split -->
|
||||
<!-- pseudo ruby -->
|
||||
<p><rb data-insert="after" data-tag="span"></rb><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<!-- pseudo ruby base container -->
|
||||
<p><rb data-insert="after" data-tag="rt"></rb><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<!-- pseudo ruby text container -->
|
||||
<p><rb>a</rb><rt data-insert="after" data-tag="rb" data-text="b">x</rt><rt>y</rt></p>
|
||||
<!-- pseudo ruby base -->
|
||||
<p><rbc><span data-insert="after" data-tag="rb">a</span>b</rbc><rt>x</rt><rt></rt><rt>y</rt></p>
|
||||
<!-- pseudo ruby text -->
|
||||
<p><rb>a</rb><rb></rb><rb>b</rb><rtc><span data-insert="after" data-tag="rt">x</span>y</rtc></p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,42 @@
|
|||
window.onload = function() {
|
||||
// Force a reflow before any changes.
|
||||
document.body.clientWidth;
|
||||
|
||||
var elems = document.querySelectorAll('[data-insert]');
|
||||
Array.from(elems).forEach(function(e) {
|
||||
var parent, ref;
|
||||
switch (e.dataset.insert) {
|
||||
case 'start':
|
||||
parent = e;
|
||||
ref = e.firstChild;
|
||||
break;
|
||||
|
||||
case 'end':
|
||||
parent = e;
|
||||
ref = null;
|
||||
break;
|
||||
|
||||
case 'before':
|
||||
parent = e.parentNode;
|
||||
ref = e;
|
||||
break;
|
||||
|
||||
case 'after':
|
||||
parent = e.parentNode;
|
||||
ref = e.nextSibling;
|
||||
break;
|
||||
}
|
||||
|
||||
var elem, textnode;
|
||||
if ('text' in e.dataset) {
|
||||
textnode = document.createTextNode(e.dataset.text);
|
||||
}
|
||||
if ('tag' in e.dataset) {
|
||||
elem = document.createElement(e.dataset.tag);
|
||||
if (textnode) {
|
||||
elem.appendChild(textnode);
|
||||
}
|
||||
}
|
||||
parent.insertBefore(elem ? elem : textnode, ref);
|
||||
});
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic removal of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>No space should exist between 'a' and 'b':</p>
|
||||
|
||||
<p>a<ruby> <rb></rb></ruby>b</p>
|
||||
<p>a<ruby><rb></rb> </ruby>b</p>
|
||||
<p>a<ruby><rb></rb> <rt></rt></ruby>b</p>
|
||||
|
||||
<p>a<ruby> <rbc></rbc></ruby>b</p>
|
||||
<p>a<ruby><rbc></rbc> </ruby>b</p>
|
||||
<p>a<rbc></rbc> <rtc></rtc>b</p>
|
||||
|
||||
<p><rb>a</rb><rb>b</rb><rtc> <rt>x</rt></rtc></p>
|
||||
<p><rb>a</rb><rb>b</rb><rtc><rt>x</rt> </rtc></p>
|
||||
<p><rb>a</rb><rb>b</rb> <rt>x</rt></p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,38 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic removal of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
<script src="dynamic-removal.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>No space should exist between 'a' and 'b':</p>
|
||||
|
||||
<!-- inter-base white space -->
|
||||
<!-- => leading white space -->
|
||||
<p>a<ruby><rb class="remove"></rb> <rb></rb></ruby>b</p>
|
||||
<!-- => trailing white space -->
|
||||
<p>a<ruby><rb></rb> <rb class="remove"></rb></ruby>b</p>
|
||||
<!-- => inter-level white space -->
|
||||
<p>a<ruby><rb></rb> <rb class="remove"></rb><rt></rt></ruby>b</p>
|
||||
|
||||
<!-- inter-segment white space -->
|
||||
<!-- => leading white space -->
|
||||
<p>a<ruby><rbc class="remove"></rbc> <rbc></rbc></ruby>b</p>
|
||||
<!-- => trailing white space -->
|
||||
<p>a<ruby><rbc></rbc> <rbc class="remove"></rbc></ruby>b</p>
|
||||
<!-- => inter-level white space -->
|
||||
<p>a<rbc></rbc> <rbc class="remove"></rbc><rtc></rtc>b</p>
|
||||
|
||||
<!-- inter-annotation white space -->
|
||||
<!-- => leading white space -->
|
||||
<p><rb>a</rb><rb>b</rb><rtc><rt class="remove"></rt> <rt>x</rt></rtc></p>
|
||||
<!-- => trailing white space -->
|
||||
<p><rb>a</rb><rb>b</rb><rtc><rt>x</rt> <rt class="remove"></rt></rtc></p>
|
||||
<!-- => inter-level white space -->
|
||||
<p><rb>a</rb><rb>b</rb><rt class="remove"></rt> <rt>x</rt></p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic removal of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>One space should exist between 'a' and 'b':</p>
|
||||
|
||||
<p>a <rt></rt>b</p>
|
||||
<p>a<rb></rb> b</p>
|
||||
<p>a<rb></rb> <rb></rb>b</p>
|
||||
<p>a<rbc></rbc> <rbc></rbc>b</p>
|
||||
<p><rb>a</rb> <rb>b</rb><rt>x</rt> <rt>y</rt></p>
|
||||
|
||||
</body>
|
|
@ -0,0 +1,24 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic removal of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
<script src="dynamic-removal.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>One space should exist between 'a' and 'b':</p>
|
||||
|
||||
<!-- inter-level white space -->
|
||||
<!-- => normal white space -->
|
||||
<p>a<rb class="remove"></rb> <rt></rt>b</p>
|
||||
<p>a<rb></rb> <rt class="remove"></rt>b</p>
|
||||
<!-- => inter-base white space -->
|
||||
<p>a<rb></rb> <rt class="remove"></rt><rb></rb>b</p>
|
||||
<!-- => inter-segment white space -->
|
||||
<p>a<rbc></rbc> <rtc class="remove"></rtc><rbc></rbc>b</p>
|
||||
<!-- => inter-annotation white space -->
|
||||
<p><rb>a</rb> <rb>b</rb><rt>x</rt><rb class="remove"></rb> <rt>y</rt></p>
|
||||
|
||||
</body>
|
|
@ -0,0 +1,26 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic removal of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
|
||||
|
||||
|
||||
<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
|
||||
<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<p><rb>a</rb><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
|
||||
<p>'ab' should be paried with 'xy':</p>
|
||||
|
||||
<p><rbc>ab</rbc><rt>xy</rt></p>
|
||||
<p><rb>ab</rb><rtc>xy</rtc></p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Bug 1087872 - Test for dynamic removal of ruby frames</title>
|
||||
<link rel="stylesheet" href="common.css">
|
||||
<script src="dynamic-removal.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<p>'a' and 'b' should be paired with 'x' and 'y' respectively:</p>
|
||||
|
||||
<!-- merge -->
|
||||
<!-- pseudo ruby -->
|
||||
<p><rb>a</rb><span class="remove"></span><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<!-- pseudo ruby base container -->
|
||||
<p><rb>a</rb><rt class="remove"></rt><rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<!-- pseudo ruby text container -->
|
||||
<p><rb>a</rb><rb>b</rb><rt>x</rt><rb class="remove"></rb><rt>y</rt></p>
|
||||
|
||||
<!-- white space removal -->
|
||||
<!-- inter-base white space -->
|
||||
<p><rb class="remove-after">a</rb> <rb>b</rb><rt>x</rt><rt>y</rt></p>
|
||||
<!-- inter-annotation white space -->
|
||||
<p><rb>a</rb><rb>b</rb><rt class="remove-after">x</rt> <rt>y</rt></p>
|
||||
|
||||
<p>'ab' should be paried with 'xy':</p>
|
||||
|
||||
<!-- merge -->
|
||||
<!-- pseudo ruby base -->
|
||||
<p><rbc>a<rb class="remove"></rb>b</rbc><rt>xy</rt></p>
|
||||
<!-- pseudo ruby text -->
|
||||
<p><rb>ab</rb><rtc>x<rt class="remove"></rt>y</rtc></p>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,14 @@
|
|||
function getElements(className) {
|
||||
return Array.from(document.getElementsByClassName(className));
|
||||
}
|
||||
window.onload = function() {
|
||||
// Force a reflow before any changes.
|
||||
document.body.clientWidth;
|
||||
|
||||
getElements('remove').forEach(function(e) {
|
||||
e.parentNode.removeChild(e);
|
||||
});
|
||||
getElements('remove-after').forEach(function(e) {
|
||||
e.parentNode.removeChild(e.nextSibling);
|
||||
});
|
||||
};
|
|
@ -5,6 +5,12 @@ default-preferences pref(layout.css.ruby.enabled,true)
|
|||
== box-generation-3.html box-generation-3-ref.html
|
||||
== box-generation-4.html box-generation-4-ref.html
|
||||
== box-generation-5.html box-generation-5-ref.html
|
||||
== dynamic-insertion-1.html dynamic-insertion-1-ref.html
|
||||
== dynamic-insertion-2.html dynamic-insertion-2-ref.html
|
||||
== dynamic-insertion-3.html dynamic-insertion-3-ref.html
|
||||
== dynamic-removal-1.html dynamic-removal-1-ref.html
|
||||
== dynamic-removal-2.html dynamic-removal-2-ref.html
|
||||
fuzzy-if(winWidget,28,1) == dynamic-removal-3.html dynamic-removal-3-ref.html # bug 1111891
|
||||
== ruby-whitespace-1.html ruby-whitespace-1-ref.html
|
||||
== ruby-whitespace-2.html ruby-whitespace-2-ref.html
|
||||
!= ruby-reflow-1-opaqueruby.html ruby-reflow-1-noruby.html
|
||||
|
|
Загрузка…
Ссылка в новой задаче