Changeset 270248 in webkit


Ignore:
Timestamp:
Nov 30, 2020 9:39:41 AM (20 months ago)
Author:
commit-queue@webkit.org
Message:

getComputedStyle rounds lineHeight to nearest pixel
https://bugs.webkit.org/show_bug.cgi?id=216601

Patch by Tyler Wilcock <Tyler Wilcock> on 2020-11-30
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt:

Update test reflecting the fact that serialization of line-height from
getComputedStyle is now represented fractionally (when appropriate).
Prior to this patch, line-height serialization was always an integer value.

Source/WebCore:

When serializing line-height for getComputedStyle, ensure the
value can be represented fractionally (when appropriate). Prior to this
patch, line-height serialization was always an integer value. Per
spec, the used value of line-height can be a <number> value, which
is fractional. Gecko and Chromium allow fractional line-heights to be
returned from getComputedStyle, further confirming this.

https://drafts.csswg.org/css2/#propdef-line-height

Test: fast/css/line-height-get-computed-style.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::lineHeightFromStyle): Cast result to double instead of
int since line-height can be represented fractionally.

LayoutTests:

Add test ensuring serialization of line-height from
getComputedStyle is represented fractionally (when appropriate).
Prior to this patch, line-height serialization was always an integer value.

The line-height-rounding.html test has been removed, as it expected
line-height to serialize as an integer, which seems wrong
considering the used value for line-height can be a <number>
(which is fractional). Gecko and Chromium allow fractional
line-heights to be returned from getComputedStyle, further
confirming this.

https://drafts.csswg.org/css2/#propdef-line-height

  • fast/css/line-height-get-computed-style-expected.txt: Added.
  • fast/css/line-height-get-computed-style.html: Added.
  • fast/css/line-height-rounding-expected.txt: Removed.
  • fast/css/line-height-rounding.html: Removed.
