Re: dependencies in tests

> On 17 Jun 2015, at 22:24, Gérard Talbot <css21testsuite@gtalbot.org> wrote:
> 
> Le 2015-06-17 02:41, Florian Rivoal a écrit :
>>> If the user agent does not support vertical writing-mode, then the test must fail.
>> Why? I am writing a test for the css3-ui test suite. css3-ui has a
>> provision for what to do if vertical text is supported (which is what
>> I am trying to test), but it does not require vertical text to be
>> supported.
> 
> css3-ui does not require vertical text to be supported: that's correct.
> 
> But then...
> 
> For 'cursor: text', "User agents may automatically display a horizontal I-beam/cursor (e.g. same as the vertical-text keyword) for vertical text"
> 
> http://www.w3.org/TR/2015/WD-css3-ui-20150519/#cursor
> 
> How do you define 'vertical text' in that sentence?
> 
> How is it possible to have vertical text while, at the same time, not being able to support vertical 'writing-mode'?
> 
> Isn't 'vertical text' in that sentence implicitly assuming that a vertical writing-mode has to be supported?

My understanding is that vertical text doesn't refer to any particular mechanism. The one we have is writing modes, but css3-ui is being neutral about that, and merely says:

Regardless of how you do it, if you support vertical text, here's how the 'text' cursor behaves when mousing over vertical text.

> That's why there is a "may" in that sentence. Failing that test will not make the UA fail the required tests for conformance to css3-ui. My understanding.


There's two things interacting here.

1) There a "may", so failing the test is not the end of the world, but the "may" does not affect what the conditions are for pass of fail.

2) If you go with standard logic, when testing the statement "if A then B", then having A and not B is a failure, having A and B is a success, and not having A is a success, regardless of B.

However, saying that a browser passes if it didn't implement anything is not terribly helpful. But saying that it fail when it didn't need to do anything (since vertical text isn't supported) isn't great either, which is why I am looking for a "if not A, skip this test" answer.

But from your comments, I guess this isn't the way we do things. In this case, thanks to the "may", it turns out that it's not a major problem, but we have other similar cases where there is no "may" to save the day, and it's more annoying. For example, we have some tests that check for the interaction of multicol and regions. If you support both and fail the test, then it's a clearly a failure, but I think it is a problem that an implementation that is only trying to implement one of the 2 would fail the test. If such tests were not included in any particular spec's conformance test suite, I wouldn't mind but they get pulled into both, and that means that are effectively discouraging writing cross-spec tests, since they create (or appear to create) dependencies that weren't required by the spec itself.


 - Florian

Received on Thursday, 18 June 2015 10:27:22 UTC