Re: CSS2.1 i18n and bidi tests for review

Eira Monstad wrote:
> 
> On Fri, 18 Jul 2008 11:26:24 +0200, fantasai 
> <fantasai.lists@inkedblade.net> wrote:
> 
>> Eira Monstad wrote:
>>>  Cheers,
>>>  I've been working on some bidi related tests for the 2.1 testsuite, 
>>> as well as converting a few of Richard Ishida's tests for language 
>>> dependent styling to match the testsuite template. The tests are 
>>> ready for review at http://people.opera.com/eiram/test/css21/review/
>>
>> http://people.opera.com/eiram/test/css21/review/bidi-display-block-001.xht 
>>
>>
>> So the assertion here is
>>    "An inline with display:block should be treated as a paragraph
>>     in the bidi algorithm"
>>
>> How would the test fail? You'd get the same result if the <span>s
>> were still inline and the text wrap point happened to fall in
>> between, no?
> 
> Yes, you should.
> 
> This test isn't any different, logically, from checking that a bidi 
> paragraph boundary is applied on <br>.

Right.

> Opera had bugs on this back when bidi was first implemented, so it's
> a good thing to check even though it seems obvious that the two lines
>  would be the same.
> 
> I've modified the test a bit to make it a tad more complex, could 
> potentially catch a bug or two that the previous version didn't. The 
> logic of the test it the same though.

Looks like it would catch more bugs, but I'm still having a hard time
understanding how this test would fail if the UA did not place a bidi
paragraph boundary between the two spans. To test that, you'd need to
place a neutral character at the boundary and put a character on the
other side that would cause the neutral character to change position
if the boundary wasn't there.

E.g. using the ltr RTL convention, logical order in the source, and
ltr paragraph direction:

<span>CBA def IHG!</span>
<span>CBA def IHG!</span>

which should display as
   ABC def GHI!
   ABC def GHI!
but if the 'display: block;' wasn't there would display as (if I'm doing
this correctly)
   ABC def ABC !GHI def GHI!
and if the 'display: block;' was there but bidi boundary wasn't there
would display as
   ABC def !GHI
   ABC def GHI!
(because the exclamation mark gets RTL directionality from being
surrounded by RTL characters instead of LTR directionality from being
bounded on one end by RTL and on the other end by the LTR paragraph
boundary).

~fantasai

Received on Saturday, 19 July 2008 10:00:40 UTC