| <!doctype html> |
| <html> |
| <link rel="author" title="Erik Nordin" href="mailto:enordin@mozilla.com"> |
| <link rel="help" href="https://drafts.csswg.org/css-backgrounds-3/#propdef-border"> |
| <link rel="help" href="https://drafts.csswg.org/cssom-1/#serialize-a-css-declaration-block"> |
| <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1594241"> |
| <meta charset="utf-8"> |
| <title>serialization of border shorthand</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style id="target"> |
| .a { |
| border-width: 1px; |
| border-style: solid; |
| border-color: black; |
| } |
| .b { |
| border-width: 1px; |
| border-style: solid; |
| border-color: black; |
| border-image: linear-gradient(white,black); |
| } |
| .c { |
| border: 1px solid black; |
| } |
| </style> |
| <script> |
| test(function() { |
| let rule = document.getElementById('target').sheet.cssRules[0]; |
| assert_equals(rule.style.border, "", "border shorthand isn't serialized if border-image longhands are not initial"); |
| }, "Declaration with border longhands is not serialized to a border shorthand declaration."); |
| test(function() { |
| let rule = document.getElementById('target').sheet.cssRules[1]; |
| assert_equals(rule.style.border, "", "border shorthand isn't serialized if border-image longhands are not initial"); |
| }, "Declaration with border longhands and border-image is not serialized to a border shorthand declaration."); |
| test(function() { |
| let rule = document.getElementById('target').sheet.cssRules[2]; |
| assert_not_equals(rule.style.border, "", "border shorthand "); |
| assert_equals(rule.cssText, ".c { border: 1px solid black; }"); |
| }, "Border shorthand is serialized correctly if all border-image-* are set to their initial specified values."); |
| </script> |
| </html> |