blob: a3f66ee928d5a99f19959fd3f731589b5fab46b8 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<style>
#justifyContentAuto {
justify-content: auto;
}
#justifyContentBaseline {
justify-content: baseline;
}
#justifyContentLastBaseline {
justify-content: last-baseline;
}
#justifyContentSpaceBetween {
justify-content: space-between;
}
#justifyContentSpaceAround {
justify-content: space-around;
}
#justifyContentSpaceEvenly {
justify-content: space-evenly;
}
#justifyContentStretch {
justify-content: stretch;
}
#justifyContentStart {
justify-content: start;
}
#justifyContentEnd {
justify-content: end;
}
#justifyContentCenter {
justify-content: center;
}
#justifyContentLeft {
justify-content: left;
}
#justifyContentRight {
justify-content: right;
}
#justifyContentFlexStart {
justify-content: flex-start;
}
#justifyContentFlexEnd {
justify-content: flex-end;
}
#justifyContentEndUnsafe {
justify-content: end unsafe;
}
#justifyContentCenterUnsafe {
justify-content: center unsafe;
}
#justifyContentRightSafe {
justify-content: right safe;
}
#justifyContentLeftUnsafe {
justify-content: left unsafe;
}
#justifyContentFlexStartUnsafe {
justify-content: flex-start unsafe;
}
#justifyContentFlexEndSafe {
justify-content: flex-end safe;
}
#justifyContentSpaceBetweenLeft {
justify-content: space-between left;
}
#justifyContentSpaceAroundCenter {
justify-content: space-around center;
}
#justifyContentSpaceEvenlyRight {
justify-content: space-evenly right;
}
#justifyContentStretchStartSafe {
justify-content: stretch start safe;
}
#justifyContentSpaceAroundEndUnsafe {
justify-content: space-around end unsafe;
}
#justifyContentSpaceEvenlyFlexStartSafe {
justify-content: space-evenly flex-start safe;
}
<!-- Invalid CSS cases -->
#justifyContentSpaceBetweenSafe {
justify-content: space-between safe;
}
#justifyContentSpaceBetweenStretch {
justify-content: space-between stretch;
}
#justifyContentSafe {
justify-content: safe;
}
#justifyContentRightSafeUnsafe {
justify-content: right safe unsafe;
}
#justifyContentCenterLeft {
justify-content: center left;
}
</style>
<script src="../resources/js-test.js"></script>
</head>
<body>
<div id="justifyContentAuto"></div>
<div id="justifyContentBaseline"></div>
<div id="justifyContentLastBaseline"></div>
<div id="justifyContentSpaceBetween"></div>
<div id="justifyContentSpaceAround"></div>
<div id="justifyContentSpaceEvenly"></div>
<div id="justifyContentStretch"></div>
<div id="justifyContentStart"></div>
<div id="justifyContentEnd"></div>
<div id="justifyContentCenter"></div>
<div id="justifyContentLeft"></div>
<div id="justifyContentRight"></div>
<div id="justifyContentFlexStart"></div>
<div id="justifyContentFlexEnd"></div>
<div id="justifyContentEndUnsafe"></div>
<div id="justifyContentCenterUnsafe"></div>
<div id="justifyContentRightSafe"></div>
<div id="justifyContentLeftUnsafe"></div>
<div id="justifyContentFlexStartUnsafe"></div>
<div id="justifyContentFlexEndSafe"></div>
<div id="justifyContentSpaceBetweenLeft"></div>
<div id="justifyContentSpaceAroundCenter"></div>
<div id="justifyContentSpaceEvenlyRight"></div>
<div id="justifyContentStretchStartSafe"></div>
<div id="justifyContentSpaceAroundEndUnsafe"></div>
<div id="justifyContentSpaceEvenlyFlexStartSafe"></div>
<div id="justifyContentSpaceBetweenSafe"></div>
<div id="justifyContentSpaceBetweenStretch"></div>
<div id="justifyContentSafe"></div>
<div id="justifyContentRightSafeUnsafe"></div>
<div id="justifyContentCenterLeft"></div>
<script src="resources/alignment-parsing-utils.js"></script>
<script>
description('Test that setting and getting justify-content works as expected');
debug("Test getting justify-content set through CSS");
var justifyContentAuto = document.getElementById("justifyContentAuto");
shouldBeEqualToString("getComputedStyle(justifyContentAuto, '').getPropertyValue('justify-content')", "normal");
var justifyContentBaseline = document.getElementById("justifyContentBaseline");
shouldBeEqualToString("getComputedStyle(justifyContentBaseline, '').getPropertyValue('justify-content')", "baseline");
var justifyContentLastBaseline = document.getElementById("justifyContentLastBaseline");
shouldBeEqualToString("getComputedStyle(justifyContentLastBaseline, '').getPropertyValue('justify-content')", "last-baseline");
var justifyContentSpaceBetween = document.getElementById("justifyContentSpaceBetween");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetween, '').getPropertyValue('justify-content')", "space-between");
var justifyContentSpaceAround = document.getElementById("justifyContentSpaceAround");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceAround, '').getPropertyValue('justify-content')", "space-around");
var justifyContentSpaceEvenly = document.getElementById("justifyContentSpaceEvenly");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceEvenly, '').getPropertyValue('justify-content')", "space-evenly");
var justifyContentStretch = document.getElementById("justifyContentStretch");
shouldBeEqualToString("getComputedStyle(justifyContentStretch, '').getPropertyValue('justify-content')", "stretch");
var justifyContentStart = document.getElementById("justifyContentStart");
shouldBeEqualToString("getComputedStyle(justifyContentStart, '').getPropertyValue('justify-content')", "start");
var justifyContentEnd = document.getElementById("justifyContentEnd");
shouldBeEqualToString("getComputedStyle(justifyContentEnd, '').getPropertyValue('justify-content')", "end");
var justifyContentCenter = document.getElementById("justifyContentCenter");
shouldBeEqualToString("getComputedStyle(justifyContentCenter, '').getPropertyValue('justify-content')", "center");
var justifyContentLeft = document.getElementById("justifyContentLeft");
shouldBeEqualToString("getComputedStyle(justifyContentLeft, '').getPropertyValue('justify-content')", "left");
var justifyContentRight = document.getElementById("justifyContentRight");
shouldBeEqualToString("getComputedStyle(justifyContentRight, '').getPropertyValue('justify-content')", "right");
var justifyContentFlexStart = document.getElementById("justifyContentFlexStart");
shouldBeEqualToString("getComputedStyle(justifyContentFlexStart, '').getPropertyValue('justify-content')", "flex-start");
var justifyContentFlexEnd = document.getElementById("justifyContentFlexEnd");
shouldBeEqualToString("getComputedStyle(justifyContentFlexEnd, '').getPropertyValue('justify-content')", "flex-end");
var justifyContentEndUnsafe = document.getElementById("justifyContentEndUnsafe");
shouldBeEqualToString("getComputedStyle(justifyContentEndUnsafe, '').getPropertyValue('justify-content')", "end unsafe");
var justifyContentCenterUnsafe = document.getElementById("justifyContentCenterUnsafe");
shouldBeEqualToString("getComputedStyle(justifyContentCenterUnsafe, '').getPropertyValue('justify-content')", "center unsafe");
var justifyContentRightSafe = document.getElementById("justifyContentRightSafe");
shouldBeEqualToString("getComputedStyle(justifyContentRightSafe, '').getPropertyValue('justify-content')", "right safe");
var justifyContentLeftUnsafe = document.getElementById("justifyContentLeftUnsafe");
shouldBeEqualToString("getComputedStyle(justifyContentLeftUnsafe, '').getPropertyValue('justify-content')", "left unsafe");
var justifyContentFlexStartUnsafe = document.getElementById("justifyContentFlexStartUnsafe");
shouldBeEqualToString("getComputedStyle(justifyContentFlexStartUnsafe, '').getPropertyValue('justify-content')", "flex-start unsafe");
var justifyContentFlexEndSafe = document.getElementById("justifyContentFlexEndSafe");
shouldBeEqualToString("getComputedStyle(justifyContentFlexEndSafe, '').getPropertyValue('justify-content')", "flex-end safe");
var justifyContentSpaceBetweenLeft = document.getElementById("justifyContentSpaceBetweenLeft");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetweenLeft, '').getPropertyValue('justify-content')", "space-between left");
var justifyContentSpaceAroundCenter = document.getElementById("justifyContentSpaceAroundCenter");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceAroundCenter, '').getPropertyValue('justify-content')", "space-around center");
var justifyContentSpaceEvenlyRight = document.getElementById("justifyContentSpaceEvenlyRight");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceEvenlyRight, '').getPropertyValue('justify-content')", "space-evenly right");
var justifyContentStretchStartSafe = document.getElementById("justifyContentStretchStartSafe");
shouldBeEqualToString("getComputedStyle(justifyContentStretchStartSafe, '').getPropertyValue('justify-content')", "stretch start safe");
var justifyContentSpaceAroundEndUnsafe = document.getElementById("justifyContentSpaceAroundEndUnsafe");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceAroundEndUnsafe, '').getPropertyValue('justify-content')", "space-around end unsafe");
var justifyContentSpaceEvenlyFlexStartSafe = document.getElementById("justifyContentSpaceEvenlyFlexStartSafe");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceEvenlyFlexStartSafe, '').getPropertyValue('justify-content')", "space-evenly flex-start safe");
var justifyContentSpaceBetweenSafe = document.getElementById("justifyContentSpaceBetweenSafe");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetweenSafe, '').getPropertyValue('justify-content')", "normal");
var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentSpaceBetweenStretch");
shouldBeEqualToString("getComputedStyle(justifyContentSpaceBetweenStretch, '').getPropertyValue('justify-content')", "normal");
var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentSafe");
shouldBeEqualToString("getComputedStyle(justifyContentSafe, '').getPropertyValue('justify-content')", "normal");
var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentRightSafeUnsafe");
shouldBeEqualToString("getComputedStyle(justifyContentRightSafeUnsafe, '').getPropertyValue('justify-content')", "normal");
var justifyContentSpaceAroundUnsafe = document.getElementById("justifyContentCenterLeft");
shouldBeEqualToString("getComputedStyle(justifyContentCenterLeft, '').getPropertyValue('justify-content')", "normal");
debug("");
debug("Test initial value of justify-content through JS");
element = document.createElement("div");
document.body.appendChild(element);
shouldBeEqualToString("getComputedStyle(element, '').getPropertyValue('justify-content')", "normal");
debug("");
debug("Test getting and setting justify-content through JS");
element = document.createElement("div");
document.body.appendChild(element);
element.style.justifyContent = "center";
checkValues(element, "justifyContent", "justify-content", "center", "center");
element.style.justifyContent = "unsafe start";
checkValues(element, "justifyContent", "justify-content", "start unsafe", "start unsafe");
element.style.justifyContent = "flex-end safe";
checkValues(element, "justifyContent", "justify-content", "flex-end safe", "flex-end safe");
element.style.justifyContent = "space-between right safe";
checkValues(element, "justifyContent", "justify-content", "space-between right safe", "space-between right safe");
element.style.justifyContent = "center stretch";
checkValues(element, "justifyContent", "justify-content", "stretch center", "stretch center");
element.style.justifyContent = "right unsafe";
checkValues(element, "justifyContent", "justify-content", "right unsafe", "right unsafe");
element.style.justifyContent = "normal";
checkValues(element, "justifyContent", "justify-content", "normal", "normal");
element.style.display = "-webkit-flex";
element.style.justifyContent = "normal";
checkValues(element, "justifyContent", "justify-content", "normal", "normal");
element.style.display = "grid";
element.style.justifyContent = "normal";
checkValues(element, "justifyContent", "justify-content", "normal", "normal");
element.style.justifyContent = "flex-end";
checkValues(element, "justifyContent", "justify-content", "flex-end", "flex-end");
debug("");
debug("Test bad combinations of justify-content");
element = document.createElement("div");
document.body.appendChild(element);
checkBadValues(element, "justifyContent", "justify-content", "");
checkBadValues(element, "justifyContent", "justify-content", "auto");
checkBadValues(element, "justifyContent", "justify-content", "unsafe auto");
checkBadValues(element, "justifyContent", "justify-content", "auto safe");
checkBadValues(element, "justifyContent", "justify-content", "auto left");
checkBadValues(element, "justifyContent", "justify-content", "baseline safe");
checkBadValues(element, "justifyContent", "justify-content", "last baseline center");
checkBadValues(element, "justifyContent", "justify-content", "unsafe unsafe");
checkBadValues(element, "justifyContent", "justify-content", "unsafe safe");
checkBadValues(element, "justifyContent", "justify-content", "center start");
checkBadValues(element, "justifyContent", "justify-content", "baseline safe");
checkBadValues(element, "justifyContent", "justify-content", "unsafe baseline");
checkBadValues(element, "justifyContent", "justify-content", "unsafe safe left");
checkBadValues(element, "justifyContent", "justify-content", "unsafe left safe");
checkBadValues(element, "justifyContent", "justify-content", "left safe unsafe safe");
checkBadValues(element, "justifyContent", "justify-content", "start right space-between");
checkBadValues(element, "justifyContent", "justify-content", "safe stretch");
checkBadValues(element, "justifyContent", "justify-content", "space-around stretch");
checkBadValues(element, "justifyContent", "justify-content", "end space-between start");
checkBadValues(element, "justifyContent", "justify-content", "right safe left");
checkBadValues(element, "justifyContent", "justify-content", "unsafe");
checkBadValues(element, "justifyContent", "justify-content", "safe");
debug("");
debug("Test the value 'initial'");
element.style.display = "";
checkInitialValues(element, "justifyContent", "justify-content", "stretch center", "normal");
debug("");
debug("Test the value 'initial' for grid containers");
element.style.display = "grid";
checkInitialValues(element, "justifyContent", "justify-content", "space-between left", "normal");
debug("");
debug("Test the value 'initial' for flex containers");
element.style.display = "-webkit-flex";
checkInitialValues(element, "justifyContent", "justify-content", "right unsafe", "normal");
debug("");
debug("Test the value 'inherit'");
checkInheritValues("justifyContent", "justify-content", "end");
checkInheritValues("justifyContent", "justify-content", "left safe");
checkInheritValues("justifyContent", "justify-content", "stretch center");
</script>
</body>
</html>