mirror of
https://github.com/servo/servo.git
synced 2025-06-13 10:54:29 +00:00
42 lines
1.7 KiB
HTML
42 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>CSS Overflow Test: Overflow longhand accepts two values</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<link rel="author" title="Emilio Cobos Álvarez <emilio@crisal.io>">
|
|
<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-overflow">
|
|
<div id="test-div"></div>
|
|
<script>
|
|
let div = document.getElementById("test-div");
|
|
function testOverflowShorthand(x, y) {
|
|
test(function() {
|
|
div.style.overflowX = x;
|
|
div.style.overflowY = y;
|
|
|
|
let expectedX = getComputedStyle(div).overflowX;
|
|
let expectedY = getComputedStyle(div).overflowY;
|
|
let expectedComputedSerialization = expectedX == expectedY ? expectedX : `${expectedX} ${expectedY}`;
|
|
let expectedSpecifiedSerialization = x == y ? x : `${x} ${y}`;
|
|
|
|
assert_equals(div.style.overflow, expectedSpecifiedSerialization);
|
|
assert_equals(getComputedStyle(div).overflow, expectedComputedSerialization);
|
|
|
|
div.style.overflowX = "";
|
|
div.style.overflowY = "";
|
|
assert_equals(div.style.overflow, "");
|
|
|
|
div.style.overflow = `${x} ${y}`;
|
|
assert_equals(div.style.overflow, expectedSpecifiedSerialization);
|
|
assert_equals(div.style.overflowX, x);
|
|
assert_equals(div.style.overflowY, y);
|
|
assert_equals(getComputedStyle(div).overflow, expectedComputedSerialization);
|
|
assert_equals(getComputedStyle(div).overflowX, expectedX);
|
|
assert_equals(getComputedStyle(div).overflowY, expectedY);
|
|
}, `overflow: ${x} ${y} works`);
|
|
}
|
|
|
|
let OVERFLOW_VALUES = [ "auto", "hidden", "scroll", "visible" ];
|
|
for (let x of OVERFLOW_VALUES)
|
|
for (let y of OVERFLOW_VALUES)
|
|
testOverflowShorthand(x, y);
|
|
</script>
|