mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
152 lines
5.4 KiB
HTML
152 lines
5.4 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=627842
|
|
-->
|
|
<head>
|
|
<title>Font size inflation reftests</title>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="application/javascript" src="/tests/SimpleTest/WindowSnapshot.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
<style type="text/css">
|
|
canvas { border: 1px solid green }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=627842">Mozilla Bug 627842</a>
|
|
<pre id="test">
|
|
<script type="application/javascript; version=1.7">
|
|
|
|
/** Test for font size inflation **/
|
|
|
|
var gTests = [
|
|
// IMPORTANT NOTE: For these tests, the test and reference are not
|
|
// snapshotted in the same way. The REFERENCE (second file) is
|
|
// snapshotted with no unusual pref settings, whereas the TEST (first
|
|
// file) has font inflation set to 15 em per line.
|
|
|
|
|
|
"== text-1.html text-1-ref.html",
|
|
"== text-2.html text-2-ref.html",
|
|
"== text-3.html text-3-ref.html",
|
|
"== text-4.html text-4-ref.html",
|
|
"== decoration-1.html decoration-1-ref.html",
|
|
"== bullet-1.html bullet-1-ref.html",
|
|
"== bullet-2.html bullet-2-ref.html",
|
|
"== input-text-1.html input-text-1-ref.html",
|
|
"== input-text-2.html input-text-2-ref.html",
|
|
"== input-text-3.html input-text-3-ref.html",
|
|
"== textarea-1.html textarea-1-ref.html",
|
|
"== textarea-2.html textarea-2-ref.html",
|
|
"== textarea-3.html textarea-3-ref.html",
|
|
"== css-transform-1.html css-transform-1-ref.html",
|
|
"== css-transform-2.html css-transform-2-ref.html",
|
|
"== container-with-clamping.html container-with-clamping-ref.html",
|
|
"!= video-1.html about:blank", // crashtest
|
|
"== intrinsic-min-1.html intrinsic-min-1-ref.html",
|
|
"== intrinsic-max-1.html intrinsic-max-1-ref.html",
|
|
"== intrinsic-fit-1a.html intrinsic-fit-1a-ref.html",
|
|
"== intrinsic-fit-1b.html intrinsic-fit-1b-ref.html",
|
|
"== intrinsic-fit-1c.html intrinsic-fit-1c-ref.html",
|
|
"== intrinsic-fit-2a.html intrinsic-fit-1a-ref.html",
|
|
"== intrinsic-fit-2b.html intrinsic-fit-1b-ref.html",
|
|
"== intrinsic-fit-2c.html intrinsic-fit-1c-ref.html",
|
|
"== select-listbox-1.html select-listbox-1-ref.html",
|
|
"!= select-listbox-1.html select-listbox-1.html",
|
|
"== select-combobox-1.html select-combobox-1-ref.html",
|
|
"!= select-combobox-1.html select-combobox-1.html",
|
|
"== select-listbox-2.html select-listbox-2-ref.html",
|
|
"!= select-listbox-2.html select-listbox-2.html",
|
|
"== select-combobox-2.html select-combobox-2-ref.html",
|
|
"!= select-combobox-2.html select-combobox-2.html",
|
|
"!= input-checkbox.html input-checkbox.html",
|
|
"!= input-radio.html input-radio.html",
|
|
"== disable-fontinfl-on-mobile.html disable-fontinfl-on-mobile-ref.html",
|
|
"== disable-fontinfl-on-mobile-2.html disable-fontinfl-on-mobile-ref.html",
|
|
"== disable-fontinfl-on-mobile-3.html disable-fontinfl-on-mobile-ref.html",
|
|
"== disable-fontinfl-on-mobile-4.html disable-fontinfl-on-mobile-ref.html",
|
|
"== preformatted-text.html preformatted-text-ref.html",
|
|
"== fixed-height-body.html fixed-height-body-ref.html",
|
|
"== fixed-height-body-child.html fixed-height-body-child-ref.html",
|
|
"== consecutive-inline.html consecutive-inline-ref.html",
|
|
];
|
|
|
|
// Maintain a reference count of how many things we're waiting for until
|
|
// we can say the tests are done.
|
|
var gDelayCount = 0;
|
|
function AddFinishDependency()
|
|
{ ++gDelayCount; }
|
|
function RemoveFinishDependency()
|
|
{ if (--gDelayCount == 0) nextPhase(); }
|
|
|
|
function takeSnapshot(iframe_element)
|
|
{
|
|
return snapshotWindow(iframe_element.contentWindow, false);
|
|
}
|
|
|
|
function startIframe(url)
|
|
{
|
|
AddFinishDependency();
|
|
var element = document.createElement("iframe");
|
|
element.addEventListener("load", handleLoad, false);
|
|
// smaller than normal reftests, but enough for these
|
|
element.setAttribute("style", "width: 600px; height: 100px");
|
|
element.src = "font-inflation/" + url;
|
|
document.body.appendChild(element);
|
|
function handleLoad(event)
|
|
{
|
|
RemoveFinishDependency();
|
|
}
|
|
return element;
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var gPhase = 0;
|
|
|
|
function nextPhase() {
|
|
switch (gPhase) {
|
|
case 0:
|
|
SpecialPowers.setIntPref("font.size.inflation.emPerLine", 15);
|
|
for (var i = 0; i < gTests.length; ++i) {
|
|
let splitData = gTests[i].split(" ");
|
|
let testData =
|
|
{ op: splitData[0], test: splitData[1], reference: splitData[2] };
|
|
gTests[i] = testData;
|
|
testData.testframe = startIframe(testData.test);
|
|
}
|
|
break;
|
|
case 1:
|
|
for (var i = 0; i < gTests.length; ++i) {
|
|
var testData = gTests[i];
|
|
testData.testshot = takeSnapshot(testData.testframe);
|
|
testData.testframe.parentNode.removeChild(testData.testframe);
|
|
}
|
|
SpecialPowers.setIntPref("font.size.inflation.emPerLine", 0);
|
|
for (var i = 0; i < gTests.length; ++i) {
|
|
var testData = gTests[i];
|
|
testData.refframe = startIframe(testData.reference);
|
|
}
|
|
break;
|
|
case 2:
|
|
for (var i = 0; i < gTests.length; ++i) {
|
|
var testData = gTests[i];
|
|
testData.refshot = takeSnapshot(testData.refframe);
|
|
testData.refframe.parentNode.removeChild(testData.refframe);
|
|
assertSnapshots(testData.testshot, testData.refshot,
|
|
testData.op == "==",
|
|
testData.test, testData.reference);
|
|
}
|
|
SimpleTest.finish();
|
|
return;
|
|
}
|
|
++gPhase;
|
|
}
|
|
|
|
nextPhase();
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|