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

Chapter 6 review report (118 testcases)

From: Gérard Talbot <css21testsuite@gtalbot.org>
Date: Mon, 5 Jul 2010 14:11:49 -0700
Message-ID: <a76449d885d36b583046c783aae33662.squirrel@cp3.shieldhost.com>
To: "public-css-testsuite@w3.org" <public-css-testsuite@w3.org>
Hello all,

Here's my review report of testcases in chapter 6 (118 testcases):

http://test.csswg.org/suites/css2.1/20100701/html4/chapter-6.html


Boris Zbarsky and Ian Hickson should do a text search for their name to
know which of their respective testcases require to check my review.

Arron, you need to read this report too; 90% of this report regards to
Microsoft submitted testcases. Most of the time, it's only an inaccurate
<link rel="help"> or some better wording, small inaccuracies, etc.

1-
http://test.csswg.org/suites/css2.1/20100701/html4/default-stylesheet-001.htm

        <title>CSS Test: Overriding the default style sheet</title>

        <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">

        <meta name="assert" content="Default style sheet settings can be
overridden.">

should be

        <title>CSS Test: Overriding the user agent default style
sheet</title>

        <link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#cascade">

        <meta name="assert" content="User agent default style sheet
settings can
be overridden.">


Why?
"Default style sheet" can be ambiguous, does not mean a lot without
expliciting stylesheet origin;
<link rel="help": accurate reference to spec.

2-
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-001.htm

        <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">
(...)
        <table>
            <caption align="right">Filler Text</caption>
            <tr>
                <td></td>
            </tr>
        </table>
        <table>
            <caption align="right">Filler Text</caption>
            <tr>
                <td></td>
            </tr>
        </table>

I believe the testcase intended to be instead

        <link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#preshint">
(...)
        <table>
            <caption align="left">Filler Text</caption>
            <tr>
                <td></td>
            </tr>
        </table>
        <table>
            <caption align="right">Filler Text</caption>
            <tr>
                <td></td>
            </tr>
        </table>

3-
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-001.htm
to
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-029.htm

<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">
should be instead
<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#preshint">

4-
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-005.htm
should declare a doctype declaration referencing a strict DTD as border
is not a deprecated attribute for table.
http://www.w3.org/TR/html4/struct/tables.html#adef-border-TABLE

{Note to self: Also, note that the attribute minimization (eg. <table
border>) has not been tested. Maybe this should be tested.}

5-
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-003.htm

<link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
is wrong
should be
<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#preshint">

6-
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-013.htm

valign is not deprecated: so the testcase should be declaring a doctype
declaration referencing a strict DTD.
http://www.w3.org/TR/html4/struct/tables.html#adef-valign

7-
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-021.htm
I think you can safely remove
line 9: <style type="text/css"></style>

8-
http://test.csswg.org/suites/css2.1/20100701/html4/html-attribute-023.htm

Why is this HTMLonly?
<meta name="flags" content="HTMLonly">

I propose to make the hr thicker:

From

        <style type="text/css">
            p
            {
                border-color: transparent;
            }
            *
            {
                border-color: green;
            }
        </style>
    </head>
    <body>
        <p>Test passes if the line below is solid green.</p>
        <hr noshade="noshade">

to

        <style type="text/css">
            html, body, p
            {
                background-color: white;
            }
            *
            {
                background-color: lime;
                border-color: lime;
            }
        </style>
    </head>
    <body>
        <p>Test passes if the line below is solid bright green.</p>
        <hr noshade="noshade" size="6">

http://www.w3.org/TR/html4/present/graphics.html#adef-size-HR

because right now, this testcase invites the user to compare/distinguish 2
rather dark colors (green vs gray) for a 2px tall ruler.

Also, note that noshade is deprecated: so this one should declare a
transitional DTD.

9-
http://test.csswg.org/suites/css2.1/20100701/html4/html-precedence-001.htm

I suggest to change

<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">
(...)
<meta name="assert" content="The element selector takes precedence over
the font
element 'color' attribute.">

to

<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#preshint">
(...)
<meta name="assert" content="color=&quot;red&quot; is an HTML attribute
specification with a specificity equal to 0 which be overridden by
subsequent
style sheet rules.">


10-
http://test.csswg.org/suites/css2.1/20100701/html4/inherited-value-001.htm

<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">

to

<link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#inheritance">


11-
http://test.csswg.org/suites/css2.1/20100701/html4/non-inherited-value-001.htm

<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">

to

<link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#specified-value">


12-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-001.htm

<link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">
(...)
        <meta name="assert" content="The element selector has the highest
specificity - specificity 0010 takes precedence over 0001.">

should be

