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