// Returns true if values contains all and only the expected values. False otherwise.
function testValues(values, expected) {
values = [...new Set(values)];
expected = [...new Set(expected)];
// test a property with keywords and colors var prop = "color"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, ...allColors ];
ok(testValues(values, expected), "property color's values.");
// test a shorthand property var prop = "background"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ "auto", ...CSS_WIDE_KEYWORDS, ...allColors, "no-repeat", "repeat", "repeat-x", "repeat-y", "space", "round", "fixed", "scroll", "local", "center", "top", "bottom", "left", "right", "border-box", "padding-box", "content-box", "text", "contain", "cover", "none", ...allImages ];
// test keywords only var prop = "border-top"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, "thin", "medium", "thick", "none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset", ...allColors ];
ok(testValues(values, expected), "property border-top's values.");
// tests no keywords or colors var prop = "padding-bottom"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [...CSS_WIDE_KEYWORDS];
ok(testValues(values, expected), "property padding-bottom's values.");
// test property var prop = "float"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, "none", "left", "right", "inline-start", "inline-end" ];
ok(testValues(values, expected), "property float's values.");
// Test property with "auto" var prop = "margin"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [...CSS_WIDE_KEYWORDS, "auto"];
// Test property with "normal" var prop = "font-style"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, "italic", "normal", "oblique" ];
ok(testValues(values, expected), "property font-style's values.");
// Test property with "cubic-bezier" and "step". var prop = "transition"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, "all", "cubic-bezier", "ease", "ease-in", "ease-in-out", "ease-out", "linear", "none", "step-end", "step-start", "steps", "normal", "allow-discrete" ];
ok(testValues(values, expected), "property transition's values.");
// test invalid property var prop = "invalidProperty";
try {
InspectorUtils.getCSSValuesForProperty(prop);
ok(false, "invalid property should throw an exception");
}
catch(e) {
// test passed
}
// test border-image property, for bug 973345 var prop = "border-image"; var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, "auto", "repeat", "stretch",
...allImages, "fill", "none", "round", "space", ];
var prop = "background-size" var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, "auto", "contain", "cover" ];
ok(testValues(values, expected), "property background-size's values.");
// Regression test for bug 1255401. var prop = "all" var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [...CSS_WIDE_KEYWORDS];
ok(testValues(values, expected), "property all's values.");
var prop = "quotes" var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [ ...CSS_WIDE_KEYWORDS, "auto", "none" ];
ok(testValues(values, expected), "property quotes's values.");
// Regression test for bug 1255384.
for (prop of ["counter-increment", "counter-reset"]) { var values = InspectorUtils.getCSSValuesForProperty(prop); var expected = [...CSS_WIDE_KEYWORDS, "none"];
ok(testValues(values, expected), "property " + prop + "'s values.");
}
// Regression test for bug 1430616 var prop = "text-align"; var values = InspectorUtils.getCSSValuesForProperty(prop);
ok(values.includes("match-parent"), "property text-align includes match-parent");
// Regression test for bug 1255402. var expected = [ ...CSS_WIDE_KEYWORDS, "left", "right", "top", "center", "bottom" ];
for (prop of ["object-position", "perspective-origin"]) { var values = InspectorUtils.getCSSValuesForProperty(prop);
ok(testValues(values, expected), "property " + prop + "'s values");
}
// Regression test for bug 1255378. var expected = [ ...CSS_WIDE_KEYWORDS, "none", ...allColors ]; var values = InspectorUtils.getCSSValuesForProperty("text-shadow");
ok(testValues(values, expected), "property text-shadow's values");
var expected = [ ...CSS_WIDE_KEYWORDS, "inset", "none", ...allColors ]; var values = InspectorUtils.getCSSValuesForProperty("box-shadow");
ok(testValues(values, expected), "property box-shadow's values");
// Regression test for bug 1696677. var values = InspectorUtils.getCSSValuesForProperty("cursor");
ok(values.includes("url"), "property cursor values include url");
ok(values.includes("image-set"), "property cursor values include image-set");
// Test for bug 1935181. var values = InspectorUtils.getCSSValuesForProperty("align-items"); var expected = [ "baseline", "center", "end", "first baseline", "flex-end", "flex-start", "last baseline", "normal", "safe", "self-end", "self-start", "start", "stretch", "unsafe",
...CSS_WIDE_KEYWORDS,
];
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.