<link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#specificity">
(...)
        <meta name="assert" content="The attribute selector has an higher
specificity over the element selector - specificity 0010 takes
precedence over 0001.">



13-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-002.htm


      <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html">
(...)

        <style type="text/css">
            #id1 /* a=0 b=0 c=1 d=0 -> specificity = 0,1,0,0 */
            {
                color: red;
            }
            div:first-child /* a=0 b=0 c=1 d=1 -> specificity = 0,0,1,1 */
            {
                color: red;
            }


should be instead

      <link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#specificity">
(...)

        <style type="text/css">
            #id1 /* a=0 b=1 c=0 d=0 -> specificity = 0,1,0,0 */
            {
                color: red;
            }
            div:first-child /* a=0 b=0 c=1 d=1 -> specificity = 0,0,1,1 */
            {
                color: red;
            }



14-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-003.htm
should be instead

      <link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#specificity">
<meta name="assert" content="The ID attribute in a selector has the
higher specificity than the combined pseudo-class and element selectors
- specificity 0100 takes precedence over 0011.">



15-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-004.htm
should be instead

      <link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#specificity">
<meta name="assert" content="The combined pseudo-class and element
selectors have a higher specificity than the attribute selector -
specificity 0011 takes precedence over 0010.">



16-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-005.htm
should be instead
<meta name="assert" content="An element selector with a pseudo-element
selector wins over a pseudo-element selector - specificity 0002 takes
precedence over 0001.">



17-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-006.htm
should be instead
        <meta name="assert" content="The combination of a pseudo-element
selector with an element selector takes takes precedence over simple and
single element selector - specificity 0002 takes precedence over 0001.">


18-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-007.htm
should be instead
<meta name="assert" content="The element selector has a higher
specificity over the universal selector - specificity 0001 takes
precedence over 0000.">


19-
http://test.csswg.org/suites/css2.1/20100701/html4/specificity-008.htm

first-line is a pseudo-element (d=1); first-child is a pseudo-class
(c=1). So

div:first-child:first-line /* a=0 b=0 c=1 d=2 -> specificity = 0,0,1,2 */


should be instead

        <title>CSS Test: Calculating specificity - specificity 0012 vs.
0002</title>
        <link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#specificity">
        <meta name="assert" content="The combined specificity of an
element selector, with a pseudo-class selector and a
pseudo-element selector achieves an higher specificity than the
combined specificity of an element selector with a
pseudo-element selector.">

div:first-child:first-line /* a=0 b=0 c=1 d=2 -> specificity = 0,0,1,2 */

If the intent was specifically to test (d=3) 0003 versus (d=2) 0002
specificity, then this test should be redone.


20 a)
Line 9: <style type="text/css"></style>
is in all user-stylesheet-001 to 018.htm files. I think such empty style
block should be removed.



20-
http://test.csswg.org/suites/css2.1/20100701/html4/user-stylesheet-003.htm


<title>CSS Test: User defined stylesheet cannot override property
defined in style tag</title>

<meta name="assert" content="The user style sheet cannot override
property defined in style tag.">

This is true if rules involve normal (not !important) declarations. As
worded, it may sound like such statement is generally true. It's even
inaccurate.


I suggest the following replacements

<title>CSS Test: Rules with normal declarations in an user defined
stylesheet can be overriden by rules with normal declarations from
author in a style block</title>

<meta name="assert" content="A CSS rule (with normal - not !important -
declarations) in an author style sheet have more weight than a CSS rule
(with normal  - not !important -declarations) in an user style sheet.">



21-
http://test.csswg.org/suites/css2.1/20100701/html4/user-stylesheet-004.htm

<title>CSS Test: User defined stylesheet cannot override inline
style</title>

<meta name="assert" content="The user style sheet cannot override
property defined in inline style attribute.">

This is true if rules involve normal (not !important) declarations. As
worded, it sounds like such statement is generally true. Again, such
statement is not exact.

I suggest the following replacements

<title>CSS Test: Rules with normal declarations in an user defined
stylesheet can be overriden by normal declarations from author in an
inline style attribute</title>

<meta name="assert" content="A normal - not !important - declaration in an
inline style from author have more weight than a CSS rule (with normal 
- not !important -) declarations in an user style sheet.">


22-
http://test.csswg.org/suites/css2.1/20100701/html4/user-stylesheet-012.htm

(Just a thought: How can it be certain that all browsers treat a link with
href="#" as an unvisited webpage when such link is resolved as the same
URI. href="#" works in IE8 with user-stylesheet-012.htm)

Reviewed and approved.


23-
http://test.csswg.org/suites/css2.1/20100701/html4/c13-inh-underlin-000.htm

