Ignore disabled test instead of not listing it in the test-report at all git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1819768 13f79535-47bb-0310-9956-ffa450edef68tags/REL_4_0_0_FINAL
@@ -483,12 +483,10 @@ public final class BiffViewer { | |||
return result; | |||
} | |||
private static String formatRecordDetails(int globalOffset, int sid, int size, int recordCounter) { | |||
StringBuilder sb = new StringBuilder(64); | |||
sb.append("Offset=").append(HexDump.intToHex(globalOffset)).append("(").append(globalOffset).append(")"); | |||
sb.append(" recno=").append(recordCounter); | |||
sb.append( " sid=").append(HexDump.shortToHex(sid)); | |||
sb.append( " size=").append(HexDump.shortToHex(size)).append("(").append(size).append(")"); | |||
return sb.toString(); | |||
return "Offset=" + HexDump.intToHex(globalOffset) + "(" + globalOffset + ")" + | |||
" recno=" + recordCounter + | |||
" sid=" + HexDump.shortToHex(sid) + | |||
" size=" + HexDump.shortToHex(size) + "(" + size + ")"; | |||
} | |||
} | |||
@@ -33,7 +33,6 @@ import org.apache.poi.ss.usermodel.Workbook; | |||
import org.apache.poi.ss.util.CellRangeAddress; | |||
import org.apache.poi.ss.util.CellRangeAddressBase; | |||
import org.apache.poi.ss.util.CellReference; | |||
import org.apache.poi.ss.util.SheetUtil; | |||
/** | |||
* Evaluates Conditional Formatting constraints.<p> | |||
@@ -103,7 +102,7 @@ public class ConditionalFormattingEvaluator { | |||
/** | |||
* lazy load by sheet since reading can be expensive | |||
* | |||
* @param sheet | |||
* @param sheet The sheet to look at | |||
* @return unmodifiable list of rules | |||
*/ | |||
protected List<EvaluationConditionalFormatRule> getRules(Sheet sheet) { | |||
@@ -156,9 +155,12 @@ public class ConditionalFormattingEvaluator { | |||
// compute and cache them | |||
rules = new ArrayList<>(); | |||
Sheet sheet = null; | |||
if (cellRef.getSheetName() != null) sheet = workbook.getSheet(cellRef.getSheetName()); | |||
else sheet = workbook.getSheetAt(workbook.getActiveSheetIndex()); | |||
final Sheet sheet; | |||
if (cellRef.getSheetName() != null) { | |||
sheet = workbook.getSheet(cellRef.getSheetName()); | |||
} else { | |||
sheet = workbook.getSheetAt(workbook.getActiveSheetIndex()); | |||
} | |||
/* | |||
* Per Excel help: | |||
@@ -197,7 +199,7 @@ public class ConditionalFormattingEvaluator { | |||
* formula by the relative position of the current cell, or the wrong value is checked. | |||
* This is handled by {@link WorkbookEvaluator#evaluate(String, CellReference, CellRangeAddressBase)}. | |||
* | |||
* @param cell | |||
* @param cell The cell to look for | |||
* @return Unmodifiable List of {@link EvaluationConditionalFormatRule}s that apply to the current cell value, | |||
* in priority order, as evaluated by Excel (smallest priority # for XSSF, definition order for HSSF), | |||
* or null if none apply | |||
@@ -211,7 +213,9 @@ public class ConditionalFormattingEvaluator { | |||
} | |||
/** | |||
* @param sheetName | |||
* Retrieve all formatting rules for the sheet with the given name. | |||
* | |||
* @param sheetName The name of the sheet to look at | |||
* @return unmodifiable list of all Conditional format rules for the given sheet, if any | |||
*/ | |||
public List<EvaluationConditionalFormatRule> getFormatRulesForSheet(String sheetName) { | |||
@@ -219,7 +223,9 @@ public class ConditionalFormattingEvaluator { | |||
} | |||
/** | |||
* @param sheet | |||
* Retrieve all formatting rules for the given sheet. | |||
* | |||
* @param sheet The sheet to look at | |||
* @return unmodifiable list of all Conditional format rules for the given sheet, if any | |||
*/ | |||
public List<EvaluationConditionalFormatRule> getFormatRulesForSheet(Sheet sheet) { | |||
@@ -247,8 +253,9 @@ public class ConditionalFormattingEvaluator { | |||
} | |||
/** | |||
* Retrieve all cells where the given formatting rule evaluates to true. | |||
* | |||
* @param rule | |||
* @param rule The rule to look at | |||
* @return unmodifiable List of all cells in the rule's region matching the rule's condition | |||
*/ | |||
public List<Cell> getMatchingCells(EvaluationConditionalFormatRule rule) { |
@@ -376,7 +376,7 @@ public class SXSSFSheet implements Sheet | |||
return _sh.getColumnStyle(column); | |||
} | |||
/** | |||
/* | |||
* Sets the CellStyle that applies to the given | |||
* (0 based) column. | |||
*/ | |||
@@ -1131,8 +1131,8 @@ public class SXSSFSheet implements Sheet | |||
/** | |||
* Determines if there is a page break at the indicated row | |||
* @param row FIXME: Document this! | |||
* @return FIXME: Document this! | |||
* @param row The row to check | |||
* @return true if there is a page-break at the given row, false otherwise | |||
*/ | |||
@Override | |||
public boolean isRowBroken(int row) | |||
@@ -1142,7 +1142,7 @@ public class SXSSFSheet implements Sheet | |||
/** | |||
* Removes the page break at the indicated row | |||
* @param row | |||
* @param row The row to remove page breaks from | |||
*/ | |||
@Override | |||
public void removeRowBreak(int row) | |||
@@ -1172,7 +1172,7 @@ public class SXSSFSheet implements Sheet | |||
/** | |||
* Sets a page break at the indicated column | |||
* @param column | |||
* @param column The column to work on | |||
*/ | |||
@Override | |||
public void setColumnBreak(int column) | |||
@@ -1182,8 +1182,8 @@ public class SXSSFSheet implements Sheet | |||
/** | |||
* Determines if there is a page break at the indicated column | |||
* @param column FIXME: Document this! | |||
* @return FIXME: Document this! | |||
* @param column The column to check for page breaks | |||
* @return true if there is a page break at the given column, false otherwise | |||
*/ | |||
@Override | |||
public boolean isColumnBroken(int column) | |||
@@ -1193,7 +1193,7 @@ public class SXSSFSheet implements Sheet | |||
/** | |||
* Removes a page break at the indicated column | |||
* @param column | |||
* @param column The column to remove a page break from | |||
*/ | |||
@Override | |||
public void removeColumnBreak(int column) | |||
@@ -1366,7 +1366,7 @@ public class SXSSFSheet implements Sheet | |||
int startRow = findStartOfRowOutlineGroup(rowIndex); | |||
// Hide all the columns until the end of the group | |||
int lastRow = writeHidden(row, startRow, true); | |||
int lastRow = writeHidden(row, startRow); | |||
SXSSFRow lastRowObj = getRow(lastRow); | |||
if (lastRowObj != null) { | |||
lastRowObj.setCollapsed(true); | |||
@@ -1397,12 +1397,12 @@ public class SXSSFSheet implements Sheet | |||
return currentRow + 1; | |||
} | |||
private int writeHidden(SXSSFRow xRow, int rowIndex, boolean hidden) { | |||
private int writeHidden(SXSSFRow xRow, int rowIndex) { | |||
int level = xRow.getOutlineLevel(); | |||
SXSSFRow currRow = getRow(rowIndex); | |||
while (currRow != null && currRow.getOutlineLevel() >= level) { | |||
currRow.setHidden(hidden); | |||
currRow.setHidden(true); | |||
rowIndex++; | |||
currRow = getRow(rowIndex); | |||
} | |||
@@ -1637,8 +1637,8 @@ public class SXSSFSheet implements Sheet | |||
/** | |||
* Get a Hyperlink in this sheet anchored at row, column | |||
* | |||
* @param row | |||
* @param column | |||
* @param row The 0-base row number | |||
* @param column The 0-based column number | |||
* @return hyperlink if there is a hyperlink anchored at row, column; otherwise returns null | |||
*/ | |||
@Override | |||
@@ -1860,7 +1860,7 @@ public class SXSSFSheet implements Sheet | |||
/** | |||
* Flush all rows to disk. After this call no rows can be accessed via getRow() | |||
* | |||
* @throws IOException | |||
* @throws IOException If an I/O error occurs | |||
*/ | |||
public void flushRows() throws IOException | |||
{ | |||
@@ -1889,13 +1889,12 @@ public class SXSSFSheet implements Sheet | |||
public int getRowNum(SXSSFRow row) | |||
{ | |||
for(Iterator<Map.Entry<Integer,SXSSFRow>> iter=_rows.entrySet().iterator();iter.hasNext();) | |||
{ | |||
Map.Entry<Integer,SXSSFRow> entry=iter.next(); | |||
if(entry.getValue()==row) { | |||
for (Map.Entry<Integer, SXSSFRow> entry : _rows.entrySet()) { | |||
if (entry.getValue() == row) { | |||
return entry.getKey().intValue(); | |||
} | |||
} | |||
return -1; | |||
} | |||
@@ -905,8 +905,7 @@ public class SXSSFWorkbook implements Workbook { | |||
* @exception IOException if anything can't be written. | |||
*/ | |||
@Override | |||
public void write(OutputStream stream) throws IOException | |||
{ | |||
public void write(OutputStream stream) throws IOException { | |||
flushSheets(); | |||
//Save the template |
@@ -191,6 +191,8 @@ public class SheetDataWriter implements Closeable { | |||
* | |||
* @param rownum 0-based row number | |||
* @param row a row | |||
* | |||
* @throws IOException If an I/O error occurs | |||
*/ | |||
public void writeRow(int rownum, SXSSFRow row) throws IOException { | |||
if (_numberOfFlushedRows == 0) |
@@ -3851,7 +3851,6 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet { | |||
@Override | |||
public CellRange<XSSFCell> setArrayFormula(String formula, CellRangeAddress range) { | |||
CellRange<XSSFCell> cr = getCellRange(range); | |||
XSSFCell mainArrayFormulaCell = cr.getTopLeftCell(); |
@@ -37,6 +37,7 @@ import org.apache.poi.xwpf.XWPFTestDataSamples; | |||
import org.apache.poi.xwpf.usermodel.XWPFDocument; | |||
import org.junit.After; | |||
import org.junit.Before; | |||
import org.junit.Ignore; | |||
import org.junit.Test; | |||
/** | |||
@@ -229,7 +230,8 @@ public final class TestPOIXMLProperties { | |||
return utcString.equals(dateTimeUtcString); | |||
} | |||
//@Test | |||
@Ignore("Fails to add some of the thumbnails, needs more investigation") | |||
@Test | |||
public void testThumbnails() throws Exception { | |||
POIXMLProperties noThumbProps = sampleNoThumb.getProperties(); | |||
@@ -43,11 +43,8 @@ public class XWPFTestDataSamples { | |||
} | |||
public static byte[] getImage(String filename) throws IOException { | |||
InputStream is = POIDataSamples.getDocumentInstance().openResourceAsStream(filename); | |||
try { | |||
try (InputStream is = POIDataSamples.getDocumentInstance().openResourceAsStream(filename)) { | |||
return IOUtils.toByteArray(is); | |||
} finally { | |||
is.close(); | |||
} | |||
} | |||
} |
@@ -33,18 +33,16 @@ public abstract class HMEFTest extends TestCase { | |||
assertEquals(filename, attachment.getLongFilename()); | |||
assertContents(filename, attachment.getContents()); | |||
} | |||
protected void assertContents(String filename, byte[] actual) | |||
throws IOException { | |||
InputStream stream = _samples.openResourceAsStream("quick-contents/" + filename); | |||
try { | |||
byte[] expected = IOUtils.toByteArray(stream); | |||
assertEquals(expected.length, actual.length); | |||
for(int i=0; i<expected.length; i++) { | |||
assertEquals("Byte " + i + " wrong", expected[i], actual[i]); | |||
} | |||
} finally { | |||
stream.close(); | |||
} | |||
try (InputStream stream = _samples.openResourceAsStream("quick-contents/" + filename)) { | |||
byte[] expected = IOUtils.toByteArray(stream); | |||
assertEquals(expected.length, actual.length); | |||
for (int i = 0; i < expected.length; i++) { | |||
assertEquals("Byte " + i + " wrong", expected[i], actual[i]); | |||
} | |||
} | |||
} | |||
} |
@@ -17,6 +17,8 @@ | |||
package org.apache.poi.hmef.extractor; | |||
import static org.junit.Assert.assertEquals; | |||
import static org.junit.Assert.assertNotNull; | |||
import static org.junit.Assert.assertTrue; | |||
import static org.junit.Assert.assertArrayEquals; | |||
@@ -37,7 +39,7 @@ public class TestHMEFContentsExtractor { | |||
File outputDirectory = TempFile.createTempDirectory("quick-winmail-main"); | |||
String[] args = new String[] { message.getAbsolutePath(), outputDirectory.getAbsolutePath() }; | |||
HMEFContentsExtractor.main(args); | |||
String[] contents = new String[] { | |||
"message.rtf", // from extractMessageBody | |||
"quick.txt", "quick.pdf", "quick.xml", "quick.doc", "quick.html" // from extractAttachments | |||
@@ -46,11 +48,15 @@ public class TestHMEFContentsExtractor { | |||
for (String filename : contents) { | |||
File f = new File(outputDirectory, filename); | |||
assertTrue(f + " does not exist", f.exists()); | |||
assertTrue(f.delete()); | |||
} | |||
outputDirectory.delete(); | |||
String[] list = outputDirectory.list(); | |||
assertNotNull(list); | |||
assertEquals( "Had: " + Arrays.toString(list), 0, list.length); | |||
assertTrue(outputDirectory.delete()); | |||
} | |||
@Test | |||
public void TestExtractMessageBody_OutputStream() throws IOException { | |||
POIDataSamples samples = POIDataSamples.getHMEFInstance(); | |||
@@ -64,7 +70,7 @@ public class TestHMEFContentsExtractor { | |||
assertArrayEquals("RTF magic number", expectedMagic, magic); | |||
out.close(); | |||
} | |||
@Test | |||
public void TestExtractMessageBody_File() throws IOException { | |||
POIDataSamples samples = POIDataSamples.getHMEFInstance(); |
@@ -101,12 +101,9 @@ public final class TestNPOIFSFileSystem { | |||
protected static NPOIFSFileSystem writeOutFileAndReadBack(NPOIFSFileSystem original) throws IOException { | |||
final File file = TempFile.createTempFile("TestPOIFS", ".ole2"); | |||
final OutputStream fout = new FileOutputStream(file); | |||
try { | |||
original.writeFilesystem(fout); | |||
} finally { | |||
fout.close(); | |||
} | |||
try (OutputStream fout = new FileOutputStream(file)) { | |||
original.writeFilesystem(fout); | |||
} | |||
return new NPOIFSFileSystem(file, false); | |||
} | |||
@@ -1717,26 +1714,20 @@ public final class TestNPOIFSFileSystem { | |||
long start = System.currentTimeMillis(); | |||
for (int i = 0; i < iterations; i++) { | |||
InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg"); | |||
try { | |||
try (InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg")) { | |||
OPOIFSFileSystem srcFileSystem = new OPOIFSFileSystem(inputStream); | |||
OPOIFSFileSystem destFileSystem = new OPOIFSFileSystem(); | |||
copyAllEntries(srcFileSystem.getRoot(), destFileSystem.getRoot()); | |||
File file = File.createTempFile("opoi", ".dat"); | |||
OutputStream outputStream = new FileOutputStream(file); | |||
try { | |||
try (OutputStream outputStream = new FileOutputStream(file)) { | |||
destFileSystem.writeFilesystem(outputStream); | |||
} finally { | |||
outputStream.close(); | |||
} | |||
assertTrue(file.delete()); | |||
if (i % 10 == 0) System.out.print("."); | |||
if (i % 800 == 0 && i > 0) System.out.println(); | |||
} finally { | |||
inputStream.close(); | |||
} | |||
} | |||
@@ -1750,26 +1741,20 @@ public final class TestNPOIFSFileSystem { | |||
for (int i = 0; i < iterations; i++) { | |||
InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg"); | |||
try { | |||
try (InputStream inputStream = POIDataSamples.getHSMFInstance().openResourceAsStream("lots-of-recipients.msg")) { | |||
NPOIFSFileSystem srcFileSystem = new NPOIFSFileSystem(inputStream); | |||
NPOIFSFileSystem destFileSystem = new NPOIFSFileSystem(); | |||
copyAllEntries(srcFileSystem.getRoot(), destFileSystem.getRoot()); | |||
File file = File.createTempFile("npoi", ".dat"); | |||
OutputStream outputStream = new FileOutputStream(file); | |||
try { | |||
try (OutputStream outputStream = new FileOutputStream(file)) { | |||
destFileSystem.writeFilesystem(outputStream); | |||
} finally { | |||
outputStream.close(); | |||
} | |||
assertTrue(file.delete()); | |||
if (i % 10 == 0) System.out.print("."); | |||
if (i % 800 == 0 && i > 0) System.out.println(); | |||
} finally { | |||
inputStream.close(); | |||
} | |||
} | |||
@@ -1793,11 +1778,8 @@ public final class TestNPOIFSFileSystem { | |||
} else { | |||
DocumentEntry srcEntry = (DocumentEntry) entry; | |||
InputStream inputStream = new DocumentInputStream(srcEntry); | |||
try { | |||
try (InputStream inputStream = new DocumentInputStream(srcEntry)) { | |||
destDirectory.createDocument(entry.getName(), inputStream); | |||
} finally { | |||
inputStream.close(); | |||
} | |||
} | |||
} |
@@ -576,8 +576,8 @@ public abstract class BaseTestSheetUpdateArrayFormulas { | |||
*/ | |||
workbook.close(); | |||
} | |||
@Ignore | |||
@Ignore("See bug 59728") | |||
@Test | |||
public void shouldNotBeAbleToCreateArrayFormulaOnPreexistingMergedRegion() throws IOException { | |||
/* |