[css-writing-modes-3] Is Chrome passing or failing block-flow-direction-009 ?

Hello,

[src]
http://test.csswg.org/source/css-writing-modes-3/block-flow-direction-009.xht

and its reference file:

http://test.csswg.org/source/css-writing-modes-3/block-flow-direction-001-ref.xht


[nightly-unstable]
http://test.csswg.org/suites/css-writing-modes-3_dev/nightly-unstable/html/block-flow-direction-009.htm

and its reference file:

http://test.csswg.org/suites/css-writing-modes-3_dev/nightly-unstable/html/reference/block-flow-direction-001-ref.htm


I have been receiving 2 approximatively identical emails about 
block-flow-direction-009 test.
Basically saying:

[
    I see, read a big yellow "PASS" word but, in Chrome 40+, it is 
located on the righthand side of the page when the reference file 
indicates that the big yellow "PASS" word should be located on the 
lefthand side of the page. So, is Chrome passing that 
block-flow-direction-009 test?
]


The short answer is
-------------------

Chrome passes that block-flow-direction-009 test and Chrome will fail 
another specific test elsewhere in the Writing Modes test suite.


My long answer is
-----------------

block-flow-direction-009 test is trying to test only and exclusively if 
the block flow direction uses a right-to-left direction. 
block-flow-direction-009 test is *not* trying to test if block-start of 
writing-mode of containing block is correctly implemented for an abs. 
pos. element in orthogonal flow.

block-flow-direction-009 test's building logic is that the tester 
(person taking that block-flow-direction-009 test) will be able to read 
"PASS" if a block flow direction uses a right-to-left direction. Now, 
*where* that vertical-rl block should be displayed within its containing 
block is another issue and must be tested in another test; the 
block-flow-direction-009 test is trying to only checks *how* the 
vertical-rl block is "built" and rendered. So, both test results (pass 
or fail) could be considered as valid. Because it is very difficult to 
isolate the test purpose from other layout issues involved.

When a test has 'writing-mode: vertical-rl', then *many* layout css 
features (line box flow, block flow direction, block start of BFC, 
precedence algorithms, etc) change altogether. It is impossible to write 
a simple test (with reduced amount of code) that will isolate 1 and only 
1 aspect of the many css features that change. With more constraints and 
more restraints (which involve more coding, rules, declarations), it 
could be possible (but longer) to try to isolate 1 aspect at the time.

As the author of block-flow-direction-009 test, what was important to do 
next was to make sure that there is (or will be) another test somewhere, 
elsewhere testing solely where the vertical-rl block in orthogonal flow 
should be displayed within its horizontal-tb containing block. And I 
create 32 tests dedicated at checking that: abs-pos-non-replaced-icb-v*

The block-flow-direction-009 test is not ideal because it does not use a 
pass-fail-conditions sentence to describe expected result. But, as far 
as tester's ease of checking a test, block-flow-direction-009 test is 
excellent: if (s)he can read "PASS", then it's a passed test. Easy and 
fast to do. Again, we have other (32!) tests on absolute positioning 
where Chrome will be detected as failing.

"
Adding 32 tests on absolute positioning of child in
orthogonal flow having to be positioned within
the Initial Containing Block which is in
horizontal writing-mode.
(...)
Chrome 44.0.2391.0 fails 16 tests.
"
[css-writing-modes-3] 32 abs. pos. in Initial Containing Block tests 
submitted ( abs-pos-non-replaced-icb-vlr and 
abs-pos-non-replaced-icb-vrl )
http://lists.w3.org/Archives/Public/public-css-testsuite/2015May/0006.html


In conclusion
-------------

If you thought that Chrome 40-45 passed block-flow-direction-009, then 
you are correct.

If you thought that, after comparing with reference file, Chrome 40-45 
failed block-flow-direction-009, then you are also correct.

When Google Chrome developers fix Chrome with regards to block-start of 
writing-mode of containing block implementation for an abs. pos. element 
in orthogonal flow, then there will be no hesitation or doubt with 
regards to Chrome and block-flow-direction-009 test.

Gérard
-- 
Test Format Guidelines
http://testthewebforward.org/docs/test-format-guidelines.html

Test Style Guidelines
http://testthewebforward.org/docs/test-style-guidelines.html

Test Templates
http://testthewebforward.org/docs/test-templates.html

CSS Naming Guidelines
http://testthewebforward.org/docs/css-naming.html

Test Review Checklist
http://testthewebforward.org/docs/review-checklist.html

CSS Metadata
http://testthewebforward.org/docs/css-metadata.html

Received on Sunday, 31 May 2015 22:18:55 UTC