Ian Hickson

  <!-- XXX Content-Style-Type -->
missing.
class="a" along with id="a" is not helpful or simplifying but I think this
may be part of the testcase.
<em style="text-decoration:   underline;">
could be replaced
<em style="text-decoration: underline;">



24-
http://test.csswg.org/suites/css2.1/20100701/html4/c13-inheritance-000.htm

Ian Hickson

There is no class="c" defined in the test. This may be in fact part of the
testcase.
Reviewed and approved.



25-
http://test.csswg.org/suites/css2.1/20100701/html4/c548-ln-ht-003.htm
Reviewed and approved.

Ian Hickson

The only difference between
/20100701/html4/c548-ln-ht-003.htm
and
/20100701/html4/c548-ln-ht-004.htm
is that line-height is expressed in terms of unit versus percentage

.nine {line-height: 2;} at line 12 and 19 of
/20100701/html4/c548-ln-ht-004.htm

while

.eight {line-height: 200%;} at line 12 and 19 of
/20100701/html4/c548-ln-ht-003.htm

Both testcases are actually the same.
Ian Hickson


26-
http://test.csswg.org/suites/css2.1/20100701/html4/inherit-border-padding-000.htm

Reviewed and approved.


27-
http://test.csswg.org/suites/css2.1/20100701/html4/dynamic-top-change-001.htm

Boris Zbarsky

<script type="application/javascript">

Why type="application/javascript"? Why not just
type="text/javascript" instead?

