Options:
- # Session Start: Thu Sep 01 00:00:00 2011
- # Session Ident: #css
- # [00:02] * Quits: Martijnc (Martijnc@84.192.44.100) (Quit: Martijnc)
- # [00:05] * Quits: TabAtkins (tabatkins@216.239.45.4) (Ping timeout)
- # [00:07] <stearns> fantasai: looking at current id usage, I'm assuming not-testable would include headings and dfn elements as well. Do you agree?
- # [00:07] <fantasai> The anchors on headings represent the entire section
- # [00:08] <fantasai> not the heading only
- # [00:08] <fantasai> So they should usually be considered testable
- # [00:08] <fantasai> unless it's an informative section
- # [00:08] <fantasai> stearns: as for <dfn> elements, it depends. Quite a few <dfn>s are testable
- # [00:09] <fantasai> stearns: The value of each property is in a <dfn>
- # [00:09] <fantasai> stearns: And that anchor represents the contents of the <dt> and the <dd> it's associated with
- # [00:10] <fantasai> stearns: Those are pretty much always testable, no?
- # [00:10] <stearns> So if a heading represents a testable section, and that section contains dfn elements with ids as well, how would you like to count up test coverage?
- # [00:12] <fantasai> assign each test to its anchor
- # [00:12] <fantasai> ?
- # [00:12] <fantasai> as determined by the test writer?
- # [00:13] <stearns> Say I have a section with a heading anchor that lists some property values, each with its own anchor
- # [00:13] <stearns> tests are written for each value, but outside of that there's nothing to test for the heading anchor
- # [00:14] <fantasai> highly unlikely
- # [00:14] <fantasai> if nothing else, you need to also test whether inheritance happens correctly
- # [00:14] <fantasai> and whether the initial value is correct
- # [00:14] <fantasai> and whether the property applies to all the things it's supposed to apply to
- # [00:14] <stearns> ok, that sounds good
- # [00:15] <fantasai> And pretty much every property also has some other things to test
- # [00:15] <fantasai> in the description
- # [00:15] <fantasai> An example of a section that has nothing to test is http://dev.w3.org/csswg/css3-text/#edge-effects
- # [00:15] <fantasai> There's just a paragraph introducing the subsections
- # [00:15] <fantasai> which contain stuff to test
- # [00:16] <fantasai> The property definition table will contain the applies to, initial, inhertied, computed value lines
- # [00:16] <fantasai> that has an anchor, which can also be used
- # [00:16] <fantasai> for finer granularity
- # [00:16] <stearns> there's also anchors for sections 1 and 1.1 that probably don't have tests
- # [00:17] <fantasai> right
- # [00:17] <fantasai> 1.3 would have tests, though
- # [00:17] <fantasai> even though it's just a bunch of <dfn>s :)
- # [00:17] <stearns> and 1.2 (inherit keyword)
- # [00:17] <fantasai> A test would probably be for something that uses one of the definitions
- # [00:17] <fantasai> and a secondary or tertiary link would go to 1.3
- # [00:18] <fantasai> you could have a test, for example, that checks that symbols are not treated as letters
- # [00:18] <fantasai> for the purpose of <whatever>
- # [00:18] <stearns> so for edge effects, sections 1 and 1.1 there would be a new "non-normative" class attribute?
- # [00:18] <stearns> or non-testable?
- # [00:18] <fantasai> well.. it's a littel confusing
- # [00:19] <fantasai> since Edge Effects doesn't have any tests for its own text
- # [00:19] <fantasai> but it contains subsections that would
- # [00:19] <fantasai> you'd have to be clear that the subsections aren't affected
- # [00:20] <stearns> perhaps it should point to the id -> class="non-testable-id"
- # [00:20] <fantasai> yeah maybe
- # [00:20] <fantasai> One of the key things I learned when I did the assertions list for css3-page
- # [00:20] <fantasai> was that the spec does not contain test assertions :)
- # [00:21] <fantasai> it only contains prose that has to be interpreted into test assertions
- # [00:21] <fantasai> and often those test assertions are combinations of multiple statements in the spec
- # [00:21] <stearns> so a test might point to multiple ids in the spec
- # [00:21] <fantasai> yes
- # [00:22] <fantasai> very frequently, in fact
- # [00:22] <fantasai> and the more granular your IDs, the more this will happen
- # [00:22] <stearns> yeah, I was assuming I'd be doing that
- # [00:24] <fantasai> evaluating test coverage is also more qualitative than quantitative
- # [00:24] <fantasai> yes, you want at least one test per testable statement
- # [00:24] <fantasai> but very often you need much more than one test :)
- # [00:24] <fantasai> and how much is determined by what that statement is
- # [00:24] <fantasai> and how it interacts with other statements
- # [00:24] <stearns> plinss: would the tool work you're considering work with this "assume ids are testable with exceptions" scheme?
- # [00:25] <fantasai> stearns: maybe we could have a <div> that, like class="example" and class="note", means its contents aren't testable
- # [00:25] <fantasai> stearns: then we could wrap e.g. Edge Effects and its paragraph intro in the <div>
- # [00:26] <fantasai> it'd be clear then that it only applies to that paragraph, and not the subsections after it
- # [00:26] <fantasai> <div class="informative">
- # [00:26] <stearns> not sure I agree that examples aren't testable. In all other specs I've worked on the examples are *always* tests (to make sure they work)
- # [00:27] <plinss> stearns: the tool could handle pretty much anything, the simpler the better for me, obviously
- # [00:27] <fantasai> that's fair, but those tests are unlikely to be automatable...
- # [00:28] <plinss> so far both shepherd and the harness only look at section headings (and in fact we restrict test to spec links to section headings)
- # [00:31] <stearns> So excluding example, note and perhaps "informative" anchors works as long as there is no intervening element with some other class attribute
- # [00:31] <fantasai> You'd just cut out the entire contents of the .example, .note, and .informative
- # [00:31] <stearns> (and if that's the case, we could move or introduce the "informative" div closer to the non-testable anchor)
- # [00:31] <fantasai> And process the spec as if they're not there
- # [00:32] <fantasai> We don't have any markup that inserts a normative section in the middle of a non-normative one
- # [00:33] <stearns> ok, let me pass this by Vincent, then I'll write up a modified proposal to the testsuite list
- # [00:35] * Joins: TabAtkins (tabatkins@216.239.45.4)
- # [00:36] * Quits: miketaylr (miketaylr@24.42.93.245) (Quit: miketaylr)
- # [00:37] <fantasai> stearns: we could consider skipping <dfn>s that aren't inside a <dt>, and using paragraph anchors instead
- # [00:37] <fantasai> stearns: I'm not sure about the best way to deal with that yet...
- # [00:41] <stearns> yeah, the propdef tables always have a dfn, and that may not be the best place to anchor a test
- # [00:41] <fantasai> yeah, we'd probably want to anchor to the propdef table itself
- # [00:42] <fantasai> So, good candidates for test anchors are
- # [00:42] <fantasai> a) headings
- # [00:42] <fantasai> a) propdef tables
- # [00:42] <fantasai> c) other tables, if they have an ID
- # [00:42] <fantasai> d) <dfn> of a <dt>, representing the <dt><dd> pair
- # [00:43] <fantasai> e) Anchors to <p>, <li>
- # [00:43] <fantasai> f) <span> if someone wants sentence-level anchors :)
- # [00:43] <fantasai> or phrase-level
- # [00:43] <fantasai> (depends on the sentence)
- # [00:44] * fantasai wonders if there's an HTML5 element that's better for that
- # [00:45] <fantasai> http://www.w3.org/TR/html5/text-level-semantics.html#the-mark-element
- # [00:45] <fantasai> ah, I'm disappointed it wasn't called <m>!
- # [00:46] * fantasai supposes that's been bikeshedded to death though.
- # [01:02] * arronei fantasai: isn't there a <bs> element for bikeshedding? :)
- # [01:23] * Joins: shepazu (shepazu@128.30.52.169)
- # [02:08] <hober> IIRC it was called <m> for a while
- # [02:09] * Joins: jdaggett (jdaggett@202.221.217.73)
- # [02:21] <fantasai> hober: yeah, that's what I remembered
- # [02:38] * Quits: stearns (anonymous@192.150.22.5) (Ping timeout)
- # [02:43] * Quits: arno (arno@192.150.10.200) (Quit: Leaving.)
- # [02:44] * Joins: arno (arno@192.150.10.200)
- # [03:48] * Joins: Florian (Florian@58.1.224.28)
- # [03:55] <jdaggett> fantasai: more silly www-archive questions...
- # [03:55] <jdaggett> fantasai: does one need to subscribe to post to that list?
- # [03:55] <jdaggett> or just send a mail to the list address?
- # [03:56] <jdaggett> fantasai: eric is trying to send his table for a unicode orientation property
- # [04:04] * Joins: arno1 (arno@192.150.10.200)
- # [04:05] * Quits: arno (arno@192.150.10.200) (Ping timeout)
- # [04:29] * Joins: stearns (anonymous@50.132.9.217)
- # Session Close: Thu Sep 01 07:18:03 2011
- #
- # Session Start: Thu Sep 01 07:18:03 2011
- # Session Ident: #css
- # [07:18] * Disconnected
- # [07:20] * Attempting to rejoin channel #css
- # [07:20] * Rejoined channel #css
- # [07:20] * Quits: krijnh (krijnhoetm@145.53.238.157) (Ping timeout)
- # [07:20] * Joins: CSSWG_LogBot (PircBot@173.230.149.95)
- # [07:20] * Joins: gsnedders (gsnedders@204.232.194.186)
- # [07:20] * Joins: TabAtkins (tabatkins@216.239.45.4)
- # [07:25] * Quits: nimbu (Adium@24.18.47.160) (Quit: Leaving.)
- # [07:57] * Quits: jdaggett (jdaggett@202.221.217.73) (Quit: jdaggett)
- # [09:35] * Joins: Ms2ger (Ms2ger@91.181.91.218)
- # Session Close: Thu Sep 01 10:03:02 2011
- #
- # Session Start: Thu Sep 01 10:03:02 2011
- # Session Ident: #css
- # [10:03] * Disconnected
- # [10:05] * Attempting to rejoin channel #css
- # [10:05] * Rejoined channel #css
- # [10:05] * Quits: krijnhuman (krijnhoetm@145.53.238.157) (Ping timeout)
- # [10:06] * Joins: gsnedders (gsnedders@204.232.194.186)
- # [10:06] * Joins: anne (annevk@83.85.115.123)
- # [10:06] * Joins: TabAtkins (tabatkins@216.239.45.4)
- # [10:07] * Joins: CSSWG_LogBot (PircBot@173.230.149.95)
- # [10:57] * Parts: howcome (howcome@88.89.78.85)
- # [12:43] * Quits: Florian (Florian@58.1.224.28) (Quit: Leaving.)
- # [13:03] * RRSAgent excuses himself; his presence no longer seems to be needed
- # [13:03] * Parts: RRSAgent (rrs-loggee@128.30.52.169)
- # [13:38] * Quits: homata (homata@58.158.182.50) (Quit: Leaving...)
- # [16:34] * Joins: BradK (bradk@99.7.175.117)
- # [16:44] * Quits: BradK (bradk@99.7.175.117) (Quit: Buh bye)
- # [17:47] * Joins: hober (ted@174.143.153.77)
- # [18:06] * Joins: dsinger_ (dsinger@65.50.220.160)
- # [18:06] * Parts: dsinger_ (dsinger@65.50.220.160)
- # [19:09] * Joins: Martijnc (Martijnc@84.192.44.100)
- # [19:09] * Quits: stearns (anonymous@50.132.9.217) (Quit: stearns)
- # [19:11] * Joins: stearns (anonymous@50.132.9.217)
- # [19:11] * Quits: stearns (anonymous@50.132.9.217) (Quit: stearns)
- # [19:52] * Joins: stearns (anonymous@192.150.22.5)
- # [20:00] * Joins: karl (karlcow@128.30.54.58)
- # [20:45] * Joins: TabAtkins_ (tabatkins@216.239.45.4)
- # [21:05] * Quits: arno1 (arno@192.150.10.200) (Ping timeout)
- # [22:09] * Joins: vhardy (vhardy@192.150.10.201)
- # [22:21] * Joins: ferdinand (5f7befc7@207.192.75.252)
- # [22:22] * Quits: ferdinand (5f7befc7@207.192.75.252) (Quit: http://www.mibbit.com ajax IRC Client)
- # [22:27] * Quits: Martijnc (Martijnc@84.192.44.100) (Quit: Martijnc)
- # [22:28] * Joins: Martijnc (Martijnc@84.192.44.100)
- # [22:30] * Quits: Ms2ger (Ms2ger@91.181.91.218) (Quit: nn)
- # [22:31] * Quits: Martijnc (Martijnc@84.192.44.100) (Ping timeout)
- # [22:59] * Joins: miketaylr (miketaylr@77.40.224.114)
- # [23:03] * Joins: arronei_ (arronei@131.107.0.91)
- # [23:03] * Quits: arronei (arronei@131.107.0.118) (Ping timeout)
- # Session Close: Fri Sep 02 00:00:00 2011
The end :)