On May 7, 2008, at 22:34, Andreas Delmelle wrote:
On May 7, 2008, at 22:00, Simon Pepping wrote:

    [junit] ------------- Standard Output ---------------
    [junit] Test: column-number_non-integer.fo
    [junit]   [FATAL] fo:table overlaps in column 2.
[junit] [ERROR] Invalid property value encountered in column- number="-1": org.apache.fop.fo.expr.PropertyException: fo:table overlaps in column 2. (See position 34:64)

But why does this not result in a positive error count?

Now that you mention it... Looks like a condition that the current test code does not account for. On FOP's side, if property parsing for the parent fails, then the extension AssertElement that tests for the property value will never even be processed.

I was looking to make a few adjustments in the test-package anyway, so I'll check and try to fix this too.

Already looking at this closer, the error message looks a bit strange too.
The overlap is supposedly taking place in column 2, instead of 1...

This seems to be an error in ColumnNumberPropertyMaker.make().
We 'make' the value, which returns a NumberProperty with numeric value 1 and specified value -1.

Now, it seems that the loop is 'off'.

int columnIndex = p.getNumeric().getValue();
...
int i = -1;
while (++i < colspan) {
  if (columnIndexManager.isColumnNumberUsed(columnIndex + i)) {
  ...
}

So, if 'columnIndex' is 1, then we erroneously check whether column 2 is occupied...?

That should probably simply be isColumnNumberUsed(i)


Cheers

Andreas

Reply via email to