<!DOCTYPE html>
<title>CSS Box Alignment: place-content shorthand - invalid values</title>
<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
<link rel="help" href="http://www.w3.org/TR/css3-align/#propdef-place-content" />
<meta name="assert" content="Check that place-content's invalid values are properly detected at parsing time." />
<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>
    function checkInvalidValues(value)
    {
       checkPlaceShorthandInvalidValues("place-content", "align-content", "justify-content", value);
    }

    test(function() {
        checkInvalidValues("center space-between start")
    }, "Verify fallback values are invalid");

    test(function() {
        checkInvalidValues("left")
        checkInvalidValues("left start")
        checkInvalidValues("right center")
    }, "Verify 'left' and 'right' values are invalid for block/cross axis alignment");

    test(function() {
        checkInvalidValues("start baseline")
        checkInvalidValues("end last baseline")
    }, "Verify <baseline-position> values are invalid for the justify-content property");

    test(function() {
        checkInvalidValues("10px end")
        checkInvalidValues("start 10%")
    }, "Verify numeric values are invalid");

    test(function() {
        checkInvalidValues("auto")
        checkInvalidValues("auto right")
        checkInvalidValues("auto auto")
        checkInvalidValues("start auto")
    }, "Verify 'auto' values are invalid");

    test(function() {
        checkInvalidValues("self-start")
        checkInvalidValues("center self-end")
        checkInvalidValues("self-end start")
    }, "Verify self-position values are invalid");

    test(function() {
        checkInvalidValues("")
    }, "Verify empty declaration is invalid");
</script>
