Re: [css-writing-modes-3] Test planning on sizing orthogonal blocks (§ 7.3.2): 128 tests

Le 2016-09-07 20:32, Gérard Talbot a écrit :
> Le 2016-09-07 17:40, Gérard Talbot a écrit :
>> Koji, Elika,
>> 
>> 7.3. Orthogonal Flows
>> https://drafts.csswg.org/css-writing-modes-3/#orthogonal-flows
>> 
>> 7.3.2 Auto-sizing Block Containers in Orthogonal Flows
>> https://drafts.csswg.org/css-writing-modes-3/#auto-multicol
>> 
>> 
>> I am planning to create 128 tests thoroughly checking the formula:
>> 
>> min(max-content, max(min-content, constraint))
>> 
>> where
>> 
>> min-content inline-size of the box: longest word in a sentence or
>> longest non-breakable inline box (inline replaced or inline-block).
>> Eg: "sentence" in "I am a text sentence."
>> https://www.w3.org/TR/css-sizing-3/#min-content-inline-size

min-content inline-size of the box: "(...) the inline size that would 
fit around its contents if all soft wrap opportunities within the box 
were taken."
Eg: "sentence." (with the inclusion of the full stop) would be the 
min-content inline-size of the box <p>I am a text sentence.</p>

>> 
>> max-content inline size: narrowest inline size needed to fit its
>> contents if none of the soft wrap opportunities within the box were
>> taken. Eg: "I am a text sentence."
>> https://www.w3.org/TR/css-sizing-3/#max-content-inline-size

To be more precise: the max-content inline-size of the box
<p>I am a text sentence.</p> would be
"I&nbsp;am&nbsp;a&nbsp;text&nbsp;sentence."

Gérard

>> 
>> - - - - - - -
>> 
>> What will be those 128 tests?
>> 
>> 
>> First, the writing-modes involved:
>> 
>> I will be doing tests involving 3 writing-modes only: htb, vrl and
>> vlr. I am excluding parallel-to-each-other writing-modes and I am
>> excluding 'sideways-rl' and 'sideways-lr' writing-modes. So, tests
>> will involve these writing-mode couples: htb-vrl, htb-vlr, vrl-htb,
>> vlr-htb == 4 combinations of writing-modes.
>> eg. htb-vrl means that the principal document writing-mode is
>> 'horizontal-tb' and the orthogonal block is 'vertical-rl'
>> 
>> 
>> Second, body has or has no vertical margins:
>> 
>> body has 100px margin-top and 100px margin-bottom
>> body has no vertical margins                                  ==  2 
>> combinations
>> 
>> 
>> Third, containing block's height is indefinite or definite:
>> 
>> containing block's height is 'auto' therefore indefinite
>> containing block's height is, say, 400px therefore definite   ==  2 
>> combinations
>> 
>> 
>> Fourth, containing block has sentences before and after or no 
>> sentence:
>> 
>> containing block has 1 sentence before and after
>> containing block has no sentence before and no sentence after  ==  2
>> combinations
>> 
>> 
>> Fifth,
>> 
>> orthogonal block's height is 'auto'
>> orthogonal block's height is 'auto' and its min-content inline-size is
>> greater than containing block's (definite) height (1 very long word)
>> orthogonal block's height is 'auto' its max-content inline-size is
>> smaller than containing block's (definite) height (short sentence)
>> orthogonal block's height is 50%                              ==  4 
>> combinations
>> 
>> ==========================================================================
>> 
>> 4 mult by 2 mult by 2  mult by 2  mult by 4                   ==  128 
>> tests
>> 
>> 
>> Tests filenaming:
>> 
>> sizing-orthog-vrl-in-htb-[001-032]
>> 
>> sizing-orthog-vlr-in-htb-[033-064]
>> 
>> sizing-orthog-htb-in-vrl-[065-096]
>> 
>> sizing-orthog-htb-in-vlr-[097-128]
>> 
>> which I think is descriptive enough.
> 
> Since filename include the 2 involved writing-modes, then the test
> filenaming will be instead:
> 
> sizing-orthog-vrl-in-htb-[001-032]
> 
> sizing-orthog-vlr-in-htb-[001-032]
> 
> sizing-orthog-htb-in-vrl-[001-032]
> 
> sizing-orthog-htb-in-vlr-[001-032]
> 
> 
>> If one day we want to tests 'sideways-*', then we should reuse such
>> filenaming scheme. Eg sizing-orthog-srl-in-htb-[129-160]
> 
> If one day we want to tests 'sideways-*', then we should reuse such
> filenaming scheme. Eg sizing-orthog-srl-in-htb-[001-032]
> 
> Gérard
> 
>> 
>> If one day we want to test parallel-to-each-other writing modes, then
>> we should use sizing-parall-vrl-in-vlr-[001-032] filenaming scheme.
>> 
>> 
>> Inside each batch of 32 tests:
>> 001-016 : body has 100px margin-top and 100px margin-bottom
>> 017-032 : body has no vertical margins
>> 
>> Inside each sub-batch of 16 tests:
>> 001-008: containing block's height is 'auto' therefore indefinite
>> 009-016: containing block's height is, say, 400px therefore definite
>> 
>> Inside each sub-sub-batch of 8 tests:
>> 001-004: containing block has 1 sentence before and after
>> 005-008: containing block has no sentence before and no sentence after
>> 
>> Inside each sub-sub-sub-batch of 4 tests:
>> 001: orthogonal block's height is 'auto'
>> 002: orthogonal block's height is 'auto' and its min-content
>> inline-size is greater than containing-block's (definite) height (1
>> very long word)
>> 003: orthogonal block's height is 'auto' its max-content inline-size
>> is smaller than containing-block's (definite) height (short sentence)
>> 004: orthogonal block's height is 50%

-- 
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 Friday, 9 September 2016 00:43:34 UTC