W3C home > Mailing lists > Public > www-style@w3.org > July 2004

RE: [CSS21] Test Suite

From: Mark Moore <mark.moore@notlimited.com>
Date: Sat, 24 Jul 2004 12:30:08 -0700
To: <www-style@w3.org>
Message-Id: <20040724193305.73A6FA1240@frink.w3.org>

> -----Original Message-----
> From: www-style-request@w3.org [mailto:www-style-request@w3.org] On Behalf
> Of Ian Hickson
> Sent: Saturday, July 24, 2004 5:35 AM
> To: Philip TAYLOR
> Cc: Thomas Scholz; www-style@w3.org
> Subject: Re: [CSS21] Test Suite
> 
> 
> On Fri, 23 Jul 2004, Philip TAYLOR wrote:
> >>
> >> One of the prerequisistes for the test suite will be setting the
> >> default colours to black text on white background, link colours to blue
> >> and visited colours to purple, default font size to 16 pixels,
> >> resolution to 96dpi, and various other such changes. If tests had to
> >> handle all the various different kinds of setups, they would become
> >> ridiculously complicated and require support for much more before being
> >> able to test anything at all.
> >
> > I have to confess, I don't understand this : there will be many, many
> > potential testers who do not have their browsers configured to meet
> > these requirements
> 
> You can't get reproducable results from testing without consistent
> starting conditions.

Ian, you'll address this a couple of lines ahead, but the point is you *do*
need to establish initial conditions for the tests.  The difficulty you and
Philip are discussing is probably pointing out a weakness in the
specification.


> > why can the tests not start by defining settings for the BODY and/or
> > HTML regions which establishe this environment and by displaying
> > introductory material which can be used to verify that the pre-test
> > criteria are now met
> 
> Because there are so many of them. You'd end up with dozens of rules just
> setting up the initial conditions, and if anything was buggy in anything
> that depended on, you'd have to throw away the whole suite. You'd also be
> unable to test things like initial values.

Initial values are simply *not* testable because of the lack of
specification of a default style sheet.  The UA is free to implement one or
not [1], and the content (if one is implemented) is completely unspecified
and only weakly outlined. [2]

As a direct result, the values of any attribute cannot be known because it
*may* have been overridden by a setting in the default style sheet unless
the author fully specifies the complete and lengthy "initial conditions"
style sheet you shy away from above.

The interesting thing to notice is that you haven't relieved the UA of the
burden of supporting the "dozens of rules" just to get started.  You've
simply foisted the effort on to the user/test engineer.  Let me see if I can
illustrate what I mean:

If the only requirements are the few you mention at the start of your Friday
post (black text on white background...), wouldn't it be more succinct to
document them as a small set of rules?

If the requirements are really the dozens of rules you worry about (which I
believe is true), don't you need to tell the user/test engineer about these?
Again, wouldn't it be more precise to document the prerequisites in a style
sheet?

In the end, how do you imagine the user will generate whatever initial
conditions you require?  Won't they just change the default style sheet (or
something equivalent) to reflect your requirements?  It seems to me fairly
clear that the UA will have exactly the same probability of "throwing away
the whole suite" as it would if you simply included a style sheet in the
tests that sets up the initial conditions explicitly.


> > Surely one of the main points of the tests is to ensure that /no matter
> > how/ a user may have elected to configure his/her browser, certain
> > effects can be reliably accomplished using CSS ?
> 
> That's certainly one of the things we want to test, but it's better tested
> by specific tests, I think.
> 
> --
> Ian Hickson               U+1047E                )\._.,--....,'``.    fL
> http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
> Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


To get back to the testability of initial values, the only way I can see to
legitimately test them is through the few shorthand rules that call for
"resetting to initial values" for unspecified elements (e.q. font [3]).  I'm
personally unclear whether or not specifying the 'inherit' value for a
property [4] masks the initial value for even the shorthand tests, but I
believe it doesn't. 

As I mentioned earlier, I believe the difficulty establishing cross platform
initial conditions, and the inability to test initial values reliably, is
pointing out a weakness in the specification.

Remember that any difficulty we have establishing a dependable initial
condition for the test suite will be shared by every style sheet author that
cares about consistent cross platform rendering.  They won't have the luxury
of demanding the user preconfigure anything.

-MM


[1]
http://www.w3.org/TR/2004/CR-CSS21-20040225/cascade.html#default-style-sheet
[2] http://www.w3.org/TR/2004/CR-CSS21-20040225/sample.html
[3] http://www.w3.org/TR/2004/CR-CSS21-20040225/fonts.html#propdef-font
[4]
http://www.w3.org/TR/2004/CR-CSS21-20040225/cascade.html#value-def-inherit
Received on Saturday, 24 July 2004 15:33:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:31 GMT