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 = [ |
Timothy Loh
2016/05/11 06:47:26
I think we should have at least one test here wher
drott
2016/05/11 08:10:46
Added two of those.
| |
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 |