mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 22:25:30 +00:00
108 lines
3.9 KiB
HTML
108 lines
3.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=377947
|
|
-->
|
|
<head>
|
|
<title>Test for Bug 377947</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body>
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=377947">Mozilla Bug 377947</a>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none">
|
|
|
|
</div>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
/** Test for Bug 377947 **/
|
|
|
|
/*
|
|
* In particular, test that CSSStyleDeclaration.getPropertyValue doesn't
|
|
* return values for shorthands when some of the subproperties are not
|
|
* specified (a change that wasn't all that related to the main point of
|
|
* the bug). And also test that the internal system-font property added
|
|
* in bug 377947 doesn't interfere with that.
|
|
*/
|
|
|
|
var s = document.getElementById("display").style;
|
|
|
|
is(s.getPropertyValue("list-style"), "",
|
|
"list-style shorthand should start off empty");
|
|
s.listStyleType="disc";
|
|
s.listStyleImage="none";
|
|
is(s.getPropertyValue("list-style"), "",
|
|
"list-style shorthand should be empty when some subproperties specified");
|
|
s.listStylePosition="inside";
|
|
isnot(s.getPropertyValue("list-style"), "",
|
|
"list-style shorthand should produce value when all subproperties set");
|
|
s.removeProperty("list-style");
|
|
is(s.getPropertyValue("list-style"), "",
|
|
"list-style shorthand be empty after removal");
|
|
s.listStyle="none";
|
|
isnot(s.getPropertyValue("list-style"), "",
|
|
"list-style shorthand should produce value when shorthand set");
|
|
s.removeProperty("list-style");
|
|
is(s.getPropertyValue("list-style"), "",
|
|
"list-style shorthand be empty after removal");
|
|
|
|
is(s.getPropertyValue("font"), "",
|
|
"font shorthand should start off empty");
|
|
var all_but_one = {
|
|
"font-family": "serif",
|
|
"font-style": "normal",
|
|
"font-variant": "normal",
|
|
"font-weight": "bold",
|
|
"font-size": "small",
|
|
"font-size-adjust": "none", // has to be default value
|
|
"font-stretch": "normal", // has to be default value
|
|
"font-feature-settings": "normal", // has to be default value
|
|
"font-language-override": "normal", // has to be default value
|
|
"font-kerning": "auto", // has to be default value
|
|
"font-synthesis": "weight style", // has to be default value
|
|
"font-variant-alternates": "normal", // has to be default value
|
|
"font-variant-caps": "normal", // has to be default value
|
|
"font-variant-east-asian": "normal", // has to be default value
|
|
"font-variant-ligatures": "normal", // has to be default value
|
|
"font-variant-numeric": "normal", // has to be default value
|
|
"font-variant-position": "normal" // has to be default value
|
|
};
|
|
|
|
for (var prop in all_but_one) {
|
|
s.setProperty(prop, all_but_one[prop], "");
|
|
}
|
|
is(s.getPropertyValue("font"), "",
|
|
"font shorthand should be empty when some subproperties specified");
|
|
s.setProperty("line-height", "1.5", "");
|
|
isnot(s.getPropertyValue("font"), "",
|
|
"font shorthand should produce value when all subproperties set");
|
|
s.setProperty("font-stretch", "condensed", "");
|
|
is(s.getPropertyValue("font"), "",
|
|
"font shorthand should be empty when font-stretch is non-default");
|
|
s.setProperty("font-stretch", "normal", "");
|
|
isnot(s.getPropertyValue("font"), "",
|
|
"font shorthand should produce value when all subproperties set");
|
|
s.removeProperty("font");
|
|
is(s.getPropertyValue("font"), "",
|
|
"font shorthand be empty after removal");
|
|
s.font="medium serif";
|
|
isnot(s.getPropertyValue("font"), "",
|
|
"font shorthand should produce value when shorthand set");
|
|
s.removeProperty("font");
|
|
is(s.getPropertyValue("font"), "",
|
|
"font shorthand be empty after removal");
|
|
s.font="menu";
|
|
isnot(s.getPropertyValue("font"), "",
|
|
"font shorthand should produce value when shorthand (system font) set");
|
|
s.removeProperty("font");
|
|
is(s.getPropertyValue("font"), "",
|
|
"font shorthand be empty after removal");
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|
|
|