mirror of
https://github.com/servo/servo.git
synced 2025-08-08 06:55:31 +01:00
Update web-platform-tests to revision 04cd5eb8e5c47e4fe341f2fb541d39fa2346f464
This commit is contained in:
parent
0ab2c3f8a3
commit
1d0624b343
226 changed files with 4495 additions and 903 deletions
|
@ -0,0 +1,68 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>CSS Logical Values: Flow-Relative Values for the 'float' property</title>
|
||||
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
|
||||
<link rel="help" href="https://drafts.csswg.org/css-logical/#float-clear">
|
||||
<meta name="assert" content="This test checks that the 'inline-start' and 'inline-end' values of the 'float' and 'clear' properties map to the correct physical value." />
|
||||
<link rel="match" href="reference/logical-values-float-clear-reftest-ref.html">
|
||||
<style>
|
||||
.test {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
width: 300px;
|
||||
}
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
.float, .clear {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
height: 3px;
|
||||
width: 100px;
|
||||
background: #f0f;
|
||||
}
|
||||
.clear {
|
||||
background: #0ff;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<script>
|
||||
const sides = ["inline-start", "inline-end"];
|
||||
const directions = ["ltr", "rtl"];
|
||||
for (const floatSide of sides) {
|
||||
for (const clearSide of sides) {
|
||||
for (const containerDirection of directions) {
|
||||
for (const inlineParentDirection of [null, ...directions]) {
|
||||
for (const floatDirection of directions) {
|
||||
for (const clearDirection of directions) {
|
||||
const containerEl = document.createElement("div");
|
||||
containerEl.className = "test";
|
||||
containerEl.style.direction = containerDirection;
|
||||
const floatEl = document.createElement("div");
|
||||
floatEl.className = "float";
|
||||
floatEl.style.direction = floatDirection;
|
||||
floatEl.style.float = floatSide;
|
||||
const clearEl = document.createElement("div");
|
||||
clearEl.className = "clear";
|
||||
clearEl.style.direction = floatDirection;
|
||||
clearEl.style.clear = clearSide;
|
||||
if (inlineParentDirection) {
|
||||
const inlineParent = document.createElement("div");
|
||||
inlineParent.className = "inline";
|
||||
inlineParent.style.direction = inlineParentDirection;
|
||||
inlineParent.appendChild(floatEl);
|
||||
inlineParent.appendChild(clearEl);
|
||||
containerEl.appendChild(inlineParent);
|
||||
} else {
|
||||
containerEl.appendChild(floatEl);
|
||||
containerEl.appendChild(clearEl);
|
||||
}
|
||||
document.body.appendChild(containerEl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
|
@ -0,0 +1,68 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>CSS Reftest Reference</title>
|
||||
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
|
||||
<style>
|
||||
.test {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
width: 300px;
|
||||
}
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
.float, .clear {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
height: 3px;
|
||||
width: 100px;
|
||||
background: #f0f;
|
||||
}
|
||||
.clear {
|
||||
background: #0ff;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<script>
|
||||
function physicalValue(value, containerDirection) {
|
||||
return ((value === "inline-start") === (containerDirection === "ltr")) ? "left" : "right";
|
||||
}
|
||||
const sides = ["inline-start", "inline-end"];
|
||||
const directions = ["ltr", "rtl"];
|
||||
for (const floatSide of sides) {
|
||||
for (const clearSide of sides) {
|
||||
for (const containerDirection of directions) {
|
||||
for (const inlineParentDirection of [null, ...directions]) {
|
||||
for (const floatDirection of directions) {
|
||||
for (const clearDirection of directions) {
|
||||
const containerEl = document.createElement("div");
|
||||
containerEl.className = "test";
|
||||
containerEl.style.direction = containerDirection;
|
||||
const floatEl = document.createElement("div");
|
||||
floatEl.className = "float";
|
||||
floatEl.style.direction = floatDirection;
|
||||
floatEl.style.float = physicalValue(floatSide, containerDirection);
|
||||
const clearEl = document.createElement("div");
|
||||
clearEl.className = "clear";
|
||||
clearEl.style.direction = floatDirection;
|
||||
clearEl.style.clear = physicalValue(clearSide, containerDirection);
|
||||
if (inlineParentDirection) {
|
||||
const inlineParent = document.createElement("div");
|
||||
inlineParent.className = "inline";
|
||||
inlineParent.style.direction = inlineParentDirection;
|
||||
inlineParent.appendChild(floatEl);
|
||||
inlineParent.appendChild(clearEl);
|
||||
containerEl.appendChild(inlineParent);
|
||||
} else {
|
||||
containerEl.appendChild(floatEl);
|
||||
containerEl.appendChild(clearEl);
|
||||
}
|
||||
document.body.appendChild(containerEl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
|
@ -21,27 +21,7 @@ export function runTests(property, values) {
|
|||
style.cssText = "";
|
||||
style.setProperty(property, value);
|
||||
testCSSValues("logical values in inline style", style, [[property, value]]);
|
||||
testComputedValues("logical values in computed style", style, [[property, value]]);
|
||||
}, `Test that '${property}: ${value}' is supported.`);
|
||||
|
||||
const camelCase = value.replace(/-(.)/g, (match, $1) => $1.toUpperCase());
|
||||
for (const writingMode of writingModes) {
|
||||
for (const style of writingMode.styles) {
|
||||
const writingModeDecl = makeDeclaration(style);
|
||||
test(function() {
|
||||
const physicalSide = writingMode[camelCase];
|
||||
let expected;
|
||||
if (physicalSide === writingMode.lineLeft) {
|
||||
expected = "left";
|
||||
} else if (physicalSide === writingMode.lineRight) {
|
||||
expected = "right";
|
||||
} else {
|
||||
expected = physicalSide;
|
||||
}
|
||||
testComputedValues(`computed value`,
|
||||
`.test { ${writingModeDecl} }`,
|
||||
[[property, expected]]);
|
||||
}, `Test '${property}: ${value}' with '${writingModeDecl}'.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue