Hi,

There was a discussion about supporting W3C ref tests at TPAC yesterday.
However, there appears to be some disagreement in how we support them.

*Overview*

CSS WG ref tests contain link elements that specify reference files. e.g.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";><html
<http://december.com/html/4/element/html.html>
xmlns="http://www.w3.org/1999/xhtml";>
 <head <http://december.com/html/4/element/head.html>>
  <title <http://december.com/html/4/element/title.html>>CSS Reftest
Reference</title <http://december.com/html/4/element/title.html>>
  <link <http://december.com/html/4/element/link.html> rel="author"
title="NAME_OF_AUTHOR" href="mailto:EMAIL OR http://CONTACT_PAGE"/>
<link <http://december.com/html/4/element/link.html> rel="match"
href="green-box-ref.xht" />
  <style <http://december.com/html/4/element/style.html>
type="text/css"><![CDATA[   CSS FOR REFERENCE  ]]></style
<http://december.com/html/4/element/style.html>>
 </head <http://december.com/html/4/element/head.html>>
 <body <http://december.com/html/4/element/body.html>>
  CONTENT OF REFERENCE
 </body <http://december.com/html/4/element/body.html>></html
<http://december.com/html/4/element/html.html>>


The highlighted line specifies that the rendered result of this page should
be compared with that of green-box-ref.xht. This is very different from our
current method to use filenames such as -match.html, -mismatch.html, etc..
to identify reference files.

In addition, W3C test suites have a build step, which generates
Mozilla-like test manifest files. This file will contain entries that
identifies tests and corresponding reference files. e.g.


== floats-wrap-bfc-outside-001.xht floats-wrap-bfc-outside-001-ref.xht
== floats-wrap-top-below-bfc-001l.xht floats-wrap-top-below-001l-ref.xht
!= floats-wrap-top-below-bfc-001l.xht floats-wrap-top-below-001l-notref.xht
== floats-wrap-top-below-bfc-001r.xht floats-wrap-top-below-001r-ref.xht
!= floats-wrap-top-below-bfc-001r.xht floats-wrap-top-below-001r-notref.xht

All browser vendors who attended the meeting preferred this format.
Microsoft representatives didn't attend the meeting.

*Link element approach*
Pros:

   - Can reuse same ref. file for multiple tests
   - Can have multiple ref. files for single test
   - Information is self-contained in the test file
   - We may get away with test suite build step

(It turns out that we can't convert W3C ref tests to use WebKit conventions
due to the first two points.)

Cons:

   - Requires us modifying each port's DRT to support this format
   - Adding link elements itself may affect tests (all W3C tests are
   required to have link elements at the moment)
   - Hard to understand relationship between files. e.g. if we want to
   figure out which tests use ref.html, we must look at all test files
   - Other browser vendors (Firefox and Opera) prefer manifest file approach


*Manifest file approach*
Pros:

   - Easy to parse, and do not require us modifiying each port's DRT to
   support
   - Easy to tell relationships between files at glance
   - Do not affect tests since manifest files are external to tests
   - Preferred approach of Firefox and Opera

Cons:

   - Have to maintain information in two places, tests and manifests (W3C
   test suites auto-generates manifest files in their build step)
   - Require build step (new W3C tests only have link elements but not
   manifests)


I strongly prefer WebKit use the manifest file approach and deprecate our
current file-name convention because it won't burden each port, and it's
the preferred method of other browser vendors.  Any opinions?
*
*
Best,
Ryosuke Niwa
Software Engineer
Google Inc.
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to