comments on the current SVG test template

Hi everyone,

I was just thinking about tests again, and looking at the most recent 
revision of the template in 
http://www.w3.org/Graphics/SVG/WG/wiki/SVG2/Testing_Requirements (at the 
bottom of the page), I have a few more comments.  I would really love it 
if we could pare it back -- the more complex the template, the bigger 
the mental barrier (at least for) to actually use it and write tests.

(Also, we really need to get Shepherd running on our nascent test suite. 
  Does anyone remember what is required to get this going, or have 
pointers to where we have discussed this?  I seem to have forgotten. :\)


(1) On the wiki page there it is mentioned that:

   xmlns:xlink="http://www.w3.org/1999/xlink" to be removed after SVG2
   adopted

I'm not sure what "adopted" means here.  Once the specification is a 
recommendation?  Is this under the assumption that we add our own <link> 
element to SVG?  (I think we have discussed this and people liked the 
idea, though I can't find an open issue for it.)  Is there any reason 
not to, once we add <link> to the spec, use it rather than <html:link> 
in the test template?  Note that those <link> elements there aren't 
relying on any particular behaviour like a <link rel="stylesheet"> would 
have.


(2) On the root element width="100%" height="100%" are the lacuna 
values, so we can remove them.


(3) What is the purpose of the id="svg-root"?  If it has none, can we 
remove it?


(4) Is it necessary to include the copyright/license links in each test, 
or is it possible to have them somewhere more globally (like at the root 
of the test suite) to avoid the repetition?  I am just wondering why the 
CSS tests don't have this but we do.


(5) What is the <!-- YYYY-MM-DD --> for?


(6) I find it a bit strange that class="" is used as in <metadata 
class="flags"> and <desc class="assert">.  While <desc> allows style="" 
and class="" (I *think* because of tooltip stuff), <metadata> doesn't. 
Just like we do not put a class="" on <title> to identify it as the 
title, can we perhaps use <desc> without a class="" to hold the test 
assertion?  For <metadata>... not sure.  I wonder if in addition to 
<metadata> we should have <meta> in SVG as well, the former being for 
structured metadata content (it taking children), the latter for 
name–content pairs as in HTML?  If we did do this then I would suggest 
just using <meta name="assert"> rather than <desc>.  Regardless, 
class="" doesn't seem like exactly the right attribute to use on <metadata>.


(7) Do we need the FreeSans font reference in each test?  One of the 
great advantages of being reftests is that the test passing conditions 
need not depend on exact fonts.  Most CSS tests don't require particular 
fonts.  I think we can get away with not using FreeSans in most cases 
too, and therefore I think we needn't have the @font-face rule there in 
the template.


(8) Is there a particular need to have the <style id="test-style"> 
present?  I think it is understandable that CSS tests have a dedicated 
place to put the CSS being tested (as most tests will have a <style> 
that is the focus of the test), but I don't think we need that.  I think 
we definitely don't need the type="text/css" on it, anyway.


(9) Can we leave out the <defs></defs>?  Test authors can add a <defs> 
if they need one.


(10) Do we want to continue placing the test title visibly in the file? 
  The CSS tests do not do this.  I don't think it is necessary, and it 
requires the authors to duplicate information that is already in the 
<title>.


(11) Is there an need for <g id="test-body-content">?  Can we just write 
our test content after the <g id="testmeta">?  (I think it makes some 
sense to keep it if we do not remove the visible title text per (10).)


Sorry for all of this sounding quite negative, but I think it is 
important that the template be simple.

Received on Thursday, 10 January 2013 06:58:57 UTC