products/Sources/formale Sprachen/C/Firefox/layout/style/test/test_counter_descriptor_storage.html
<!
DOCTYPE html >
<
html >
<
head >
<
title >Test for parsing, storage and serialization of CSS @counter-
style descriptor values</
title >
<
script 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=966166 " >Mozill
a Bug 966166 </a >
<div id="display" ></div >
<pre id="test" >
<script type="application/javascript" >
var gStyleElement = document.createElement("style" );
gStyleElement.setAttribute("type" , "text/css" );
document.getElementsByTagName("head" )[0 ].appendChild(gStyleElement);
var gSheet = gStyleElement.sheet;
gSheet.insertRule(
"@counter-style test { system: extends decimal }" , 0 );
var gRule = gSheet.cssRules[0 ];
function set_rule(ruleText) {
gSheet.deleteRule(0 );
gSheet.insertRule("@counter-style test { " + ruleText + " }" , 0 );
gRule = gSheet.cssRules[0 ];
}
function run_tests(tests) {
for (var desc in tests) {
var items = tests[desc];
for (var i in items) {
var item = items[i ];
var ref = item[0 ];
if (ref === null) {
ref = gRule[desc];
}
for (var j in item) {
if (item[j] !== null) {
gRule[desc] = item[j];
is(gRule[desc], ref,
"setting '" + item[j] + "' on '" + desc + "'" );
}
}
}
}
}
function test_system_dep_desc() {
// for system requires at least one symbol
var oneSymbolTests = [
[null, "" , "0" ],
["x y" , "x y" ],
["\" x\"" , "'x'" ],
["\\-" , "\\2D" ],
["\\*" , "\\2A" ],
];
// for system requires at least two symbols
var twoSymbolsTests = [
[null, "" , "0" , "x" , "\" x\"" ],
["x y" , "x y" ],
["\" x\" \" y\"" , "'x' 'y'" ],
];
var info = [
{
system: "cyclic" ,
base : "symbols: x" ,
base_tests: {
system: "cyclic" ,
symbols: "x"
},
tests: {
system: [
[null, "" , "symbolic" ],
["cyclic" , "Cyclic" ],
],
symbols: oneSymbolTests
}
},
{
system: "fixed" ,
base : "symbols: x" ,
base_tests: {
system: "fixed" ,
symbols: "x"
},
tests: {
system: [
[null, "" , "symbolic" ],
["fixed 0" ],
["fixed" , "FixeD" ],
["fixed 1" , "FixeD 1" ],
["fixed -1" ],
[null, "fixed a" , "fixed \" 0 \"" , "fixed 0 1" ],
],
symbols: oneSymbolTests
}
},
{
system: "symbolic" ,
base : "symbols: x" ,
base_tests: {
system: "symbolic" ,
symbols: "x"
},
tests: {
system: [
[null, "" , "cyclic" ],
["symbolic" , "SymBolic" ],
],
symbols: oneSymbolTests
}
},
{
system: "alphabetic" ,
base : "symbols: x y" ,
base_tests: {
system: "alphabetic" ,
symbols: "x y"
},
tests: {
system: [
[null, "" , "cyclic" ],
["alphabetic" , "AlphaBetic" ],
],
symbols: twoSymbolsTests
}
},
{
system: "numeric" ,
base : "symbols: x y" ,
base_tests: {
system: "numeric" ,
symbols: "x y"
},
tests: {
system: [
[null, "" , "cyclic" ],
["numeric" , "NumEric" ],
],
symbols: twoSymbolsTests
}
},
{
system: "additive" ,
base : "additive-symbols: 0 x" ,
base_tests: {
system: "additive" ,
additiveSymbols: "0 x"
},
tests: {
system: [
[null, "" , "cyclic" ],
],
additiveSymbols: [
[null, "" , "x" , "0" , "\" x\"" , "1 x, 0" , "0 x, 1 y" ],
["0 x" , "x 0" ],
["1 y, 0 x" , "y 1, 0 x" , "1 y, x 0" , "y 1, x 0" ],
["1 \" 0 \"" , "\" 0 \" 1" , "1 '0'" ],
]
}
},
{
system: "extends decimal" ,
base : "" ,
base_tests: {
system: "extends decimal" ,
symbols: "" ,
additiveSymbols: ""
},
tests: {
system: [
[null, "extends" , "fixed" , "cyclic" , "extends symbols('*')" ],
["extends cjk-decimal" , "ExTends cjk-decimal" , "extends CJK-decimal" ],
],
symbols: [
[null, "x" , "x y" ],
],
additiveSymbols: [
[null, "0 x" , "1 y, 0 x" ],
]
}
}
];
for (var i = 0 ; i < info.length; i ++) {
var item = info[i ];
set_rule("system: " + item.system + "; " + item.base );
for (var desc in item.base_tests) {
is(gRule[desc], item.base_tests[desc],
"checking base value of '" + desc + "' " +
"for system '" + item.system + "'" );
}
run_tests(item.tests);
}
}
function test_system_indep_desc() {
var tests = {
name: [
[null, "" , "-" , " " , "a b" ],
[null, "decimal" , "none" , "Decimal" , "NONE" ],
["cjk-decimal" , "CJK-Decimal" , "cjk-Decimal" ],
["X" ],
["x" , "\\78" ],
["\\-" , "\\2D" ],
],
negative: [
[null, "-" , "" , "0" , "a b c" ],
["\" -\"" , "'-'" , "\" \\2 D\"" ],
["\\-" , "\\2D" ],
["a b" ],
["\" (\" \" )\"" , "'(' ')'" ],
],
prefix: [
[null, "0" , "-" , " " , "a b" ],
["a" ],
["\" a \"" ],
],
suffix: [
[null, "0" , "-" , " " , "a b" ],
["a" ],
["\" a \"" ],
],
range: [
["auto" , "auTO" ],
["infinite infinite" , "INFinite inFinite" ],
["0 infinite" , "0 INFINITE" ],
["infinite 100" ],
["1 1" ],
["0 100" , "0 100" ],
["0 100, 2 300, -1 1, infinite -100" ],
[null, "0" , "0 a" , "a 0" ],
[null, "1 -1" , "1 -1, 0 100" , "-1 1, 100 0" ],
],
pad: [
["0 \" \"" , "\" \" 0" ],
["1 a" , "a 1" , "1 a" , "\\61 1" ],
[null, "0" , "\" \"" , "0 0" , "a a" , "0 a a" ],
],
fallback: [
[null, "" , "-" , "0" , "a b" , "symbols('*')" ],
["a" ],
["A" ],
["decimal" , "Decimal" ],
],
speakAs: [
[null, "" , "-" , "0" , "a b" , "symbols('*')" ],
["auto" , "AuTo" ],
["bullets" , "BULLETs" ],
["numbers" , "NumBers" ],
["words" , "WordS" ],
// Currently spell-out is not supported, so it should be treated
// as an invalid value.
[null, "spell-out" , "Spell-Out" ],
["a" ],
["A" ],
["decimal" , "Decimal" ],
],
};
set_rule("system: extends decimal" );
run_tests(tests);
}
test_system_dep_desc();
test_system_indep_desc();
</script >
</pre >
</body >
</html >
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-09-30)
¤
*© Formatika GbR, Deutschland