<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>CSSOM - Flex serialization</title>
    <link rel="help" href="https://drafts.csswg.org/cssom/#serialize-a-css-value">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <style>
        div { flex: initial; }
        div { flex: 0; }
        div { flex: initial; flex-basis: initial; flex-shrink: initial; }
        div { flex: initial; flex-shrink: 0; }
        div { flex: initial; flex-basis: 0; flex-shrink: 2;}
    </style>

    <script>
    var styleSheet = document.styleSheets[0]
    test(function () {
        assert_equals(styleSheet.cssRules[0].style.cssText, "flex: initial;")
    }, "Single value flex with CSS-wide keyword should serialize correctly.")
    test(function () {
        assert_in_array(styleSheet.cssRules[1].style.cssText, ["flex: 0px;", "flex: 0 1 0px;"])
    }, "Single value flex with non-CSS-wide value should serialize correctly.")
    test(function () {
        assert_equals(styleSheet.cssRules[2].style.cssText, "flex: initial;")
    }, "Multiple values flex with CSS-wide keyword should serialize correctly.")
    test(function () {
        assert_equals(styleSheet.cssRules[3].style.cssText, "flex-grow: initial; flex-basis: initial; flex-shrink: 0;")
    }, "Multiple values flex with CSS-wide keywords and non-CSS-wide value should serialize correctly.")
    test(function () {
        assert_equals(styleSheet.cssRules[4].style.cssText, "flex-grow: initial; flex-basis: 0px; flex-shrink: 2;")
    }, "Multiple values flex with CSS-wide and two non-CSS-wide-keyword values should serialize correctly.")
    </script>
</head>
</html>
