Andreas Delmelle wrote:
> On May 13, 2008, at 13:44, Andreas Delmelle wrote:
>> On May 13, 2008, at 13:18, Adrian Cumiskey wrote:
>>> The following test still fails as part of the LayoutEngineTestSuite :-
>>> wrapper_block.xml    Error    Expected w=14400 at position 0 but got:
>>> 0 (element-list category=breaker)
>>> java.lang.RuntimeException: Expected w=14400 at position 0 but got: 0
>>> (element-list category=breaker)
>> Ouch! I had put the check in question in comment here :S
>> Forgot to get back to this, since the other checks for this test all
>> passed. It is related to the fact that an fo:wrapper now generates a
>> Block instead of an Inline area, if it appears as a child of the
>> fo:flow or a fo:block-container. (see also: r654111)
>> I'll change the check (as soon as I figure out what the current
>> expected result should be...)
> FWIW: The test should pass now. I'm not 100% certain whether the change
> is correct, but the element-list we get has the box we're looking for at
> position 3 (index 2), so I simply skipped the first two elements in the
> list...

I can’t help but think that something’s going wrong here. Was the test
just modified so that it passes again, or does it really reflect the
changes made in the code? Are those 2 new elements at the beginning of
the list now to be expected? Also, the wrapper_block.xml testcase now
gives the following message twice:
    SEVERE: Could not create block pointers. FOText w/o Block ancestor.
The first word scares me a bit ;-)
Granted, before the change there was the following issue:
    SEVERE: inline area not allowed under flow - ignoring
So something has definitely evolved, but I’d love to be re-assured that
it’s for the better...

I don’t want to sound too much negative, I don’t really follow the
changes you’ve been doing in this area, but I’m slighty concerned. My
point simply is that if there’s something I don’t fully understand, I’d
rather not touch it.

> Issue is related to the change in FlowLM:
> @@ -75,7 +76,8 @@
> -            if (curLM instanceof InlineLevelLayoutManager) {
> +            if (!(curLM instanceof WrapperLayoutManager)
> +                && curLM instanceof InlineLevelLayoutManager) {
> This check was once added to avoid ClassCastExceptions, IIRC, but since
> the validation of fo:wrappers containing inline-content now happens at
> parse-time, the FlowLM does not need to check this anymore. This
> apparently does result in extra elements in the breaker's element-list...
> Cheers
> Andreas


Vincent Hennebert                            Anyware Technologies
Apache FOP Committer                         FOP Development/Consulting

Reply via email to