Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/text/font-features/font-variant-shorthand.html

Issue 1955723004: Implement font-variant-numeric (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: eae@'s review comments addressed Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698