<!DOCTYPE html>
<title>CSS Box Alignment: place-items shorthand - Shorthand 'specified' and 'resolved' value</title>
<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
<link rel="help" href="http://www.w3.org/TR/css3-align/#place-items-property" />
<meta name="assert" content="Check the place-items's 'specified' and 'resolved' values serialization." />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/css-align/resources/alignment-parsing-utils.js"></script>
<div id="log"></div>
<script>
    let classes = Object.assign({"Normal":"normal", "Stretch":"stretch"}, selfPositionClasses, baselineClasses);
    for (var key1 in classes) {
        let alignValue = classes[key1];
        let classes2 = Object.assign({"Left":"left", "Right":"right"}, classes);
        for (var key2 in classes2) {
            let justifyValue = classes2[key2];
            var value = (alignValue + " " + justifyValue).trim();
            test(function() {
                checkPlaceShorhand("place-items", value, alignValue, justifyValue)
            }, "Checking place-items: " + value);
        }
    }
</script>