Location:
trunk
Files:
2 added
2 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r270242 r270248  
     12020-11-30  Tyler Wilcock  <twilco.o@protonmail.com>
     2
     3        getComputedStyle rounds lineHeight to nearest pixel
     4        https://bugs.webkit.org/show_bug.cgi?id=216601
     5
     6        Reviewed by Simon Fraser.
     7
     8        Add test ensuring serialization of `line-height` from
     9        `getComputedStyle` is represented fractionally (when appropriate).
     10        Prior to this patch, `line-height` serialization was always an integer value.
     11
     12        The `line-height-rounding.html` test has been removed, as it expected
     13        `line-height` to serialize as an integer, which seems wrong
     14        considering the used value for `line-height` can be a `<number>`
     15        (which is fractional).  Gecko and Chromium allow fractional
     16        `line-height`s to be returned from `getComputedStyle`, further
     17        confirming this.
     18
     19        https://drafts.csswg.org/css2/#propdef-line-height
     20
     21        * fast/css/line-height-get-computed-style-expected.txt: Added.
     22        * fast/css/line-height-get-computed-style.html: Added.
     23        * fast/css/line-height-rounding-expected.txt: Removed.
     24        * fast/css/line-height-rounding.html: Removed.
     25
    1262020-11-30  Lauro Moura  <lmoura@igalia.com>
    227
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r270237 r270248  
     12020-11-30  Tyler Wilcock  <twilco.o@protonmail.com>
     2
     3        getComputedStyle rounds lineHeight to nearest pixel
     4        https://bugs.webkit.org/show_bug.cgi?id=216601
     5
     6        Reviewed by Simon Fraser.
     7
     8        * web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt:
     9            Update test reflecting the fact that serialization of `line-height` from
     10            `getComputedStyle` is now represented fractionally (when appropriate).
     11            Prior to this patch, `line-height` serialization was always an integer value.
     12
    1132020-11-30  Sergio Villar Senin  <svillar@igalia.com>
    214
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-computed-expected.txt

    r267650 r270248  
    88FAIL Property font value 'xx-small serif' assert_equals: expected "9px serif" but got "normal normal normal normal 9px/normal serif"
    99FAIL Property font value 'normal medium/normal sans-serif' assert_equals: expected "16px sans-serif" but got "normal normal normal normal 16px/normal sans-serif"
    10 FAIL Property font value 'normal normal xx-large/1.2 cursive' assert_equals: expected "32px / 38px cursive" but got "normal normal normal normal 32px/38px cursive"
     10FAIL Property font value 'normal normal xx-large/1.2 cursive' assert_equals: expected "32px / 38.400001525878906px cursive" but got "normal normal normal normal 32px/38.400001525878906px cursive"
    1111FAIL Property font value 'normal normal normal larger/calc(120% + 1.2em) fantasy' assert_equals: expected "48px / normal fantasy" but got "normal normal normal normal 48px/normal fantasy"
    1212FAIL Property font value 'normal normal normal normal smaller monospace' assert_equals: expected "33.33333206176758px monospace" but got "normal normal normal normal 33.33333206176758px/normal monospace"
     
    6464FAIL Property font value 'normal small-caps italic extra-condensed xx-small serif' assert_true: 'normal small-caps italic extra-condensed xx-small serif' is a supported value for font. expected true got false
    6565FAIL Property font value 'normal small-caps 100 medium/normal sans-serif' assert_equals: expected "small-caps 100 16px sans-serif" but got "normal small-caps 100 normal 16px/normal sans-serif"
    66 FAIL Property font value 'normal small-caps 900 normal xx-large/1.2 cursive' assert_equals: expected "small-caps 900 32px / 38px cursive" but got "normal small-caps 900 normal 32px/38px cursive"
     66FAIL Property font value 'normal small-caps 900 normal xx-large/1.2 cursive' assert_equals: expected "small-caps 900 32px / 38.400001525878906px cursive" but got "normal small-caps 900 normal 32px/38.400001525878906px cursive"
    6767FAIL Property font value 'normal small-caps bold italic larger/calc(120% + 1.2em) fantasy' assert_true: 'normal small-caps bold italic larger/calc(120% + 1.2em) fantasy' is a supported value for font. expected true got false
    6868FAIL Property font value 'normal small-caps bolder condensed smaller monospace' assert_equals: expected "small-caps 900 condensed 33.33333206176758px monospace" but got "normal small-caps 900 condensed 33.33333206176758px/normal monospace"
    6969FAIL Property font value 'normal small-caps semi-condensed 10px/normal Menu' assert_equals: expected "small-caps semi-condensed 10px Menu" but got "normal small-caps normal semi-condensed 10px/normal Menu"
    70 FAIL Property font value 'normal small-caps semi-expanded normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps semi-expanded 8px / 9px \"Non-Generic Example Family Name\"" but got "normal small-caps normal semi-expanded 8px/9px \"Non-Generic Example Family Name\""
     70FAIL Property font value 'normal small-caps semi-expanded normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps semi-expanded 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "normal small-caps normal semi-expanded 8px/9.600000381469727px \"Non-Generic Example Family Name\""
    7171FAIL Property font value 'normal small-caps expanded italic calc(30% - 40px)/calc(120% + 1.2em) serif' assert_true: 'normal small-caps expanded italic calc(30% - 40px)/calc(120% + 1.2em) serif' is a supported value for font. expected true got false
    7272FAIL Property font value 'normal small-caps extra-expanded lighter xx-small sans-serif' assert_equals: expected "small-caps bold extra-expanded 9px sans-serif" but got "normal small-caps bold extra-expanded 9px/normal sans-serif"
    7373FAIL Property font value 'normal 100 medium/normal cursive' assert_equals: expected "100 16px cursive" but got "normal normal 100 normal 16px/normal cursive"
    74 FAIL Property font value 'normal 900 normal xx-large/1.2 fantasy' assert_equals: expected "900 32px / 38px fantasy" but got "normal normal 900 normal 32px/38px fantasy"
     74FAIL Property font value 'normal 900 normal xx-large/1.2 fantasy' assert_equals: expected "900 32px / 38.400001525878906px fantasy" but got "normal normal 900 normal 32px/38.400001525878906px fantasy"
    7575FAIL Property font value 'normal bold normal normal larger/calc(120% + 1.2em) monospace' assert_equals: expected "bold 48px / normal monospace" but got "normal normal bold normal 48px/normal monospace"
    7676FAIL Property font value 'normal bolder normal italic smaller Menu' assert_true: 'normal bolder normal italic smaller Menu' is a supported value for font. expected true got false
    7777FAIL Property font value 'normal lighter normal small-caps 10px/normal "Non-Generic Example Family Name"' assert_true: 'normal lighter normal small-caps 10px/normal "Non-Generic Example Family Name"' is a supported value for font. expected true got false
    78 FAIL Property font value 'normal 100 normal ultra-expanded 20%/1.2 serif' assert_equals: expected "100 ultra-expanded 8px / 9px serif" but got "normal normal 100 ultra-expanded 8px/9px serif"
     78FAIL Property font value 'normal 100 normal ultra-expanded 20%/1.2 serif' assert_equals: expected "100 ultra-expanded 8px / 9.600000381469727px serif" but got "normal normal 100 ultra-expanded 8px/9.600000381469727px serif"
    7979FAIL Property font value 'normal 900 italic calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_true: 'normal 900 italic calc(30% - 40px)/calc(120% + 1.2em) sans-serif' is a supported value for font. expected true got false
    8080FAIL Property font value 'normal bold italic normal xx-small cursive' assert_true: 'normal bold italic normal xx-small cursive' is a supported value for font. expected true got false
     
    8484FAIL Property font value 'normal 900 small-caps normal smaller "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 33.33333206176758px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 normal 33.33333206176758px/normal \"Non-Generic Example Family Name\""
    8585FAIL Property font value 'normal bold small-caps italic 10px/normal serif' assert_true: 'normal bold small-caps italic 10px/normal serif' is a supported value for font. expected true got false
    86 FAIL Property font value 'normal bolder small-caps extra-condensed 20%/1.2 sans-serif' assert_equals: expected "small-caps 900 extra-condensed 8px / 9px sans-serif" but got "normal small-caps 900 extra-condensed 8px/9px sans-serif"
     86FAIL Property font value 'normal bolder small-caps extra-condensed 20%/1.2 sans-serif' assert_equals: expected "small-caps 900 extra-condensed 8px / 9.600000381469727px sans-serif" but got "normal small-caps 900 extra-condensed 8px/9.600000381469727px sans-serif"
    8787FAIL Property font value 'normal lighter condensed calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "bold condensed 0px / normal cursive" but got "normal normal bold condensed 0px/normal cursive"
    8888FAIL Property font value 'normal 100 semi-condensed normal xx-small fantasy' assert_equals: expected "100 semi-condensed 9px fantasy" but got "normal normal 100 semi-condensed 9px/normal fantasy"
    8989FAIL Property font value 'normal 900 semi-expanded italic medium/normal monospace' assert_true: 'normal 900 semi-expanded italic medium/normal monospace' is a supported value for font. expected true got false
    90 FAIL Property font value 'normal bold expanded small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps bold expanded 32px / 38px Menu" but got "normal small-caps bold expanded 32px/38px Menu"
     90FAIL Property font value 'normal bold expanded small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps bold expanded 32px / 38.400001525878906px Menu" but got "normal small-caps bold expanded 32px/38.400001525878906px Menu"
    9191FAIL Property font value 'normal extra-expanded larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "normal normal normal extra-expanded 48px/normal \"Non-Generic Example Family Name\""
    9292FAIL Property font value 'normal ultra-expanded normal smaller serif' assert_equals: expected "ultra-expanded 33.33333206176758px serif" but got "normal normal normal ultra-expanded 33.33333206176758px/normal serif"
     
    100100FAIL Property font value 'normal ultra-expanded italic lighter smaller sans-serif' assert_true: 'normal ultra-expanded italic lighter smaller sans-serif' is a supported value for font. expected true got false
    101101FAIL Property font value 'normal ultra-condensed small-caps 10px/normal cursive' assert_equals: expected "small-caps ultra-condensed 10px cursive" but got "normal small-caps normal ultra-condensed 10px/normal cursive"
    102 FAIL Property font value 'normal extra-condensed small-caps normal 20%/1.2 fantasy' assert_equals: expected "small-caps extra-condensed 8px / 9px fantasy" but got "normal small-caps normal extra-condensed 8px/9px fantasy"
     102FAIL Property font value 'normal extra-condensed small-caps normal 20%/1.2 fantasy' assert_equals: expected "small-caps extra-condensed 8px / 9.600000381469727px fantasy" but got "normal small-caps normal extra-condensed 8px/9.600000381469727px fantasy"
    103103FAIL Property font value 'normal condensed small-caps italic calc(30% - 40px)/calc(120% + 1.2em) monospace' assert_true: 'normal condensed small-caps italic calc(30% - 40px)/calc(120% + 1.2em) monospace' is a supported value for font. expected true got false
    104104FAIL Property font value 'normal semi-condensed small-caps 100 xx-small Menu' assert_equals: expected "small-caps 100 semi-condensed 9px Menu" but got "normal small-caps 100 semi-condensed 9px/normal Menu"
    105105FAIL Property font value 'normal semi-expanded 900 medium/normal "Non-Generic Example Family Name"' assert_equals: expected "900 semi-expanded 16px \"Non-Generic Example Family Name\"" but got "normal normal 900 semi-expanded 16px/normal \"Non-Generic Example Family Name\""
    106 FAIL Property font value 'normal expanded bold normal xx-large/1.2 serif' assert_equals: expected "bold expanded 32px / 38px serif" but got "normal normal bold expanded 32px/38px serif"
     106FAIL Property font value 'normal expanded bold normal xx-large/1.2 serif' assert_equals: expected "bold expanded 32px / 38.400001525878906px serif" but got "normal normal bold expanded 32px/38.400001525878906px serif"
    107107FAIL Property font value 'normal extra-expanded bolder italic larger/calc(120% + 1.2em) sans-serif' assert_true: 'normal extra-expanded bolder italic larger/calc(120% + 1.2em) sans-serif' is a supported value for font. expected true got false
    108108FAIL Property font value 'normal ultra-expanded lighter small-caps smaller cursive' assert_equals: expected "small-caps bold ultra-expanded 33.33333206176758px cursive" but got "normal small-caps bold ultra-expanded 33.33333206176758px/normal cursive"
    109109FAIL Property font value 'italic 10px/normal fantasy' assert_equals: expected "italic 10px fantasy" but got "italic normal normal normal 10px/normal fantasy"
    110 FAIL Property font value 'italic normal 20%/1.2 monospace' assert_equals: expected "italic 8px / 9px monospace" but got "italic normal normal normal 8px/9px monospace"
     110FAIL Property font value 'italic normal 20%/1.2 monospace' assert_equals: expected "italic 8px / 9.600000381469727px monospace" but got "italic normal normal normal 8px/9.600000381469727px monospace"
    111111FAIL Property font value 'italic normal normal calc(30% - 40px)/calc(120% + 1.2em) Menu' assert_equals: expected "italic 0px / normal Menu" but got "italic normal normal normal 0px/normal Menu"
    112112FAIL Property font value 'italic normal normal normal xx-small "Non-Generic Example Family Name"' assert_equals: expected "italic 9px \"Non-Generic Example Family Name\"" but got "italic normal normal normal 9px/normal \"Non-Generic Example Family Name\""
     
    128128FAIL Property font value 'italic small-caps xx-small sans-serif' assert_equals: expected "italic small-caps 9px sans-serif" but got "italic small-caps normal normal 9px/normal sans-serif"
    129129FAIL Property font value 'italic small-caps normal medium/normal cursive' assert_equals: expected "italic small-caps 16px cursive" but got "italic small-caps normal normal 16px/normal cursive"
    130 FAIL Property font value 'italic small-caps normal normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 32px / 38px fantasy" but got "italic small-caps normal normal 32px/38px fantasy"
     130FAIL Property font value 'italic small-caps normal normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 32px / 38.400001525878906px fantasy" but got "italic small-caps normal normal 32px/38.400001525878906px fantasy"
    131131FAIL Property font value 'italic small-caps normal bold larger/calc(120% + 1.2em) monospace' assert_true: 'italic small-caps normal bold larger/calc(120% + 1.2em) monospace' is a supported value for font. expected true got false
    132132FAIL Property font value 'italic small-caps normal ultra-expanded smaller Menu' assert_equals: expected "italic small-caps ultra-expanded 33.33333206176758px Menu" but got "italic small-caps normal ultra-expanded 33.33333206176758px/normal Menu"
    133133FAIL Property font value 'italic small-caps bolder 10px/normal "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 900 10px \"Non-Generic Example Family Name\"" but got "italic small-caps 900 normal 10px/normal \"Non-Generic Example Family Name\""
    134 FAIL Property font value 'italic small-caps lighter normal 20%/1.2 serif' assert_equals: expected "italic small-caps bold 8px / 9px serif" but got "italic small-caps bold normal 8px/9px serif"
     134FAIL Property font value 'italic small-caps lighter normal 20%/1.2 serif' assert_equals: expected "italic small-caps bold 8px / 9.600000381469727px serif" but got "italic small-caps bold normal 8px/9.600000381469727px serif"
    135135FAIL Property font value 'italic small-caps 100 ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_equals: expected "italic small-caps 100 ultra-condensed 0px / normal sans-serif" but got "italic small-caps 100 ultra-condensed 0px/normal sans-serif"
    136136FAIL Property font value 'italic small-caps extra-condensed xx-small cursive' assert_equals: expected "italic small-caps extra-condensed 9px cursive" but got "italic small-caps normal extra-condensed 9px/normal cursive"
    137137FAIL Property font value 'italic small-caps condensed normal medium/normal fantasy' assert_equals: expected "italic small-caps condensed 16px fantasy" but got "italic small-caps normal condensed 16px/normal fantasy"
    138 FAIL Property font value 'italic small-caps semi-condensed 900 xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 semi-condensed 26px / 31px monospace" but got "italic small-caps 900 semi-condensed 26px/31px monospace"
     138FAIL Property font value 'italic small-caps semi-condensed 900 xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 semi-condensed 26px / 31.200000762939453px monospace" but got "italic small-caps 900 semi-condensed 26px/31.200000762939453px monospace"
    139139FAIL Property font value 'italic bold larger/calc(120% + 1.2em) Menu' assert_equals: expected "italic bold 48px / normal Menu" but got "italic normal bold normal 48px/normal Menu"
    140140FAIL Property font value 'italic bolder normal smaller "Non-Generic Example Family Name"' assert_equals: expected "italic 900 33.33333206176758px \"Non-Generic Example Family Name\"" but got "italic normal 900 normal 33.33333206176758px/normal \"Non-Generic Example Family Name\""
     
    144144FAIL Property font value 'italic bold small-caps xx-small fantasy' assert_equals: expected "italic small-caps bold 9px fantasy" but got "italic small-caps bold normal 9px/normal fantasy"
    145145FAIL Property font value 'italic bolder small-caps normal medium/normal monospace' assert_equals: expected "italic small-caps 900 13px monospace" but got "italic small-caps 900 normal 13px/normal monospace"
    146 FAIL Property font value 'italic lighter small-caps expanded xx-large/1.2 Menu' assert_equals: expected "italic small-caps bold expanded 32px / 38px Menu" but got "italic small-caps bold expanded 32px/38px Menu"
     146FAIL Property font value 'italic lighter small-caps expanded xx-large/1.2 Menu' assert_equals: expected "italic small-caps bold expanded 32px / 38.400001525878906px Menu" but got "italic small-caps bold expanded 32px/38.400001525878906px Menu"
    147147FAIL Property font value 'italic 100 extra-expanded larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "italic 100 extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "italic normal 100 extra-expanded 48px/normal \"Non-Generic Example Family Name\""
    148148FAIL Property font value 'italic 900 ultra-expanded normal smaller serif' assert_equals: expected "italic 900 ultra-expanded 33.33333206176758px serif" but got "italic normal 900 ultra-expanded 33.33333206176758px/normal serif"
    149149FAIL Property font value 'italic bold ultra-condensed small-caps 10px/normal sans-serif' assert_equals: expected "italic small-caps bold ultra-condensed 10px sans-serif" but got "italic small-caps bold ultra-condensed 10px/normal sans-serif"
    150 FAIL Property font value 'italic extra-condensed 20%/1.2 cursive' assert_equals: expected "italic extra-condensed 8px / 9px cursive" but got "italic normal normal extra-condensed 8px/9px cursive"
     150FAIL Property font value 'italic extra-condensed 20%/1.2 cursive' assert_equals: expected "italic extra-condensed 8px / 9.600000381469727px cursive" but got "italic normal normal extra-condensed 8px/9.600000381469727px cursive"
    151151FAIL Property font value 'italic condensed normal calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_equals: expected "italic condensed 0px / normal fantasy" but got "italic normal normal condensed 0px/normal fantasy"
    152152FAIL Property font value 'italic semi-condensed normal normal xx-small monospace' assert_equals: expected "italic semi-condensed 9px monospace" but got "italic normal normal semi-condensed 9px/normal monospace"
    153153FAIL Property font value 'italic semi-expanded normal small-caps medium/normal Menu' assert_true: 'italic semi-expanded normal small-caps medium/normal Menu' is a supported value for font. expected true got false
    154 FAIL Property font value 'italic expanded normal bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic 900 expanded 32px / 38px \"Non-Generic Example Family Name\"" but got "italic normal 900 expanded 32px/38px \"Non-Generic Example Family Name\""
     154FAIL Property font value 'italic expanded normal bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic 900 expanded 32px / 38.400001525878906px \"Non-Generic Example Family Name\"" but got "italic normal 900 expanded 32px/38.400001525878906px \"Non-Generic Example Family Name\""
    155155FAIL Property font value 'italic extra-expanded small-caps larger/calc(120% + 1.2em) serif' assert_equals: expected "italic small-caps extra-expanded 48px / normal serif" but got "italic small-caps normal extra-expanded 48px/normal serif"
    156156FAIL Property font value 'italic ultra-expanded small-caps normal smaller sans-serif' assert_equals: expected "italic small-caps ultra-expanded 33.33333206176758px sans-serif" but got "italic small-caps normal ultra-expanded 33.33333206176758px/normal sans-serif"
    157157FAIL Property font value 'italic ultra-condensed small-caps lighter 10px/normal cursive' assert_equals: expected "italic small-caps bold ultra-condensed 10px cursive" but got "italic small-caps bold ultra-condensed 10px/normal cursive"
    158 FAIL Property font value 'italic extra-condensed 100 20%/1.2 fantasy' assert_equals: expected "italic 100 extra-condensed 8px / 9px fantasy" but got "italic normal 100 extra-condensed 8px/9px fantasy"
     158FAIL Property font value 'italic extra-condensed 100 20%/1.2 fantasy' assert_equals: expected "italic 100 extra-condensed 8px / 9.600000381469727px fantasy" but got "italic normal 100 extra-condensed 8px/9.600000381469727px fantasy"
    159159FAIL Property font value 'italic condensed 900 normal calc(30% - 40px)/calc(120% + 1.2em) monospace' assert_equals: expected "italic 900 condensed 0px / normal monospace" but got "italic normal 900 condensed 0px/normal monospace"
    160160FAIL Property font value 'italic semi-condensed bold small-caps xx-small Menu' assert_equals: expected "italic small-caps bold semi-condensed 9px Menu" but got "italic small-caps bold semi-condensed 9px/normal Menu"
    161161FAIL Property font value 'small-caps medium/normal "Non-Generic Example Family Name"' assert_equals: expected "small-caps 16px \"Non-Generic Example Family Name\"" but got "normal small-caps normal normal 16px/normal \"Non-Generic Example Family Name\""
    162 FAIL Property font value 'small-caps normal xx-large/1.2 serif' assert_equals: expected "small-caps 32px / 38px serif" but got "normal small-caps normal normal 32px/38px serif"
     162FAIL Property font value 'small-caps normal xx-large/1.2 serif' assert_equals: expected "small-caps 32px / 38.400001525878906px serif" but got "normal small-caps normal normal 32px/38.400001525878906px serif"
    163163FAIL Property font value 'small-caps normal normal larger/calc(120% + 1.2em) sans-serif' assert_equals: expected "small-caps 48px / normal sans-serif" but got "normal small-caps normal normal 48px/normal sans-serif"
    164164FAIL Property font value 'small-caps normal normal normal smaller cursive' assert_equals: expected "small-caps 33.33333206176758px cursive" but got "normal small-caps normal normal 33.33333206176758px/normal cursive"
     
    180180FAIL Property font value 'small-caps italic smaller monospace' assert_equals: expected "italic small-caps 33.33333206176758px monospace" but got "italic small-caps normal normal 33.33333206176758px/normal monospace"
    181181FAIL Property font value 'small-caps italic normal 10px/normal Menu' assert_equals: expected "italic small-caps 10px Menu" but got "italic small-caps normal normal 10px/normal Menu"
    182 FAIL Property font value 'small-caps italic normal normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 8px / 9px \"Non-Generic Example Family Name\"" but got "italic small-caps normal normal 8px/9px \"Non-Generic Example Family Name\""
     182FAIL Property font value 'small-caps italic normal normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "italic small-caps normal normal 8px/9.600000381469727px \"Non-Generic Example Family Name\""
    183183FAIL Property font value 'small-caps italic normal 100 calc(30% - 40px)/calc(120% + 1.2em) serif' assert_true: 'small-caps italic normal 100 calc(30% - 40px)/calc(120% + 1.2em) serif' is a supported value for font. expected true got false
    184184FAIL Property font value 'small-caps italic normal semi-condensed xx-small sans-serif' assert_equals: expected "italic small-caps semi-condensed 9px sans-serif" but got "italic small-caps normal semi-condensed 9px/normal sans-serif"
    185185FAIL Property font value 'small-caps italic 900 medium/normal cursive' assert_equals: expected "italic small-caps 900 16px cursive" but got "italic small-caps 900 normal 16px/normal cursive"
    186 FAIL Property font value 'small-caps italic bold normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps bold 32px / 38px fantasy" but got "italic small-caps bold normal 32px/38px fantasy"
     186FAIL Property font value 'small-caps italic bold normal xx-large/1.2 fantasy' assert_equals: expected "italic small-caps bold 32px / 38.400001525878906px fantasy" but got "italic small-caps bold normal 32px/38.400001525878906px fantasy"
    187187FAIL Property font value 'small-caps italic bolder semi-expanded larger/calc(120% + 1.2em) monospace' assert_equals: expected "italic small-caps 900 semi-expanded 48px / normal monospace" but got "italic small-caps 900 semi-expanded 48px/normal monospace"
    188188FAIL Property font value 'small-caps italic expanded smaller Menu' assert_equals: expected "italic small-caps expanded 33.33333206176758px Menu" but got "italic small-caps normal expanded 33.33333206176758px/normal Menu"
    189189FAIL Property font value 'small-caps italic extra-expanded normal 10px/normal "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps extra-expanded 10px \"Non-Generic Example Family Name\"" but got "italic small-caps normal extra-expanded 10px/normal \"Non-Generic Example Family Name\""
    190 FAIL Property font value 'small-caps italic ultra-expanded lighter 20%/1.2 serif' assert_equals: expected "italic small-caps bold ultra-expanded 8px / 9px serif" but got "italic small-caps bold ultra-expanded 8px/9px serif"
     190FAIL Property font value 'small-caps italic ultra-expanded lighter 20%/1.2 serif' assert_equals: expected "italic small-caps bold ultra-expanded 8px / 9.600000381469727px serif" but got "italic small-caps bold ultra-expanded 8px/9.600000381469727px serif"
    191191FAIL Property font value 'small-caps 100 calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_equals: expected "small-caps 100 0px / normal sans-serif" but got "normal small-caps 100 normal 0px/normal sans-serif"
    192192FAIL Property font value 'small-caps 900 normal xx-small cursive' assert_equals: expected "small-caps 900 9px cursive" but got "normal small-caps 900 normal 9px/normal cursive"
     
    196196FAIL Property font value 'small-caps 100 italic smaller "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 100 33.33333206176758px \"Non-Generic Example Family Name\"" but got "italic small-caps 100 normal 33.33333206176758px/normal \"Non-Generic Example Family Name\""
    197197FAIL Property font value 'small-caps 900 italic normal 10px/normal serif' assert_equals: expected "italic small-caps 900 10px serif" but got "italic small-caps 900 normal 10px/normal serif"
    198 FAIL Property font value 'small-caps bold italic extra-condensed 20%/1.2 sans-serif' assert_equals: expected "italic small-caps bold extra-condensed 8px / 9px sans-serif" but got "italic small-caps bold extra-condensed 8px/9px sans-serif"
     198FAIL Property font value 'small-caps bold italic extra-condensed 20%/1.2 sans-serif' assert_equals: expected "italic small-caps bold extra-condensed 8px / 9.600000381469727px sans-serif" but got "italic small-caps bold extra-condensed 8px/9.600000381469727px sans-serif"
    199199FAIL Property font value 'small-caps bolder condensed calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "small-caps 900 condensed 0px / normal cursive" but got "normal small-caps 900 condensed 0px/normal cursive"
    200200FAIL Property font value 'small-caps lighter semi-condensed normal xx-small fantasy' assert_equals: expected "small-caps bold semi-condensed 9px fantasy" but got "normal small-caps bold semi-condensed 9px/normal fantasy"
    201201FAIL Property font value 'small-caps 100 semi-expanded italic medium/normal monospace' assert_equals: expected "italic small-caps 100 semi-expanded 13px monospace" but got "italic small-caps 100 semi-expanded 13px/normal monospace"
    202 FAIL Property font value 'small-caps expanded xx-large/1.2 Menu' assert_equals: expected "small-caps expanded 32px / 38px Menu" but got "normal small-caps normal expanded 32px/38px Menu"
     202FAIL Property font value 'small-caps expanded xx-large/1.2 Menu' assert_equals: expected "small-caps expanded 32px / 38.400001525878906px Menu" but got "normal small-caps normal expanded 32px/38.400001525878906px Menu"
    203203FAIL Property font value 'small-caps extra-expanded normal larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "small-caps extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "normal small-caps normal extra-expanded 48px/normal \"Non-Generic Example Family Name\""
    204204FAIL Property font value 'small-caps ultra-expanded normal normal smaller serif' assert_equals: expected "small-caps ultra-expanded 33.33333206176758px serif" but got "normal small-caps normal ultra-expanded 33.33333206176758px/normal serif"
    205205FAIL Property font value 'small-caps ultra-condensed normal italic 10px/normal sans-serif' assert_true: 'small-caps ultra-condensed normal italic 10px/normal sans-serif' is a supported value for font. expected true got false
    206 FAIL Property font value 'small-caps extra-condensed normal 900 20%/1.2 cursive' assert_equals: expected "small-caps 900 extra-condensed 8px / 9px cursive" but got "normal small-caps 900 extra-condensed 8px/9px cursive"
     206FAIL Property font value 'small-caps extra-condensed normal 900 20%/1.2 cursive' assert_equals: expected "small-caps 900 extra-condensed 8px / 9.600000381469727px cursive" but got "normal small-caps 900 extra-condensed 8px/9.600000381469727px cursive"
    207207FAIL Property font value 'small-caps condensed italic calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_equals: expected "italic small-caps condensed 0px / normal fantasy" but got "italic small-caps normal condensed 0px/normal fantasy"
    208208FAIL Property font value 'small-caps semi-condensed italic normal xx-small monospace' assert_equals: expected "italic small-caps semi-condensed 9px monospace" but got "italic small-caps normal semi-condensed 9px/normal monospace"
    209209FAIL Property font value 'small-caps semi-expanded italic bold medium/normal Menu' assert_equals: expected "italic small-caps bold semi-expanded 16px Menu" but got "italic small-caps bold semi-expanded 16px/normal Menu"
    210 FAIL Property font value 'small-caps expanded bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 expanded 32px / 38px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 expanded 32px/38px \"Non-Generic Example Family Name\""
     210FAIL Property font value 'small-caps expanded bolder xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "small-caps 900 expanded 32px / 38.400001525878906px \"Non-Generic Example Family Name\"" but got "normal small-caps 900 expanded 32px/38.400001525878906px \"Non-Generic Example Family Name\""
    211211FAIL Property font value 'small-caps extra-expanded lighter normal larger/calc(120% + 1.2em) serif' assert_equals: expected "small-caps bold extra-expanded 48px / normal serif" but got "normal small-caps bold extra-expanded 48px/normal serif"
    212212FAIL Property font value 'small-caps ultra-expanded 100 italic smaller sans-serif' assert_equals: expected "italic small-caps 100 ultra-expanded 33.33333206176758px sans-serif" but got "italic small-caps 100 ultra-expanded 33.33333206176758px/normal sans-serif"
    213213FAIL Property font value '900 10px/normal cursive' assert_equals: expected "900 10px cursive" but got "normal normal 900 normal 10px/normal cursive"
    214 FAIL Property font value 'bold normal 20%/1.2 fantasy' assert_equals: expected "bold 8px / 9px fantasy" but got "normal normal bold normal 8px/9px fantasy"
     214FAIL Property font value 'bold normal 20%/1.2 fantasy' assert_equals: expected "bold 8px / 9.600000381469727px fantasy" but got "normal normal bold normal 8px/9.600000381469727px fantasy"
    215215FAIL Property font value 'bolder normal normal calc(30% - 40px)/calc(120% + 1.2em) monospace' assert_equals: expected "900 0px / normal monospace" but got "normal normal 900 normal 0px/normal monospace"
    216216FAIL Property font value 'lighter normal normal normal xx-small Menu' assert_equals: expected "bold 9px Menu" but got "normal normal bold normal 9px/normal Menu"
     
    232232FAIL Property font value '100 italic xx-small serif' assert_equals: expected "italic 100 9px serif" but got "italic normal 100 normal 9px/normal serif"
    233233FAIL Property font value '900 italic normal medium/normal sans-serif' assert_equals: expected "italic 900 16px sans-serif" but got "italic normal 900 normal 16px/normal sans-serif"
    234 FAIL Property font value 'bold italic normal normal xx-large/1.2 cursive' assert_equals: expected "italic bold 32px / 38px cursive" but got "italic normal bold normal 32px/38px cursive"
     234FAIL Property font value 'bold italic normal normal xx-large/1.2 cursive' assert_equals: expected "italic bold 32px / 38.400001525878906px cursive" but got "italic normal bold normal 32px/38.400001525878906px cursive"
    235235FAIL Property font value 'bolder italic normal small-caps larger/calc(120% + 1.2em) fantasy' assert_true: 'bolder italic normal small-caps larger/calc(120% + 1.2em) fantasy' is a supported value for font. expected true got false
    236236FAIL Property font value 'lighter italic normal ultra-expanded smaller monospace' assert_equals: expected "italic bold ultra-expanded 33.33333206176758px monospace" but got "italic normal bold ultra-expanded 33.33333206176758px/normal monospace"
    237237FAIL Property font value '100 italic small-caps 10px/normal Menu' assert_equals: expected "italic small-caps 100 10px Menu" but got "italic small-caps 100 normal 10px/normal Menu"
    238 FAIL Property font value '900 italic small-caps normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 900 8px / 9px \"Non-Generic Example Family Name\"" but got "italic small-caps 900 normal 8px/9px \"Non-Generic Example Family Name\""
     238FAIL Property font value '900 italic small-caps normal 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps 900 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "italic small-caps 900 normal 8px/9.600000381469727px \"Non-Generic Example Family Name\""
    239239FAIL Property font value 'bold italic small-caps ultra-condensed calc(30% - 40px)/calc(120% + 1.2em) serif' assert_equals: expected "italic small-caps bold ultra-condensed 0px / normal serif" but got "italic small-caps bold ultra-condensed 0px/normal serif"
    240240FAIL Property font value 'bolder italic extra-condensed xx-small sans-serif' assert_equals: expected "italic 900 extra-condensed 9px sans-serif" but got "italic normal 900 extra-condensed 9px/normal sans-serif"
    241241FAIL Property font value 'lighter italic condensed normal medium/normal cursive' assert_equals: expected "italic bold condensed 16px cursive" but got "italic normal bold condensed 16px/normal cursive"
    242 FAIL Property font value '100 italic semi-condensed small-caps xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 100 semi-condensed 32px / 38px fantasy" but got "italic small-caps 100 semi-condensed 32px/38px fantasy"
     242FAIL Property font value '100 italic semi-condensed small-caps xx-large/1.2 fantasy' assert_equals: expected "italic small-caps 100 semi-condensed 32px / 38.400001525878906px fantasy" but got "italic small-caps 100 semi-condensed 32px/38.400001525878906px fantasy"
    243243FAIL Property font value '900 small-caps larger/calc(120% + 1.2em) monospace' assert_equals: expected "small-caps 900 48px / normal monospace" but got "normal small-caps 900 normal 48px/normal monospace"
    244244FAIL Property font value 'bold small-caps normal smaller Menu' assert_equals: expected "small-caps bold 33.33333206176758px Menu" but got "normal small-caps bold normal 33.33333206176758px/normal Menu"
     
    248248FAIL Property font value '900 small-caps italic xx-small cursive' assert_equals: expected "italic small-caps 900 9px cursive" but got "italic small-caps 900 normal 9px/normal cursive"
    249249FAIL Property font value 'bold small-caps italic normal medium/normal fantasy' assert_equals: expected "italic small-caps bold 16px fantasy" but got "italic small-caps bold normal 16px/normal fantasy"
    250 FAIL Property font value 'bolder small-caps italic expanded xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 expanded 26px / 31px monospace" but got "italic small-caps 900 expanded 26px/31px monospace"
     250FAIL Property font value 'bolder small-caps italic expanded xx-large/1.2 monospace' assert_equals: expected "italic small-caps 900 expanded 26px / 31.200000762939453px monospace" but got "italic small-caps 900 expanded 26px/31.200000762939453px monospace"
    251251FAIL Property font value 'lighter small-caps extra-expanded larger/calc(120% + 1.2em) Menu' assert_equals: expected "small-caps bold extra-expanded 48px / normal Menu" but got "normal small-caps bold extra-expanded 48px/normal Menu"
    252252FAIL Property font value '100 small-caps ultra-expanded normal smaller "Non-Generic Example Family Name"' assert_equals: expected "small-caps 100 ultra-expanded 33.33333206176758px \"Non-Generic Example Family Name\"" but got "normal small-caps 100 ultra-expanded 33.33333206176758px/normal \"Non-Generic Example Family Name\""
    253253FAIL Property font value '900 small-caps ultra-condensed italic 10px/normal serif' assert_equals: expected "italic small-caps 900 ultra-condensed 10px serif" but got "italic small-caps 900 ultra-condensed 10px/normal serif"
    254 FAIL Property font value 'bold extra-condensed 20%/1.2 sans-serif' assert_equals: expected "bold extra-condensed 8px / 9px sans-serif" but got "normal normal bold extra-condensed 8px/9px sans-serif"
     254FAIL Property font value 'bold extra-condensed 20%/1.2 sans-serif' assert_equals: expected "bold extra-condensed 8px / 9.600000381469727px sans-serif" but got "normal normal bold extra-condensed 8px/9.600000381469727px sans-serif"
    255255FAIL Property font value 'bolder condensed normal calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "900 condensed 0px / normal cursive" but got "normal normal 900 condensed 0px/normal cursive"
    256256FAIL Property font value 'lighter semi-condensed normal normal xx-small fantasy' assert_equals: expected "bold semi-condensed 9px fantasy" but got "normal normal bold semi-condensed 9px/normal fantasy"
    257257FAIL Property font value '100 semi-expanded normal italic medium/normal monospace' assert_true: '100 semi-expanded normal italic medium/normal monospace' is a supported value for font. expected true got false
    258 FAIL Property font value '900 expanded normal small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38px Menu" but got "normal small-caps 900 expanded 32px/38px Menu"
     258FAIL Property font value '900 expanded normal small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38.400001525878906px Menu" but got "normal small-caps 900 expanded 32px/38.400001525878906px Menu"
    259259FAIL Property font value 'bold extra-expanded italic larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "italic bold extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "italic normal bold extra-expanded 48px/normal \"Non-Generic Example Family Name\""
    260260FAIL Property font value 'bolder ultra-expanded italic normal smaller serif' assert_equals: expected "italic 900 ultra-expanded 33.33333206176758px serif" but got "italic normal 900 ultra-expanded 33.33333206176758px/normal serif"
    261261FAIL Property font value 'lighter ultra-condensed italic small-caps 10px/normal sans-serif' assert_equals: expected "italic small-caps bold ultra-condensed 10px sans-serif" but got "italic small-caps bold ultra-condensed 10px/normal sans-serif"
    262 FAIL Property font value '100 extra-condensed small-caps 20%/1.2 cursive' assert_equals: expected "small-caps 100 extra-condensed 8px / 9px cursive" but got "normal small-caps 100 extra-condensed 8px/9px cursive"
     262FAIL Property font value '100 extra-condensed small-caps 20%/1.2 cursive' assert_equals: expected "small-caps 100 extra-condensed 8px / 9.600000381469727px cursive" but got "normal small-caps 100 extra-condensed 8px/9.600000381469727px cursive"
    263263FAIL Property font value '900 condensed small-caps normal calc(30% - 40px)/calc(120% + 1.2em) fantasy' assert_equals: expected "small-caps 900 condensed 0px / normal fantasy" but got "normal small-caps 900 condensed 0px/normal fantasy"
    264264FAIL Property font value 'bold semi-condensed small-caps italic xx-small monospace' assert_equals: expected "italic small-caps bold semi-condensed 9px monospace" but got "italic small-caps bold semi-condensed 9px/normal monospace"
    265265FAIL Property font value 'semi-expanded medium/normal Menu' assert_equals: expected "semi-expanded 16px Menu" but got "normal normal normal semi-expanded 16px/normal Menu"
    266 FAIL Property font value 'expanded normal xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "expanded 32px / 38px \"Non-Generic Example Family Name\"" but got "normal normal normal expanded 32px/38px \"Non-Generic Example Family Name\""
     266FAIL Property font value 'expanded normal xx-large/1.2 "Non-Generic Example Family Name"' assert_equals: expected "expanded 32px / 38.400001525878906px \"Non-Generic Example Family Name\"" but got "normal normal normal expanded 32px/38.400001525878906px \"Non-Generic Example Family Name\""
    267267FAIL Property font value 'extra-expanded normal normal larger/calc(120% + 1.2em) serif' assert_equals: expected "extra-expanded 48px / normal serif" but got "normal normal normal extra-expanded 48px/normal serif"
    268268FAIL Property font value 'ultra-expanded normal normal normal smaller sans-serif' assert_equals: expected "ultra-expanded 33.33333206176758px sans-serif" but got "normal normal normal ultra-expanded 33.33333206176758px/normal sans-serif"
     
    284284FAIL Property font value 'ultra-expanded italic smaller fantasy' assert_equals: expected "italic ultra-expanded 33.33333206176758px fantasy" but got "italic normal normal ultra-expanded 33.33333206176758px/normal fantasy"
    285285FAIL Property font value 'ultra-condensed italic normal 10px/normal monospace' assert_equals: expected "italic ultra-condensed 10px monospace" but got "italic normal normal ultra-condensed 10px/normal monospace"
    286 FAIL Property font value 'extra-condensed italic normal normal 20%/1.2 Menu' assert_equals: expected "italic extra-condensed 8px / 9px Menu" but got "italic normal normal extra-condensed 8px/9px Menu"
     286FAIL Property font value 'extra-condensed italic normal normal 20%/1.2 Menu' assert_equals: expected "italic extra-condensed 8px / 9.600000381469727px Menu" but got "italic normal normal extra-condensed 8px/9.600000381469727px Menu"
    287287FAIL Property font value 'condensed italic normal small-caps calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_true: 'condensed italic normal small-caps calc(30% - 40px)/calc(120% + 1.2em) "Non-Generic Example Family Name"' is a supported value for font. expected true got false
    288288FAIL Property font value 'semi-condensed italic normal 100 xx-small serif' assert_equals: expected "italic 100 semi-condensed 9px serif" but got "italic normal 100 semi-condensed 9px/normal serif"
    289289FAIL Property font value 'semi-expanded italic small-caps medium/normal sans-serif' assert_equals: expected "italic small-caps semi-expanded 16px sans-serif" but got "italic small-caps normal semi-expanded 16px/normal sans-serif"
    290 FAIL Property font value 'expanded italic small-caps normal xx-large/1.2 cursive' assert_equals: expected "italic small-caps expanded 32px / 38px cursive" but got "italic small-caps normal expanded 32px/38px cursive"
     290FAIL Property font value 'expanded italic small-caps normal xx-large/1.2 cursive' assert_equals: expected "italic small-caps expanded 32px / 38.400001525878906px cursive" but got "italic small-caps normal expanded 32px/38.400001525878906px cursive"
    291291FAIL Property font value 'extra-expanded italic small-caps 900 larger/calc(120% + 1.2em) fantasy' assert_equals: expected "italic small-caps 900 extra-expanded 48px / normal fantasy" but got "italic small-caps 900 extra-expanded 48px/normal fantasy"
    292292FAIL Property font value 'ultra-expanded italic bold smaller monospace' assert_equals: expected "italic bold ultra-expanded 33.33333206176758px monospace" but got "italic normal bold ultra-expanded 33.33333206176758px/normal monospace"
    293293FAIL Property font value 'ultra-condensed italic bolder normal 10px/normal Menu' assert_equals: expected "italic 900 ultra-condensed 10px Menu" but got "italic normal 900 ultra-condensed 10px/normal Menu"
    294 FAIL Property font value 'extra-condensed italic lighter small-caps 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps bold extra-condensed 8px / 9px \"Non-Generic Example Family Name\"" but got "italic small-caps bold extra-condensed 8px/9px \"Non-Generic Example Family Name\""
     294FAIL Property font value 'extra-condensed italic lighter small-caps 20%/1.2 "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps bold extra-condensed 8px / 9.600000381469727px \"Non-Generic Example Family Name\"" but got "italic small-caps bold extra-condensed 8px/9.600000381469727px \"Non-Generic Example Family Name\""
    295295FAIL Property font value 'condensed small-caps calc(30% - 40px)/calc(120% + 1.2em) serif' assert_equals: expected "small-caps condensed 0px / normal serif" but got "normal small-caps normal condensed 0px/normal serif"
    296296FAIL Property font value 'semi-condensed small-caps normal xx-small sans-serif' assert_equals: expected "small-caps semi-condensed 9px sans-serif" but got "normal small-caps normal semi-condensed 9px/normal sans-serif"
     
    300300FAIL Property font value 'ultra-expanded small-caps italic smaller Menu' assert_equals: expected "italic small-caps ultra-expanded 33.33333206176758px Menu" but got "italic small-caps normal ultra-expanded 33.33333206176758px/normal Menu"
    301301FAIL Property font value 'ultra-condensed small-caps italic normal 10px/normal "Non-Generic Example Family Name"' assert_equals: expected "italic small-caps ultra-condensed 10px \"Non-Generic Example Family Name\"" but got "italic small-caps normal ultra-condensed 10px/normal \"Non-Generic Example Family Name\""
    302 FAIL Property font value 'extra-condensed small-caps italic 900 20%/1.2 serif' assert_equals: expected "italic small-caps 900 extra-condensed 8px / 9px serif" but got "italic small-caps 900 extra-condensed 8px/9px serif"
     302FAIL Property font value 'extra-condensed small-caps italic 900 20%/1.2 serif' assert_equals: expected "italic small-caps 900 extra-condensed 8px / 9.600000381469727px serif" but got "italic small-caps 900 extra-condensed 8px/9.600000381469727px serif"
    303303FAIL Property font value 'condensed small-caps bold calc(30% - 40px)/calc(120% + 1.2em) sans-serif' assert_equals: expected "small-caps bold condensed 0px / normal sans-serif" but got "normal small-caps bold condensed 0px/normal sans-serif"
    304304FAIL Property font value 'semi-condensed small-caps bolder normal xx-small cursive' assert_equals: expected "small-caps 900 semi-condensed 9px cursive" but got "normal small-caps 900 semi-condensed 9px/normal cursive"
    305305FAIL Property font value 'semi-expanded small-caps lighter italic medium/normal fantasy' assert_equals: expected "italic small-caps bold semi-expanded 16px fantasy" but got "italic small-caps bold semi-expanded 16px/normal fantasy"
    306 FAIL Property font value 'expanded 100 xx-large/1.2 monospace' assert_equals: expected "100 expanded 26px / 31px monospace" but got "normal normal 100 expanded 26px/31px monospace"
     306FAIL Property font value 'expanded 100 xx-large/1.2 monospace' assert_equals: expected "100 expanded 26px / 31.200000762939453px monospace" but got "normal normal 100 expanded 26px/31.200000762939453px monospace"
    307307FAIL Property font value 'extra-expanded 900 normal larger/calc(120% + 1.2em) Menu' assert_equals: expected "900 extra-expanded 48px / normal Menu" but got "normal normal 900 extra-expanded 48px/normal Menu"
    308308FAIL Property font value 'ultra-expanded bold normal normal smaller "Non-Generic Example Family Name"' assert_equals: expected "bold ultra-expanded 33.33333206176758px \"Non-Generic Example Family Name\"" but got "normal normal bold ultra-expanded 33.33333206176758px/normal \"Non-Generic Example Family Name\""
    309309FAIL Property font value 'ultra-condensed bolder normal italic 10px/normal serif' assert_true: 'ultra-condensed bolder normal italic 10px/normal serif' is a supported value for font. expected true got false
    310 FAIL Property font value 'extra-condensed lighter normal small-caps 20%/1.2 sans-serif' assert_equals: expected "small-caps bold extra-condensed 8px / 9px sans-serif" but got "normal small-caps bold extra-condensed 8px/9px sans-serif"
     310FAIL Property font value 'extra-condensed lighter normal small-caps 20%/1.2 sans-serif' assert_equals: expected "small-caps bold extra-condensed 8px / 9.600000381469727px sans-serif" but got "normal small-caps bold extra-condensed 8px/9.600000381469727px sans-serif"
    311311FAIL Property font value 'condensed 100 italic calc(30% - 40px)/calc(120% + 1.2em) cursive' assert_equals: expected "italic 100 condensed 0px / normal cursive" but got "italic normal 100 condensed 0px/normal cursive"
    312312FAIL Property font value 'semi-condensed 900 italic normal xx-small fantasy' assert_equals: expected "italic 900 semi-condensed 9px fantasy" but got "italic normal 900 semi-condensed 9px/normal fantasy"
    313313FAIL Property font value 'semi-expanded bold italic small-caps medium/normal monospace' assert_equals: expected "italic small-caps bold semi-expanded 13px monospace" but got "italic small-caps bold semi-expanded 13px/normal monospace"
    314 FAIL Property font value 'expanded bolder small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38px Menu" but got "normal small-caps 900 expanded 32px/38px Menu"
     314FAIL Property font value 'expanded bolder small-caps xx-large/1.2 Menu' assert_equals: expected "small-caps 900 expanded 32px / 38.400001525878906px Menu" but got "normal small-caps 900 expanded 32px/38.400001525878906px Menu"
    315315FAIL Property font value 'extra-expanded lighter small-caps normal larger/calc(120% + 1.2em) "Non-Generic Example Family Name"' assert_equals: expected "small-caps bold extra-expanded 48px / normal \"Non-Generic Example Family Name\"" but got "normal small-caps bold extra-expanded 48px/normal \"Non-Generic Example Family Name\""
    316316FAIL Property font value 'ultra-expanded 100 small-caps italic smaller serif' assert_equals: expected "italic small-caps 100 ultra-expanded 33.33333206176758px serif" but got "italic small-caps 100 ultra-expanded 33.33333206176758px/normal serif"
  • trunk/Source/WebCore/ChangeLog

    r270245 r270248  
     12020-11-30  Tyler Wilcock  <twilco.o@protonmail.com>
     2
     3        getComputedStyle rounds lineHeight to nearest pixel
     4        https://bugs.webkit.org/show_bug.cgi?id=216601
     5
     6        Reviewed by Simon Fraser.
     7
     8        When serializing `line-height` for `getComputedStyle`, ensure the
     9        value can be represented fractionally (when appropriate). Prior to this
     10        patch, `line-height` serialization was always an integer value.  Per
     11        spec, the used value of `line-height` can be a `<number>` value, which
     12        is fractional.  Gecko and Chromium allow fractional `line-height`s to be
     13        returned from `getComputedStyle`, further confirming this.
     14
     15        https://drafts.csswg.org/css2/#propdef-line-height
     16
     17        Test: fast/css/line-height-get-computed-style.html
     18
     19        * css/CSSComputedStyleDeclaration.cpp:
     20        (WebCore::lineHeightFromStyle): Cast result to `double` instead of
     21        `int` since `line-height` can be represented fractionally.
     22
    1232020-11-30  Aditya Keerthi  <akeerthi@apple.com>
    224
  • trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp

    r270023 r270248  
    18051805        // On the other hand, since font-size doesn't include the zoom factor, we really can't do
    18061806        // that here either.
    1807         return zoomAdjustedPixelValue(static_cast<int>(length.percent() * style.fontDescription().computedSize()) / 100, style);
     1807        return zoomAdjustedPixelValue(static_cast<double>(length.percent() * style.fontDescription().computedSize()) / 100, style);
    18081808    }
    18091809    return zoomAdjustedPixelValue(floatValueForLength(length, 0), style);
Note: See TracChangeset for help on using the changeset viewer.