Tests: Import some font-parsing tests

This commit is contained in:
Sam Atkins 2025-02-05 16:05:10 +00:00
commit 106239ce98
Notes: github-actions[bot] 2025-02-12 16:02:28 +00:00
165 changed files with 5758 additions and 0 deletions

View file

@ -0,0 +1,321 @@
Harness status: OK
Found 315 tests
6 Pass
309 Fail
Pass caption should be a supported system font.
Pass icon should be a supported system font.
Pass menu should be a supported system font.
Pass message-box should be a supported system font.
Pass small-caption should be a supported system font.
Pass status-bar should be a supported system font.
Fail Property font value 'xx-small serif'
Fail Property font value 'normal medium/normal sans-serif'
Fail Property font value 'normal normal xx-large/1.2 cursive'
Fail Property font value 'normal normal normal larger/calc(120% + 1.2em) fantasy'
Fail Property font value 'normal normal normal normal smaller monospace'
Fail Property font value 'normal normal normal italic 10px/normal Menu'
Fail Property font value 'normal normal normal small-caps 20%/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'normal normal normal bold calc(30% - 40px)/calc(120% + 1.2em) serif'
Fail Property font value 'normal normal normal ultra-condensed xx-small sans-serif'
Fail Property font value 'normal normal italic medium/normal cursive'
Fail Property font value 'normal normal italic normal xx-large/1.2 fantasy'
Fail Property font value 'normal normal italic small-caps larger/calc(120% + 1.2em) monospace'
Fail Property font value 'normal normal italic bolder smaller Menu'
Fail Property font value 'normal normal italic extra-condensed 10px/normal "Non-Generic Example Family Name"'
Fail Property font value 'normal normal small-caps 20%/1.2 serif'
Fail Property font value 'normal normal small-caps normal calc(30% - 40px)/calc(120% + 1.2em) sans-serif'
Fail Property font value 'normal normal small-caps italic xx-small cursive'
Fail Property font value 'normal normal small-caps lighter medium/normal fantasy'
Fail Property font value 'normal normal small-caps condensed xx-large/1.2 monospace'
Fail Property font value 'normal normal 100 larger/calc(120% + 1.2em) Menu'
Fail Property font value 'normal normal 900 normal smaller "Non-Generic Example Family Name"'
Fail Property font value 'normal normal bold italic 10px/normal serif'
Fail Property font value 'normal normal bolder small-caps 20%/1.2 sans-serif'
Fail Property font value 'normal normal lighter semi-condensed calc(30% - 40px)/calc(120% + 1.2em) cursive'
Fail Property font value 'normal normal semi-expanded xx-small fantasy'
Fail Property font value 'normal normal expanded normal medium/normal monospace'
Fail Property font value 'normal normal extra-expanded italic xx-large/1.2 Menu'
Fail Property font value 'normal normal ultra-expanded small-caps larger/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'normal normal ultra-condensed 100 smaller serif'
Fail Property font value 'normal italic 10px/normal sans-serif'
Fail Property font value 'normal italic normal 20%/1.2 cursive'
Fail Property font value 'normal italic normal normal calc(30% - 40px)/calc(120% + 1.2em) fantasy'
Fail Property font value 'normal italic normal small-caps xx-small monospace'
Fail Property font value 'normal italic normal 900 medium/normal Menu'
Fail Property font value 'normal italic normal extra-condensed xx-large/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'normal italic small-caps larger/calc(120% + 1.2em) serif'
Fail Property font value 'normal italic small-caps normal smaller sans-serif'
Fail Property font value 'normal italic small-caps bold 10px/normal cursive'
Fail Property font value 'normal italic small-caps condensed 20%/1.2 fantasy'
Fail Property font value 'normal italic bolder calc(30% - 40px)/calc(120% + 1.2em) monospace'
Fail Property font value 'normal italic lighter normal xx-small Menu'
Fail Property font value 'normal italic 100 small-caps medium/normal "Non-Generic Example Family Name"'
Fail Property font value 'normal italic 900 semi-condensed xx-large/1.2 serif'
Fail Property font value 'normal italic semi-expanded larger/calc(120% + 1.2em) sans-serif'
Fail Property font value 'normal italic expanded normal smaller cursive'
Fail Property font value 'normal italic extra-expanded small-caps 10px/normal fantasy'
Fail Property font value 'normal italic ultra-expanded bold 20%/1.2 monospace'
Fail Property font value 'normal small-caps calc(30% - 40px)/calc(120% + 1.2em) Menu'
Fail Property font value 'normal small-caps normal xx-small "Non-Generic Example Family Name"'
Fail Property font value 'normal small-caps normal normal medium/normal serif'
Fail Property font value 'normal small-caps normal italic xx-large/1.2 sans-serif'
Fail Property font value 'normal small-caps normal bolder larger/calc(120% + 1.2em) cursive'
Fail Property font value 'normal small-caps normal ultra-condensed smaller fantasy'
Fail Property font value 'normal small-caps italic 10px/normal monospace'
Fail Property font value 'normal small-caps italic normal 20%/1.2 Menu'
Fail Property font value 'normal small-caps italic lighter calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'normal small-caps italic extra-condensed xx-small serif'
Fail Property font value 'normal small-caps 100 medium/normal sans-serif'
Fail Property font value 'normal small-caps 900 normal xx-large/1.2 cursive'
Fail Property font value 'normal small-caps bold italic larger/calc(120% + 1.2em) fantasy'
Fail Property font value 'normal small-caps bolder condensed smaller monospace'
Fail Property font value 'normal small-caps semi-condensed 10px/normal Menu'
Fail Property font value 'normal small-caps semi-expanded normal 20%/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'normal small-caps expanded italic calc(30% - 40px)/calc(120% + 1.2em) serif'
Fail Property font value 'normal small-caps extra-expanded lighter xx-small sans-serif'
Fail Property font value 'normal 100 medium/normal cursive'
Fail Property font value 'normal 900 normal xx-large/1.2 fantasy'
Fail Property font value 'normal bold normal normal larger/calc(120% + 1.2em) monospace'
Fail Property font value 'normal bolder normal italic smaller Menu'
Fail Property font value 'normal lighter normal small-caps 10px/normal "Non-Generic Example Family Name"'
Fail Property font value 'normal 100 normal ultra-expanded 20%/1.2 serif'
Fail Property font value 'normal 900 italic calc(30% - 40px)/calc(120% + 1.2em) sans-serif'
Fail Property font value 'normal bold italic normal xx-small cursive'
Fail Property font value 'normal bolder italic small-caps medium/normal fantasy'
Fail Property font value 'normal lighter italic ultra-condensed xx-large/1.2 monospace'
Fail Property font value 'normal 100 small-caps larger/calc(120% + 1.2em) Menu'
Fail Property font value 'normal 900 small-caps normal smaller "Non-Generic Example Family Name"'
Fail Property font value 'normal bold small-caps italic 10px/normal serif'
Fail Property font value 'normal bolder small-caps extra-condensed 20%/1.2 sans-serif'
Fail Property font value 'normal lighter condensed calc(30% - 40px)/calc(120% + 1.2em) cursive'
Fail Property font value 'normal 100 semi-condensed normal xx-small fantasy'
Fail Property font value 'normal 900 semi-expanded italic medium/normal monospace'
Fail Property font value 'normal bold expanded small-caps xx-large/1.2 Menu'
Fail Property font value 'normal extra-expanded larger/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'normal ultra-expanded normal smaller serif'
Fail Property font value 'normal ultra-condensed normal normal 10px/normal sans-serif'
Fail Property font value 'normal extra-condensed normal italic 20%/1.2 cursive'
Fail Property font value 'normal condensed normal small-caps calc(30% - 40px)/calc(120% + 1.2em) fantasy'
Fail Property font value 'normal semi-condensed normal bolder xx-small monospace'
Fail Property font value 'normal semi-expanded italic medium/normal Menu'
Fail Property font value 'normal expanded italic normal xx-large/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'normal extra-expanded italic small-caps larger/calc(120% + 1.2em) serif'
Fail Property font value 'normal ultra-expanded italic lighter smaller sans-serif'
Fail Property font value 'normal ultra-condensed small-caps 10px/normal cursive'
Fail Property font value 'normal extra-condensed small-caps normal 20%/1.2 fantasy'
Fail Property font value 'normal condensed small-caps italic calc(30% - 40px)/calc(120% + 1.2em) monospace'
Fail Property font value 'normal semi-condensed small-caps 100 xx-small Menu'
Fail Property font value 'normal semi-expanded 900 medium/normal "Non-Generic Example Family Name"'
Fail Property font value 'normal expanded bold normal xx-large/1.2 serif'
Fail Property font value 'normal extra-expanded bolder italic larger/calc(120% + 1.2em) sans-serif'
Fail Property font value 'normal ultra-expanded lighter small-caps smaller cursive'
Fail Property font value 'italic 10px/normal fantasy'
Fail Property font value 'italic normal 20%/1.2 monospace'
Fail Property font value 'italic normal normal calc(30% - 40px)/calc(120% + 1.2em) Menu'
Fail Property font value 'italic normal normal normal xx-small "Non-Generic Example Family Name"'
Fail Property font value 'italic normal normal small-caps medium/normal serif'
Fail Property font value 'italic normal normal 100 xx-large/1.2 sans-serif'
Fail Property font value 'italic normal normal ultra-condensed larger/calc(120% + 1.2em) cursive'
Fail Property font value 'italic normal small-caps smaller fantasy'
Fail Property font value 'italic normal small-caps normal 10px/normal monospace'
Fail Property font value 'italic normal small-caps 900 20%/1.2 Menu'
Fail Property font value 'italic normal small-caps extra-condensed calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'italic normal bold xx-small serif'
Fail Property font value 'italic normal bolder normal medium/normal sans-serif'
Fail Property font value 'italic normal lighter small-caps xx-large/1.2 cursive'
Fail Property font value 'italic normal 100 condensed larger/calc(120% + 1.2em) fantasy'
Fail Property font value 'italic normal semi-condensed smaller monospace'
Fail Property font value 'italic normal semi-expanded normal 10px/normal Menu'
Fail Property font value 'italic normal expanded small-caps 20%/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'italic normal extra-expanded 900 calc(30% - 40px)/calc(120% + 1.2em) serif'
Fail Property font value 'italic small-caps xx-small sans-serif'
Fail Property font value 'italic small-caps normal medium/normal cursive'
Fail Property font value 'italic small-caps normal normal xx-large/1.2 fantasy'
Fail Property font value 'italic small-caps normal bold larger/calc(120% + 1.2em) monospace'
Fail Property font value 'italic small-caps normal ultra-expanded smaller Menu'
Fail Property font value 'italic small-caps bolder 10px/normal "Non-Generic Example Family Name"'
Fail Property font value 'italic small-caps lighter normal 20%/1.2 serif'
Fail Property font value 'italic small-caps 100 ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) sans-serif'
Fail Property font value 'italic small-caps extra-condensed xx-small cursive'
Fail Property font value 'italic small-caps condensed normal medium/normal fantasy'
Fail Property font value 'italic small-caps semi-condensed 900 xx-large/1.2 monospace'
Fail Property font value 'italic bold larger/calc(120% + 1.2em) Menu'
Fail Property font value 'italic bolder normal smaller "Non-Generic Example Family Name"'
Fail Property font value 'italic lighter normal normal 10px/normal serif'
Fail Property font value 'italic 100 normal small-caps 20%/1.2 sans-serif'
Fail Property font value 'italic 900 normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) cursive'
Fail Property font value 'italic bold small-caps xx-small fantasy'
Fail Property font value 'italic bolder small-caps normal medium/normal monospace'
Fail Property font value 'italic lighter small-caps expanded xx-large/1.2 Menu'
Fail Property font value 'italic 100 extra-expanded larger/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'italic 900 ultra-expanded normal smaller serif'
Fail Property font value 'italic bold ultra-condensed small-caps 10px/normal sans-serif'
Fail Property font value 'italic extra-condensed 20%/1.2 cursive'
Fail Property font value 'italic condensed normal calc(30% - 40px)/calc(120% + 1.2em) fantasy'
Fail Property font value 'italic semi-condensed normal normal xx-small monospace'
Fail Property font value 'italic semi-expanded normal small-caps medium/normal Menu'
Fail Property font value 'italic expanded normal bolder xx-large/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'italic extra-expanded small-caps larger/calc(120% + 1.2em) serif'
Fail Property font value 'italic ultra-expanded small-caps normal smaller sans-serif'
Fail Property font value 'italic ultra-condensed small-caps lighter 10px/normal cursive'
Fail Property font value 'italic extra-condensed 100 20%/1.2 fantasy'
Fail Property font value 'italic condensed 900 normal calc(30% - 40px)/calc(120% + 1.2em) monospace'
Fail Property font value 'italic semi-condensed bold small-caps xx-small Menu'
Fail Property font value 'small-caps medium/normal "Non-Generic Example Family Name"'
Fail Property font value 'small-caps normal xx-large/1.2 serif'
Fail Property font value 'small-caps normal normal larger/calc(120% + 1.2em) sans-serif'
Fail Property font value 'small-caps normal normal normal smaller cursive'
Fail Property font value 'small-caps normal normal italic 10px/normal fantasy'
Fail Property font value 'small-caps normal normal bolder 20%/1.2 monospace'
Fail Property font value 'small-caps normal normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) Menu'
Fail Property font value 'small-caps normal italic xx-small "Non-Generic Example Family Name"'
Fail Property font value 'small-caps normal italic normal medium/normal serif'
Fail Property font value 'small-caps normal italic lighter xx-large/1.2 sans-serif'
Fail Property font value 'small-caps normal italic expanded larger/calc(120% + 1.2em) cursive'
Fail Property font value 'small-caps normal 100 smaller fantasy'
Fail Property font value 'small-caps normal 900 normal 10px/normal monospace'
Fail Property font value 'small-caps normal bold italic 20%/1.2 Menu'
Fail Property font value 'small-caps normal bolder extra-expanded calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'small-caps normal ultra-expanded xx-small serif'
Fail Property font value 'small-caps normal ultra-condensed normal medium/normal sans-serif'
Fail Property font value 'small-caps normal extra-condensed italic xx-large/1.2 cursive'
Fail Property font value 'small-caps normal condensed lighter larger/calc(120% + 1.2em) fantasy'
Fail Property font value 'small-caps italic smaller monospace'
Fail Property font value 'small-caps italic normal 10px/normal Menu'
Fail Property font value 'small-caps italic normal normal 20%/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'small-caps italic normal 100 calc(30% - 40px)/calc(120% + 1.2em) serif'
Fail Property font value 'small-caps italic normal semi-condensed xx-small sans-serif'
Fail Property font value 'small-caps italic 900 medium/normal cursive'
Fail Property font value 'small-caps italic bold normal xx-large/1.2 fantasy'
Fail Property font value 'small-caps italic bolder semi-expanded larger/calc(120% + 1.2em) monospace'
Fail Property font value 'small-caps italic expanded smaller Menu'
Fail Property font value 'small-caps italic extra-expanded normal 10px/normal "Non-Generic Example Family Name"'
Fail Property font value 'small-caps italic ultra-expanded lighter 20%/1.2 serif'
Fail Property font value 'small-caps 100 calc(30% - 40px)/calc(120% + 1.2em) sans-serif'
Fail Property font value 'small-caps 900 normal xx-small cursive'
Fail Property font value 'small-caps bold normal normal medium/normal fantasy'
Fail Property font value 'small-caps bolder normal italic xx-large/1.2 monospace'
Fail Property font value 'small-caps lighter normal ultra-condensed larger/calc(120% + 1.2em) Menu'
Fail Property font value 'small-caps 100 italic smaller "Non-Generic Example Family Name"'
Fail Property font value 'small-caps 900 italic normal 10px/normal serif'
Fail Property font value 'small-caps bold italic extra-condensed 20%/1.2 sans-serif'
Fail Property font value 'small-caps bolder condensed calc(30% - 40px)/calc(120% + 1.2em) cursive'
Fail Property font value 'small-caps lighter semi-condensed normal xx-small fantasy'
Fail Property font value 'small-caps 100 semi-expanded italic medium/normal monospace'
Fail Property font value 'small-caps expanded xx-large/1.2 Menu'
Fail Property font value 'small-caps extra-expanded normal larger/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'small-caps ultra-expanded normal normal smaller serif'
Fail Property font value 'small-caps ultra-condensed normal italic 10px/normal sans-serif'
Fail Property font value 'small-caps extra-condensed normal 900 20%/1.2 cursive'
Fail Property font value 'small-caps condensed italic calc(30% - 40px)/calc(120% + 1.2em) fantasy'
Fail Property font value 'small-caps semi-condensed italic normal xx-small monospace'
Fail Property font value 'small-caps semi-expanded italic bold medium/normal Menu'
Fail Property font value 'small-caps expanded bolder xx-large/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'small-caps extra-expanded lighter normal larger/calc(120% + 1.2em) serif'
Fail Property font value 'small-caps ultra-expanded 100 italic smaller sans-serif'
Fail Property font value '900 10px/normal cursive'
Fail Property font value 'bold normal 20%/1.2 fantasy'
Fail Property font value 'bolder normal normal calc(30% - 40px)/calc(120% + 1.2em) monospace'
Fail Property font value 'lighter normal normal normal xx-small Menu'
Fail Property font value '100 normal normal italic medium/normal "Non-Generic Example Family Name"'
Fail Property font value '900 normal normal small-caps xx-large/1.2 serif'
Fail Property font value 'bold normal normal ultra-condensed larger/calc(120% + 1.2em) sans-serif'
Fail Property font value 'bolder normal italic smaller cursive'
Fail Property font value 'lighter normal italic normal 10px/normal fantasy'
Fail Property font value '100 normal italic small-caps 20%/1.2 monospace'
Fail Property font value '900 normal italic extra-condensed calc(30% - 40px)/calc(120% + 1.2em) Menu'
Fail Property font value 'bold normal small-caps xx-small "Non-Generic Example Family Name"'
Fail Property font value 'bolder normal small-caps normal medium/normal serif'
Fail Property font value 'lighter normal small-caps italic xx-large/1.2 sans-serif'
Fail Property font value '100 normal small-caps condensed larger/calc(120% + 1.2em) cursive'
Fail Property font value '900 normal semi-condensed smaller fantasy'
Fail Property font value 'bold normal semi-expanded normal 10px/normal monospace'
Fail Property font value 'bolder normal expanded italic 20%/1.2 Menu'
Fail Property font value 'lighter normal extra-expanded small-caps calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value '100 italic xx-small serif'
Fail Property font value '900 italic normal medium/normal sans-serif'
Fail Property font value 'bold italic normal normal xx-large/1.2 cursive'
Fail Property font value 'bolder italic normal small-caps larger/calc(120% + 1.2em) fantasy'
Fail Property font value 'lighter italic normal ultra-expanded smaller monospace'
Fail Property font value '100 italic small-caps 10px/normal Menu'
Fail Property font value '900 italic small-caps normal 20%/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'bold italic small-caps ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) serif'
Fail Property font value 'bolder italic extra-condensed xx-small sans-serif'
Fail Property font value 'lighter italic condensed normal medium/normal cursive'
Fail Property font value '100 italic semi-condensed small-caps xx-large/1.2 fantasy'
Fail Property font value '900 small-caps larger/calc(120% + 1.2em) monospace'
Fail Property font value 'bold small-caps normal smaller Menu'
Fail Property font value 'bolder small-caps normal normal 10px/normal "Non-Generic Example Family Name"'
Fail Property font value 'lighter small-caps normal italic 20%/1.2 serif'
Fail Property font value '100 small-caps normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) sans-serif'
Fail Property font value '900 small-caps italic xx-small cursive'
Fail Property font value 'bold small-caps italic normal medium/normal fantasy'
Fail Property font value 'bolder small-caps italic expanded xx-large/1.2 monospace'
Fail Property font value 'lighter small-caps extra-expanded larger/calc(120% + 1.2em) Menu'
Fail Property font value '100 small-caps ultra-expanded normal smaller "Non-Generic Example Family Name"'
Fail Property font value '900 small-caps ultra-condensed italic 10px/normal serif'
Fail Property font value 'bold extra-condensed 20%/1.2 sans-serif'
Fail Property font value 'bolder condensed normal calc(30% - 40px)/calc(120% + 1.2em) cursive'
Fail Property font value 'lighter semi-condensed normal normal xx-small fantasy'
Fail Property font value '100 semi-expanded normal italic medium/normal monospace'
Fail Property font value '900 expanded normal small-caps xx-large/1.2 Menu'
Fail Property font value 'bold extra-expanded italic larger/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'bolder ultra-expanded italic normal smaller serif'
Fail Property font value 'lighter ultra-condensed italic small-caps 10px/normal sans-serif'
Fail Property font value '100 extra-condensed small-caps 20%/1.2 cursive'
Fail Property font value '900 condensed small-caps normal calc(30% - 40px)/calc(120% + 1.2em) fantasy'
Fail Property font value 'bold semi-condensed small-caps italic xx-small monospace'
Fail Property font value 'semi-expanded medium/normal Menu'
Fail Property font value 'expanded normal xx-large/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'extra-expanded normal normal larger/calc(120% + 1.2em) serif'
Fail Property font value 'ultra-expanded normal normal normal smaller sans-serif'
Fail Property font value 'ultra-condensed normal normal italic 10px/normal cursive'
Fail Property font value 'extra-condensed normal normal small-caps 20%/1.2 fantasy'
Fail Property font value 'condensed normal normal bolder calc(30% - 40px)/calc(120% + 1.2em) monospace'
Fail Property font value 'semi-condensed normal italic xx-small Menu'
Fail Property font value 'semi-expanded normal italic normal medium/normal "Non-Generic Example Family Name"'
Fail Property font value 'expanded normal italic small-caps xx-large/1.2 serif'
Fail Property font value 'extra-expanded normal italic lighter larger/calc(120% + 1.2em) sans-serif'
Fail Property font value 'ultra-expanded normal small-caps smaller cursive'
Fail Property font value 'ultra-condensed normal small-caps normal 10px/normal fantasy'
Fail Property font value 'extra-condensed normal small-caps italic 20%/1.2 monospace'
Fail Property font value 'condensed normal small-caps 100 calc(30% - 40px)/calc(120% + 1.2em) Menu'
Fail Property font value 'semi-condensed normal 900 xx-small "Non-Generic Example Family Name"'
Fail Property font value 'semi-expanded normal bold normal medium/normal serif'
Fail Property font value 'expanded normal bolder italic xx-large/1.2 sans-serif'
Fail Property font value 'extra-expanded normal lighter small-caps larger/calc(120% + 1.2em) cursive'
Fail Property font value 'ultra-expanded italic smaller fantasy'
Fail Property font value 'ultra-condensed italic normal 10px/normal monospace'
Fail Property font value 'extra-condensed italic normal normal 20%/1.2 Menu'
Fail Property font value 'condensed italic normal small-caps calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'semi-condensed italic normal 100 xx-small serif'
Fail Property font value 'semi-expanded italic small-caps medium/normal sans-serif'
Fail Property font value 'expanded italic small-caps normal xx-large/1.2 cursive'
Fail Property font value 'extra-expanded italic small-caps 900 larger/calc(120% + 1.2em) fantasy'
Fail Property font value 'ultra-expanded italic bold smaller monospace'
Fail Property font value 'ultra-condensed italic bolder normal 10px/normal Menu'
Fail Property font value 'extra-condensed italic lighter small-caps 20%/1.2 "Non-Generic Example Family Name"'
Fail Property font value 'condensed small-caps calc(30% - 40px)/calc(120% + 1.2em) serif'
Fail Property font value 'semi-condensed small-caps normal xx-small sans-serif'
Fail Property font value 'semi-expanded small-caps normal normal medium/normal cursive'
Fail Property font value 'expanded small-caps normal italic xx-large/1.2 fantasy'
Fail Property font value 'extra-expanded small-caps normal 100 larger/calc(120% + 1.2em) monospace'
Fail Property font value 'ultra-expanded small-caps italic smaller Menu'
Fail Property font value 'ultra-condensed small-caps italic normal 10px/normal "Non-Generic Example Family Name"'
Fail Property font value 'extra-condensed small-caps italic 900 20%/1.2 serif'
Fail Property font value 'condensed small-caps bold calc(30% - 40px)/calc(120% + 1.2em) sans-serif'
Fail Property font value 'semi-condensed small-caps bolder normal xx-small cursive'
Fail Property font value 'semi-expanded small-caps lighter italic medium/normal fantasy'
Fail Property font value 'expanded 100 xx-large/1.2 monospace'
Fail Property font value 'extra-expanded 900 normal larger/calc(120% + 1.2em) Menu'
Fail Property font value 'ultra-expanded bold normal normal smaller "Non-Generic Example Family Name"'
Fail Property font value 'ultra-condensed bolder normal italic 10px/normal serif'
Fail Property font value 'extra-condensed lighter normal small-caps 20%/1.2 sans-serif'
Fail Property font value 'condensed 100 italic calc(30% - 40px)/calc(120% + 1.2em) cursive'
Fail Property font value 'semi-condensed 900 italic normal xx-small fantasy'
Fail Property font value 'semi-expanded bold italic small-caps medium/normal monospace'
Fail Property font value 'expanded bolder small-caps xx-large/1.2 Menu'
Fail Property font value 'extra-expanded lighter small-caps normal larger/calc(120% + 1.2em) "Non-Generic Example Family Name"'
Fail Property font value 'ultra-expanded 100 small-caps italic smaller serif'

View file

@ -0,0 +1,11 @@
Harness status: OK
Found 6 tests
6 Fail
Fail Check that size-adjust: 100% is valid
Fail Check that size-adjust: 0% is valid
Fail Check that size-adjust: 110% is valid
Fail Check that size-adjust: 100000000000% is valid
Fail Check that size-adjust: -100% is invalid
Fail Check that size-adjust: -1% is invalid

View file

@ -0,0 +1,40 @@
Harness status: OK
Found 35 tests
35 Fail
Fail Check that src: url("foo.ttf") is valid
Fail Check that src: url("foo.ttf"), url("bar.ttf") is valid
Fail Check that src: url("foo.ttf") format() is invalid
Fail Check that src: url("foo.ttf") dummy() is invalid
Fail Check that src: url("foo.ttf") format("woff") dummy() is invalid
Fail Check that src: url("foo.ttf") dummy() format("woff") is invalid
Fail Check that src: url("foo.ttf") format("collection") is valid
Fail Check that src: url("foo.ttf") format("opentype") is valid
Fail Check that src: url("foo.ttf") format("truetype") is valid
Fail Check that src: url("foo.ttf") format("woff") is valid
Fail Check that src: url("foo.ttf") format("woff2") is valid
Fail Check that src: url("foo.ttf") format("opentype", "truetype") is invalid
Fail Check that src: url("foo.ttf") format(collection) is valid
Fail Check that src: url("foo.ttf") format(opentype) is valid
Fail Check that src: url("foo.ttf") format(truetype) is valid
Fail Check that src: url("foo.ttf") format(woff) is valid
Fail Check that src: url("foo.ttf") format(woff2) is valid
Fail Check that src: url("foo.ttf") format(opentype, truetype) is invalid
Fail Check that src: url("foo.ttf") format(opentype truetype) is invalid
Fail Check that src: url("foo.ttf") format(auto) is invalid
Fail Check that src: url("foo.ttf") format(default) is invalid
Fail Check that src: url("foo.ttf") format(inherit) is invalid
Fail Check that src: url("foo.ttf") format(initial) is invalid
Fail Check that src: url("foo.ttf") format(none) is invalid
Fail Check that src: url("foo.ttf") format(normal) is invalid
Fail Check that src: url("foo.ttf") format(xyzzy) is invalid
Fail Check that src: url("foo.ttf") format("embedded-opentype"), url("bar.html") is valid
Fail Check that src: url("foo.ttf") format(embedded-opentype), url("bar.html") is valid
Fail Check that src: url("foo.ttf") format("svg"), url("bar.html") is valid
Fail Check that src: url("foo.ttf") format(svg), url("bar.html") is valid
Fail Check that src: url("foo.ttf") format(xyzz 200px), url("bar.html") is valid
Fail Check that src: url("foo.ttf") format(xyzz), url("bar.html") is valid
Fail Check that src: url("foo.ttf") dummy(xyzzy), url("bar.html") is valid
Fail Check that src: url("foo.ttf") format(), url("bar.html") is valid
Fail Check that src: url("foo.ttf") format(none), url("bar.html") is valid

View file

@ -0,0 +1,22 @@
Harness status: OK
Found 17 tests
17 Fail
Fail Check that src: local(inherit), url(foo.ttf) is valid
Fail Check that src: local("myfont"), local(unset) is valid
Fail Check that src: local(), url(foo.ttf) is valid
Fail Check that src: local(12px monospace), url(foo.ttf) is valid
Fail Check that src: local("myfont") format(opentype), url(foo.ttf) is valid
Fail Check that src: url(not a valid url/bar.ttf), url(foo.ttf) is valid
Fail Check that src: url(foo.ttf) format(bad), url(foo.ttf) is valid
Fail Check that src: url(foo.ttf) tech(unknown), url(foo.ttf) is valid
Fail Check that src: url(foo.ttf) tech(color-COLRv0) otherfunc(othervalue), url(foo.ttf) is valid
Fail Check that src: url(foo.ttf), url(something.ttf) format(broken) is valid
Fail Check that src: /* an empty component */, url(foo.ttf) is valid
Fail Check that src: local(""), url(foo.ttf), unparseable-garbage, local("another font name") is valid
Fail Check that src: local(), local(initial) is invalid
Fail Check that src: local("textfont") format(opentype), local("emoji") tech(color-COLRv0) is invalid
Fail Check that src: local(), /*empty*/, url(should be quoted.ttf), junk is invalid
Fail Check that src: url(foo.ttf) format(unknown), url(bar.ttf) tech(broken) is invalid
Fail Check that src: url(foo.ttf) tech(color-COLRv0) otherfunc(othervalue), junk is invalid

View file

@ -0,0 +1,23 @@
Harness status: OK
Found 18 tests
18 Fail
Fail Check that src: local(A) dummy() is invalid
Fail Check that src: dummy() local(A) is invalid
Fail Check that src: local( A ) is valid
Fail Check that src: local(A B) is valid
Fail Check that src: local(A B) is valid
Fail Check that src: local( A B ) is valid
Fail Check that src: local(default) is invalid
Fail Check that src: local(inherit) is invalid
Fail Check that src: local(revert) is invalid
Fail Check that src: local(unset) is invalid
Fail Check that src: local(default A) is valid
Fail Check that src: local(inherit A) is valid
Fail Check that src: local(revert A) is valid
Fail Check that src: local(unset A) is valid
Fail Check that src: local("default") is valid
Fail Check that src: local("inherit") is valid
Fail Check that src: local("revert") is valid
Fail Check that src: local("unset") is valid

View file

@ -0,0 +1,44 @@
Harness status: OK
Found 39 tests
39 Fail
Fail Check that src: url("foo.ttf") is valid
Fail Check that src: url("foo.ttf") tech() is invalid
Fail Check that src: url("foo.ttf") tech(features-opentype) is valid
Fail Check that src: url("foo.ttf") tech(features-aat) is valid
Fail Check that src: url("foo.ttf") tech(color-COLRv0) is valid
Fail Check that src: url("foo.ttf") tech(color-COLRv1) is valid
Fail Check that src: url("foo.ttf") tech(color-sbix) is valid
Fail Check that src: url("foo.ttf") tech(color-CBDT) is valid
Fail Check that src: url("foo.ttf") tech(variations) is valid
Fail Check that src: url("foo.ttf") tech(palettes) is valid
Fail Check that src: url("foo.ttf") tech("features-opentype") is invalid
Fail Check that src: url("foo.ttf") tech("color-COLRv0") is invalid
Fail Check that src: url("foo.ttf") tech("variations") is invalid
Fail Check that src: url("foo.ttf") tech(features-opentype, color-COLRv0, variations, palettes) is valid
Fail Check that src: url("foo.ttf") tech(features-opentype color-COLRv0 variations palettes) is invalid
Fail Check that src: url("foo.ttf") tech(feature-opentype) is invalid
Fail Check that src: url("foo.ttf") tech(feature-aat) is invalid
Fail Check that src: url("foo.ttf") tech(feature-graphite) is invalid
Fail Check that src: url("foo.ttf") tech(auto) is invalid
Fail Check that src: url("foo.ttf") tech(default) is invalid
Fail Check that src: url("foo.ttf") tech(inherit) is invalid
Fail Check that src: url("foo.ttf") tech(initial) is invalid
Fail Check that src: url("foo.ttf") tech(none) is invalid
Fail Check that src: url("foo.ttf") tech(normal) is invalid
Fail Check that src: url("foo.ttf") tech(xyzzy) is invalid
Fail Check that src: url("foo.ttf") tech(xyzzy, features-opentype) is invalid
Fail Check that src: url("foo.ttf") tech(features-opentype, xyzzy) is invalid
Fail Check that src: url("foo.ttf") format(opentype) tech(features-opentype) is valid
Fail Check that src: url("foo.ttf") tech(features-opentype) format(opentype) is invalid
Fail Check that src: url("foo.ttf") tech(incremental), url("bar.html") is valid
Fail Check that src: url("foo.ttf") tech(incremental, color-SVG, features-graphite, features-aat), url("bar.html") is valid
Fail Check that src: url("foo.ttf") tech(color-SVG, features-graphite), url("bar.html") is valid
Fail Check that src: url("foo.ttf") tech(color-SVG), url("bar.html") is valid
Fail Check that src: url("foo.ttf") tech(features-graphite), url("bar.html") is valid
Fail Check that src: url("foo.ttf") dummy("opentype") tech(variations) is invalid
Fail Check that src: url("foo.ttf") dummy("opentype") dummy(variations) is invalid
Fail Check that src: url("foo.ttf") format(opentype) tech(features-opentype) dummy(something) is invalid
Fail Check that src: url("foo.ttf") format(dummy), url("foo.ttf") tech(variations) is valid
Fail Check that src: url("foo.ttf") tech(color), url("bar.html") is valid

View file

@ -0,0 +1,15 @@
Harness status: OK
Found 10 tests
10 Pass
Pass Property font-family value 'serif'
Pass Property font-family value 'sans-serif'
Pass Property font-family value 'cursive'
Pass Property font-family value 'fantasy'
Pass Property font-family value 'monospace'
Pass Property font-family value 'serif, sans-serif, cursive, fantasy, monospace'
Pass Property font-family value 'Helvetica, Verdana, sans-serif'
Pass Property font-family value '"New Century Schoolbook", serif'
Pass Property font-family value '"21st Century", fantasy'
Pass Property font-family value '"inherit", "serif"'

View file

@ -0,0 +1,12 @@
Harness status: OK
Found 7 tests
7 Pass
Pass e.style['font-family'] = "cursive serif" should not set the property value
Pass e.style['font-family'] = "Red/Black, sans-serif" should not set the property value
Pass e.style['font-family'] = "\"Lucida\" Grande, sans-serif" should not set the property value
Pass e.style['font-family'] = "Ahem!, sans-serif" should not set the property value
Pass e.style['font-family'] = "test@foo, sans-serif" should not set the property value
Pass e.style['font-family'] = "#POUND, sans-serif" should not set the property value
Pass e.style['font-family'] = "Hawaii 5-0, sans-serif" should not set the property value

View file

@ -0,0 +1,17 @@
Harness status: OK
Found 11 tests
10 Pass
1 Fail
Pass e.style['font-family'] = "Serif" should set the property value
Pass e.style['font-family'] = "Sans-Serif" should set the property value
Pass e.style['font-family'] = "Cursive" should set the property value
Pass e.style['font-family'] = "Fantasy" should set the property value
Pass e.style['font-family'] = "Monospace" should set the property value
Fail e.style['font-family'] = "System-UI" should set the property value
Pass e.style['font-family'] = "serif, sans-serif, cursive, fantasy, monospace, system-ui" should set the property value
Pass e.style['font-family'] = "Helvetica, Verdana, sans-serif" should set the property value
Pass e.style['font-family'] = "\"New Century Schoolbook\", serif" should set the property value
Pass e.style['font-family'] = "'21st Century', fantasy" should set the property value
Pass e.style['font-family'] = "\"inherit\", \"serif\"" should set the property value

View file

@ -0,0 +1,16 @@
Harness status: OK
Found 10 tests
2 Pass
8 Fail
Pass Property font-feature-settings value 'normal'
Fail Property font-feature-settings value '"dlig"'
Fail Property font-feature-settings value '"smcp"'
Fail Property font-feature-settings value '"c2sc"'
Pass Property font-feature-settings value '"liga" 0'
Fail Property font-feature-settings value '"tnum", "hist"'
Fail Property font-feature-settings value '"PKRN"'
Fail Property font-feature-settings value '"dlig", "smcp", "dlig" 0'
Fail Property font-feature-settings value '"liga" calc(10 + (sign(2cqw - 10px) * 5))'
Fail Property font-feature-settings value '"liga" calc(10 + (sign(2cqw - 10px) * 5)), "dlig" calc(20 + (sign(2cqw - 10px) * 5))'

View file

@ -0,0 +1,10 @@
Harness status: OK
Found 5 tests
5 Pass
Pass e.style['font-feature-settings'] = "normal \"dlig\"" should not set the property value
Pass e.style['font-feature-settings'] = "\"c2sc\", normal" should not set the property value
Pass e.style['font-feature-settings'] = "\"tnum\" \"hist\"" should not set the property value
Pass e.style['font-feature-settings'] = "\"silly\" off" should not set the property value
Pass e.style['font-feature-settings'] = "dlig" should not set the property value

View file

@ -0,0 +1,14 @@
Harness status: OK
Found 8 tests
2 Pass
6 Fail
Pass e.style['font-feature-settings'] = "normal" should set the property value
Fail e.style['font-feature-settings'] = "\"dlig\" 1" should set the property value
Fail e.style['font-feature-settings'] = "\"smcp\" on" should set the property value
Fail e.style['font-feature-settings'] = "'c2sc'" should set the property value
Pass e.style['font-feature-settings'] = "\"liga\" off" should set the property value
Fail e.style['font-feature-settings'] = "\"tnum\", 'hist'" should set the property value
Fail e.style['font-feature-settings'] = "\"PKRN\"" should set the property value
Fail e.style['font-feature-settings'] = "\"dlig\" 1, \"smcp\" on, \"dlig\" 0" should set the property value

View file

@ -0,0 +1,21 @@
Harness status: OK
Found 16 tests
16 Pass
Pass e.style['font'] = "menu icon" should not set the property value
Pass e.style['font'] = "italic oblique xx-small serif" should not set the property value
Pass e.style['font'] = "small-caps small-caps medium/normal sans-serif" should not set the property value
Pass e.style['font'] = "bold bolder xx-large/1.2 cursive" should not set the property value
Pass e.style['font'] = "ultra-condensed extra-condensed larger/calc(120% + 1.2em) fantasy" should not set the property value
Pass e.style['font'] = "italic small-caps lighter condensed normal smaller monospace" should not set the property value
Pass e.style['font'] = "normal 100 semi-condensed oblique small-caps 10px/normal Menu" should not set the property value
Pass e.style['font'] = "normal normal normal normal normal 20%/1.2 \"FB Armada\"" should not set the property value
Pass e.style['font'] = "italic small-caps lighter condensed smaller" should not set the property value
Pass e.style['font'] = "normal 100 semi-condensed oblique small-caps Menu" should not set the property value
Pass e.style['font'] = "100% larger / 2 fantasy" should not set the property value
Pass e.style['font'] = "oldstyle-nums medium serif" should not set the property value
Pass e.style['font'] = "common-ligatures medium serif" should not set the property value
Pass e.style['font'] = "normal full-width medium serif" should not set the property value
Pass e.style['font'] = "italic titling-caps medium serif" should not set the property value
Pass e.style['font'] = "petite-caps medium serif" should not set the property value

View file

@ -0,0 +1,8 @@
Harness status: OK
Found 3 tests
3 Fail
Fail Property font-kerning value 'auto'
Fail Property font-kerning value 'normal'
Fail Property font-kerning value 'none'

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-kerning'] = "normal auto" should not set the property value
Pass e.style['font-kerning'] = "none, auto" should not set the property value

View file

@ -0,0 +1,8 @@
Harness status: OK
Found 3 tests
3 Fail
Fail e.style['font-kerning'] = "auto" should set the property value
Fail e.style['font-kerning'] = "normal" should set the property value
Fail e.style['font-kerning'] = "none" should set the property value

View file

@ -0,0 +1,11 @@
Harness status: OK
Found 5 tests
1 Pass
4 Fail
Pass Property font-language-override value 'normal'
Fail Property font-language-override value '"KSW"'
Fail Property font-language-override value '"ENG "'
Fail Property font-language-override value '"en "'
Fail Property font-language-override value '" en "'

View file

@ -0,0 +1,12 @@
Harness status: OK
Found 6 tests
4 Pass
2 Fail
Pass e.style['font-language-override'] = "auto" should not set the property value
Pass e.style['font-language-override'] = "normal \"ksw\"" should not set the property value
Pass e.style['font-language-override'] = "\"turkish\"" should not set the property value
Fail e.style['font-language-override'] = "\"xøx\"" should not set the property value
Fail e.style['font-language-override'] = "\"\"" should not set the property value
Pass e.style['font-language-override'] = "\"ENG \"" should not set the property value

View file

@ -0,0 +1,15 @@
Harness status: OK
Found 9 tests
2 Pass
7 Fail
Pass e.style['font-language-override'] = "normal" should set the property value
Fail e.style['font-language-override'] = "\"KSW\"" should set the property value
Pass e.style['font-language-override'] = "\"APPH\"" should set the property value
Fail e.style['font-language-override'] = "\"ENG \"" should set the property value
Fail e.style['font-language-override'] = "\"ksw\"" should set the property value
Fail e.style['font-language-override'] = "\"tr\"" should set the property value
Fail e.style['font-language-override'] = "\"en \"" should set the property value
Fail e.style['font-language-override'] = "\" en \"" should set the property value
Fail e.style['font-language-override'] = "\"1 %\"" should set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Fail
Fail Property font-optical-sizing value 'auto'
Fail Property font-optical-sizing value 'none'

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-optical-sizing'] = "normal" should not set the property value
Pass e.style['font-optical-sizing'] = "auto none" should not set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Fail
Fail e.style['font-optical-sizing'] = "auto" should set the property value
Fail e.style['font-optical-sizing'] = "none" should set the property value

View file

@ -0,0 +1,9 @@
Harness status: OK
Found 4 tests
4 Fail
Fail Property font-palette value 'normal'
Fail Property font-palette value 'light'
Fail Property font-palette value 'dark'
Fail Property font-palette value '--pitchfork'

View file

@ -0,0 +1,9 @@
Harness status: OK
Found 4 tests
4 Pass
Pass e.style['font-palette'] = "normal none" should not set the property value
Pass e.style['font-palette'] = "none, light" should not set the property value
Pass e.style['font-palette'] = "A" should not set the property value
Pass e.style['font-palette'] = "none" should not set the property value

View file

@ -0,0 +1,10 @@
Harness status: OK
Found 5 tests
5 Fail
Fail e.style['font-palette'] = "normal" should set the property value
Fail e.style['font-palette'] = "light" should set the property value
Fail e.style['font-palette'] = "dark" should set the property value
Fail e.style['font-palette'] = "--pitchfork" should set the property value
Fail e.style['font-palette'] = "--" should set the property value

View file

@ -0,0 +1,32 @@
Harness status: OK
Found 26 tests
1 Pass
25 Fail
Fail CSS Fonts Module Level 4: parsing @font-palette-values
Fail CSS Fonts Module Level 4: parsing @font-palette-values 1
Fail CSS Fonts Module Level 4: parsing @font-palette-values 2
Fail CSS Fonts Module Level 4: parsing @font-palette-values 3
Fail CSS Fonts Module Level 4: parsing @font-palette-values 4
Fail CSS Fonts Module Level 4: parsing @font-palette-values 5
Fail CSS Fonts Module Level 4: parsing @font-palette-values 6
Fail CSS Fonts Module Level 4: parsing @font-palette-values 7
Fail CSS Fonts Module Level 4: parsing @font-palette-values 8
Fail CSS Fonts Module Level 4: parsing @font-palette-values 9
Fail CSS Fonts Module Level 4: parsing @font-palette-values 10
Fail CSS Fonts Module Level 4: parsing @font-palette-values 11
Fail CSS Fonts Module Level 4: parsing @font-palette-values 12
Fail CSS Fonts Module Level 4: parsing @font-palette-values 13
Fail CSS Fonts Module Level 4: parsing @font-palette-values 14
Fail CSS Fonts Module Level 4: parsing @font-palette-values 15
Fail CSS Fonts Module Level 4: parsing @font-palette-values 16
Fail CSS Fonts Module Level 4: parsing @font-palette-values 17
Pass CSS Fonts Module Level 4: parsing @font-palette-values 18
Fail CSS Fonts Module Level 4: parsing @font-palette-values 19
Fail CSS Fonts Module Level 4: parsing @font-palette-values 20
Fail CSS Fonts Module Level 4: parsing @font-palette-values 21
Fail CSS Fonts Module Level 4: parsing @font-palette-values 22
Fail CSS Fonts Module Level 4: parsing @font-palette-values 23
Fail CSS Fonts Module Level 4: parsing @font-palette-values 24
Fail CSS Fonts Module Level 4: parsing @font-palette-values 25

View file

@ -0,0 +1,40 @@
Harness status: OK
Found 35 tests
35 Fail
Fail CSS Fonts Module Level 4: parsing @font-palette-values
Fail CSS Fonts Module Level 4: parsing @font-palette-values 1
Fail CSS Fonts Module Level 4: parsing @font-palette-values 2
Fail CSS Fonts Module Level 4: parsing @font-palette-values 3
Fail CSS Fonts Module Level 4: parsing @font-palette-values 4
Fail CSS Fonts Module Level 4: parsing @font-palette-values 5
Fail CSS Fonts Module Level 4: parsing @font-palette-values 6
Fail CSS Fonts Module Level 4: parsing @font-palette-values 7
Fail CSS Fonts Module Level 4: parsing @font-palette-values 8
Fail CSS Fonts Module Level 4: parsing @font-palette-values 9
Fail CSS Fonts Module Level 4: parsing @font-palette-values 10
Fail CSS Fonts Module Level 4: parsing @font-palette-values 11
Fail CSS Fonts Module Level 4: parsing @font-palette-values 12
Fail CSS Fonts Module Level 4: parsing @font-palette-values 13
Fail CSS Fonts Module Level 4: parsing @font-palette-values 14
Fail CSS Fonts Module Level 4: parsing @font-palette-values 15
Fail CSS Fonts Module Level 4: parsing @font-palette-values 16
Fail CSS Fonts Module Level 4: parsing @font-palette-values 17
Fail CSS Fonts Module Level 4: parsing @font-palette-values 18
Fail CSS Fonts Module Level 4: parsing @font-palette-values 19
Fail CSS Fonts Module Level 4: parsing @font-palette-values 20
Fail CSS Fonts Module Level 4: parsing @font-palette-values 21
Fail CSS Fonts Module Level 4: parsing @font-palette-values 22
Fail CSS Fonts Module Level 4: parsing @font-palette-values 23
Fail CSS Fonts Module Level 4: parsing @font-palette-values 24
Fail CSS Fonts Module Level 4: parsing @font-palette-values 25
Fail CSS Fonts Module Level 4: parsing @font-palette-values 26
Fail CSS Fonts Module Level 4: parsing @font-palette-values 27
Fail CSS Fonts Module Level 4: parsing @font-palette-values 28
Fail CSS Fonts Module Level 4: parsing @font-palette-values 29
Fail CSS Fonts Module Level 4: parsing @font-palette-values 30
Fail CSS Fonts Module Level 4: parsing @font-palette-values 31
Fail CSS Fonts Module Level 4: parsing @font-palette-values 32
Fail CSS Fonts Module Level 4: parsing @font-palette-values 33
Fail CSS Fonts Module Level 4: parsing @font-palette-values 34

View file

@ -0,0 +1,6 @@
Harness status: OK
Found 1 tests
1 Fail
Fail font shorthand returns only CSS2 font-variant values

View file

@ -0,0 +1,26 @@
Harness status: OK
Found 20 tests
1 Pass
19 Fail
Pass CSS Fonts Module Level 5: getComputedStyle().fontSizeAdjust
Fail Property font-size-adjust value 'none'
Fail Property font-size-adjust value '0.5'
Fail Property font-size-adjust value 'ex-height 0.5'
Fail Property font-size-adjust value 'cap-height 0.8'
Fail Property font-size-adjust value 'ch-width 0.4'
Fail Property font-size-adjust value 'ic-width 0.9'
Fail Property font-size-adjust value 'ic-height 1.1'
Fail Property font-size-adjust value 'from-font'
Fail Property font-size-adjust value 'ex-height from-font'
Fail Property font-size-adjust value 'cap-height from-font'
Fail Property font-size-adjust value 'ch-width from-font'
Fail Property font-size-adjust value 'ic-width from-font'
Fail Property font-size-adjust value 'ic-height from-font'
Fail Property font-size-adjust value 'calc(0.5)'
Fail Property font-size-adjust value 'ex-height calc(0.5)'
Fail Property font-size-adjust value 'cap-height calc(0.5)'
Fail Property font-size-adjust value 'cap-height calc(0.5 + 1)'
Fail Property font-size-adjust value 'cap-height calc(-0.5)'
Fail Property font-size-adjust value 'cap-height calc(10 + (sign(20cqw - 10px) * 5))'

View file

@ -0,0 +1,62 @@
Harness status: OK
Found 57 tests
57 Pass
Pass e.style['font-size-adjust'] = "auto" should not set the property value
Pass e.style['font-size-adjust'] = "-10" should not set the property value
Pass e.style['font-size-adjust'] = "0.5 ex-height" should not set the property value
Pass e.style['font-size-adjust'] = "em 1.0" should not set the property value
Pass e.style['font-size-adjust'] = "ch 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "ic 1.0" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height none" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height none" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height none" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width none" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width none" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height ex-height" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height cap-height" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height ic-height" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width ic-width" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width ch-width" should not set the property value
Pass e.style['font-size-adjust'] = "none none" should not set the property value
Pass e.style['font-size-adjust'] = "none 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "none from-font" should not set the property value
Pass e.style['font-size-adjust'] = "from-font none" should not set the property value
Pass e.style['font-size-adjust'] = "from-font 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "from-font ex-height" should not set the property value
Pass e.style['font-size-adjust'] = "from-font cap-height" should not set the property value
Pass e.style['font-size-adjust'] = "from-font ic-height" should not set the property value
Pass e.style['font-size-adjust'] = "from-font ic-width" should not set the property value
Pass e.style['font-size-adjust'] = "from-font ch-width" should not set the property value
Pass e.style['font-size-adjust'] = "from-font from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height from-font from-font" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height from-font from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height from-font from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width from-font from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width from-font from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height from-font 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height from-font 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height from-font 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width from-font 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width from-font 0.5" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height 0.5 from-font" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height 0.5 from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height 0.5 from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width 0.5 from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width 0.5 from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height from-font none" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height from-font none" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height from-font none" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width from-font none" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width from-font none" should not set the property value
Pass e.style['font-size-adjust'] = "ex-height none from-font" should not set the property value
Pass e.style['font-size-adjust'] = "cap-height none from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ic-height none from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ic-width none from-font" should not set the property value
Pass e.style['font-size-adjust'] = "ch-width none from-font" should not set the property value

View file

@ -0,0 +1,24 @@
Harness status: OK
Found 19 tests
19 Fail
Fail e.style['font-size-adjust'] = "none" should set the property value
Fail e.style['font-size-adjust'] = "0.5" should set the property value
Fail e.style['font-size-adjust'] = "ex-height 0.5" should set the property value
Fail e.style['font-size-adjust'] = "cap-height 0.8" should set the property value
Fail e.style['font-size-adjust'] = "ch-width 0.4" should set the property value
Fail e.style['font-size-adjust'] = "ic-width 0.9" should set the property value
Fail e.style['font-size-adjust'] = "ic-height 0.9" should set the property value
Fail e.style['font-size-adjust'] = "from-font" should set the property value
Fail e.style['font-size-adjust'] = "ex-height from-font" should set the property value
Fail e.style['font-size-adjust'] = "cap-height from-font" should set the property value
Fail e.style['font-size-adjust'] = "ch-width from-font" should set the property value
Fail e.style['font-size-adjust'] = "ic-width from-font" should set the property value
Fail e.style['font-size-adjust'] = "ic-height from-font" should set the property value
Fail e.style['font-size-adjust'] = "calc(0.5)" should set the property value
Fail e.style['font-size-adjust'] = "ex-height calc(0.5)" should set the property value
Fail e.style['font-size-adjust'] = "cap-height calc(0.5)" should set the property value
Fail e.style['font-size-adjust'] = "cap-height calc(0.5 + 1)" should set the property value
Fail e.style['font-size-adjust'] = "cap-height calc(-0.5)" should set the property value
Fail e.style['font-size-adjust'] = "cap-height calc(10 + (sign(20cqw - 10px) * 5))" should set the property value

View file

@ -0,0 +1,27 @@
Harness status: OK
Found 21 tests
19 Pass
2 Fail
Pass xx-small <= x-small
Pass x-small <= small
Pass small <= medium
Pass medium <= large
Pass large <= x-large
Pass x-large <= xx-large
Pass xx-large <= xxx-large
Pass inherit <= larger
Pass smaller <= inherit
Pass Property font-size value '10px'
Pass Property font-size value '20%'
Fail Property font-size value 'calc(30% - 40px)'
Pass Property font-size value 'calc(30% + 40px)'
Fail Property font-size value 'calc(10px - 0.5em)'
Pass Property font-size value 'calc(10px + 0.5em)'
Pass <font size="2"> is font-size: small
Pass <font size="3"> is font-size: medium
Pass <font size="4"> is font-size: large
Pass <font size="5"> is font-size: x-large
Pass <font size="6"> is font-size: xx-large
Pass <font size="7"> is font-size: xxx-large

View file

@ -0,0 +1,9 @@
Harness status: OK
Found 4 tests
4 Pass
Pass e.style['font-size'] = "auto" should not set the property value
Pass e.style['font-size'] = "medium small" should not set the property value
Pass e.style['font-size'] = "-10px" should not set the property value
Pass e.style['font-size'] = "-20%" should not set the property value

View file

@ -0,0 +1,19 @@
Harness status: OK
Found 13 tests
12 Pass
1 Fail
Pass e.style['font-size'] = "xx-small" should set the property value
Pass e.style['font-size'] = "x-small" should set the property value
Pass e.style['font-size'] = "small" should set the property value
Pass e.style['font-size'] = "medium" should set the property value
Pass e.style['font-size'] = "large" should set the property value
Pass e.style['font-size'] = "x-large" should set the property value
Pass e.style['font-size'] = "xx-large" should set the property value
Pass e.style['font-size'] = "xxx-large" should set the property value
Pass e.style['font-size'] = "larger" should set the property value
Pass e.style['font-size'] = "smaller" should set the property value
Pass e.style['font-size'] = "10px" should set the property value
Pass e.style['font-size'] = "20%" should set the property value
Fail e.style['font-size'] = "calc(30% - 40px)" should set the property value

View file

@ -0,0 +1,6 @@
Harness status: OK
Found 1 tests
1 Pass
Pass font-stretch is a legacy name alias for font-width

View file

@ -0,0 +1,21 @@
Harness status: OK
Found 15 tests
4 Pass
11 Fail
Fail Property font-stretch value 'ultra-condensed'
Fail Property font-stretch value 'extra-condensed'
Fail Property font-stretch value 'condensed'
Fail Property font-stretch value 'semi-condensed'
Fail Property font-stretch value 'normal'
Fail Property font-stretch value 'semi-expanded'
Fail Property font-stretch value 'expanded'
Fail Property font-stretch value 'extra-expanded'
Fail Property font-stretch value 'ultra-expanded'
Pass Property font-stretch value '234.5%'
Pass Property font-stretch value 'calc(100%)'
Pass Property font-stretch value 'calc(0%)'
Fail Property font-stretch value 'calc(-100%)'
Pass Property font-stretch value 'calc(100% + 100%)'
Fail Property font-stretch value 'calc(100% + (sign(20cqw - 10px) * 5%))'

View file

@ -0,0 +1,10 @@
Harness status: OK
Found 4 tests
3 Pass
1 Fail
Pass e.style['font-stretch'] = "auto" should not set the property value
Fail e.style['font-stretch'] = "normal, ultra-condensed" should not set the property value
Pass e.style['font-stretch'] = "condensed expanded" should not set the property value
Pass e.style['font-stretch'] = "-50%" should not set the property value

View file

@ -0,0 +1,21 @@
Harness status: OK
Found 15 tests
10 Pass
5 Fail
Pass e.style['font-stretch'] = "normal" should set the property value
Pass e.style['font-stretch'] = "ultra-condensed" should set the property value
Pass e.style['font-stretch'] = "extra-condensed" should set the property value
Pass e.style['font-stretch'] = "condensed" should set the property value
Pass e.style['font-stretch'] = "semi-condensed" should set the property value
Pass e.style['font-stretch'] = "semi-expanded" should set the property value
Pass e.style['font-stretch'] = "expanded" should set the property value
Pass e.style['font-stretch'] = "extra-expanded" should set the property value
Pass e.style['font-stretch'] = "ultra-expanded" should set the property value
Pass e.style['font-stretch'] = "234.5%" should set the property value
Fail e.style['font-stretch'] = "calc(100%)" should set the property value
Fail e.style['font-stretch'] = "calc(0%)" should set the property value
Fail e.style['font-stretch'] = "calc(-100%)" should set the property value
Fail e.style['font-stretch'] = "calc(100% + 100%)" should set the property value
Fail e.style['font-stretch'] = "calc(100% + (sign(20cqw - 10px) * 5%))" should set the property value

View file

@ -0,0 +1,21 @@
Harness status: OK
Found 15 tests
3 Pass
12 Fail
Pass Property font-style value 'normal'
Pass Property font-style value 'italic'
Pass Property font-style value 'oblique'
Fail Property font-style value 'oblique 0deg'
Fail Property font-style value 'oblique calc(10deg - 10deg)'
Fail Property font-style value 'oblique 10deg'
Fail Property font-style value 'oblique -10deg'
Fail Property font-style value 'oblique -90deg'
Fail Property font-style value 'oblique 90deg'
Fail Property font-style value 'oblique 10grad'
Fail Property font-style value 'oblique calc(90deg)'
Fail Property font-style value 'oblique calc(100deg)'
Fail Property font-style value 'oblique calc(-100deg)'
Fail Property font-style value 'oblique calc(30deg * 2)'
Fail Property font-style value 'oblique calc(30deg + (sign(20cqw - 10px) * 5deg))'

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-style'] = "auto" should not set the property value
Pass e.style['font-style'] = "italic oblique" should not set the property value

View file

@ -0,0 +1,21 @@
Harness status: OK
Found 15 tests
3 Pass
12 Fail
Pass e.style['font-style'] = "normal" should set the property value
Pass e.style['font-style'] = "italic" should set the property value
Pass e.style['font-style'] = "oblique" should set the property value
Fail e.style['font-style'] = "oblique 0deg" should set the property value
Fail e.style['font-style'] = "oblique calc(10deg - 10deg)" should set the property value
Fail e.style['font-style'] = "oblique 10deg" should set the property value
Fail e.style['font-style'] = "oblique -10deg" should set the property value
Fail e.style['font-style'] = "oblique -90deg" should set the property value
Fail e.style['font-style'] = "oblique 90deg" should set the property value
Fail e.style['font-style'] = "oblique 10grad" should set the property value
Fail e.style['font-style'] = "oblique calc(90deg)" should set the property value
Fail e.style['font-style'] = "oblique calc(100deg)" should set the property value
Fail e.style['font-style'] = "oblique calc(-100deg)" should set the property value
Fail e.style['font-style'] = "oblique calc(30deg * 2)" should set the property value
Fail e.style['font-style'] = "oblique calc(30deg + (sign(2cqw - 10px) * 5deg))" should set the property value

View file

@ -0,0 +1,19 @@
Harness status: OK
Found 14 tests
14 Fail
Fail Property font-synthesis value 'none'
Fail Property font-synthesis value 'weight'
Fail Property font-synthesis value 'style'
Fail Property font-synthesis value 'small-caps'
Fail Property font-synthesis value 'position'
Fail Property font-synthesis value 'small-caps position'
Fail Property font-synthesis value 'style small-caps'
Fail Property font-synthesis value 'style position'
Fail Property font-synthesis value 'style small-caps position'
Fail Property font-synthesis value 'weight small-caps'
Fail Property font-synthesis value 'weight style'
Fail Property font-synthesis value 'weight position'
Fail Property font-synthesis value 'weight style small-caps'
Fail Property font-synthesis value 'weight style small-caps position'

View file

@ -0,0 +1,13 @@
Harness status: OK
Found 8 tests
8 Pass
Pass e.style['font-synthesis'] = "auto" should not set the property value
Pass e.style['font-synthesis'] = "none weight" should not set the property value
Pass e.style['font-synthesis'] = "none style" should not set the property value
Pass e.style['font-synthesis'] = "none position" should not set the property value
Pass e.style['font-synthesis'] = "style none" should not set the property value
Pass e.style['font-synthesis'] = "none small-caps" should not set the property value
Pass e.style['font-synthesis'] = "small-caps none" should not set the property value
Pass e.style['font-synthesis'] = "position none" should not set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-synthesis-position'] = "normal" should not set the property value
Pass e.style['font-synthesis-position'] = "auto none" should not set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Fail
Fail e.style['font-synthesis-position'] = "auto" should set the property value
Fail e.style['font-synthesis-position'] = "none" should set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-synthesis-small-caps'] = "normal" should not set the property value
Pass e.style['font-synthesis-small-caps'] = "auto none" should not set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Fail
Fail e.style['font-synthesis-small-caps'] = "auto" should set the property value
Fail e.style['font-synthesis-small-caps'] = "none" should set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-synthesis-style'] = "normal" should not set the property value
Pass e.style['font-synthesis-style'] = "auto none" should not set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Fail
Fail e.style['font-synthesis-style'] = "auto" should set the property value
Fail e.style['font-synthesis-style'] = "none" should set the property value

View file

@ -0,0 +1,19 @@
Harness status: OK
Found 14 tests
14 Fail
Fail e.style['font-synthesis'] = "none" should set the property value
Fail e.style['font-synthesis'] = "weight" should set the property value
Fail e.style['font-synthesis'] = "style" should set the property value
Fail e.style['font-synthesis'] = "small-caps" should set the property value
Fail e.style['font-synthesis'] = "position" should set the property value
Fail e.style['font-synthesis'] = "style weight" should set the property value
Fail e.style['font-synthesis'] = "small-caps weight" should set the property value
Fail e.style['font-synthesis'] = "small-caps style" should set the property value
Fail e.style['font-synthesis'] = "style weight small-caps" should set the property value
Fail e.style['font-synthesis'] = "style small-caps weight " should set the property value
Fail e.style['font-synthesis'] = "small-caps style weight " should set the property value
Fail e.style['font-synthesis'] = "position style" should set the property value
Fail e.style['font-synthesis'] = "position weight style" should set the property value
Fail e.style['font-synthesis'] = "position weight small-caps style" should set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-synthesis-weight'] = "normal" should not set the property value
Pass e.style['font-synthesis-weight'] = "auto none" should not set the property value

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Fail
Fail e.style['font-synthesis-weight'] = "auto" should set the property value
Fail e.style['font-synthesis-weight'] = "none" should set the property value

View file

@ -0,0 +1,320 @@
Harness status: OK
Found 315 tests
315 Fail
Fail caption should be a supported system font.
Fail icon should be a supported system font.
Fail menu should be a supported system font.
Fail message-box should be a supported system font.
Fail small-caption should be a supported system font.
Fail status-bar should be a supported system font.
Fail e.style['font'] = "xx-small serif" should set the property value
Fail e.style['font'] = "normal medium/normal sans-serif" should set the property value
Fail e.style['font'] = "normal normal xx-large/1.2 cursive" should set the property value
Fail e.style['font'] = "normal normal normal larger/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "normal normal normal normal smaller monospace" should set the property value
Fail e.style['font'] = "normal normal normal italic 10px/normal Menu" should set the property value
Fail e.style['font'] = "normal normal normal small-caps 20%/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal normal normal bold calc(30% - 40px)/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "normal normal normal ultra-condensed xx-small sans-serif" should set the property value
Fail e.style['font'] = "normal normal oblique medium/normal cursive" should set the property value
Fail e.style['font'] = "normal normal italic normal xx-large/1.2 fantasy" should set the property value
Fail e.style['font'] = "normal normal oblique small-caps larger/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "normal normal italic bolder smaller Menu" should set the property value
Fail e.style['font'] = "normal normal oblique extra-condensed 10px/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal normal small-caps 20%/1.2 serif" should set the property value
Fail e.style['font'] = "normal normal small-caps normal calc(30% - 40px)/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "normal normal small-caps italic xx-small cursive" should set the property value
Fail e.style['font'] = "normal normal small-caps lighter medium/normal fantasy" should set the property value
Fail e.style['font'] = "normal normal small-caps condensed xx-large/1.2 monospace" should set the property value
Fail e.style['font'] = "normal normal 100 larger/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "normal normal 900 normal smaller \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal normal bold oblique 10px/normal serif" should set the property value
Fail e.style['font'] = "normal normal bolder small-caps 20%/1.2 sans-serif" should set the property value
Fail e.style['font'] = "normal normal lighter semi-condensed calc(30% - 40px)/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "normal normal semi-expanded xx-small fantasy" should set the property value
Fail e.style['font'] = "normal normal expanded normal medium/normal monospace" should set the property value
Fail e.style['font'] = "normal normal extra-expanded italic xx-large/1.2 Menu" should set the property value
Fail e.style['font'] = "normal normal ultra-expanded small-caps larger/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal normal ultra-condensed 100 smaller serif" should set the property value
Fail e.style['font'] = "normal oblique 10px/normal sans-serif" should set the property value
Fail e.style['font'] = "normal italic normal 20%/1.2 cursive" should set the property value
Fail e.style['font'] = "normal oblique normal normal calc(30% - 40px)/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "normal italic normal small-caps xx-small monospace" should set the property value
Fail e.style['font'] = "normal oblique normal 900 medium/normal Menu" should set the property value
Fail e.style['font'] = "normal italic normal extra-condensed xx-large/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal oblique small-caps larger/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "normal italic small-caps normal smaller sans-serif" should set the property value
Fail e.style['font'] = "normal oblique small-caps bold 10px/normal cursive" should set the property value
Fail e.style['font'] = "normal italic small-caps condensed 20%/1.2 fantasy" should set the property value
Fail e.style['font'] = "normal oblique bolder calc(30% - 40px)/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "normal italic lighter normal xx-small Menu" should set the property value
Fail e.style['font'] = "normal oblique 100 small-caps medium/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal italic 900 semi-condensed xx-large/1.2 serif" should set the property value
Fail e.style['font'] = "normal oblique semi-expanded larger/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "normal italic expanded normal smaller cursive" should set the property value
Fail e.style['font'] = "normal oblique extra-expanded small-caps 10px/normal fantasy" should set the property value
Fail e.style['font'] = "normal italic ultra-expanded bold 20%/1.2 monospace" should set the property value
Fail e.style['font'] = "normal small-caps calc(30% - 40px)/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "normal small-caps normal xx-small \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal small-caps normal normal medium/normal serif" should set the property value
Fail e.style['font'] = "normal small-caps normal oblique xx-large/1.2 sans-serif" should set the property value
Fail e.style['font'] = "normal small-caps normal bolder larger/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "normal small-caps normal ultra-condensed smaller fantasy" should set the property value
Fail e.style['font'] = "normal small-caps italic 10px/normal monospace" should set the property value
Fail e.style['font'] = "normal small-caps oblique normal 20%/1.2 Menu" should set the property value
Fail e.style['font'] = "normal small-caps italic lighter calc(30% - 40px)/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal small-caps oblique extra-condensed xx-small serif" should set the property value
Fail e.style['font'] = "normal small-caps 100 medium/normal sans-serif" should set the property value
Fail e.style['font'] = "normal small-caps 900 normal xx-large/1.2 cursive" should set the property value
Fail e.style['font'] = "normal small-caps bold italic larger/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "normal small-caps bolder condensed smaller monospace" should set the property value
Fail e.style['font'] = "normal small-caps semi-condensed 10px/normal Menu" should set the property value
Fail e.style['font'] = "normal small-caps semi-expanded normal 20%/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal small-caps expanded oblique calc(30% - 40px)/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "normal small-caps extra-expanded lighter xx-small sans-serif" should set the property value
Fail e.style['font'] = "normal 100 medium/normal cursive" should set the property value
Fail e.style['font'] = "normal 900 normal xx-large/1.2 fantasy" should set the property value
Fail e.style['font'] = "normal bold normal normal larger/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "normal bolder normal italic smaller Menu" should set the property value
Fail e.style['font'] = "normal lighter normal small-caps 10px/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal 100 normal ultra-expanded 20%/1.2 serif" should set the property value
Fail e.style['font'] = "normal 900 oblique calc(30% - 40px)/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "normal bold italic normal xx-small cursive" should set the property value
Fail e.style['font'] = "normal bolder oblique small-caps medium/normal fantasy" should set the property value
Fail e.style['font'] = "normal lighter italic ultra-condensed xx-large/1.2 monospace" should set the property value
Fail e.style['font'] = "normal 100 small-caps larger/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "normal 900 small-caps normal smaller \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal bold small-caps oblique 10px/normal serif" should set the property value
Fail e.style['font'] = "normal bolder small-caps extra-condensed 20%/1.2 sans-serif" should set the property value
Fail e.style['font'] = "normal lighter condensed calc(30% - 40px)/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "normal 100 semi-condensed normal xx-small fantasy" should set the property value
Fail e.style['font'] = "normal 900 semi-expanded italic medium/normal monospace" should set the property value
Fail e.style['font'] = "normal bold expanded small-caps xx-large/1.2 Menu" should set the property value
Fail e.style['font'] = "normal extra-expanded larger/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal ultra-expanded normal smaller serif" should set the property value
Fail e.style['font'] = "normal ultra-condensed normal normal 10px/normal sans-serif" should set the property value
Fail e.style['font'] = "normal extra-condensed normal oblique 20%/1.2 cursive" should set the property value
Fail e.style['font'] = "normal condensed normal small-caps calc(30% - 40px)/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "normal semi-condensed normal bolder xx-small monospace" should set the property value
Fail e.style['font'] = "normal semi-expanded italic medium/normal Menu" should set the property value
Fail e.style['font'] = "normal expanded oblique normal xx-large/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal extra-expanded italic small-caps larger/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "normal ultra-expanded oblique lighter smaller sans-serif" should set the property value
Fail e.style['font'] = "normal ultra-condensed small-caps 10px/normal cursive" should set the property value
Fail e.style['font'] = "normal extra-condensed small-caps normal 20%/1.2 fantasy" should set the property value
Fail e.style['font'] = "normal condensed small-caps italic calc(30% - 40px)/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "normal semi-condensed small-caps 100 xx-small Menu" should set the property value
Fail e.style['font'] = "normal semi-expanded 900 medium/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "normal expanded bold normal xx-large/1.2 serif" should set the property value
Fail e.style['font'] = "normal extra-expanded bolder oblique larger/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "normal ultra-expanded lighter small-caps smaller cursive" should set the property value
Fail e.style['font'] = "italic 10px/normal fantasy" should set the property value
Fail e.style['font'] = "oblique normal 20%/1.2 monospace" should set the property value
Fail e.style['font'] = "italic normal normal calc(30% - 40px)/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "oblique normal normal normal xx-small \"FB Armada\"" should set the property value
Fail e.style['font'] = "italic normal normal small-caps medium/normal serif" should set the property value
Fail e.style['font'] = "oblique normal normal 100 xx-large/1.2 sans-serif" should set the property value
Fail e.style['font'] = "italic normal normal ultra-condensed larger/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "oblique normal small-caps smaller fantasy" should set the property value
Fail e.style['font'] = "italic normal small-caps normal 10px/normal monospace" should set the property value
Fail e.style['font'] = "oblique normal small-caps 900 20%/1.2 Menu" should set the property value
Fail e.style['font'] = "italic normal small-caps extra-condensed calc(30% - 40px)/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "oblique normal bold xx-small serif" should set the property value
Fail e.style['font'] = "italic normal bolder normal medium/normal sans-serif" should set the property value
Fail e.style['font'] = "oblique normal lighter small-caps xx-large/1.2 cursive" should set the property value
Fail e.style['font'] = "italic normal 100 condensed larger/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "oblique normal semi-condensed smaller monospace" should set the property value
Fail e.style['font'] = "italic normal semi-expanded normal 10px/normal Menu" should set the property value
Fail e.style['font'] = "oblique normal expanded small-caps 20%/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "italic normal extra-expanded 900 calc(30% - 40px)/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "oblique small-caps xx-small sans-serif" should set the property value
Fail e.style['font'] = "italic small-caps normal medium/normal cursive" should set the property value
Fail e.style['font'] = "oblique small-caps normal normal xx-large/1.2 fantasy" should set the property value
Fail e.style['font'] = "italic small-caps normal bold larger/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "oblique small-caps normal ultra-expanded smaller Menu" should set the property value
Fail e.style['font'] = "italic small-caps bolder 10px/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "oblique small-caps lighter normal 20%/1.2 serif" should set the property value
Fail e.style['font'] = "italic small-caps 100 ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "oblique small-caps extra-condensed xx-small cursive" should set the property value
Fail e.style['font'] = "italic small-caps condensed normal medium/normal fantasy" should set the property value
Fail e.style['font'] = "oblique small-caps semi-condensed 900 xx-large/1.2 monospace" should set the property value
Fail e.style['font'] = "italic bold larger/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "oblique bolder normal smaller \"FB Armada\"" should set the property value
Fail e.style['font'] = "italic lighter normal normal 10px/normal serif" should set the property value
Fail e.style['font'] = "oblique 100 normal small-caps 20%/1.2 sans-serif" should set the property value
Fail e.style['font'] = "italic 900 normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "oblique bold small-caps xx-small fantasy" should set the property value
Fail e.style['font'] = "italic bolder small-caps normal medium/normal monospace" should set the property value
Fail e.style['font'] = "oblique lighter small-caps expanded xx-large/1.2 Menu" should set the property value
Fail e.style['font'] = "italic 100 extra-expanded larger/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "oblique 900 ultra-expanded normal smaller serif" should set the property value
Fail e.style['font'] = "italic bold ultra-condensed small-caps 10px/normal sans-serif" should set the property value
Fail e.style['font'] = "oblique extra-condensed 20%/1.2 cursive" should set the property value
Fail e.style['font'] = "italic condensed normal calc(30% - 40px)/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "oblique semi-condensed normal normal xx-small monospace" should set the property value
Fail e.style['font'] = "italic semi-expanded normal small-caps medium/normal Menu" should set the property value
Fail e.style['font'] = "oblique expanded normal bolder xx-large/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "italic extra-expanded small-caps larger/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "oblique ultra-expanded small-caps normal smaller sans-serif" should set the property value
Fail e.style['font'] = "italic ultra-condensed small-caps lighter 10px/normal cursive" should set the property value
Fail e.style['font'] = "oblique extra-condensed 100 20%/1.2 fantasy" should set the property value
Fail e.style['font'] = "italic condensed 900 normal calc(30% - 40px)/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "oblique semi-condensed bold small-caps xx-small Menu" should set the property value
Fail e.style['font'] = "small-caps medium/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps normal xx-large/1.2 serif" should set the property value
Fail e.style['font'] = "small-caps normal normal larger/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "small-caps normal normal normal smaller cursive" should set the property value
Fail e.style['font'] = "small-caps normal normal italic 10px/normal fantasy" should set the property value
Fail e.style['font'] = "small-caps normal normal bolder 20%/1.2 monospace" should set the property value
Fail e.style['font'] = "small-caps normal normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "small-caps normal oblique xx-small \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps normal italic normal medium/normal serif" should set the property value
Fail e.style['font'] = "small-caps normal oblique lighter xx-large/1.2 sans-serif" should set the property value
Fail e.style['font'] = "small-caps normal italic expanded larger/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "small-caps normal 100 smaller fantasy" should set the property value
Fail e.style['font'] = "small-caps normal 900 normal 10px/normal monospace" should set the property value
Fail e.style['font'] = "small-caps normal bold oblique 20%/1.2 Menu" should set the property value
Fail e.style['font'] = "small-caps normal bolder extra-expanded calc(30% - 40px)/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps normal ultra-expanded xx-small serif" should set the property value
Fail e.style['font'] = "small-caps normal ultra-condensed normal medium/normal sans-serif" should set the property value
Fail e.style['font'] = "small-caps normal extra-condensed italic xx-large/1.2 cursive" should set the property value
Fail e.style['font'] = "small-caps normal condensed lighter larger/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "small-caps oblique smaller monospace" should set the property value
Fail e.style['font'] = "small-caps italic normal 10px/normal Menu" should set the property value
Fail e.style['font'] = "small-caps oblique normal normal 20%/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps italic normal 100 calc(30% - 40px)/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "small-caps oblique normal semi-condensed xx-small sans-serif" should set the property value
Fail e.style['font'] = "small-caps italic 900 medium/normal cursive" should set the property value
Fail e.style['font'] = "small-caps oblique bold normal xx-large/1.2 fantasy" should set the property value
Fail e.style['font'] = "small-caps italic bolder semi-expanded larger/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "small-caps oblique expanded smaller Menu" should set the property value
Fail e.style['font'] = "small-caps italic extra-expanded normal 10px/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps oblique ultra-expanded lighter 20%/1.2 serif" should set the property value
Fail e.style['font'] = "small-caps 100 calc(30% - 40px)/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "small-caps 900 normal xx-small cursive" should set the property value
Fail e.style['font'] = "small-caps bold normal normal medium/normal fantasy" should set the property value
Fail e.style['font'] = "small-caps bolder normal italic xx-large/1.2 monospace" should set the property value
Fail e.style['font'] = "small-caps lighter normal ultra-condensed larger/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "small-caps 100 oblique smaller \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps 900 italic normal 10px/normal serif" should set the property value
Fail e.style['font'] = "small-caps bold oblique extra-condensed 20%/1.2 sans-serif" should set the property value
Fail e.style['font'] = "small-caps bolder condensed calc(30% - 40px)/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "small-caps lighter semi-condensed normal xx-small fantasy" should set the property value
Fail e.style['font'] = "small-caps 100 semi-expanded italic medium/normal monospace" should set the property value
Fail e.style['font'] = "small-caps expanded xx-large/1.2 Menu" should set the property value
Fail e.style['font'] = "small-caps extra-expanded normal larger/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps ultra-expanded normal normal smaller serif" should set the property value
Fail e.style['font'] = "small-caps ultra-condensed normal oblique 10px/normal sans-serif" should set the property value
Fail e.style['font'] = "small-caps extra-condensed normal 900 20%/1.2 cursive" should set the property value
Fail e.style['font'] = "small-caps condensed italic calc(30% - 40px)/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "small-caps semi-condensed oblique normal xx-small monospace" should set the property value
Fail e.style['font'] = "small-caps semi-expanded italic bold medium/normal Menu" should set the property value
Fail e.style['font'] = "small-caps expanded bolder xx-large/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "small-caps extra-expanded lighter normal larger/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "small-caps ultra-expanded 100 oblique smaller sans-serif" should set the property value
Fail e.style['font'] = "900 10px/normal cursive" should set the property value
Fail e.style['font'] = "bold normal 20%/1.2 fantasy" should set the property value
Fail e.style['font'] = "bolder normal normal calc(30% - 40px)/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "lighter normal normal normal xx-small Menu" should set the property value
Fail e.style['font'] = "100 normal normal italic medium/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "900 normal normal small-caps xx-large/1.2 serif" should set the property value
Fail e.style['font'] = "bold normal normal ultra-condensed larger/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "bolder normal oblique smaller cursive" should set the property value
Fail e.style['font'] = "lighter normal italic normal 10px/normal fantasy" should set the property value
Fail e.style['font'] = "100 normal oblique small-caps 20%/1.2 monospace" should set the property value
Fail e.style['font'] = "900 normal italic extra-condensed calc(30% - 40px)/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "bold normal small-caps xx-small \"FB Armada\"" should set the property value
Fail e.style['font'] = "bolder normal small-caps normal medium/normal serif" should set the property value
Fail e.style['font'] = "lighter normal small-caps oblique xx-large/1.2 sans-serif" should set the property value
Fail e.style['font'] = "100 normal small-caps condensed larger/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "900 normal semi-condensed smaller fantasy" should set the property value
Fail e.style['font'] = "bold normal semi-expanded normal 10px/normal monospace" should set the property value
Fail e.style['font'] = "bolder normal expanded italic 20%/1.2 Menu" should set the property value
Fail e.style['font'] = "lighter normal extra-expanded small-caps calc(30% - 40px)/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "100 oblique xx-small serif" should set the property value
Fail e.style['font'] = "900 italic normal medium/normal sans-serif" should set the property value
Fail e.style['font'] = "bold oblique normal normal xx-large/1.2 cursive" should set the property value
Fail e.style['font'] = "bolder italic normal small-caps larger/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "lighter oblique normal ultra-expanded smaller monospace" should set the property value
Fail e.style['font'] = "100 italic small-caps 10px/normal Menu" should set the property value
Fail e.style['font'] = "900 oblique small-caps normal 20%/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "bold italic small-caps ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "bolder oblique extra-condensed xx-small sans-serif" should set the property value
Fail e.style['font'] = "lighter italic condensed normal medium/normal cursive" should set the property value
Fail e.style['font'] = "100 oblique semi-condensed small-caps xx-large/1.2 fantasy" should set the property value
Fail e.style['font'] = "900 small-caps larger/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "bold small-caps normal smaller Menu" should set the property value
Fail e.style['font'] = "bolder small-caps normal normal 10px/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "lighter small-caps normal italic 20%/1.2 serif" should set the property value
Fail e.style['font'] = "100 small-caps normal semi-expanded calc(30% - 40px)/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "900 small-caps oblique xx-small cursive" should set the property value
Fail e.style['font'] = "bold small-caps italic normal medium/normal fantasy" should set the property value
Fail e.style['font'] = "bolder small-caps oblique expanded xx-large/1.2 monospace" should set the property value
Fail e.style['font'] = "lighter small-caps extra-expanded larger/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "100 small-caps ultra-expanded normal smaller \"FB Armada\"" should set the property value
Fail e.style['font'] = "900 small-caps ultra-condensed italic 10px/normal serif" should set the property value
Fail e.style['font'] = "bold extra-condensed 20%/1.2 sans-serif" should set the property value
Fail e.style['font'] = "bolder condensed normal calc(30% - 40px)/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "lighter semi-condensed normal normal xx-small fantasy" should set the property value
Fail e.style['font'] = "100 semi-expanded normal oblique medium/normal monospace" should set the property value
Fail e.style['font'] = "900 expanded normal small-caps xx-large/1.2 Menu" should set the property value
Fail e.style['font'] = "bold extra-expanded italic larger/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "bolder ultra-expanded oblique normal smaller serif" should set the property value
Fail e.style['font'] = "lighter ultra-condensed italic small-caps 10px/normal sans-serif" should set the property value
Fail e.style['font'] = "100 extra-condensed small-caps 20%/1.2 cursive" should set the property value
Fail e.style['font'] = "900 condensed small-caps normal calc(30% - 40px)/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "bold semi-condensed small-caps oblique xx-small monospace" should set the property value
Fail e.style['font'] = "semi-expanded medium/normal Menu" should set the property value
Fail e.style['font'] = "expanded normal xx-large/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "extra-expanded normal normal larger/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "ultra-expanded normal normal normal smaller sans-serif" should set the property value
Fail e.style['font'] = "ultra-condensed normal normal italic 10px/normal cursive" should set the property value
Fail e.style['font'] = "extra-condensed normal normal small-caps 20%/1.2 fantasy" should set the property value
Fail e.style['font'] = "condensed normal normal bolder calc(30% - 40px)/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "semi-condensed normal oblique xx-small Menu" should set the property value
Fail e.style['font'] = "semi-expanded normal italic normal medium/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "expanded normal oblique small-caps xx-large/1.2 serif" should set the property value
Fail e.style['font'] = "extra-expanded normal italic lighter larger/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "ultra-expanded normal small-caps smaller cursive" should set the property value
Fail e.style['font'] = "ultra-condensed normal small-caps normal 10px/normal fantasy" should set the property value
Fail e.style['font'] = "extra-condensed normal small-caps oblique 20%/1.2 monospace" should set the property value
Fail e.style['font'] = "condensed normal small-caps 100 calc(30% - 40px)/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "semi-condensed normal 900 xx-small \"FB Armada\"" should set the property value
Fail e.style['font'] = "semi-expanded normal bold normal medium/normal serif" should set the property value
Fail e.style['font'] = "expanded normal bolder italic xx-large/1.2 sans-serif" should set the property value
Fail e.style['font'] = "extra-expanded normal lighter small-caps larger/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "ultra-expanded oblique smaller fantasy" should set the property value
Fail e.style['font'] = "ultra-condensed italic normal 10px/normal monospace" should set the property value
Fail e.style['font'] = "extra-condensed oblique normal normal 20%/1.2 Menu" should set the property value
Fail e.style['font'] = "condensed italic normal small-caps calc(30% - 40px)/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "semi-condensed oblique normal 100 xx-small serif" should set the property value
Fail e.style['font'] = "semi-expanded italic small-caps medium/normal sans-serif" should set the property value
Fail e.style['font'] = "expanded oblique small-caps normal xx-large/1.2 cursive" should set the property value
Fail e.style['font'] = "extra-expanded italic small-caps 900 larger/calc(120% + 1.2em) fantasy" should set the property value
Fail e.style['font'] = "ultra-expanded oblique bold smaller monospace" should set the property value
Fail e.style['font'] = "ultra-condensed italic bolder normal 10px/normal Menu" should set the property value
Fail e.style['font'] = "extra-condensed oblique lighter small-caps 20%/1.2 \"FB Armada\"" should set the property value
Fail e.style['font'] = "condensed small-caps calc(30% - 40px)/calc(120% + 1.2em) serif" should set the property value
Fail e.style['font'] = "semi-condensed small-caps normal xx-small sans-serif" should set the property value
Fail e.style['font'] = "semi-expanded small-caps normal normal medium/normal cursive" should set the property value
Fail e.style['font'] = "expanded small-caps normal italic xx-large/1.2 fantasy" should set the property value
Fail e.style['font'] = "extra-expanded small-caps normal 100 larger/calc(120% + 1.2em) monospace" should set the property value
Fail e.style['font'] = "ultra-expanded small-caps oblique smaller Menu" should set the property value
Fail e.style['font'] = "ultra-condensed small-caps italic normal 10px/normal \"FB Armada\"" should set the property value
Fail e.style['font'] = "extra-condensed small-caps oblique 900 20%/1.2 serif" should set the property value
Fail e.style['font'] = "condensed small-caps bold calc(30% - 40px)/calc(120% + 1.2em) sans-serif" should set the property value
Fail e.style['font'] = "semi-condensed small-caps bolder normal xx-small cursive" should set the property value
Fail e.style['font'] = "semi-expanded small-caps lighter italic medium/normal fantasy" should set the property value
Fail e.style['font'] = "expanded 100 xx-large/1.2 monospace" should set the property value
Fail e.style['font'] = "extra-expanded 900 normal larger/calc(120% + 1.2em) Menu" should set the property value
Fail e.style['font'] = "ultra-expanded bold normal normal smaller \"FB Armada\"" should set the property value
Fail e.style['font'] = "ultra-condensed bolder normal oblique 10px/normal serif" should set the property value
Fail e.style['font'] = "extra-condensed lighter normal small-caps 20%/1.2 sans-serif" should set the property value
Fail e.style['font'] = "condensed 100 italic calc(30% - 40px)/calc(120% + 1.2em) cursive" should set the property value
Fail e.style['font'] = "semi-condensed 900 oblique normal xx-small fantasy" should set the property value
Fail e.style['font'] = "semi-expanded bold italic small-caps medium/normal monospace" should set the property value
Fail e.style['font'] = "expanded bolder small-caps xx-large/1.2 Menu" should set the property value
Fail e.style['font'] = "extra-expanded lighter small-caps normal larger/calc(120% + 1.2em) \"FB Armada\"" should set the property value
Fail e.style['font'] = "ultra-expanded 100 small-caps oblique smaller serif" should set the property value

View file

@ -0,0 +1,20 @@
Harness status: OK
Found 15 tests
15 Pass
Pass e.style['font-variant-alternates'] = "swash(several,different,aliases)" should not set the property value
Pass e.style['font-variant-alternates'] = "stylistic(more,than,one)" should not set the property value
Pass e.style['font-variant-alternates'] = "ornaments(more,than,one)" should not set the property value
Pass e.style['font-variant-alternates'] = "swash(more,than,one)" should not set the property value
Pass e.style['font-variant-alternates'] = "annotation(more,than,one)" should not set the property value
Pass e.style['font-variant-alternates'] = "historical-forms(argument)" should not set the property value
Pass e.style['font-variant-alternates'] = "annotation()" should not set the property value
Pass e.style['font-variant-alternates'] = "annotation" should not set the property value
Pass e.style['font-variant-alternates'] = "swash" should not set the property value
Pass e.style['font-variant-alternates'] = "ornaments stylistic" should not set the property value
Pass e.style['font-variant-alternates'] = "swash(one) swash(two)" should not set the property value
Pass e.style['font-variant-alternates'] = "unkown(one) myfunction(two)" should not set the property value
Pass e.style['font-variant-alternates'] = "styleset(thisone) styleset(something,else)" should not set the property value
Pass e.style['font-variant-alternates'] = "swash(foo) swash(bar)" should not set the property value
Pass e.style['font-variant-alternates'] = "ornaments(one historical-forms" should not set the property value

View file

@ -0,0 +1,8 @@
Harness status: OK
Found 3 tests
3 Fail
Fail e.style['font-variant-alternates'] = "character-variant(more, than, one)" should set the property value
Fail e.style['font-variant-alternates'] = "styleset(more, than, one)" should set the property value
Fail e.style['font-variant-alternates'] = "styleset(more, than, one) character-variant(more, than, one)" should set the property value

View file

@ -0,0 +1,12 @@
Harness status: OK
Found 7 tests
7 Pass
Pass Property font-variant-caps value 'normal'
Pass Property font-variant-caps value 'small-caps'
Pass Property font-variant-caps value 'all-small-caps'
Pass Property font-variant-caps value 'petite-caps'
Pass Property font-variant-caps value 'all-petite-caps'
Pass Property font-variant-caps value 'unicase'
Pass Property font-variant-caps value 'titling-caps'

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-variant-caps'] = "auto" should not set the property value
Pass e.style['font-variant-caps'] = "normal unicase" should not set the property value

View file

@ -0,0 +1,12 @@
Harness status: OK
Found 7 tests
7 Pass
Pass e.style['font-variant-caps'] = "normal" should set the property value
Pass e.style['font-variant-caps'] = "small-caps" should set the property value
Pass e.style['font-variant-caps'] = "all-small-caps" should set the property value
Pass e.style['font-variant-caps'] = "petite-caps" should set the property value
Pass e.style['font-variant-caps'] = "all-petite-caps" should set the property value
Pass e.style['font-variant-caps'] = "unicase" should set the property value
Pass e.style['font-variant-caps'] = "titling-caps" should set the property value

View file

@ -0,0 +1,17 @@
Harness status: OK
Found 12 tests
12 Pass
Pass Property font-variant-east-asian value 'normal'
Pass Property font-variant-east-asian value 'jis78'
Pass Property font-variant-east-asian value 'jis83'
Pass Property font-variant-east-asian value 'jis90'
Pass Property font-variant-east-asian value 'jis04'
Pass Property font-variant-east-asian value 'simplified'
Pass Property font-variant-east-asian value 'traditional'
Pass Property font-variant-east-asian value 'full-width'
Pass Property font-variant-east-asian value 'proportional-width'
Pass Property font-variant-east-asian value 'ruby'
Pass Property font-variant-east-asian value 'jis78 proportional-width'
Pass Property font-variant-east-asian value 'simplified full-width ruby'

View file

@ -0,0 +1,15 @@
Harness status: OK
Found 9 tests
8 Pass
1 Fail
Fail e.style['font-variant-east-asian'] = "normal ruby" should not set the property value
Pass e.style['font-variant-east-asian'] = "jis78 jis83" should not set the property value
Pass e.style['font-variant-east-asian'] = "full-width proportional-width" should not set the property value
Pass e.style['font-variant-east-asian'] = "normal garbage" should not set the property value
Pass e.style['font-variant-east-asian'] = "normal none" should not set the property value
Pass e.style['font-variant-east-asian'] = "normal 30px" should not set the property value
Pass e.style['font-variant-east-asian'] = "full-width garbage" should not set the property value
Pass e.style['font-variant-east-asian'] = "full-width none" should not set the property value
Pass e.style['font-variant-east-asian'] = "full-width 30px" should not set the property value

View file

@ -0,0 +1,18 @@
Harness status: OK
Found 12 tests
11 Pass
1 Fail
Pass e.style['font-variant-east-asian'] = "normal" should set the property value
Pass e.style['font-variant-east-asian'] = "jis78" should set the property value
Pass e.style['font-variant-east-asian'] = "jis83" should set the property value
Pass e.style['font-variant-east-asian'] = "jis90" should set the property value
Pass e.style['font-variant-east-asian'] = "jis04" should set the property value
Pass e.style['font-variant-east-asian'] = "simplified" should set the property value
Pass e.style['font-variant-east-asian'] = "traditional" should set the property value
Pass e.style['font-variant-east-asian'] = "full-width" should set the property value
Pass e.style['font-variant-east-asian'] = "proportional-width" should set the property value
Pass e.style['font-variant-east-asian'] = "ruby" should set the property value
Pass e.style['font-variant-east-asian'] = "jis78 proportional-width" should set the property value
Fail e.style['font-variant-east-asian'] = "ruby full-width simplified" should set the property value

View file

@ -0,0 +1,9 @@
Harness status: OK
Found 4 tests
4 Pass
Pass Property font-variant-emoji value 'normal'
Pass Property font-variant-emoji value 'text'
Pass Property font-variant-emoji value 'emoji'
Pass Property font-variant-emoji value 'unicode'

View file

@ -0,0 +1,13 @@
Harness status: OK
Found 7 tests
5 Pass
2 Fail
Pass e.style['font-variant-emoji'] = "auto" should not set the property value
Pass e.style['font-variant-emoji'] = "none" should not set the property value
Pass e.style['font-variant-emoji'] = "color" should not set the property value
Pass e.style['font-variant-emoji'] = "normal text" should not set the property value
Pass e.style['font-variant-emoji'] = "text emoji" should not set the property value
Fail e.style['font-variant-emoji'] = "normal, unicode" should not set the property value
Fail e.style['font-variant-emoji'] = "unicode, emoji" should not set the property value

View file

@ -0,0 +1,9 @@
Harness status: OK
Found 4 tests
4 Pass
Pass e.style['font-variant-emoji'] = "normal" should set the property value
Pass e.style['font-variant-emoji'] = "text" should set the property value
Pass e.style['font-variant-emoji'] = "emoji" should set the property value
Pass e.style['font-variant-emoji'] = "unicode" should set the property value

View file

@ -0,0 +1,27 @@
Harness status: OK
Found 21 tests
15 Pass
6 Fail
Fail e.style['font-variant'] = "normal none" should not set the property value
Fail e.style['font-variant'] = "none normal" should not set the property value
Fail e.style['font-variant'] = "small-caps normal" should not set the property value
Fail e.style['font-variant'] = "normal small-caps" should not set the property value
Fail e.style['font-variant'] = "small-caps none" should not set the property value
Fail e.style['font-variant'] = "none small-caps" should not set the property value
Pass e.style['font-variant'] = "common-ligatures no-common-ligatures" should not set the property value
Pass e.style['font-variant'] = "discretionary-ligatures no-discretionary-ligatures" should not set the property value
Pass e.style['font-variant'] = "historical-ligatures no-historical-ligatures" should not set the property value
Pass e.style['font-variant'] = "contextual no-contextual" should not set the property value
Pass e.style['font-variant'] = "small-caps all-small-caps" should not set the property value
Pass e.style['font-variant'] = "stylistic(flowing) stylistic(flowing)" should not set the property value
Pass e.style['font-variant'] = "lining-nums oldstyle-nums" should not set the property value
Pass e.style['font-variant'] = "proportional-nums tabular-nums" should not set the property value
Pass e.style['font-variant'] = "diagonal-fractions stacked-fractions" should not set the property value
Pass e.style['font-variant'] = "ordinal slashed-zero ordinal" should not set the property value
Pass e.style['font-variant'] = "slashed-zero jis78 slashed-zero" should not set the property value
Pass e.style['font-variant'] = "jis78 jis83" should not set the property value
Pass e.style['font-variant'] = "full-width proportional-width" should not set the property value
Pass e.style['font-variant'] = "ruby sub ruby" should not set the property value
Pass e.style['font-variant'] = "sub super" should not set the property value

View file

@ -0,0 +1,15 @@
Harness status: OK
Found 10 tests
10 Pass
Pass Property font-variant-ligatures value 'normal'
Pass Property font-variant-ligatures value 'none'
Pass Property font-variant-ligatures value 'common-ligatures'
Pass Property font-variant-ligatures value 'no-common-ligatures'
Pass Property font-variant-ligatures value 'discretionary-ligatures'
Pass Property font-variant-ligatures value 'no-discretionary-ligatures'
Pass Property font-variant-ligatures value 'historical-ligatures'
Pass Property font-variant-ligatures value 'no-historical-ligatures'
Pass Property font-variant-ligatures value 'contextual'
Pass Property font-variant-ligatures value 'no-contextual'

View file

@ -0,0 +1,11 @@
Harness status: OK
Found 6 tests
6 Pass
Pass e.style['font-variant-ligatures'] = "none normal" should not set the property value
Pass e.style['font-variant-ligatures'] = "normal common-ligatures" should not set the property value
Pass e.style['font-variant-ligatures'] = "common-ligatures no-common-ligatures" should not set the property value
Pass e.style['font-variant-ligatures'] = "discretionary-ligatures no-discretionary-ligatures" should not set the property value
Pass e.style['font-variant-ligatures'] = "historical-ligatures no-historical-ligatures" should not set the property value
Pass e.style['font-variant-ligatures'] = "contextual no-contextual" should not set the property value

View file

@ -0,0 +1,15 @@
Harness status: OK
Found 10 tests
10 Pass
Pass e.style['font-variant-ligatures'] = "normal" should set the property value
Pass e.style['font-variant-ligatures'] = "none" should set the property value
Pass e.style['font-variant-ligatures'] = "common-ligatures" should set the property value
Pass e.style['font-variant-ligatures'] = "no-common-ligatures" should set the property value
Pass e.style['font-variant-ligatures'] = "discretionary-ligatures" should set the property value
Pass e.style['font-variant-ligatures'] = "no-discretionary-ligatures" should set the property value
Pass e.style['font-variant-ligatures'] = "historical-ligatures" should set the property value
Pass e.style['font-variant-ligatures'] = "no-historical-ligatures" should set the property value
Pass e.style['font-variant-ligatures'] = "contextual" should set the property value
Pass e.style['font-variant-ligatures'] = "no-contextual" should set the property value

View file

@ -0,0 +1,16 @@
Harness status: OK
Found 11 tests
11 Pass
Pass Property font-variant-numeric value 'normal'
Pass Property font-variant-numeric value 'lining-nums'
Pass Property font-variant-numeric value 'oldstyle-nums'
Pass Property font-variant-numeric value 'proportional-nums'
Pass Property font-variant-numeric value 'tabular-nums'
Pass Property font-variant-numeric value 'diagonal-fractions'
Pass Property font-variant-numeric value 'stacked-fractions'
Pass Property font-variant-numeric value 'ordinal'
Pass Property font-variant-numeric value 'slashed-zero'
Pass Property font-variant-numeric value 'oldstyle-nums tabular-nums diagonal-fractions'
Pass Property font-variant-numeric value 'lining-nums proportional-nums stacked-fractions ordinal slashed-zero'

View file

@ -0,0 +1,14 @@
Harness status: OK
Found 9 tests
9 Pass
Pass e.style['font-variant-numeric'] = "auto" should not set the property value
Pass e.style['font-variant-numeric'] = "normal lining-nums" should not set the property value
Pass e.style['font-variant-numeric'] = "lining-nums oldstyle-nums" should not set the property value
Pass e.style['font-variant-numeric'] = "proportional-nums normal" should not set the property value
Pass e.style['font-variant-numeric'] = "tabular-nums proportional-nums" should not set the property value
Pass e.style['font-variant-numeric'] = "normal diagonal-fractions" should not set the property value
Pass e.style['font-variant-numeric'] = "diagonal-fractions stacked-fractions" should not set the property value
Pass e.style['font-variant-numeric'] = "ordinal normal" should not set the property value
Pass e.style['font-variant-numeric'] = "normal slashed-zero" should not set the property value

View file

@ -0,0 +1,16 @@
Harness status: OK
Found 11 tests
11 Pass
Pass e.style['font-variant-numeric'] = "normal" should set the property value
Pass e.style['font-variant-numeric'] = "lining-nums" should set the property value
Pass e.style['font-variant-numeric'] = "oldstyle-nums" should set the property value
Pass e.style['font-variant-numeric'] = "proportional-nums" should set the property value
Pass e.style['font-variant-numeric'] = "tabular-nums" should set the property value
Pass e.style['font-variant-numeric'] = "diagonal-fractions" should set the property value
Pass e.style['font-variant-numeric'] = "stacked-fractions" should set the property value
Pass e.style['font-variant-numeric'] = "ordinal" should set the property value
Pass e.style['font-variant-numeric'] = "slashed-zero" should set the property value
Pass e.style['font-variant-numeric'] = "oldstyle-nums tabular-nums diagonal-fractions" should set the property value
Pass e.style['font-variant-numeric'] = "slashed-zero ordinal stacked-fractions proportional-nums lining-nums" should set the property value

View file

@ -0,0 +1,8 @@
Harness status: OK
Found 3 tests
3 Pass
Pass Property font-variant-position value 'normal'
Pass Property font-variant-position value 'sub'
Pass Property font-variant-position value 'super'

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-variant-position'] = "auto" should not set the property value
Pass e.style['font-variant-position'] = "super sub" should not set the property value

View file

@ -0,0 +1,8 @@
Harness status: OK
Found 3 tests
3 Pass
Pass e.style['font-variant-position'] = "normal" should set the property value
Pass e.style['font-variant-position'] = "sub" should set the property value
Pass e.style['font-variant-position'] = "super" should set the property value

View file

@ -0,0 +1,6 @@
Harness status: OK
Found 1 tests
1 Fail
Fail checking serialized value of font-variant

View file

@ -0,0 +1,52 @@
Harness status: OK
Found 46 tests
36 Pass
10 Fail
Pass e.style['font-variant'] = "normal" should set the property value
Fail e.style['font-variant'] = "none" should set the property value
Pass e.style['font-variant'] = "common-ligatures" should set the property value
Pass e.style['font-variant'] = "no-common-ligatures" should set the property value
Pass e.style['font-variant'] = "discretionary-ligatures" should set the property value
Pass e.style['font-variant'] = "no-discretionary-ligatures" should set the property value
Pass e.style['font-variant'] = "historical-ligatures" should set the property value
Pass e.style['font-variant'] = "no-historical-ligatures" should set the property value
Pass e.style['font-variant'] = "contextual" should set the property value
Pass e.style['font-variant'] = "no-contextual" should set the property value
Pass e.style['font-variant'] = "small-caps" should set the property value
Pass e.style['font-variant'] = "all-small-caps" should set the property value
Pass e.style['font-variant'] = "petite-caps" should set the property value
Pass e.style['font-variant'] = "all-petite-caps" should set the property value
Pass e.style['font-variant'] = "unicase" should set the property value
Pass e.style['font-variant'] = "titling-caps" should set the property value
Fail e.style['font-variant'] = "stylistic(flowing)" should set the property value
Pass e.style['font-variant'] = "historical-forms" should set the property value
Fail e.style['font-variant'] = "styleset(flowing)" should set the property value
Fail e.style['font-variant'] = "character-variant(flowing)" should set the property value
Fail e.style['font-variant'] = "swash(flowing)" should set the property value
Fail e.style['font-variant'] = "ornaments(flowing)" should set the property value
Fail e.style['font-variant'] = "annotation(flowing)" should set the property value
Fail e.style['font-variant'] = "stylistic(flowing) historical-forms styleset(flowing) character-variant(flowing) swash(flowing) ornaments(flowing) annotation(flowing)" should set the property value
Fail e.style['font-variant'] = "annotation(flowing) ornaments(flowing) swash(flowing) character-variant(flowing) styleset(flowing) historical-forms stylistic(flowing)" should set the property value
Pass e.style['font-variant'] = "lining-nums" should set the property value
Pass e.style['font-variant'] = "oldstyle-nums" should set the property value
Pass e.style['font-variant'] = "proportional-nums" should set the property value
Pass e.style['font-variant'] = "tabular-nums" should set the property value
Pass e.style['font-variant'] = "diagonal-fractions" should set the property value
Pass e.style['font-variant'] = "stacked-fractions" should set the property value
Pass e.style['font-variant'] = "ordinal" should set the property value
Pass e.style['font-variant'] = "slashed-zero" should set the property value
Pass e.style['font-variant'] = "jis78" should set the property value
Pass e.style['font-variant'] = "jis83" should set the property value
Pass e.style['font-variant'] = "jis90" should set the property value
Pass e.style['font-variant'] = "jis04" should set the property value
Pass e.style['font-variant'] = "simplified" should set the property value
Pass e.style['font-variant'] = "traditional" should set the property value
Pass e.style['font-variant'] = "full-width" should set the property value
Pass e.style['font-variant'] = "proportional-width" should set the property value
Pass e.style['font-variant'] = "ruby" should set the property value
Pass e.style['font-variant'] = "sub" should set the property value
Pass e.style['font-variant'] = "super" should set the property value
Fail e.style['font-variant'] = "common-ligatures discretionary-ligatures historical-ligatures contextual small-caps stylistic(flowing) lining-nums proportional-nums diagonal-fractions ordinal slashed-zero jis78 full-width ruby sub" should set the property value
Pass e.style['font-variant'] = "super proportional-width jis83 stacked-fractions tabular-nums oldstyle-nums historical-forms all-small-caps no-contextual no-historical-ligatures no-discretionary-ligatures no-common-ligatures" should set the property value

View file

@ -0,0 +1,13 @@
Harness status: OK
Found 8 tests
8 Pass
Pass Property font-variation-settings value 'normal'
Pass Property font-variation-settings value '"wght" 700'
Pass Property font-variation-settings value '"AB@D" 0.5'
Pass Property font-variation-settings value '"wght" 700, "wght" 500' duplicate values should be removed, keeping the rightmost occurrence.
Pass Property font-variation-settings value '"wght" 700, "XHGT" 0.7'
Pass Property font-variation-settings value '"wght" 100, "wdth" 200' values should be sorted alphabetically by tag.
Pass Property font-variation-settings value '"wght" 100, "wdth" 200, "wght" 300, "wdth" 400' duplicate values should be removed, keeping the rightmost occurrence, and sorted alphabetically by tag.
Pass Property font-variation-settings value '"XHGT" calc(0.4 + 0.3)'

View file

@ -0,0 +1,24 @@
Harness status: OK
Found 18 tests
17 Pass
1 Fail
Pass e.style['font-variation-settings'] = "700" should not set the property value
Pass e.style['font-variation-settings'] = "\"XHGT\"" should not set the property value
Pass e.style['font-variation-settings'] = "wght 700" should not set the property value
Pass e.style['font-variation-settings'] = "normal, \"wght\" 700" should not set the property value
Pass e.style['font-variation-settings'] = "\"wgt\" 700" should not set the property value
Pass e.style['font-variation-settings'] = "\"XHGTX\" 0.7" should not set the property value
Pass e.style['font-variation-settings'] = "\"abc\u0001F\" 0.5" should not set the property value
Pass e.style['font-variation-settings'] = "\"abc\u0007F\" 0.5" should not set the property value
Pass e.style['font-variation-settings'] = "\"abcA9\" 0.5" should not set the property value
Pass e.style['font-variation-settings'] = "'wght' 200 'abcd' 400" should not set the property value
Pass e.style['font-variation-settings'] = "'a' 1234" should not set the property value
Pass e.style['font-variation-settings'] = "'abcde' 1234" should not set the property value
Fail e.style['font-variation-settings'] = "'wght' 200, " should not set the property value
Pass e.style['font-variation-settings'] = "'abcd\" 123" should not set the property value
Pass e.style['font-variation-settings'] = "'wght' 100px" should not set the property value
Pass e.style['font-variation-settings'] = "'wght' calc(100px + 200px)" should not set the property value
Pass e.style['font-variation-settings'] = "'wght' 42%" should not set the property value
Pass e.style['font-variation-settings'] = "'wght' calc(100%)" should not set the property value

View file

@ -0,0 +1,13 @@
Harness status: OK
Found 7 tests
5 Pass
2 Fail
Pass e.style['font-variation-settings'] = "normal" should set the property value
Pass e.style['font-variation-settings'] = "\"wght\" 700" should set the property value
Pass e.style['font-variation-settings'] = "'wght' 700" should set the property value
Fail e.style['font-variation-settings'] = "\"wght\" 700, \"XHGT\" 0.7" should set the property value
Pass e.style['font-variation-settings'] = "\"a cd\" 0.5" should set the property value
Pass e.style['font-variation-settings'] = "\"ab@d\" 0.5" should set the property value
Fail e.style['font-variation-settings'] = "'wght' 1e3, 'slnt' -450.0e-1" should set the property value

View file

@ -0,0 +1,64 @@
Harness status: OK
Found 58 tests
24 Pass
34 Fail
Pass Property font-weight value 'normal'
Pass Property font-weight value 'bold'
Pass Property font-weight value '1'
Pass Property font-weight value '100'
Pass Property font-weight value '200'
Pass Property font-weight value '300'
Pass Property font-weight value '400'
Pass Property font-weight value '500'
Pass Property font-weight value '600'
Pass Property font-weight value '700'
Pass Property font-weight value '800'
Pass Property font-weight value '900'
Pass Property font-weight value '1000'
Pass Property font-weight value '101'
Fail Property font-weight value '150.25'
Pass Property font-weight value 'calc(100)'
Fail Property font-weight value 'calc(0)'
Fail Property font-weight value 'calc(-100)'
Pass Property font-weight value 'calc(100 + 100)'
Fail Property font-weight value 'calc(100 + (sign(20cqw - 10px) * 5))'
Fail 1 made bolder computes to 400
Fail 50 made bolder computes to 400
Fail 100 made bolder computes to 400
Fail 200 made bolder computes to 400
Fail 300 made bolder computes to 400
Fail 349 made bolder computes to 400
Pass 350 made bolder computes to 700
Pass 400 made bolder computes to 700
Pass 500 made bolder computes to 700
Pass 549 made bolder computes to 700
Fail 550 made bolder computes to 900
Fail 600 made bolder computes to 900
Fail 700 made bolder computes to 900
Fail 749 made bolder computes to 900
Fail 750 made bolder computes to 900
Fail 800 made bolder computes to 900
Fail 900 made bolder computes to 900
Fail 950 made bolder computes to 950
Fail 1000 made bolder computes to 1000
Fail 1 made lighter computes to 1
Fail 50 made lighter computes to 50
Fail 100 made lighter computes to 100
Fail 200 made lighter computes to 100
Fail 300 made lighter computes to 100
Fail 349 made lighter computes to 100
Fail 350 made lighter computes to 100
Fail 400 made lighter computes to 100
Fail 500 made lighter computes to 100
Fail 549 made lighter computes to 100
Pass 550 made lighter computes to 400
Pass 600 made lighter computes to 400
Pass 700 made lighter computes to 400
Pass 749 made lighter computes to 400
Fail 750 made lighter computes to 700
Fail 800 made lighter computes to 700
Fail 900 made lighter computes to 700
Fail 950 made lighter computes to 700
Fail 1000 made lighter computes to 700

View file

@ -0,0 +1,7 @@
Harness status: OK
Found 2 tests
2 Pass
Pass e.style['font-weight'] = "auto" should not set the property value
Pass e.style['font-weight'] = "bold 900" should not set the property value

View file

@ -0,0 +1,28 @@
Harness status: OK
Found 22 tests
17 Pass
5 Fail
Pass e.style['font-weight'] = "normal" should set the property value
Pass e.style['font-weight'] = "bold" should set the property value
Pass e.style['font-weight'] = "bolder" should set the property value
Pass e.style['font-weight'] = "lighter" should set the property value
Pass e.style['font-weight'] = "1" should set the property value
Pass e.style['font-weight'] = "100" should set the property value
Pass e.style['font-weight'] = "200" should set the property value
Pass e.style['font-weight'] = "300" should set the property value
Pass e.style['font-weight'] = "400" should set the property value
Pass e.style['font-weight'] = "500" should set the property value
Pass e.style['font-weight'] = "600" should set the property value
Pass e.style['font-weight'] = "700" should set the property value
Pass e.style['font-weight'] = "800" should set the property value
Pass e.style['font-weight'] = "900" should set the property value
Pass e.style['font-weight'] = "1000" should set the property value
Pass e.style['font-weight'] = "101" should set the property value
Pass e.style['font-weight'] = "150.25" should set the property value
Fail e.style['font-weight'] = "calc(100)" should set the property value
Fail e.style['font-weight'] = "calc(0)" should set the property value
Fail e.style['font-weight'] = "calc(-100)" should set the property value
Fail e.style['font-weight'] = "calc(100 + 100)" should set the property value
Fail e.style['font-weight'] = "calc(100 + (sign(20cqw - 10px) * 5))" should set the property value

View file

@ -0,0 +1,251 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 4: getComputedStyle().font</title>
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-prop">
<meta name="assert" content="font computed value round-trips.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/computed-testcommon.js"></script>
<style>
#container {
font-weight: 800;
font-size: 40px;
}
</style>
</head>
<body>
<div id="container">
<div id="target"></div>
</div>
<script>
'use strict';
// Firefox and Edge 18 serialize these as supplied.
// Blink and Safari have implementation-dependent or platform-dependent serializations.
function test_system_font(keyword) {
test(() => {
const target = document.getElementById('target');
const previousValue = 'italic xx-large/0px fantasy';
target.style.font = previousValue;
target.style.font = keyword;
const readValue = getComputedStyle(target).font;
assert_not_equals(readValue, '', 'font should be set');
assert_not_equals(readValue, previousValue, 'font should be updated');
target.style.font = previousValue;
target.style.font = readValue;
assert_equals(getComputedStyle(target).font, readValue, "serialization should round-trip");
}, keyword + ' should be a supported system font.');
}
test_system_font('caption');
test_system_font('icon');
test_system_font('menu');
test_system_font('message-box');
test_system_font('small-caption');
test_system_font('status-bar');
// a value other than normal
const generate_style = () => 'italic';
// value other than normal
const generate_variant = () => 'small-caps';
// values other than normal
const generate_weight = (() => {
const alternatives = [
'bold',
'bolder',
'lighter',
'100',
'900'
];
let counter = 0;
return () => alternatives[counter++ % alternatives.length];
})();
const compute_weight = (() => {
const cache = {}
return (weight) => {
if (!(weight in cache)) {
const weight_reference = document.createElement('div');
document.getElementById('container').appendChild(weight_reference);
weight_reference.style.fontWeight = weight;
cache[weight] = getComputedStyle(weight_reference).fontWeight;
weight_reference.remove();
}
return cache[weight];
}
})();
// values other than normal
const generate_stretch = (() => {
const alternatives = [
'ultra-condensed',
'extra-condensed',
'condensed',
'semi-condensed',
'semi-expanded',
'expanded',
'extra-expanded',
'ultra-expanded'
];
let counter = 0;
return () => alternatives[counter++ % alternatives.length];
})();
const generate_size = (() => {
const alternatives = [
// <absolute-size>
'xx-small',
'medium',
'xx-large',
// <relative-size>
'larger',
'smaller',
// <length-percentage>
'10px',
'20%',
'calc(30% - 40px)',
];
let counter = 0;
return () => alternatives[counter++ % alternatives.length];
})();
const generate_line_height = (() => {
const alternatives = [
null,
'normal',
'1.2',
'calc(120% + 1.2em)'
];
let counter = 0;
return () => alternatives[counter++ % alternatives.length];
})();
const generate_family = (() => {
const alternatives = [
'serif',
'sans-serif',
'cursive',
'fantasy',
'monospace',
'Menu',
'"Non-Generic Example Family Name"'
];
let counter = 0;
return () => alternatives[counter++ % alternatives.length];
})();
function test_specific(prefix) {
const reference = document.createElement('div');
document.getElementById('container').appendChild(reference);
let parts = [];
let canonical = [];
let style = null;
let variant = null;
let weight = null;
let stretch = null;
for (let entry of prefix) {
if (entry === 'style') {
style = generate_style();
parts.push(style);
} else if (entry === 'variant') {
variant = generate_variant();
parts.push(variant);
} else if (entry === 'weight') {
weight = generate_weight();
parts.push(weight);
} else if (entry === 'stretch') {
stretch = generate_stretch();
parts.push(stretch);
} else {
// normal
parts.push('normal');
}
}
if (style) {
canonical.push(style);
reference.style.fontStyle = style;
}
if (variant) {
canonical.push(variant);
reference.style.fontVariant = style;
}
if (weight) {
canonical.push(compute_weight(weight));
reference.style.fontWeight = style;
}
if (stretch) {
canonical.push(stretch);
reference.style.fontStretch = style;
}
const size = generate_size();
reference.style.fontSize = size;
const line_height = generate_line_height();
if (line_height) {
parts.push(size + '/' + line_height);
reference.style.lineHeight = line_height;
} else {
parts.push(size);
}
const family = generate_family();
parts.push(family);
reference.style.fontFamily = family;
if (!line_height || line_height === 'normal') {
canonical.push(getComputedStyle(reference).fontSize);
} else {
// Implementations differ on adjacent space when serializing '/'
// https://github.com/w3c/csswg-drafts/issues/4282
canonical.push(getComputedStyle(reference).fontSize + ' / ' + getComputedStyle(reference).lineHeight);
}
canonical.push(family);
reference.remove();
test_computed_value('font', parts.join(' '), canonical.join(' '));
}
// Font style, variant, weight and stretch may appear in any order.
// Any or all may be omitted. Each accepts the keyword 'normal'.
// We generate every permutation of these four properties, treating
// the cases of a property value being omitted or being explicitly
// 'normal' as being distinct permutations from when the property
// has a value other than 'normal'.
function test_various(prefix) {
test_specific(prefix);
if (prefix.length === 4) {
// Font style, variant, weight and stretch may not appear
// more than once.
return;
}
const alternatives = [
'normal',
'style',
'variant',
'weight',
'stretch'
];
for (let alternative of alternatives) {
// Since this is called recursively, check prefix for existing
// alternatives, otherwise we may have two styles or two variants, etc.
if (alternative === 'normal' || !prefix.includes(alternative))
test_various(prefix.concat(alternative));
}
}
test_various([]);
</script>
</body>
</html>

View file

@ -0,0 +1,31 @@
<!DOCTYPE html>
<title>CSS Fonts 5 test: parsing the size-adjust descriptor</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-5/#size-adjust-desc">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<style id="testStyle">
</style>
<script>
const sheet = testStyle.sheet;
// size-adjust grammar : <percentage [0,]>
tests = [
{ sizeAdjust: '100%', valid: true },
{ sizeAdjust: '0%', valid: true },
{ sizeAdjust: '110%', valid: true },
{ sizeAdjust: '100000000000%', valid: true },
{ sizeAdjust: '-100%', valid: false },
{ sizeAdjust: '-1%', valid: false },
];
for (let t of tests) {
test(() => {
assert_equals(sheet.cssRules.length, 0, "testSheet should initially be empty");
sheet.insertRule("@font-face { size-adjust: " + t.sizeAdjust + "}");
try {
assert_equals(sheet.cssRules[0].style.getPropertyValue("size-adjust") != "", t.valid);
} finally {
sheet.deleteRule(0);
}
}, "Check that size-adjust: " + t.sizeAdjust + " is " + (t.valid ? "valid" : "invalid"));
}
</script>

View file

@ -0,0 +1,74 @@
<!DOCTYPE html>
<title>CSS Fonts 4 test: parsing the format() function in the src descriptor</title>
<link rel="help" href="https://drafts.csswg.org/css-fonts/#font-face-src-parsing">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<style id="testStyle">
</style>
<script>
const sheet = testStyle.sheet;
tests = [
// No format() function
{ src: 'url("foo.ttf")', valid: true },
{ src: 'url("foo.ttf"), url("bar.ttf")', valid: true },
// Empty format() is not valid
{ src: 'url("foo.ttf") format()', valid: false },
// Garbage data instead of format() is not valid
{ src: 'url("foo.ttf") dummy()', valid: false },
// Garbage data following valid format() is not valid
{ src: 'url("foo.ttf") format("woff") dummy()', valid: false },
// Garbage data preceding valid format() is not valid
{ src: 'url("foo.ttf") dummy() format("woff")', valid: false },
// Quoted strings in format()
{ src: 'url("foo.ttf") format("collection")', valid: true },
{ src: 'url("foo.ttf") format("opentype")', valid: true },
{ src: 'url("foo.ttf") format("truetype")', valid: true },
{ src: 'url("foo.ttf") format("woff")', valid: true },
{ src: 'url("foo.ttf") format("woff2")', valid: true },
// Multiple strings (was valid in CSS Fonts 3, but not allowed in Fonts 4)
{ src: 'url("foo.ttf") format("opentype", "truetype")', valid: false },
// Keywords (new in Fonts 4)
{ src: 'url("foo.ttf") format(collection)', valid: true },
{ src: 'url("foo.ttf") format(opentype)', valid: true },
{ src: 'url("foo.ttf") format(truetype)', valid: true },
{ src: 'url("foo.ttf") format(woff)', valid: true },
{ src: 'url("foo.ttf") format(woff2)', valid: true },
// Multiple keywords are not accepted
{ src: 'url("foo.ttf") format(opentype, truetype)', valid: false },
{ src: 'url("foo.ttf") format(opentype truetype)', valid: false },
// Invalid format keywords should be a parse error
{ src: 'url("foo.ttf") format(auto)', valid: false },
{ src: 'url("foo.ttf") format(default)', valid: false },
{ src: 'url("foo.ttf") format(inherit)', valid: false },
{ src: 'url("foo.ttf") format(initial)', valid: false },
{ src: 'url("foo.ttf") format(none)', valid: false },
{ src: 'url("foo.ttf") format(normal)', valid: false },
{ src: 'url("foo.ttf") format(xyzzy)', valid: false },
// Unknown format string still matches the grammar, although it won't be
// loaded. UAs may choose to either not load it, or not add unsupported
// entries to the list, ensure that subsequent component of the list are
// still recognized.
{ src: 'url("foo.ttf") format("embedded-opentype"), url("bar.html")', valid: true },
{ src: 'url("foo.ttf") format(embedded-opentype), url("bar.html")', valid: true },
{ src: 'url("foo.ttf") format("svg"), url("bar.html")', valid: true },
{ src: 'url("foo.ttf") format(svg), url("bar.html")', valid: true },
// A parsing error in one component does not make the entire descriptor invalid.
{ src: 'url("foo.ttf") format(xyzz 200px), url("bar.html")', valid: true },
{ src: 'url("foo.ttf") format(xyzz), url("bar.html")', valid: true },
{ src: 'url("foo.ttf") dummy(xyzzy), url("bar.html")', valid: true },
{ src: 'url("foo.ttf") format(), url("bar.html")', valid: true },
{ src: 'url("foo.ttf") format(none), url("bar.html")', valid: true },
];
for (let t of tests) {
test(() => {
assert_equals(sheet.cssRules.length, 0, "testSheet should initially be empty");
sheet.insertRule("@font-face { src: " + t.src + "}");
try {
assert_equals(sheet.cssRules[0].style.getPropertyValue("src") != "", t.valid);
} finally {
sheet.deleteRule(0);
}
}, "Check that src: " + t.src + " is " + (t.valid ? "valid" : "invalid"));
}
</script>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<title>CSS Fonts 4 test: parsing the src descriptor list</title>
<meta name="assert" content="A parse error in one component of the source list does not invalidate the entire descriptor">
<link rel="help" href="https://drafts.csswg.org/css-fonts/#font-face-src-parsing">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<style id="testStyle">
</style>
<script>
const sheet = testStyle.sheet;
tests = [
// A component with a parse error does not invalidate the entire descriptor
// if there's some other valid component present.
{ src: 'local(inherit), url(foo.ttf)', valid: true },
{ src: 'local("myfont"), local(unset)', valid: true },
{ src: 'local(), url(foo.ttf)', valid: true },
{ src: 'local(12px monospace), url(foo.ttf)', valid: true },
{ src: 'local("myfont") format(opentype), url(foo.ttf)', valid: true },
{ src: 'url(not a valid url/bar.ttf), url(foo.ttf)', valid: true },
{ src: 'url(foo.ttf) format(bad), url(foo.ttf)', valid: true },
{ src: 'url(foo.ttf) tech(unknown), url(foo.ttf)', valid: true },
{ src: 'url(foo.ttf) tech(color-COLRv0) otherfunc(othervalue), url(foo.ttf)', valid: true },
{ src: 'url(foo.ttf), url(something.ttf) format(broken)', valid: true },
{ src: '/* an empty component */, url(foo.ttf)', valid: true },
{ src: 'local(""), url(foo.ttf), unparseable-garbage, local("another font name")', valid: true },
// But if all components are bad, the descriptor is invalid.
{ src: 'local(), local(initial)', valid: false },
{ src: 'local("textfont") format(opentype), local("emoji") tech(color-COLRv0)', valid: false },
{ src: 'local(), /*empty*/, url(should be quoted.ttf), junk', valid: false },
{ src: 'url(foo.ttf) format(unknown), url(bar.ttf) tech(broken)', valid: false },
{ src: 'url(foo.ttf) tech(color-COLRv0) otherfunc(othervalue), junk', valid: false },
];
for (let t of tests) {
test(() => {
assert_equals(sheet.cssRules.length, 0, "testSheet should initially be empty");
sheet.insertRule("@font-face { src: " + t.src + "}");
try {
assert_equals(sheet.cssRules[0].style.getPropertyValue("src") != "", t.valid);
} finally {
sheet.deleteRule(0);
}
}, "Check that src: " + t.src + " is " + (t.valid ? "valid" : "invalid"));
}
</script>

View file

@ -0,0 +1,45 @@
<!DOCTYPE html>
<title>CSS Fonts Module Level 4: parsing @font-face src:local()</title>
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#local-font-fallback">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<style id="testStyle">
</style>
<script>
const sheet = testStyle.sheet;
tests = [
// Gargbage data following valid local() is not valid
{ src:'local(A) dummy()', valid:false},
// Gargbage data preceding valid local() is not valid
{ src:'dummy() local(A)', valid:false},
// Unquoted collapsing space
{ src:'local( A )', valid:true },
{ src:'local(A B)', valid:true },
{ src:'local(A B)', valid:true },
{ src:'local( A B )', valid:true },
// Unquoted local() with invalid CSS-wide keywords excluded from <custom-ident>
{ src:'local(default)', valid:false },
{ src:'local(inherit)', valid:false },
{ src:'local(revert)', valid:false },
{ src:'local(unset)', valid:false },
// Unquoted local() with CSS-wide keywords as part of the name
{ src:'local(default A)', valid:true },
{ src:'local(inherit A)', valid:true },
{ src:'local(revert A)', valid:true },
{ src:'local(unset A)', valid:true },
// Quoted local() with CSS-wide keywords
{ src:'local("default")', valid:true },
{ src:'local("inherit")', valid:true },
{ src:'local("revert")', valid:true },
{ src:'local("unset")', valid:true }
];
for (let t of tests) {
test(() => {
assert_equals(sheet.cssRules.length, 0, "testSheet should initially be empty");
sheet.insertRule("@font-face { src: " + t.src + "}");
assert_equals(sheet.cssRules[0].style.getPropertyValue("src") != "", t.valid);
sheet.deleteRule(0);
}, "Check that src: " + t.src + " is " + (t.valid ? "valid" : "invalid"));
}
</script>

View file

@ -0,0 +1,94 @@
<!DOCTYPE html>
<title>CSS Fonts 4 test: parsing the tech() function in the src descriptor</title>
<link rel="help" href="https://drafts.csswg.org/css-fonts/#font-face-src-parsing">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<style id="testStyle">
</style>
<script>
const sheet = testStyle.sheet;
tests = [
// No tech() function
{ src: 'url("foo.ttf")', valid: true },
// Empty tech() is not valid
{ src: 'url("foo.ttf") tech()', valid: false },
// Check that each valid keyword is accepted
{ src: 'url("foo.ttf") tech(features-opentype)', valid: true },
{ src: 'url("foo.ttf") tech(features-aat)', valid: true },
{ src: 'url("foo.ttf") tech(color-COLRv0)', valid: true },
{ src: 'url("foo.ttf") tech(color-COLRv1)', valid: true },
{ src: 'url("foo.ttf") tech(color-sbix)', valid: true },
{ src: 'url("foo.ttf") tech(color-CBDT)', valid: true },
{ src: 'url("foo.ttf") tech(variations)', valid: true },
{ src: 'url("foo.ttf") tech(palettes)', valid: true },
// tech() does not accept strings (unlike format()!)
{ src: 'url("foo.ttf") tech("features-opentype")', valid: false },
{ src: 'url("foo.ttf") tech("color-COLRv0")', valid: false },
{ src: 'url("foo.ttf") tech("variations")', valid: false },
// tech() accepts a comma-separated list of keywords
{ src: 'url("foo.ttf") tech(features-opentype, color-COLRv0, variations, palettes)', valid: true },
{ src: 'url("foo.ttf") tech(features-opentype color-COLRv0 variations palettes)', valid: false },
// Invalid font-tech keywords should be a parse error
{ src: 'url("foo.ttf") tech(feature-opentype)', valid: false },
{ src: 'url("foo.ttf") tech(feature-aat)', valid: false },
{ src: 'url("foo.ttf") tech(feature-graphite)', valid: false },
{ src: 'url("foo.ttf") tech(auto)', valid: false },
{ src: 'url("foo.ttf") tech(default)', valid: false },
{ src: 'url("foo.ttf") tech(inherit)', valid: false },
{ src: 'url("foo.ttf") tech(initial)', valid: false },
{ src: 'url("foo.ttf") tech(none)', valid: false },
{ src: 'url("foo.ttf") tech(normal)', valid: false },
{ src: 'url("foo.ttf") tech(xyzzy)', valid: false },
{ src: 'url("foo.ttf") tech(xyzzy, features-opentype)', valid: false },
{ src: 'url("foo.ttf") tech(features-opentype, xyzzy)', valid: false },
// format() function must precede tech() if both are present
{ src: 'url("foo.ttf") format(opentype) tech(features-opentype)', valid: true },
{ src: 'url("foo.ttf") tech(features-opentype) format(opentype)', valid: false },
// Unsupported technology (for example: no browser has incremental transfer yet), might be
// dropped from the list, next component of the list should be accepted.
{ src: 'url("foo.ttf") tech(incremental), url("bar.html")', dontcomparetech: true, valid: true },
{ src: 'url("foo.ttf") tech(incremental, color-SVG, features-graphite, features-aat), url("bar.html")', dontcomparetech: true, valid: true },
{ src: 'url("foo.ttf") tech(color-SVG, features-graphite), url("bar.html")', dontcomparetech: true, valid: true },
{ src: 'url("foo.ttf") tech(color-SVG), url("bar.html")', dontcomparetech: true, valid: true },
{ src: 'url("foo.ttf") tech(features-graphite), url("bar.html")', dontcomparetech: true, valid: true },
// No invalid functions.
{ src: 'url("foo.ttf") dummy("opentype") tech(variations)', valid: false },
{ src: 'url("foo.ttf") dummy("opentype") dummy(variations)', valid: false },
{ src: 'url("foo.ttf") format(opentype) tech(features-opentype) dummy(something)', valid: false },
// A parsing error in one component does not make the entire descriptor invalid.
{ src: 'url("foo.ttf") format(dummy), url("foo.ttf") tech(variations)', valid: true },
// check_same_tech isn't currently smart enough to handle this.
{ src: 'url("foo.ttf") tech(color), url("bar.html")', dontcomparetech: true, valid: true },
];
// Assert that the two arguments have the same set of keywords in the tech() function,
// (although their ordering may differ).
function check_same_tech(serialized, specified) {
if (!specified.includes("tech(")) {
assert_false(serialized.includes("tech("), "expected no tech() function");
return;
}
// Extract the lists of tech() keywords and sort them for comparison.
const tech = /tech\((.+)\)/;
var specified_techs = tech.exec(specified)[1].split(/,\s*/).sort().join(", ");
var serialized_techs = tech.exec(serialized)[1].split(/,\s*/).sort().join(", ");
// Per CSSOM spec, keywords are serialized in ASCII-lowercase form:
// https://drafts.csswg.org/cssom/#serialize-a-css-component-value
assert_equals(serialized_techs, specified_techs.toLowerCase(), "expected matching tech() lists");
}
for (let t of tests) {
test(() => {
assert_equals(sheet.cssRules.length, 0, "testSheet should initially be empty");
sheet.insertRule("@font-face { src: " + t.src + "}");
try {
assert_equals(sheet.cssRules[0].style.getPropertyValue("src") != "", t.valid);
if (t.valid && !t.dontcomparetech) {
check_same_tech(sheet.cssRules[0].style.getPropertyValue("src"), t.src);
}
} finally {
sheet.deleteRule(0);
}
}, "Check that src: " + t.src + " is " + (t.valid ? "valid" : "invalid"));
}
</script>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: getComputedStyle().fontFamily</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-family-prop">
<meta name="assert" content="font-family computed value is as specified.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/computed-testcommon.js"></script>
</head>
<body>
<div id="target"></div>
<script>
test_computed_value('font-family', 'serif');
test_computed_value('font-family', 'sans-serif');
test_computed_value('font-family', 'cursive');
test_computed_value('font-family', 'fantasy');
test_computed_value('font-family', 'monospace');
test_computed_value('font-family', 'serif, sans-serif, cursive, fantasy, monospace');
test_computed_value('font-family', 'Helvetica, Verdana, sans-serif');
test_computed_value('font-family', '"New Century Schoolbook", serif');
test_computed_value('font-family', '"21st Century", fantasy');
test_computed_value('font-family', '"inherit", "serif"');
</script>
</body>
</html>

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: parsing font-family with invalid values</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-family-prop">
<meta name="assert" content="font-family supports only the grammar '[ <family-name> | <generic-family> ] #'.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value('font-family', 'cursive serif');
test_invalid_value('font-family', 'Red/Black, sans-serif');
test_invalid_value('font-family', '"Lucida" Grande, sans-serif');
test_invalid_value('font-family', 'Ahem!, sans-serif');
test_invalid_value('font-family', 'test@foo, sans-serif');
test_invalid_value('font-family', '#POUND, sans-serif');
test_invalid_value('font-family', 'Hawaii 5-0, sans-serif');
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: parsing font-family with valid values</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-family-prop">
<meta name="assert" content="font-family supports the full grammar '[ <family-name> | <generic-family> ] #'.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value('font-family', 'Serif', 'serif');
test_valid_value('font-family', 'Sans-Serif', 'sans-serif');
test_valid_value('font-family', 'Cursive', 'cursive');
test_valid_value('font-family', 'Fantasy', 'fantasy');
test_valid_value('font-family', 'Monospace', 'monospace');
test_valid_value('font-family', 'System-UI', 'system-ui');
test_valid_value('font-family', 'serif, sans-serif, cursive, fantasy, monospace, system-ui');
test_valid_value('font-family', 'Helvetica, Verdana, sans-serif');
test_valid_value('font-family', '"New Century Schoolbook", serif');
test_valid_value('font-family', "'21st Century', fantasy", '"21st Century", fantasy');
test_valid_value('font-family', '"inherit", "serif"');
</script>
</body>
</html>

View file

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: getComputedStyle().fontFeatureSettings</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop">
<meta name="assert" content="The computed value of font-feature-settings is a map, so any duplicates in the specified value must not be preserved.">
<!-- Note that this conflicts with the computed value being "as specified", which the summary shows.
See https://github.com/w3c/csswg-drafts/issues/8296#issuecomment-1377622802 -->
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/computed-testcommon.js"></script>
</head>
<style>
#container {
container-type: inline-size;
width: 100px;
}
</style>
</head>
<body>
<div id="container">
<div id="target"></div>
</div>
<script>
test_computed_value('font-feature-settings', 'normal');
test_computed_value('font-feature-settings', '"dlig"');
test_computed_value('font-feature-settings', '"smcp"');
test_computed_value('font-feature-settings', '"c2sc"');
test_computed_value('font-feature-settings', '"liga" 0');
test_computed_value('font-feature-settings', '"tnum", "hist"', '"hist", "tnum"');
test_computed_value('font-feature-settings', '"PKRN"');
test_computed_value('font-feature-settings', '"dlig", "smcp", "dlig" 0', '"dlig" 0, "smcp"');
test_computed_value('font-feature-settings', '"liga" calc(10 + (sign(2cqw - 10px) * 5))', '"liga" 5');
test_computed_value('font-feature-settings', '"liga" calc(10 + (sign(2cqw - 10px) * 5)), "dlig" calc(20 + (sign(2cqw - 10px) * 5))', '"dlig" 15, "liga" 5');
</script>
</body>
</html>

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: parsing font-feature-settings with invalid values</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop">
<meta name="assert" content="font-feature-settings supports only the grammar 'normal | <feature-tag-value> #'.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value('font-feature-settings', 'normal "dlig"');
test_invalid_value('font-feature-settings', '"c2sc", normal');
test_invalid_value('font-feature-settings', '"tnum" "hist"');
test_invalid_value('font-feature-settings', '"silly" off');
test_invalid_value('font-feature-settings', 'dlig');
</script>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: parsing font-feature-settings with valid values</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-feature-settings-prop">
<meta name="assert" content="font-feature-settings supports the full grammar 'normal | <feature-tag-value> #'.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value('font-feature-settings', 'normal');
// <feature-tag-value> = <string> [ <integer> | on | off ]?
test_valid_value('font-feature-settings', '"dlig" 1', '"dlig"');
test_valid_value('font-feature-settings', '"smcp" on', '"smcp"');
test_valid_value('font-feature-settings', "'c2sc'", '"c2sc"');
test_valid_value('font-feature-settings', '"liga" off', '"liga" 0');
test_valid_value('font-feature-settings', '"tnum", \'hist\'', '"tnum", "hist"');
test_valid_value('font-feature-settings', '"PKRN"');
test_valid_value('font-feature-settings', '"dlig" 1, "smcp" on, "dlig" 0', '"dlig", "smcp", "dlig" 0');
</script>
</body>
</html>

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 4: parsing font with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#font-prop">
<meta name="assert" content="font supports only the grammar '[ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-stretch-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar'.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value('font', 'menu icon');
test_invalid_value('font', 'italic oblique xx-small serif');
test_invalid_value('font', 'small-caps small-caps medium/normal sans-serif');
test_invalid_value('font', 'bold bolder xx-large/1.2 cursive');
test_invalid_value('font', 'ultra-condensed extra-condensed larger/calc(120% + 1.2em) fantasy');
test_invalid_value('font', 'italic small-caps lighter condensed normal smaller monospace');
test_invalid_value('font', 'normal 100 semi-condensed oblique small-caps 10px/normal Menu');
test_invalid_value('font', 'normal normal normal normal normal 20%/1.2 \"FB Armada\"');
test_invalid_value('font', 'italic small-caps lighter condensed smaller');
test_invalid_value('font', 'normal 100 semi-condensed oblique small-caps Menu');
test_invalid_value('font', '100% larger / 2 fantasy');
test_invalid_value('font', 'oldstyle-nums medium serif');
test_invalid_value('font', 'common-ligatures medium serif');
test_invalid_value('font', 'normal full-width medium serif');
test_invalid_value('font', 'italic titling-caps medium serif');
test_invalid_value('font', 'petite-caps medium serif');
</script>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: getComputedStyle().fontKerning</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-kerning-prop">
<meta name="assert" content="font-kerning computed value is as specified.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/computed-testcommon.js"></script>
</head>
<body>
<div id="target"></div>
<script>
test_computed_value('font-kerning', 'auto');
test_computed_value('font-kerning', 'normal');
test_computed_value('font-kerning', 'none');
</script>
</body>
</html>

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: parsing font-kerning with invalid values</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-kerning-prop">
<meta name="assert" content="font-kerning supports only the grammar 'auto | normal | none'.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value('font-kerning', 'normal auto');
test_invalid_value('font-kerning', 'none, auto');
</script>
</body>
</html>

View file

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 3: parsing font-kerning with valid values</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-3/#font-kerning-prop">
<meta name="assert" content="font-kerning supports the full grammar 'auto | normal | none'.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value('font-kerning', 'auto');
test_valid_value('font-kerning', 'normal');
test_valid_value('font-kerning', 'none');
</script>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Fonts Module Level 4: getComputedStyle().fontLanguageOverride</title>
<link rel="help" href="https://www.w3.org/TR/css-fonts-4/#propdef-font-language-override">
<meta name="assert" content="font-language-override computed value is as specified.">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/computed-testcommon.js"></script>
</head>
<body>
<div id="target"></div>
<script>
test_computed_value('font-language-override', 'normal');
test_computed_value('font-language-override', '"KSW"');
test_computed_value('font-language-override', '"ENG "', '"ENG"');
test_computed_value('font-language-override', '"en "', '"en"');
test_computed_value('font-language-override', '" en "', '" en"');
</script>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show more