| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <title>Font Variant Shorthand Parsing</title> | 2 <title>Font Variant Shorthand Parsing</title> |
| 3 <script src="../../../resources/testharness.js"></script> | 3 <script src="../../../resources/testharness.js"></script> |
| 4 <script src="../../../resources/testharnessreport.js"></script> | 4 <script src="../../../resources/testharnessreport.js"></script> |
| 5 <script> | 5 <script> |
| 6 var shorthandWriteExpectations = [ | 6 var shorthandWriteExpectations = [ |
| 7 { writeFontVariant : "normal", readCaps : "normal", readLigatures : "nor
mal" }, | 7 { writeFontVariant : "normal", readCaps : "normal", readLigatures : "nor
mal", readNumeric : "normal" }, |
| 8 { writeFontVariant : "none", readCaps : "normal", readLigatures : "none"
}, | 8 { writeFontVariant : "none", readCaps : "normal", readLigatures : "none"
, readNumeric : "normal" }, |
| 9 { writeFontVariant : "all-small-caps", readCaps : "all-small-caps", read
Ligatures : "normal" }, | 9 { writeFontVariant : "all-small-caps", readCaps : "all-small-caps", read
Ligatures : "normal", readNumeric : "normal" }, |
| 10 { writeFontVariant : "historical-ligatures", readCaps : "normal", readLi
gatures : "historical-ligatures" }, | 10 { writeFontVariant : "historical-ligatures", readCaps : "normal", readLi
gatures : "historical-ligatures", readNumeric : "normal" }, |
| 11 { writeFontVariant : "historical-ligatures discretionary-ligatures", rea
dCaps : "normal", readLigatures : "discretionary-ligatures historical-ligatures"
}, | 11 { writeFontVariant : "historical-ligatures discretionary-ligatures", rea
dCaps : "normal", |
| 12 { writeFontVariant : "historical-ligatures petite-caps", readCaps : "pet
ite-caps", readLigatures : "historical-ligatures" }, | 12 readLigatures : "discretionary-ligatures historical-ligatures", readNu
meric : "normal" }, |
| 13 { writeFontVariant : "", readCaps : "normal", readLigatures : "normal" }
, | 13 { writeFontVariant : "historical-ligatures petite-caps", readCaps : "pet
ite-caps", readLigatures : "historical-ligatures", readNumeric : "normal" }, |
| 14 { writeFontVariant : "", readCaps : "normal", readLigatures : "normal",
readNumeric : "normal" }, |
| 15 { writeFontVariant : "lining-nums", readCaps : "normal", readLigatures :
"normal", readNumeric : "lining-nums" }, |
| 16 { writeFontVariant : "lining-nums diagonal-fractions", readCaps : "norma
l", |
| 17 readLigatures : "normal", readNumeric : "lining-nums diagonal-fraction
s" }, |
| 18 { writeFontVariant : "lining-nums all-small-caps", readCaps : "all-small
-caps", |
| 19 readLigatures : "normal", readNumeric : "lining-nums" }, |
| 20 { writeFontVariant : "lining-nums discretionary-ligatures", readCaps : "
normal", |
| 21 readLigatures : "discretionary-ligatures", readNumeric : "lining-nums"
}, |
| 14 ]; | 22 ]; |
| 15 | 23 |
| 16 var shorthandReadExpectations = [ | 24 var shorthandReadExpectations = [ |
| 17 { writeCaps : "", writeLigatures: "", readFontVariant: "normal" }, | 25 { writeCaps : "", writeLigatures: "", writeNumeric: "", readFontVariant:
"normal" }, |
| 18 { writeCaps : "normal", writeLigatures: "normal", readFontVariant: "norm
al" }, | 26 { writeCaps : "normal", writeLigatures: "normal", writeNumeric: "normal"
, readFontVariant: "normal" }, |
| 19 { writeCaps : "normal", writeLigatures: "none", readFontVariant: "none"
}, | 27 { writeCaps : "normal", writeLigatures: "none", writeNumeric: "normal",
readFontVariant: "none" }, |
| 20 { writeCaps : "all-small-caps", writeLigatures: "none", readFontVariant:
"no-common-ligatures no-discretionary-ligatures no-historical-ligatures no-cont
extual all-small-caps" }, | 28 { writeCaps : "all-small-caps", writeLigatures: "none", writeNumeric: "n
ormal", |
| 21 { writeCaps : "all-small-caps", writeLigatures: "normal", readFontVarian
t: "all-small-caps" }, | 29 readFontVariant: "no-common-ligatures no-discretionary-ligatures no-hi
storical-ligatures no-contextual all-small-caps" }, |
| 22 { writeCaps : "normal", writeLigatures: "discretionary-ligatures histori
cal-ligatures", readFontVariant: "discretionary-ligatures historical-ligatures"
}, | 30 { writeCaps : "all-small-caps", writeLigatures: "normal", writeNumeric:
"normal", readFontVariant: "all-small-caps" }, |
| 23 { writeCaps : "petite-caps", writeLigatures: "discretionary-ligatures",
readFontVariant: "discretionary-ligatures petite-caps" }, | 31 { writeCaps : "normal", |
| 32 writeLigatures: "discretionary-ligatures historical-ligatures", |
| 33 writeNumeric: "normal", |
| 34 readFontVariant: "discretionary-ligatures historical-ligatures" }, |
| 35 { writeCaps : "petite-caps", writeLigatures: "discretionary-ligatures",
writeNumeric: "normal", |
| 36 readFontVariant: "discretionary-ligatures petite-caps" }, |
| 37 { writeCaps : "petite-caps", writeLigatures: "discretionary-ligatures",
writeNumeric: "lining-nums diagonal-fractions", |
| 38 readFontVariant: "discretionary-ligatures petite-caps lining-nums diag
onal-fractions" }, |
| 39 { writeCaps : "", writeLigatures: "", writeNumeric: "lining-nums diagona
l-fractions", |
| 40 readFontVariant: "lining-nums diagonal-fractions" }, |
| 24 ]; | 41 ]; |
| 25 | 42 |
| 26 var writeInvalidExpectations = { | 43 var writeInvalidExpectations = { |
| 27 "font-variant" : [ "historical-ligaturesTYPO", | 44 "font-variant" : [ "historical-ligaturesTYPO", |
| 28 "historical-ligaturesTYPO small-caps", | 45 "historical-ligaturesTYPO small-caps", |
| 29 "discretionary-ligatures no-discretionary-ligatures", | 46 "discretionary-ligatures no-discretionary-ligatures", |
| 30 "discretionary-ligatures small-caps no-historical-ligatu
res all-small-caps", | 47 "discretionary-ligatures small-caps no-historical-ligatu
res all-small-caps", |
| 31 "discretionary-ligatures small-caps all-petite-caps", | 48 "discretionary-ligatures small-caps all-petite-caps", |
| 32 "small-caps unicase"], | 49 "small-caps unicase"], |
| 33 "font-variant-caps" : [ "typotypotypo", "all-small-caps all-petite-caps"
], | 50 "font-variant-caps" : [ "typotypotypo", "all-small-caps all-petite-caps"
], |
| 34 "font-variant-ligatures" : [ "discretionary-ligatures no-discretionary-l
igatures", "typotypotypo", "none discretionary-ligatures" ] | 51 "font-variant-ligatures" : [ "discretionary-ligatures no-discretionary-l
igatures", "typotypotypo", "none discretionary-ligatures" ], |
| 52 "font-variant-numeric" : [ "lining-nums normal", "lining-nums slashed-ze
ro diagonal-fractions oldstyle-nums" ] |
| 35 }; | 53 }; |
| 36 </script> | 54 </script> |
| 37 <div id="testElement"></div> | 55 <div id="testElement"></div> |
| 38 | 56 |
| 39 <div id="log"></div> | 57 <div id="log"></div> |
| 40 <script> | 58 <script> |
| 41 setup({ explicit_done: true }); | 59 setup({ explicit_done: true }); |
| 42 | 60 |
| 43 function writeFontVariantTests() { | 61 function writeFontVariantTests() { |
| 44 for (testParameters of shorthandWriteExpectations) { | 62 for (testParameters of shorthandWriteExpectations) { |
| 45 testElement.style.fontVariant = testParameters.writeFontVariant; | 63 testElement.style.fontVariant = testParameters.writeFontVariant; |
| 46 test(function(){ | 64 test(function(){ |
| 47 assert_equals(getComputedStyle(testElement).fontVariantCaps, testP
arameters.readCaps); | 65 assert_equals(getComputedStyle(testElement).fontVariantCaps, testP
arameters.readCaps); |
| 48 assert_equals(getComputedStyle(testElement).fontVariantLigatures,
testParameters.readLigatures); | 66 assert_equals(getComputedStyle(testElement).fontVariantLigatures,
testParameters.readLigatures); |
| 67 assert_equals(getComputedStyle(testElement).fontVariantNumeric, te
stParameters.readNumeric); |
| 49 }, "Sub properties set from longhand value: " + testParameters.writeFo
ntVariant); | 68 }, "Sub properties set from longhand value: " + testParameters.writeFo
ntVariant); |
| 50 } | 69 } |
| 51 } | 70 } |
| 52 | 71 |
| 53 function readFontVariantTests() { | 72 function readFontVariantTests() { |
| 54 for (testParameters of shorthandReadExpectations) { | 73 for (testParameters of shorthandReadExpectations) { |
| 55 testElement.style.fontVariantCaps = testParameters.writeCaps; | 74 testElement.style.fontVariantCaps = testParameters.writeCaps; |
| 56 testElement.style.fontVariantLigatures = testParameters.writeLigatures
; | 75 testElement.style.fontVariantLigatures = testParameters.writeLigatures
; |
| 76 testElement.style.fontVariantNumeric = testParameters.writeNumeric; |
| 57 test(function(){ | 77 test(function(){ |
| 58 assert_equals(getComputedStyle(testElement).fontVariant, testParam
eters.readFontVariant); | 78 assert_equals(getComputedStyle(testElement).fontVariant, testParam
eters.readFontVariant); |
| 59 }, "Shorthand from written subproperties: " + getComputedStyle(testEle
ment).fontVariant); | 79 }, "Shorthand from written subproperties: " + getComputedStyle(testEle
ment).fontVariant); |
| 60 } | 80 } |
| 61 } | 81 } |
| 62 | 82 |
| 63 function invalidWriteTests() { | 83 function invalidWriteTests() { |
| 64 for (key in writeInvalidExpectations) { | 84 for (key in writeInvalidExpectations) { |
| 65 for (value of writeInvalidExpectations[key]) { | 85 for (value of writeInvalidExpectations[key]) { |
| 66 test(function(){ | 86 test(function(){ |
| 67 assert_false(CSS.supports(key, value)); | 87 assert_false(CSS.supports(key, value)); |
| 68 }, "Value " + value + " invalid for property " + key + "."); | 88 }, "Value " + value + " invalid for property " + key + "."); |
| 69 } | 89 } |
| 70 } | 90 } |
| 71 } | 91 } |
| 72 | 92 |
| 73 window.addEventListener("load", function() { | 93 window.addEventListener("load", function() { |
| 74 writeFontVariantTests(); | 94 writeFontVariantTests(); |
| 75 readFontVariantTests(); | 95 readFontVariantTests(); |
| 76 invalidWriteTests(); | 96 invalidWriteTests(); |
| 77 done(); | 97 done(); |
| 78 }); | 98 }); |
| 79 </script> | 99 </script> |
| OLD | NEW |