Fix overflow shorthand serialization.

This commit is contained in:
Nazım Can Altınova 2016-12-28 18:41:39 +03:00
parent bd67163438
commit c351092457
5 changed files with 108 additions and 10 deletions

View file

@ -45845,7 +45845,16 @@
"local_changes": {
"deleted": [],
"deleted_reftests": {},
"items": {},
"items": {
"testharness": {
"cssom/overflow-serialization.html": [
{
"path": "cssom/overflow-serialization.html",
"url": "/cssom/overflow-serialization.html"
}
]
}
},
"reftest_nodes": {}
},
"reftest_nodes": {

View file

@ -0,0 +1,48 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSSOM - Overlow property has different serialization than other shorthands.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
div { overflow: inherit; }
div { overflow: hidden; }
div { overflow-x: initial; overflow-y: initial; }
div { overflow-x: scroll; overflow-y: scroll; }
div { overflow-x: inherit; overflow-y: unset; }
</style>
<script>
test(function () {
var styleSheet = document.styleSheets[0];
assert_equals(styleSheet.cssRules[0].style.cssText, "overflow: inherit;", "Single value overflow with CSS-wide keyword should serialize correctly.");
assert_equals(styleSheet.cssRules[1].style.cssText, "overflow: hidden;", "Single value overflow with non-CSS-wide keyword should serialize correctly.");
assert_equals(styleSheet.cssRules[2].style.cssText, "overflow: initial;", "Overflow-x/y longhands with same CSS-wide keyword should serialize correctly.");
assert_equals(styleSheet.cssRules[3].style.cssText, "overflow: scroll;", "Overflow-x/y longhands with same non-CSS-wide keyword should serialize correctly.");
assert_equals(styleSheet.cssRules[4].style.cssText, "overflow-x: inherit; overflow-y: unset;", "Overflow-x/y longhands with different keywords should serialize correctly.");
var div = document.createElement('div');
div.style.overflow = "inherit";
assert_equals(div.style.overflow, "inherit", "Single value overflow with CSS-wide keyword should serialize correctly.");
div.style.overflow = "hidden";
assert_equals(div.style.overflow, "hidden", "Single value overflow with non-CSS-wide keyword should serialize correctly.");
div.style.overflow = "";
div.style.overflowX = "initial";
div.style.overflowY = "initial";
assert_equals(div.style.overflow, "initial", "Overflow-x/y longhands with same CSS-wide keyword should serialize correctly.");
div.style.overflowX = "scroll";
div.style.overflowY = "scroll";
assert_equals(div.style.overflow, "scroll", "Overflow-x/y longhands with same non-CSS-wide keyword should serialize correctly.");
div.style.overflowX = "inherit";
div.style.overflowY = "unset";
assert_equals(div.style.overflow, "", "Overflow-x/y longhands with different keywords shouldn't serialize.");
});
</script>
</head>
</html>