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

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: rebased 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 = [
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" },
22 { writeFontVariant : "lining-nums historical-ligatures ordinal all-small -caps",
23 readCaps : "all-small-caps",
24 readLigatures : "historical-ligatures",
25 readNumeric : "lining-nums ordinal" },
26 { writeFontVariant : "ordinal discretionary-ligatures all-petite-caps hi storical-ligatures diagonal-fractions",
27 readCaps : "all-petite-caps",
28 readLigatures : "discretionary-ligatures historical-ligatures",
29 readNumeric : "diagonal-fractions ordinal"
30 }
14 ]; 31 ];
15 32
16 var shorthandReadExpectations = [ 33 var shorthandReadExpectations = [
17 { writeCaps : "", writeLigatures: "", readFontVariant: "normal" }, 34 { writeCaps : "", writeLigatures: "", writeNumeric: "", readFontVariant: "normal" },
18 { writeCaps : "normal", writeLigatures: "normal", readFontVariant: "norm al" }, 35 { writeCaps : "normal", writeLigatures: "normal", writeNumeric: "normal" , readFontVariant: "normal" },
19 { writeCaps : "normal", writeLigatures: "none", readFontVariant: "none" }, 36 { 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" }, 37 { writeCaps : "all-small-caps", writeLigatures: "none", writeNumeric: "n ormal",
21 { writeCaps : "all-small-caps", writeLigatures: "normal", readFontVarian t: "all-small-caps" }, 38 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" }, 39 { writeCaps : "all-small-caps", writeLigatures: "normal", writeNumeric: "normal", readFontVariant: "all-small-caps" },
23 { writeCaps : "petite-caps", writeLigatures: "discretionary-ligatures", readFontVariant: "discretionary-ligatures petite-caps" }, 40 { writeCaps : "normal",
41 writeLigatures: "discretionary-ligatures historical-ligatures",
42 writeNumeric: "normal",
43 readFontVariant: "discretionary-ligatures historical-ligatures" },
44 { writeCaps : "petite-caps", writeLigatures: "discretionary-ligatures", writeNumeric: "normal",
45 readFontVariant: "discretionary-ligatures petite-caps" },
46 { writeCaps : "petite-caps", writeLigatures: "discretionary-ligatures", writeNumeric: "lining-nums diagonal-fractions",
47 readFontVariant: "discretionary-ligatures petite-caps lining-nums diag onal-fractions" },
48 { writeCaps : "", writeLigatures: "", writeNumeric: "lining-nums diagona l-fractions",
49 readFontVariant: "lining-nums diagonal-fractions" },
24 ]; 50 ];
25 51
26 var writeInvalidExpectations = { 52 var writeInvalidExpectations = {
27 "font-variant" : [ "historical-ligaturesTYPO", 53 "font-variant" : [ "historical-ligaturesTYPO",
28 "historical-ligaturesTYPO small-caps", 54 "historical-ligaturesTYPO small-caps",
29 "discretionary-ligatures no-discretionary-ligatures", 55 "discretionary-ligatures no-discretionary-ligatures",
30 "discretionary-ligatures small-caps no-historical-ligatu res all-small-caps", 56 "discretionary-ligatures small-caps no-historical-ligatu res all-small-caps",
31 "discretionary-ligatures small-caps all-petite-caps", 57 "discretionary-ligatures small-caps all-petite-caps",
32 "small-caps unicase"], 58 "small-caps unicase"],
33 "font-variant-caps" : [ "typotypotypo", "all-small-caps all-petite-caps" ], 59 "font-variant-caps" : [ "typotypotypo", "all-small-caps all-petite-caps" ],
34 "font-variant-ligatures" : [ "discretionary-ligatures no-discretionary-l igatures", "typotypotypo", "none discretionary-ligatures" ] 60 "font-variant-ligatures" : [ "discretionary-ligatures no-discretionary-l igatures", "typotypotypo", "none discretionary-ligatures" ],
61 "font-variant-numeric" : [ "lining-nums normal", "lining-nums slashed-ze ro diagonal-fractions oldstyle-nums" ]
35 }; 62 };
36 </script> 63 </script>
37 <div id="testElement"></div> 64 <div id="testElement"></div>
38 65
39 <div id="log"></div> 66 <div id="log"></div>
40 <script> 67 <script>
41 setup({ explicit_done: true }); 68 setup({ explicit_done: true });
42 69
43 function writeFontVariantTests() { 70 function writeFontVariantTests() {
44 for (testParameters of shorthandWriteExpectations) { 71 for (testParameters of shorthandWriteExpectations) {
45 testElement.style.fontVariant = testParameters.writeFontVariant; 72 testElement.style.fontVariant = testParameters.writeFontVariant;
46 test(function(){ 73 test(function(){
47 assert_equals(getComputedStyle(testElement).fontVariantCaps, testP arameters.readCaps); 74 assert_equals(getComputedStyle(testElement).fontVariantCaps, testP arameters.readCaps);
48 assert_equals(getComputedStyle(testElement).fontVariantLigatures, testParameters.readLigatures); 75 assert_equals(getComputedStyle(testElement).fontVariantLigatures, testParameters.readLigatures);
76 assert_equals(getComputedStyle(testElement).fontVariantNumeric, te stParameters.readNumeric);
49 }, "Sub properties set from longhand value: " + testParameters.writeFo ntVariant); 77 }, "Sub properties set from longhand value: " + testParameters.writeFo ntVariant);
50 } 78 }
51 } 79 }
52 80
53 function readFontVariantTests() { 81 function readFontVariantTests() {
54 for (testParameters of shorthandReadExpectations) { 82 for (testParameters of shorthandReadExpectations) {
55 testElement.style.fontVariantCaps = testParameters.writeCaps; 83 testElement.style.fontVariantCaps = testParameters.writeCaps;
56 testElement.style.fontVariantLigatures = testParameters.writeLigatures ; 84 testElement.style.fontVariantLigatures = testParameters.writeLigatures ;
85 testElement.style.fontVariantNumeric = testParameters.writeNumeric;
57 test(function(){ 86 test(function(){
58 assert_equals(getComputedStyle(testElement).fontVariant, testParam eters.readFontVariant); 87 assert_equals(getComputedStyle(testElement).fontVariant, testParam eters.readFontVariant);
59 }, "Shorthand from written subproperties: " + getComputedStyle(testEle ment).fontVariant); 88 }, "Shorthand from written subproperties: " + getComputedStyle(testEle ment).fontVariant);
60 } 89 }
61 } 90 }
62 91
63 function invalidWriteTests() { 92 function invalidWriteTests() {
64 for (key in writeInvalidExpectations) { 93 for (key in writeInvalidExpectations) {
65 for (value of writeInvalidExpectations[key]) { 94 for (value of writeInvalidExpectations[key]) {
66 test(function(){ 95 test(function(){
67 assert_false(CSS.supports(key, value)); 96 assert_false(CSS.supports(key, value));
68 }, "Value " + value + " invalid for property " + key + "."); 97 }, "Value " + value + " invalid for property " + key + ".");
69 } 98 }
70 } 99 }
71 } 100 }
72 101
73 window.addEventListener("load", function() { 102 window.addEventListener("load", function() {
74 writeFontVariantTests(); 103 writeFontVariantTests();
75 readFontVariantTests(); 104 readFontVariantTests();
76 invalidWriteTests(); 105 invalidWriteTests();
77 done(); 106 done();
78 }); 107 });
79 </script> 108 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698