mirror of https://github.com/apache/poi.git
Fix a flaky test, it seems if the document is not closed, the automatic
closing of file-handles interferes with subsequent tests, by closing the document this flakiness seems to be gone. Flakiness could be reproduced locally by continuously running test with IntelliJ "run until failure" run-config option and after aprox. 17,000 test-executions! git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1857068 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
b88c6b12e5
commit
6119c0ecec
|
@ -49,7 +49,7 @@ public class TestBug47563 {
|
||||||
data.add(new Object[] {6, 1});
|
data.add(new Object[] {6, 1});
|
||||||
data.add(new Object[] {2, 2});
|
data.add(new Object[] {2, 2});
|
||||||
data.add(new Object[] {3, 2});
|
data.add(new Object[] {3, 2});
|
||||||
data.add(new Object[] {2, 3});
|
data.add(new Object[] {2, 3}); //
|
||||||
data.add(new Object[] {3, 3});
|
data.add(new Object[] {3, 3});
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
|
@ -62,46 +62,47 @@ public class TestBug47563 {
|
||||||
|
|
||||||
// POI apparently can't create a document from scratch,
|
// POI apparently can't create a document from scratch,
|
||||||
// so we need an existing empty dummy document
|
// so we need an existing empty dummy document
|
||||||
HWPFDocument doc = HWPFTestDataSamples.openSampleFile("empty.doc");
|
try (HWPFDocument doc = HWPFTestDataSamples.openSampleFile("empty.doc")) {
|
||||||
|
Range range = doc.getRange();
|
||||||
|
range.sanityCheck();
|
||||||
|
|
||||||
Range range = doc.getRange();
|
Table table = range.insertTableBefore((short) columns, rows);
|
||||||
range.sanityCheck();
|
table.sanityCheck();
|
||||||
|
|
||||||
Table table = range.insertTableBefore((short) columns, rows);
|
for (int rowIdx = 0; rowIdx < table.numRows(); rowIdx++) {
|
||||||
table.sanityCheck();
|
TableRow row = table.getRow(rowIdx);
|
||||||
|
|
||||||
for (int rowIdx = 0; rowIdx < table.numRows(); rowIdx++) {
|
|
||||||
TableRow row = table.getRow(rowIdx);
|
|
||||||
row.sanityCheck();
|
|
||||||
|
|
||||||
System.out.println("row " + rowIdx);
|
|
||||||
for (int colIdx = 0; colIdx < row.numCells(); colIdx++) {
|
|
||||||
TableCell cell = row.getCell(colIdx);
|
|
||||||
cell.sanityCheck();
|
|
||||||
|
|
||||||
System.out.println("column " + colIdx + ", num paragraphs "
|
|
||||||
+ cell.numParagraphs());
|
|
||||||
|
|
||||||
Paragraph par = cell.getParagraph(0);
|
|
||||||
par.sanityCheck();
|
|
||||||
|
|
||||||
par.insertBefore("" + (rowIdx * row.numCells() + colIdx));
|
|
||||||
par.sanityCheck();
|
|
||||||
|
|
||||||
row.sanityCheck();
|
row.sanityCheck();
|
||||||
table.sanityCheck();
|
|
||||||
range.sanityCheck();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String text = range.text();
|
System.out.println("row " + rowIdx);
|
||||||
int mustBeAfter = 0;
|
for (int colIdx = 0; colIdx < row.numCells(); colIdx++) {
|
||||||
for (int i = 0; i < rows * columns; i++) {
|
TableCell cell = row.getCell(colIdx);
|
||||||
int next = text.indexOf(Integer.toString(i), mustBeAfter);
|
cell.sanityCheck();
|
||||||
assertTrue("Test with " + rows + "/" + columns + ": Should not find " + i + " but found it at " + next + " with " + mustBeAfter + " in " + text + "\n" +
|
|
||||||
text.indexOf(Integer.toString(i), mustBeAfter),
|
System.out.println("column " + colIdx + ", num paragraphs "
|
||||||
next != -1);
|
+ cell.numParagraphs());
|
||||||
mustBeAfter = next;
|
|
||||||
|
Paragraph par = cell.getParagraph(0);
|
||||||
|
par.sanityCheck();
|
||||||
|
|
||||||
|
par.insertBefore("" + (rowIdx * row.numCells() + colIdx));
|
||||||
|
par.sanityCheck();
|
||||||
|
|
||||||
|
row.sanityCheck();
|
||||||
|
table.sanityCheck();
|
||||||
|
range.sanityCheck();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String text = range.text();
|
||||||
|
int mustBeAfter = 0;
|
||||||
|
for (int i = 0; i < rows * columns; i++) {
|
||||||
|
int next = text.indexOf(Integer.toString(i), mustBeAfter);
|
||||||
|
assertTrue("Test with " + rows + "/" + columns + ": Should not find " + i +
|
||||||
|
" but found it at " + next + " with " + mustBeAfter + " in " + text + "\n" +
|
||||||
|
text.indexOf(Integer.toString(i), mustBeAfter),
|
||||||
|
next != -1);
|
||||||
|
mustBeAfter = next;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue