mirror of
https://github.com/servo/servo.git
synced 2025-06-27 10:33:39 +01:00
288 lines
6.3 KiB
HTML
288 lines
6.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>CSS Fonts Module Level 4: parsing @font-palette-values</title>
|
|
<link rel="help" href="https://drafts.csswg.org/css-fonts/#font-palette-values">
|
|
<meta name="assert" content="@font-palette-values is parsed correctly.">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<style id="style">
|
|
@font-palette-values {
|
|
}
|
|
|
|
@font-palette-values A {
|
|
}
|
|
|
|
@font-palette-values --A --B {
|
|
}
|
|
|
|
/* 0 */
|
|
@font-palette-values --A {
|
|
font-family: a, serif; /* multiple families are allowed, but not generics */
|
|
}
|
|
|
|
/* 1 */
|
|
@font-palette-values --A {
|
|
font-family: 1;
|
|
}
|
|
|
|
/* 2 */
|
|
@font-palette-values --A {
|
|
font: 12px a;
|
|
}
|
|
|
|
/* 3 */
|
|
@font-palette-values --A {
|
|
base-palette: 1 2;
|
|
}
|
|
|
|
/* 4 */
|
|
@font-palette-values --A {
|
|
base-palette: ident;
|
|
}
|
|
|
|
/* 5 */
|
|
@font-palette-values --A {
|
|
base-palette: "a" "b";
|
|
}
|
|
|
|
/* 6 */
|
|
@font-palette-values --A {
|
|
base-palette: ;
|
|
}
|
|
|
|
/* 7 */
|
|
@font-palette-values --A {
|
|
override-colors: ident #123;
|
|
}
|
|
|
|
/* 8 */
|
|
@font-palette-values --A {
|
|
override-colors: 0 "red";
|
|
}
|
|
|
|
/* 9 */
|
|
@font-palette-values --A {
|
|
override-colors: 0 #123, 1;
|
|
}
|
|
|
|
/* 10 */
|
|
@font-palette-values --A {
|
|
override-colors: ;
|
|
}
|
|
|
|
/* 11 */
|
|
@font-palette-values --A {
|
|
override-colors: 0 #123 1;
|
|
}
|
|
|
|
/* 12 */
|
|
@font-palette-values --A {
|
|
override-colors: 0;
|
|
}
|
|
|
|
/* 13 */
|
|
@font-palette-values --A {
|
|
font-family: "";
|
|
}
|
|
|
|
/* 14 */
|
|
@font-palette-values --A {
|
|
base-palette: initial;
|
|
override-colors: initial;
|
|
}
|
|
|
|
/* 15 */
|
|
@font-palette-values --A {
|
|
base-palette: inherit;
|
|
override-colors: inherit;
|
|
}
|
|
|
|
/* 16 */
|
|
@font-palette-values --A {
|
|
base-palette: unset;
|
|
override-colors: unset;
|
|
}
|
|
|
|
/* 17 */
|
|
@font-palette-values --A {
|
|
base-palette: -1;
|
|
override-color: -1 #123;
|
|
}
|
|
|
|
/* 18 */
|
|
@font-palette-values --A {
|
|
override-colors: 0 canvas;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
let rules = document.getElementById("style").sheet.cssRules;
|
|
test(function() {
|
|
assert_equals(rules.length, 19);
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[0].cssText;
|
|
let rule = rules[0];
|
|
assert_equals(text.indexOf("font-family"), -1);
|
|
assert_equals(rule.fontFamily, "");
|
|
rule.fontFamily = "SomeFontFamily";
|
|
assert_equals(rule.fontFamily, "");
|
|
assert_equals(rule.basePalette, "");
|
|
rule.basePalette = "7";
|
|
assert_equals(rule.basePalette, "");
|
|
assert_throws_js(TypeError, function() {
|
|
rule.clear();
|
|
});
|
|
assert_throws_js(TypeError, function() {
|
|
rule.delete(4);
|
|
});
|
|
assert_throws_js(TypeError, function() {
|
|
rule.set(4, "0 #123");
|
|
});
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[1].cssText;
|
|
let rule = rules[1];
|
|
assert_equals(text.indexOf("font-family"), -1);
|
|
assert_equals(rule.fontFamily, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[2].cssText;
|
|
let rule = rules[2];
|
|
assert_equals(text.indexOf("font:"), -1);
|
|
assert_equals(rule.fontFamily, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[3].cssText;
|
|
let rule = rules[3];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[4].cssText;
|
|
let rule = rules[4];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[5].cssText;
|
|
let rule = rules[5];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[6].cssText;
|
|
let rule = rules[6];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[7].cssText;
|
|
let rule = rules[7];
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[8].cssText;
|
|
let rule = rules[8];
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[9].cssText;
|
|
let rule = rules[9];
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[10].cssText;
|
|
let rule = rules[10];
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[11].cssText;
|
|
let rule = rules[11];
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[12].cssText;
|
|
let rule = rules[12];
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[13].cssText;
|
|
let rule = rules[13];
|
|
// I see nothing in the spec that indicates an empty string is a parse error.
|
|
assert_not_equals(text.indexOf("font-family"), -1);
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[14].cssText;
|
|
let rule = rules[14];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[15].cssText;
|
|
let rule = rules[15];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[16].cssText;
|
|
let rule = rules[16];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
assert_equals(CSSRule.FONT_PALETTE_VALUES_RULE, undefined);
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[17].cssText;
|
|
let rule = rules[17];
|
|
assert_equals(text.indexOf("base-palette"), -1);
|
|
assert_equals(text.indexOf("override-color"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
|
|
test(function() {
|
|
let text = rules[18].cssText;
|
|
let rule = rules[18];
|
|
assert_equals(text.indexOf("override-colors"), -1);
|
|
assert_equals(rule.basePalette, "");
|
|
assert_equals(rule.overrideColors, "");
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|