W3C home > Mailing lists > Public > public-css-testsuite@w3.org > December 2010

[RC3] font-family-rule-017 (was RE: review of Microsoft CSS 2.1 font tests)

From: Gérard Talbot <css21testsuite@gtalbot.org>
Date: Wed, 8 Dec 2010 11:55:08 -0800
Message-ID: <1435fadae4bd42913ad8e718edab971c.squirrel@cp3.shieldhost.com>
To: "Arron Eicholz" <Arron.Eicholz@microsoft.com>
Cc: "John Daggett" <jdaggett@mozilla.com>, "public-css-testsuite@w3.org" <public-css-testsuite@w3.org>
Le Mer 8 décembre 2010 8:52, Arron Eicholz a écrit :
> On Tuesday, December 07, 2010 11:22 AM Gérard Talbot
>> Le Mer 20 janvier 2010 7:20, John Daggett a écrit :


>> > font-family-rule-017.xht
>> http://test.csswg.org/suites/css2.1/20101027/html4/font-family-rule-
017.htm
>> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15
/font-family-rule-017.xht
>> > According to the passing condition of the test, I don't see how a
failure could occur.  The assertion also seems incorrect here -
"Multiple white spaces not inside quoted font-family name can be
collapsed to single white space OR not collapsed."  The wording in
>> the
>> > spec is pretty clear that it's collapsed.  If there's an errata
that
>> > applies somewhere, please add a reference.
>> http://test.csswg.org/suites/css2.1/20101027/html4/font-family-rule-
017.htm
>> http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15
/font-family-rule-017.xht
>> Section 15.3 says
>> "If quoting is omitted, any white space characters before and after
the font
>> name are ignored and any sequence of white space characters inside
the
>> font name is converted to a single space."
>> http://www.w3.org/TR/CSS21/fonts.html#font-family-prop
>> while the assert says
>> "Multiple white spaces not inside quoted font-family name can be
collapsed
>> to single white space OR not collapsed."
>> The "OR not collapsed" part is not true, not correct.

Arron,

there are still problems with font-family-rule-017 and I have misread
the spec myself here and I insufficiently examined that testcase.

http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_15
/font-family-rule-017.xht

Relevant code:

        <meta name="assert" content="Multiple white spaces not inside
quoted font-family name can be collapsed to single white space."
/>
        <style type="text/css">

            div
            {
                font-family:      white     space    , "Times New
Roman";
            }
        </style>
    </head>
    <body>
        <p>PREREQUISITE: Operating system needs to have the '<a
href="../support/AHEM_whitespace.ttf">White Space</a>' font
installed.</p>

        <p>Test passes if there is either a letter "X" or a box
below.</p>



1-
The latest spec was released yesterday! And section 15.3 dropped that
sentence I was quoting. I think this is a mistake as it should inform on
how to parse/deal with an unquoted font-family having multiple white
spaces before, inside and/or after the font name.

2-
Assuming that the previous spec version is still correct, then the
assert should have be saying rather:

 <meta name="assert" content="Multiple (1 or many) white spaces before
and after an unquoted font-family name should be ignored. Multiple (more
than 1) white spaces inside an unquoted font name should be
converted to single white space." />

So that

font-family:      white     space    , "Times New Roman";
should be equivalent to
font-family:"white space", "Times New Roman";

This is exactly what Opera 10.63 does when viewing parsed CSS code in
DragonFly. Firefox DOM inspector also show such parsed CSS code but
without quotes wrapping.

3-
AHEM_whitespace.ttf has to correspond to "white space" as a font family
name. It does not, at least under Linux. I installed AHEM_whitespace.ttf
on my Linux system and the font name is "WhiteSpace", and not "white
space".

I will try the testcase with Windows XP later.

4-
<p>Test passes if there is either a letter "X" or a box
below.</p>

This seems to mean that parsing the declaration and to render either
white space  or Times New Roman is acceptable.

If we want to test how accurately browsers implement unquoted font
family name with sequence(s) of white spaces (before and/or inside
and/or after), then such pass condition is laxist, lenient, tolerant for
no reasons. In fact, with such pass condition, the testcase as coded can
never fail.

regards, Gérard
-- 
Contributions to the CSS 2.1 test suite:
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/

CSS 2.1 test suite (RC3; October 27th 2010):
http://test.csswg.org/suites/css2.1/20101027/html4/toc.html

CSS 2.1 test suite contributors:
http://test.csswg.org/source/contributors/
Received on Wednesday, 8 December 2010 19:55:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Wednesday, 8 December 2010 19:55:53 GMT