<!DOCTYPE html>
<html>
<head>
    <title>CSS Variables Test: Set border shorthand and serialize border-*</title>
  <link rel="author" title="Kevin Babbitt" href="kbabbitt@microsoft.com">
  <link rel="help" href="http://www.w3.org/TR/css-variables-1/#variables-in-shorthands">
  <meta name="assert" content="Pending-substitution values must be serialized as the empty string, if an API allows them to be observed.">
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
</head>
<body>
    <div id="test" style="border: var(--border)"></div>

    <script type="text/javascript">
        "use strict";

        test(function() {
            assert_equals(document.getElementById("test").style.getPropertyValue("border-color"), "");
        }, "border-color should serialize to the empty string when border references a variable");
        test(function() {
            assert_equals(document.getElementById("test").style.getPropertyValue("border-style"), "");
        }, "border-style should serialize to the empty string when border references a variable");
        test(function() {
            assert_equals(document.getElementById("test").style.getPropertyValue("border-width"), "");
        }, "border-width should serialize to the empty string when border references a variable");
    </script>
</body>
</html>