MSIE 8 does not support type="application/ecmascript" and
type="application/javascript" which meet RFC 4329. {The valid types are
"application/javascript" and "application/ecmascript". All modern
JavaScript interpreters being implementations of ECMAScript, it seems
like it would be best to use "application/ecmascript". Except that our
good friend IE doesn't recognize them and ignores the script altogether
if you use them. So once again, thanks to one more non-standard behavior
of IE, we can't afford to follow the standard.} by Bertrand Le Roy.
RFC 4329 was published in April 2006 and RFC 4329 was discussed and
approved as soon as June 2005. This bug has been reported at connect's
IE beta feedback as bug 338278: this bug has been closed by the IE team
and has not been reopened.

https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=338278

I am inclined to reject this testcase because this is a test suite on
CSS compliance, not on Scripting Media Types and its RFC 4329.
The thing is this: even when trying

http://www.gtalbot.org/BrowserBugsSection/css21testsuite/dynamic-top-change-001-gt.htm

IE8 still fails but #grandparent's offset top is being modified, updated
accordingly while in 
http://test.csswg.org/suites/css2.1/20100701/html4/dynamic-top-change-001.htm
 it is not, meaning that
<script type="application/javascript">

is not supported in IE8.

This will need to be settled. FWIW,
http://www.w3.org/Style/CSS/Test/guidelines.html#content-style-type
recommends
<meta http-equiv="Content-Script-Type" content="text/javascript"/>
for inline script (event handler) attributes but RFC4329 has obsoleted
"text/javascript" for years now.



28-
http://test.csswg.org/suites/css2.1/20100701/html4/dynamic-top-change-001.htm

Boris Zbarsky

001 to 004: all assume, presume that the <p> has a margin-top of 1em.
Maybe the tests should make this explicit. Or use <div> instead. Or the
list of common assumptions for the test suite should state this.

--------------------


http://test.csswg.org/suites/css2.1/20100701/html4/dynamic-top-change-005.htm

Boris Zbarsky

 after spending quite a bit of time on this testcase ...

For starters,

<meta name="assert" content="The position of a positioned element which
inherits its 'top' value from its absolutely positioned grandparent
changes when the grandparent's 'top' value is changed.">

should be rather/instead

<meta name="assert" content="The position of a positioned element
which inherits its 'top' value from its relatively positioned parent
changes when the parent's 'top' value is changed.">

I did not understand why

body { font-size: 0; line-height: 0;}

I also think the testcase could be reduced by changing/replacing

    #grandparent { position: absolute; top: 0; }
    body { font-size: 0; line-height: 0; position: relative; }

into

    #grandparent { position: absolute; top: 8px; left: 8px; }

Here's my proposal:

http://www.gtalbot.org/BrowserBugsSection/css21testsuite/dynamic-top-change-005-gt.htm

I had to set body {margin: 8px;} because some browsers (eg Konqueror
4.4.5) set a larger margin for body and then the #overlapping-green
square left's offset is not 8px but more.

--------------------

29-
http://test.csswg.org/suites/css2.1/20100701/html4/inherit-001.htm

        <meta name="assert" content="Children elements inherit the
parents color given the 'inherit' keyword.">
            div
            {
                color: red;
            }
            body div
            {
                color: inherit;
            }

The div inherits the green color because of specificity (0,0,0,2) too.
Children elements inherit the parent's color by default, without the
recourse of 'inherit' keyword; the test assertion suggests otherwise.
I am not sure that this is a good testcase: it certainly can be improved.


30-
http://test.csswg.org/suites/css2.1/20100701/html4/inherit-002.htm
reviewed and approved

31-
http://test.csswg.org/suites/css2.1/20100701/html4/inherit-003.htm
reviewed and approved

32-
http://test.csswg.org/suites/css2.1/20100701/html4/c11-import-000.htm
reviewed and approved

33-
http://test.csswg.org/suites/css2.1/20100701/html4/c21-pseu-cls-000.htm
reviewed and approved

34-
http://test.csswg.org/suites/css2.1/20100701/html4/c21-pseu-id-000.htm
reviewed and approved

35-
http://test.csswg.org/suites/css2.1/20100701/html4/cascade-001.htm
to remove
 <style type="text/css"></style>
reviewed and approved

http://test.csswg.org/suites/css2.1/20100701/html4/cascade-002.htm
reviewed and approved

http://test.csswg.org/suites/css2.1/20100701/html4/cascade-003.htm
reviewed and approved

http://test.csswg.org/suites/css2.1/20100701/html4/cascade-004.htm
http://test.csswg.org/suites/css2.1/20100701/html4/cascade-005.htm
reviewed and approved

--------------------

36-
http://test.csswg.org/suites/css2.1/20100701/html4/cascade-006.htm
<meta name="assert" content="The latter specified rule wins when having
the same specificity and weight in user styles sheets.">

needs to be tuned, tweaked. The last redefining rules comes from author
        <style type="text/css">
            .cascadegreen
            {
                color: green;
            }
        </style>

and is a normal (not !important) rule: so it wins over the user
stylesheet rules
<div class="cascadegreen cascadered">Filler Text</div>

<meta name="assert" content="The latter specified rule wins when having
the same specificity and weight in user styles sheets.">

This cascade-006.htm test does not test what it was intended/aiming at
testing actually.

--------------------

http://test.csswg.org/suites/css2.1/20100701/html4/cascade-007.htm
reviewed and approved


http://test.csswg.org/suites/css2.1/20100701/html4/cascade-008.htm
should <link rel="help"> to
http://www.w3.org/TR/CSS21/cascade.html#important-rules
<link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#important-rules"
title="6.4.2 !important rules">
reviewed and approved


http://test.csswg.org/suites/css2.1/20100701/html4/cascade-009.htm
should  <link rel="help"> to
http://www.w3.org/TR/CSS21/cascade.html#important-rules
reviewed and approved

http://test.csswg.org/suites/css2.1/20100701/html4/cascade-010.htm
should  <link rel="help"> to
http://www.w3.org/TR/CSS21/cascade.html#important-rules
<link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#important-rules"
title="6.4.2 !important rules">
reviewed and approved

--------------------

http://test.csswg.org/suites/css2.1/20100701/html4/cascade-011.htm
should  <link rel="help"> to
http://www.w3.org/TR/CSS21/cascade.html#important-rules
<link rel="help"
href="http://www.w3.org/TR/CSS21/cascade.html#important-rules"
title="6.4.2 !important rules">

Proposed corrections:

<meta name="assert" content="User stylesheet rules with !important
override normal user rules.">
        <style type="text/css"></style>
(...)
        <div class="cascadered cascadegreenimportant">Filler Text</div>

to change to

<meta name="assert" content="User stylesheet rules with !important
declarations override user stylesheet rules with normal declarations.">
(...)
        <div class="cascadegreenimportant cascadered">Filler Text</div>

--------------------

http://test.csswg.org/suites/css2.1/20100701/html4/c31-important-000.htm

Proposed  adjustments:

The <title> should better indicate what is intended to be
tested. There is no test assertion.

Here, !important declarations wins over specificity. For the same origin,
!important declarations wins, override specificity. This is what the
<title> and test assertion should indicate, state.

--------------------

http://test.csswg.org/suites/css2.1/20100701/html4/c32-cascading-000.htm
reviewed and approved

http://test.csswg.org/suites/css2.1/20100701/html4/c64-uri-000.htm
reviewed and approved


============


I am open to suggestions on how to better format and create such review
reports.

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

CSS 2.1 test suite (beta 1; July 1st 2010):
http://test.csswg.org/suites/css2.1/20100701/html4/toc.html

CSS 2.1 test suite contributors:
http://test.csswg.org/source/contributors/
Received on Monday, 5 July 2010 21:12:26 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 20 September 2010 17:52:02 GMT