263 lines
10 KiB
HTML
263 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
#placeItemsNormal {
|
|
place-items: normal;
|
|
}
|
|
#placeItemsBaseline {
|
|
place-items: baseline;
|
|
}
|
|
#placeItemsFirstBaseline {
|
|
place-items: first baseline;
|
|
}
|
|
#placeItemsLastBaseline {
|
|
place-items: last baseline;
|
|
}
|
|
#placeItemsStart {
|
|
place-items: start;
|
|
}
|
|
#placeItemsFlexStart {
|
|
place-items: flex-start;
|
|
}
|
|
#placeItemsEnd {
|
|
place-items: end;
|
|
}
|
|
#placeItemsSelfStart {
|
|
place-items: self-start;
|
|
}
|
|
#placeItemsStretch {
|
|
place-items: stretch;
|
|
}
|
|
#placeItemsStartEnd {
|
|
place-items: start end;
|
|
}
|
|
#placeItemsStartSelfEnd {
|
|
place-items: start self-end;
|
|
}
|
|
#placeItemsStartBaseline {
|
|
place-items: start baseline;
|
|
}
|
|
|
|
<!-- Invalid CSS cases -->
|
|
#placeItemsEmpty {
|
|
place-items:;
|
|
}
|
|
#placeItemsAuto {
|
|
place-items: auto;
|
|
}
|
|
#placeItemsCenterAuto {
|
|
place-items: center auto;
|
|
}
|
|
#placeItemsNone {
|
|
place-items: none;
|
|
}
|
|
#placeItemsSafe {
|
|
place-items: safe;
|
|
}
|
|
#placeItemsStartSafe {
|
|
place-items: start safe;
|
|
}
|
|
#placeItemsBaselineSafe {
|
|
place-items: baseline safe;
|
|
}
|
|
#placeItemsStartEndLeft {
|
|
place-items: start end left;
|
|
}
|
|
</style>
|
|
<script src="../resources/testharness.js"></script>
|
|
<script src="../resources/testharnessreport.js"></script>
|
|
<script src="resources/alignment-parsing-utils-th.js"></script>
|
|
</head>
|
|
<body>
|
|
<p>Test to verify that the new place-items alignment shorthand is parsed as expected and correctly sets the longhand values.</p>
|
|
<div id="log"></div>
|
|
|
|
<div id="placeItemsNormal"></div>
|
|
<div id="placeItemsBaseline"></div>
|
|
<div id="placeItemsFirstBaseline"></div>
|
|
<div id="placeItemsLastBaseline"></div>
|
|
<div id="placeItemsStart"></div>
|
|
<div id="placeItemsFlexStart"></div>
|
|
<div id="placeItemsEnd"></div>
|
|
<div id="placeItemsSelfStart"></div>
|
|
<div id="placeItemsStretch"></div>
|
|
<div id="placeItemsStartEnd"></div>
|
|
<div id="placeItemsStartSelfEnd"></div>
|
|
<div id="placeItemsStartBaseline"></div>
|
|
|
|
<div id="placeItemsEmpty"></div>
|
|
<div id="placeItemsAuto"></div>
|
|
<div id="placeItemsCenterAuto"></div>
|
|
<div id="placeItemsNone"></div>
|
|
<div id="placeItemsSafe"></div>
|
|
<div id="placeItemsStartSafe"></div>
|
|
<div id="placeItemsBaselineSafe"></div>
|
|
<div id="placeItemsStartEndLeft"></div>
|
|
<script>
|
|
function checkPlaceItemsValues(element, value, alignValue, justifyValue) {
|
|
var res = value.split(" ");
|
|
if (res.length < 2)
|
|
res[1] = res[0];
|
|
checkValues(element, "alignItems", "align-items", res[0], alignValue);
|
|
checkValues(element, "justifyItems", "justify-items", res[1], justifyValue);
|
|
}
|
|
|
|
function checkPlaceItemsValuesJS(value, alignValue, justifyValue)
|
|
{
|
|
element = document.createElement("div");
|
|
document.body.appendChild(element);
|
|
element.style.placeItems = value;
|
|
checkValues(element, "placeItems", "place-items", value, alignValue + ' ' + justifyValue)
|
|
checkPlaceItemsValues(element, value, alignValue, justifyValue)
|
|
}
|
|
|
|
function checkPlaceItemsValuesBadJS(value)
|
|
{
|
|
element.style.placeItems = "";
|
|
element.style.placeItems = value;
|
|
checkPlaceItemsValues(element, "", "normal", "normal")
|
|
}
|
|
|
|
test(function() {
|
|
checkValues(placeItemsNormal, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsNormal, "", "normal", "normal");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'normal' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsBaseline, "placeItems", "place-items", "", "baseline baseline");
|
|
checkPlaceItemsValues(placeItemsBaseline, "", "baseline", "baseline");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'baseline' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsFirstBaseline, "placeItems", "place-items", "", "baseline baseline");
|
|
checkPlaceItemsValues(placeItemsFirstBaseline, "", "baseline", "baseline");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'first baseline' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsLastBaseline, "placeItems", "place-items", "", "last baseline last baseline");
|
|
checkPlaceItemsValues(placeItemsLastBaseline, "", "last baseline", "last baseline");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'last baseline' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsStart, "placeItems", "place-items", "", "start start");
|
|
checkPlaceItemsValues(placeItemsStart, "", "start", "start");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'start' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsFlexStart, "placeItems", "place-items", "", "flex-start flex-start");
|
|
checkPlaceItemsValues(placeItemsFlexStart, "", "flex-start", "flex-start");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'flex-start' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsEnd, "placeItems", "place-items", "", "end end");
|
|
checkPlaceItemsValues(placeItemsEnd, "", "end", "end");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'end' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsSelfStart, "placeItems", "place-items", "", "self-start self-start");
|
|
checkPlaceItemsValues(placeItemsSelfStart, "", "self-start", "self-start");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'self-start' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsStretch, "placeItems", "place-items", "", "stretch stretch");
|
|
checkPlaceItemsValues(placeItemsStretch, "", "stretch", "stretch");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'stretch' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsStartEnd, "placeItems", "place-items", "", "start end");
|
|
checkPlaceItemsValues(placeItemsStartEnd, "", "start", "end");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'start end' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsStartSelfEnd, "placeItems", "place-items", "", "start self-end");
|
|
checkPlaceItemsValues(placeItemsStartSelfEnd, "", "start", "self-end");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'start self-end' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsStartBaseline, "placeItems", "place-items", "", "start baseline");
|
|
checkPlaceItemsValues(placeItemsStartBaseline, "", "start", "baseline");
|
|
}, "Test getting the Computed Value of place-items's longhand properties when setting 'start baseline' value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsAuto, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsAuto, "", "normal", "normal");
|
|
}, "Test setting 'auto' as incorrect value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsCenterAuto, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsCenterAuto, "", "normal", "normal");
|
|
}, "Test setting 'center auto' as incorrect value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsNone, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsNone, "", "normal", "normal");
|
|
}, "Test setting 'none' as incorrect value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsSafe, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsSafe, "", "normal", "normal");
|
|
}, "Test setting 'safe' as incorrect value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsStartSafe, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsStartSafe, "", "normal", "normal");
|
|
}, "Test setting 'start safe' as incorrect value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsBaselineSafe, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsBaselineSafe, "", "normal", "normal");
|
|
}, "Test setting 'baseline safe' as incorrect value through CSS.");
|
|
|
|
test(function() {
|
|
checkValues(placeItemsStartEndLeft, "placeItems", "place-items", "", "normal normal");
|
|
checkPlaceItemsValues(placeItemsStartEndLeft, "", "normal", "normal");
|
|
}, "Test setting 'start end left' as incorrect value through CSS.");
|
|
|
|
test(function() {
|
|
checkPlaceItemsValuesJS("center", "center", "center");
|
|
checkPlaceItemsValuesJS("center start", "center", "start");
|
|
checkPlaceItemsValuesJS("self-start end", "self-start", "end");
|
|
checkPlaceItemsValuesJS("normal end", "normal", "end");
|
|
}, "Test setting values through JS.");
|
|
|
|
test(function() {
|
|
checkPlaceItemsValuesBadJS("auto");
|
|
checkPlaceItemsValuesBadJS("auto normal");
|
|
checkPlaceItemsValuesBadJS("center auto");
|
|
checkPlaceItemsValuesBadJS("legacy");
|
|
checkPlaceItemsValuesBadJS("left legacy");
|
|
checkPlaceItemsValuesBadJS("space-between");
|
|
checkPlaceItemsValuesBadJS("center safe");
|
|
checkPlaceItemsValuesBadJS("center self-start center");
|
|
checkPlaceItemsValuesBadJS("asrt", "normal");
|
|
checkPlaceItemsValuesBadJS("auto", "normal");
|
|
checkPlaceItemsValuesBadJS("10px", "normal");
|
|
checkPlaceItemsValuesBadJS("stretch safe");
|
|
checkPlaceItemsValuesBadJS("self-start start end");
|
|
checkPlaceItemsValuesBadJS("");
|
|
}, "Test setting incorrect values through JS.");
|
|
|
|
test(function() {
|
|
element = document.createElement("div");
|
|
document.body.appendChild(element);
|
|
checkValues(element, "placeItems", "place-items", "", "normal normal");
|
|
element.style.placeItems = "center";
|
|
checkPlaceItemsValues(element, "center", "center", "center");
|
|
element.style.placeItems = "initial";
|
|
checkValues(element, "placeItems", "place-items", "initial", "normal normal");
|
|
checkPlaceItemsValues(element, "initial", "normal", "normal");
|
|
}, "Test the 'initial' value of the place-items shorthand and its longhand properties' Computed value");
|
|
|
|
test(function() {
|
|
document.body.style.placeItems = "start";
|
|
var anotherElement = document.createElement("div");
|
|
document.body.appendChild(anotherElement);
|
|
checkPlaceItemsValues(anotherElement, "", "normal", "normal");
|
|
anotherElement.style.placeItems = "inherit";
|
|
checkPlaceItemsValues(anotherElement, "inherit", "start", "start");
|
|
}, "Test the 'inherit' value of the place-items shorthand and its longhand properties' Computed value");
|
|
</script>
|
|
</body>
|
|
</html>
|