Re: Test Case Template/Meta Data

Kris Krueger wrote:
>  * What parts of the HTML5 parsing does it specifically test? 9.2.2.4?

Given a test like:

<!doctype html PUBLIC "-//W3C//DTD HTML 3.2//en"><p><table>

Which expects a tree like:
| DOCTYPE html "-//W3C//DTD HTML 3.2//en" void
| html
|   head
|   body
|   p
|     table

What would you say this tests? It tests (off the top of my head, not 
actually running through this in the parser): 9.2.3, 9.2.4.1, 9.2.4.8, 
9.2.4.10, 9.2.4.45, 9.2.4.53, 9.2.4.54, 9.2.4.55, 9.2.4.56, 9.2.4.57, 
9.2.4.58, 9.2.4.59, 9.2.4.61, 9.2.5.1, 9.2.5.2, 9.2.5.4, 9.2.5.5, 
9.2.5.5, 9.2.5.6, 9.2.5.7, 9.2.5.9, 9.2.5.10, 9.2.5.12, 9.2.5.22, 
9.2.25, and 9.2.6.

Any parser test inevitably will test large parts of tokenization and 
tree-building as that is the only way to get to those states.

James' example of <table>x has the "x" being processed in 9.2.4.1, 
9.2.5.3, 9.2.5.10, 9.2.5.12, and 9.2.5.13: what does that eight 
character test test? If we can't quite easily agree upon where an eight 
character test should be classified, what hope do we have for more 
complex tests such as mine above?

I agree ideally we need to categorize the parser tests, but I'm not sure 
how easily they can be classified (I think the one classification we do 
need and is unambiguously needed is tests that are specific for 
scripting-enabled case and scripting-disabled case).

>  * What does failure look like?

The parsed DOM does not match the tree given. It should be obvious 
whether something passes or fails, I don't think we need to describe 
what failure looks like (heck, failure by nature can look like anything).

>  * What should we focus on adding next for parsing tests section 9.2.2.4, 9.2.5.26?

I think we can learn from the CSS WG that the difficulty is getting a 
test suite written at all, the difficulty is getting people writing 
tests. I think worrying about how we are going to know what section to 
write tests for is the least of our worries: we need to get tests 
written at all to start with, and for implementers at least, they will 
want tests for the entire parser (so caring about 9.2.2.4 or 9.2.5.26 is 
irrelevant), or for other parts of the spec, what they are implementing.

Trying to push people to write tests for a specific part of the spec 
seems futile unless we know we have people who can just write tests for 
any part of the spec.

-- 
Geoffrey Sneddon — Opera Software
<http://gsnedders.com/>
<http://www.opera.com/>

Received on Friday, 20 November 2009 15:07:24 UTC