Hi,
Using CSS Schema and a corresponding CSS Schema Validator it will be
possible to write a basic CAscading style sheets Test Effort Coverage
Analysis Tool ("Catecat") to help demonstrate test coverage and fill
gaps in the test suite. Parts of this tool can be used to test the CSS
Schema Validator.
In the first stage the tool will process a schema instance and generate
all useful permutations of property values. For example, play-during in
CSS 2.1 is defined as
<uri> [ mix || repeat ]? | auto | none | inherit
This could yield in these permutations
<uri>
<uri> mix
<uri> repeat
<uri> mix repeat
<uri> repeat mix
auto
none
The tool would then check all occurences of the play-during property in
the test suite files against these permutations and maintain a list for
each permutation which test file the permutation covers. Dumping this
list would then provide basic coverage information.
This is primarily useful to generate test for the CSS Schema Validator
to ensure that no legal use of CSS is considered illegal use, to test
coverage it would likely need some fine-tuning. The tool should already
take care of not generating permutations for all color keywords and
similar mass variability, but it will likely generate permutations that
are not very useful to test.
To deal with not-so-useful tests, it should provide a simple means to
mark specific permutations as e.g. WONTTEST which will then be toned
down in the coverage report. The report should also note that such a
coverage analysis, while useful, does not give much information about
many features, e.g. it won't tell whether margin collapsing is properly
tested (though it should be possible to extend the tool to cover e.g.
combinations of properties, like, is there a test that specifies both
color:rgba(...) and opacity:... for the same element).
To use this to test the CSS Schema Validator it will be necessary to
generate some instance data e.g. for <uri>, rgb(...), etc.
regards.
--
BjÃ¶rn HÃ¶hrmann Â· mailto:bjoern@hoehrmann.de Â· http://bjoern.hoehrmann.de
Weinh. Str. 22 Â· Telefon: +49(0)621/4309674 Â· http://www.bjoernsworld.de
68309 Mannheim Â· PGP Pub. KeyID: 0xA4357E78 Â· http://www.websitedev.de/