Bug 35897 - Password protected files
+ Junit4 modifications, needed for expected exceptions git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1557281 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
0e5300538f
commit
1eba8faedb
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
package org.apache.poi.hssf.record;
|
package org.apache.poi.hssf.record;
|
||||||
|
|
||||||
|
import org.apache.poi.EncryptedDocumentException;
|
||||||
import org.apache.poi.util.HexDump;
|
import org.apache.poi.util.HexDump;
|
||||||
import org.apache.poi.util.LittleEndianOutput;
|
import org.apache.poi.util.LittleEndianOutput;
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ public final class FilePassRecord extends StandardRecord {
|
|||||||
|
|
||||||
switch (_encryptionType) {
|
switch (_encryptionType) {
|
||||||
case ENCRYPTION_XOR:
|
case ENCRYPTION_XOR:
|
||||||
throw new RecordFormatException("HSSF does not currently support XOR obfuscation");
|
throw new EncryptedDocumentException("HSSF does not currently support XOR obfuscation");
|
||||||
case ENCRYPTION_OTHER:
|
case ENCRYPTION_OTHER:
|
||||||
// handled below
|
// handled below
|
||||||
break;
|
break;
|
||||||
@ -63,7 +64,7 @@ public final class FilePassRecord extends StandardRecord {
|
|||||||
break;
|
break;
|
||||||
case ENCRYPTION_OTHER_CAPI_2:
|
case ENCRYPTION_OTHER_CAPI_2:
|
||||||
case ENCRYPTION_OTHER_CAPI_3:
|
case ENCRYPTION_OTHER_CAPI_3:
|
||||||
throw new RecordFormatException(
|
throw new EncryptedDocumentException(
|
||||||
"HSSF does not currently support CryptoAPI encryption");
|
"HSSF does not currently support CryptoAPI encryption");
|
||||||
default:
|
default:
|
||||||
throw new RecordFormatException("Unknown encryption info " + _encryptionInfo);
|
throw new RecordFormatException("Unknown encryption info " + _encryptionInfo);
|
||||||
|
@ -22,10 +22,40 @@ import java.lang.reflect.Constructor;
|
|||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.poi.hssf.record.chart.*;
|
import org.apache.poi.EncryptedDocumentException;
|
||||||
import org.apache.poi.hssf.record.pivottable.*;
|
import org.apache.poi.hssf.record.chart.BeginRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.CatLabRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ChartEndBlockRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ChartEndObjectRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ChartFRTInfoRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ChartRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ChartStartBlockRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ChartStartObjectRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ChartTitleFormatRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.DataFormatRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.EndRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.LegendRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.LinkedDataRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.SeriesRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.SeriesTextRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.SeriesToChartGroupRecord;
|
||||||
|
import org.apache.poi.hssf.record.chart.ValueRangeRecord;
|
||||||
|
import org.apache.poi.hssf.record.pivottable.DataItemRecord;
|
||||||
|
import org.apache.poi.hssf.record.pivottable.ExtendedPivotTableViewFieldsRecord;
|
||||||
|
import org.apache.poi.hssf.record.pivottable.PageItemRecord;
|
||||||
|
import org.apache.poi.hssf.record.pivottable.StreamIDRecord;
|
||||||
|
import org.apache.poi.hssf.record.pivottable.ViewDefinitionRecord;
|
||||||
|
import org.apache.poi.hssf.record.pivottable.ViewFieldsRecord;
|
||||||
|
import org.apache.poi.hssf.record.pivottable.ViewSourceRecord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Title: Record Factory<P>
|
* Title: Record Factory<P>
|
||||||
@ -62,7 +92,14 @@ public final class RecordFactory {
|
|||||||
} catch (IllegalAccessException e) {
|
} catch (IllegalAccessException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
} catch (InvocationTargetException e) {
|
} catch (InvocationTargetException e) {
|
||||||
throw new RecordFormatException("Unable to construct record instance" , e.getTargetException());
|
Throwable t = e.getTargetException();
|
||||||
|
if (t instanceof RecordFormatException) {
|
||||||
|
throw (RecordFormatException)t;
|
||||||
|
} else if (t instanceof EncryptedDocumentException) {
|
||||||
|
throw (EncryptedDocumentException)t;
|
||||||
|
} else {
|
||||||
|
throw new RecordFormatException("Unable to construct record instance" , t);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public Class<? extends Record> getRecordClass() {
|
public Class<? extends Record> getRecordClass() {
|
||||||
|
@ -17,9 +17,6 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf;
|
package org.apache.poi.xssf;
|
||||||
|
|
||||||
import junit.framework.Test;
|
|
||||||
import junit.framework.TestSuite;
|
|
||||||
|
|
||||||
import org.apache.poi.ss.format.TestCellFormatPart;
|
import org.apache.poi.ss.format.TestCellFormatPart;
|
||||||
import org.apache.poi.ss.util.TestCellReference;
|
import org.apache.poi.ss.util.TestCellReference;
|
||||||
import org.apache.poi.xssf.eventusermodel.TestXSSFReader;
|
import org.apache.poi.xssf.eventusermodel.TestXSSFReader;
|
||||||
@ -31,27 +28,26 @@ import org.apache.poi.xssf.model.TestStylesTable;
|
|||||||
import org.apache.poi.xssf.usermodel.AllXSSFUsermodelTests;
|
import org.apache.poi.xssf.usermodel.AllXSSFUsermodelTests;
|
||||||
import org.apache.poi.xssf.util.TestCTColComparator;
|
import org.apache.poi.xssf.util.TestCTColComparator;
|
||||||
import org.apache.poi.xssf.util.TestNumericRanges;
|
import org.apache.poi.xssf.util.TestNumericRanges;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.Suite;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Collects all tests for <tt>org.apache.poi.xssf</tt> and sub-packages.
|
* Collects all tests for <tt>org.apache.poi.xssf</tt> and sub-packages.
|
||||||
*
|
|
||||||
* @author Josh Micich
|
|
||||||
*/
|
*/
|
||||||
|
@RunWith(Suite.class)
|
||||||
|
@Suite.SuiteClasses({
|
||||||
|
AllXSSFUsermodelTests.class,
|
||||||
|
TestXSSFReader.class,
|
||||||
|
TestXSSFExcelExtractor.class,
|
||||||
|
TestLoadSaveXSSF.class,
|
||||||
|
TestCommentsTable.class,
|
||||||
|
TestSharedStringsTable.class,
|
||||||
|
TestStylesTable.class,
|
||||||
|
TestCellReference.class,
|
||||||
|
TestCTColComparator.class,
|
||||||
|
TestNumericRanges.class,
|
||||||
|
TestCellFormatPart.class
|
||||||
|
})
|
||||||
public final class AllXSSFTests {
|
public final class AllXSSFTests {
|
||||||
|
|
||||||
public static Test suite() {
|
|
||||||
TestSuite result = new TestSuite(AllXSSFTests.class.getName());
|
|
||||||
result.addTest(AllXSSFUsermodelTests.suite());
|
|
||||||
result.addTestSuite(TestXSSFReader.class);
|
|
||||||
result.addTestSuite(TestXSSFExcelExtractor.class);
|
|
||||||
result.addTestSuite(TestLoadSaveXSSF.class);
|
|
||||||
result.addTestSuite(TestCommentsTable.class);
|
|
||||||
result.addTestSuite(TestSharedStringsTable.class);
|
|
||||||
result.addTestSuite(TestStylesTable.class);
|
|
||||||
result.addTestSuite(TestCellReference.class);
|
|
||||||
result.addTestSuite(TestCTColComparator.class);
|
|
||||||
result.addTestSuite(TestNumericRanges.class);
|
|
||||||
result.addTestSuite(TestCellFormatPart.class);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -17,53 +17,45 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
import junit.framework.Test;
|
|
||||||
import junit.framework.TestSuite;
|
|
||||||
|
|
||||||
import org.apache.poi.xssf.usermodel.extensions.TestXSSFBorder;
|
import org.apache.poi.xssf.usermodel.extensions.TestXSSFBorder;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.TestXSSFCellFill;
|
import org.apache.poi.xssf.usermodel.extensions.TestXSSFCellFill;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.TestXSSFSheetComments;
|
import org.apache.poi.xssf.usermodel.extensions.TestXSSFSheetComments;
|
||||||
import org.apache.poi.xssf.usermodel.helpers.TestColumnHelper;
|
import org.apache.poi.xssf.usermodel.helpers.TestColumnHelper;
|
||||||
import org.apache.poi.xssf.usermodel.helpers.TestHeaderFooterHelper;
|
import org.apache.poi.xssf.usermodel.helpers.TestHeaderFooterHelper;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.Suite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Collects all tests for <tt>org.apache.poi.xssf.usermodel</tt> and sub-packages.
|
* Collects all tests for <tt>org.apache.poi.xssf.usermodel</tt> and sub-packages.
|
||||||
*
|
|
||||||
* @author Josh Micich
|
|
||||||
*/
|
*/
|
||||||
|
@RunWith(Suite.class)
|
||||||
|
@Suite.SuiteClasses({
|
||||||
|
TestFormulaEvaluatorOnXSSF.class,
|
||||||
|
TestSheetHiding.class,
|
||||||
|
TestXSSFBugs.class,
|
||||||
|
TestXSSFDataFormat.class,
|
||||||
|
TestXSSFCellStyle.class,
|
||||||
|
TestXSSFComment.class,
|
||||||
|
TestXSSFDialogSheet.class,
|
||||||
|
TestXSSFDrawing.class,
|
||||||
|
TestXSSFFont.class,
|
||||||
|
TestXSSFFormulaEvaluation.class,
|
||||||
|
TestXSSFHeaderFooter.class,
|
||||||
|
TestXSSFHyperlink.class,
|
||||||
|
TestXSSFName.class,
|
||||||
|
TestXSSFPicture.class,
|
||||||
|
TestXSSFPictureData.class,
|
||||||
|
TestXSSFPrintSetup.class,
|
||||||
|
TestXSSFRichTextString.class,
|
||||||
|
TestXSSFRow.class,
|
||||||
|
TestXSSFSheet.class,
|
||||||
|
TestXSSFSheetUpdateArrayFormulas.class,
|
||||||
|
TestXSSFWorkbook.class,
|
||||||
|
TestXSSFBorder.class,
|
||||||
|
TestXSSFCellFill.class,
|
||||||
|
TestXSSFSheetComments.class,
|
||||||
|
TestColumnHelper.class,
|
||||||
|
TestHeaderFooterHelper.class
|
||||||
|
})
|
||||||
public final class AllXSSFUsermodelTests {
|
public final class AllXSSFUsermodelTests {
|
||||||
|
|
||||||
public static Test suite() {
|
|
||||||
TestSuite result = new TestSuite(AllXSSFUsermodelTests.class.getName());
|
|
||||||
result.addTestSuite(TestFormulaEvaluatorOnXSSF.class);
|
|
||||||
result.addTestSuite(TestSheetHiding.class);
|
|
||||||
result.addTestSuite(TestXSSFBugs.class);
|
|
||||||
result.addTestSuite(TestXSSFDataFormat.class);
|
|
||||||
result.addTestSuite(TestXSSFCellStyle.class);
|
|
||||||
result.addTestSuite(TestXSSFComment.class);
|
|
||||||
result.addTestSuite(TestXSSFDialogSheet.class);
|
|
||||||
result.addTestSuite(TestXSSFDrawing.class);
|
|
||||||
result.addTestSuite(TestXSSFFont.class);
|
|
||||||
result.addTestSuite(TestXSSFFormulaEvaluation.class);
|
|
||||||
result.addTestSuite(TestXSSFHeaderFooter.class);
|
|
||||||
result.addTestSuite(TestXSSFHyperlink.class);
|
|
||||||
result.addTestSuite(TestXSSFName.class);
|
|
||||||
result.addTestSuite(TestXSSFPicture.class);
|
|
||||||
result.addTestSuite(TestXSSFPictureData.class);
|
|
||||||
result.addTestSuite(TestXSSFPrintSetup.class);
|
|
||||||
result.addTestSuite(TestXSSFRichTextString.class);
|
|
||||||
result.addTestSuite(TestXSSFRow.class);
|
|
||||||
result.addTestSuite(TestXSSFSheet.class);
|
|
||||||
result.addTestSuite(TestXSSFSheetUpdateArrayFormulas.class);
|
|
||||||
result.addTestSuite(TestXSSFWorkbook.class);
|
|
||||||
|
|
||||||
result.addTestSuite(TestXSSFBorder.class);
|
|
||||||
result.addTestSuite(TestXSSFCellFill.class);
|
|
||||||
result.addTestSuite(TestXSSFSheetComments.class);
|
|
||||||
|
|
||||||
result.addTestSuite(TestColumnHelper.class);
|
|
||||||
result.addTestSuite(TestHeaderFooterHelper.class);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,13 @@
|
|||||||
|
|
||||||
package org.apache.poi.xssf.usermodel;
|
package org.apache.poi.xssf.usermodel;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
@ -35,13 +42,32 @@ import org.apache.poi.ss.formula.WorkbookEvaluator;
|
|||||||
import org.apache.poi.ss.formula.eval.ErrorEval;
|
import org.apache.poi.ss.formula.eval.ErrorEval;
|
||||||
import org.apache.poi.ss.formula.eval.ValueEval;
|
import org.apache.poi.ss.formula.eval.ValueEval;
|
||||||
import org.apache.poi.ss.formula.functions.Function;
|
import org.apache.poi.ss.formula.functions.Function;
|
||||||
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues;
|
||||||
|
import org.apache.poi.ss.usermodel.Cell;
|
||||||
|
import org.apache.poi.ss.usermodel.CellStyle;
|
||||||
|
import org.apache.poi.ss.usermodel.CellValue;
|
||||||
|
import org.apache.poi.ss.usermodel.ClientAnchor;
|
||||||
|
import org.apache.poi.ss.usermodel.Comment;
|
||||||
|
import org.apache.poi.ss.usermodel.CreationHelper;
|
||||||
|
import org.apache.poi.ss.usermodel.DataFormatter;
|
||||||
|
import org.apache.poi.ss.usermodel.Drawing;
|
||||||
|
import org.apache.poi.ss.usermodel.Font;
|
||||||
|
import org.apache.poi.ss.usermodel.FormulaError;
|
||||||
|
import org.apache.poi.ss.usermodel.FormulaEvaluator;
|
||||||
|
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||||
|
import org.apache.poi.ss.usermodel.Name;
|
||||||
|
import org.apache.poi.ss.usermodel.Row;
|
||||||
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
||||||
import org.apache.poi.ss.util.AreaReference;
|
import org.apache.poi.ss.util.AreaReference;
|
||||||
import org.apache.poi.ss.util.CellReference;
|
import org.apache.poi.ss.util.CellReference;
|
||||||
import org.apache.poi.xssf.XSSFITestDataProvider;
|
import org.apache.poi.xssf.XSSFITestDataProvider;
|
||||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||||
import org.apache.poi.xssf.model.CalculationChain;
|
import org.apache.poi.xssf.model.CalculationChain;
|
||||||
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
|
import org.apache.poi.xssf.usermodel.extensions.XSSFCellFill;
|
||||||
|
import org.junit.Ignore;
|
||||||
|
import org.junit.Test;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
|
||||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
|
||||||
|
|
||||||
@ -55,15 +81,17 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* test writing a file with large number of unique strings,
|
* test writing a file with large number of unique strings,
|
||||||
* open resulting file in Excel to check results!
|
* open resulting file in Excel to check results!
|
||||||
*/
|
*/
|
||||||
public void test15375_2() {
|
@Test
|
||||||
baseTest15375(1000);
|
public void bug15375_2() {
|
||||||
|
bug15375(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Named ranges had the right reference, but
|
* Named ranges had the right reference, but
|
||||||
* the wrong sheet name
|
* the wrong sheet name
|
||||||
*/
|
*/
|
||||||
public void test45430() {
|
@Test
|
||||||
|
public void bug45430() {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("45430.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("45430.xlsx");
|
||||||
assertFalse(wb.isMacroEnabled());
|
assertFalse(wb.isMacroEnabled());
|
||||||
assertEquals(3, wb.getNumberOfNames());
|
assertEquals(3, wb.getNumberOfNames());
|
||||||
@ -92,7 +120,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* We should carry vba macros over after save
|
* We should carry vba macros over after save
|
||||||
*/
|
*/
|
||||||
public void test45431() throws Exception {
|
@Test
|
||||||
|
public void bug45431() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("45431.xlsm");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("45431.xlsm");
|
||||||
OPCPackage pkg = wb.getPackage();
|
OPCPackage pkg = wb.getPackage();
|
||||||
assertTrue(wb.isMacroEnabled());
|
assertTrue(wb.isMacroEnabled());
|
||||||
@ -138,7 +167,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
assertNotNull(drw);
|
assertNotNull(drw);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test47504() {
|
@Test
|
||||||
|
public void bug47504() {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47504.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47504.xlsx");
|
||||||
assertEquals(1, wb.getNumberOfSheets());
|
assertEquals(1, wb.getNumberOfSheets());
|
||||||
XSSFSheet sh = wb.getSheetAt(0);
|
XSSFSheet sh = wb.getSheetAt(0);
|
||||||
@ -163,14 +193,16 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* Clearly Excel shouldn't do this, but test that we can
|
* Clearly Excel shouldn't do this, but test that we can
|
||||||
* read the file despite the naughtyness
|
* read the file despite the naughtyness
|
||||||
*/
|
*/
|
||||||
public void test49020() throws Exception {
|
@Test
|
||||||
|
public void bug49020() throws Exception {
|
||||||
/*XSSFWorkbook wb =*/ XSSFTestDataSamples.openSampleWorkbook("BrNotClosed.xlsx");
|
/*XSSFWorkbook wb =*/ XSSFTestDataSamples.openSampleWorkbook("BrNotClosed.xlsx");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ensure that CTPhoneticPr is loaded by the ooxml test suite so that it is included in poi-ooxml-schemas
|
* ensure that CTPhoneticPr is loaded by the ooxml test suite so that it is included in poi-ooxml-schemas
|
||||||
*/
|
*/
|
||||||
public void test49325() throws Exception {
|
@Test
|
||||||
|
public void bug49325() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("49325.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("49325.xlsx");
|
||||||
CTWorksheet sh = wb.getSheetAt(0).getCTWorksheet();
|
CTWorksheet sh = wb.getSheetAt(0).getCTWorksheet();
|
||||||
assertNotNull(sh.getPhoneticPr());
|
assertNotNull(sh.getPhoneticPr());
|
||||||
@ -180,7 +212,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* Names which are defined with a Sheet
|
* Names which are defined with a Sheet
|
||||||
* should return that sheet index properly
|
* should return that sheet index properly
|
||||||
*/
|
*/
|
||||||
public void test48923() throws Exception {
|
@Test
|
||||||
|
public void bug48923() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48923.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48923.xlsx");
|
||||||
assertEquals(4, wb.getNumberOfNames());
|
assertEquals(4, wb.getNumberOfNames());
|
||||||
|
|
||||||
@ -218,7 +251,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
*
|
*
|
||||||
* TODO: delete this test case when MROUND and VAR are implemented
|
* TODO: delete this test case when MROUND and VAR are implemented
|
||||||
*/
|
*/
|
||||||
public void test48539() throws Exception {
|
@Test
|
||||||
|
public void bug48539() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48539.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48539.xlsx");
|
||||||
assertEquals(3, wb.getNumberOfSheets());
|
assertEquals(3, wb.getNumberOfSheets());
|
||||||
|
|
||||||
@ -250,7 +284,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* Foreground colours should be found even if
|
* Foreground colours should be found even if
|
||||||
* a theme is used
|
* a theme is used
|
||||||
*/
|
*/
|
||||||
public void test48779() throws Exception {
|
@Test
|
||||||
|
public void bug48779() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48779.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48779.xlsx");
|
||||||
XSSFCell cell = wb.getSheetAt(0).getRow(0).getCell(0);
|
XSSFCell cell = wb.getSheetAt(0).getRow(0).getCell(0);
|
||||||
XSSFCellStyle cs = cell.getCellStyle();
|
XSSFCellStyle cs = cell.getCellStyle();
|
||||||
@ -265,7 +300,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
|
|
||||||
XSSFCellFill fg = wb.getStylesSource().getFillAt(2);
|
XSSFCellFill fg = wb.getStylesSource().getFillAt(2);
|
||||||
assertEquals(0, fg.getFillForegroundColor().getIndexed());
|
assertEquals(0, fg.getFillForegroundColor().getIndexed());
|
||||||
assertEquals(0.0, fg.getFillForegroundColor().getTint());
|
assertEquals(0.0, fg.getFillForegroundColor().getTint(), 0);
|
||||||
assertEquals("FFFF0000", fg.getFillForegroundColor().getARGBHex());
|
assertEquals("FFFF0000", fg.getFillForegroundColor().getARGBHex());
|
||||||
assertEquals(64, fg.getFillBackgroundColor().getIndexed());
|
assertEquals(64, fg.getFillBackgroundColor().getIndexed());
|
||||||
|
|
||||||
@ -288,7 +323,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* With XSSF, that wasn't the case, but this verfies
|
* With XSSF, that wasn't the case, but this verfies
|
||||||
* that it now is again
|
* that it now is again
|
||||||
*/
|
*/
|
||||||
public void test48718() throws Exception {
|
@Test
|
||||||
|
public void bug48718() throws Exception {
|
||||||
// Verify the HSSF behaviour
|
// Verify the HSSF behaviour
|
||||||
// Then ensure the same for XSSF
|
// Then ensure the same for XSSF
|
||||||
Workbook[] wbs = new Workbook[] {
|
Workbook[] wbs = new Workbook[] {
|
||||||
@ -320,28 +356,29 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* Ensure General and @ format are working properly
|
* Ensure General and @ format are working properly
|
||||||
* for integers
|
* for integers
|
||||||
*/
|
*/
|
||||||
public void test47490() throws Exception {
|
@Test
|
||||||
|
public void bug47490() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("GeneralFormatTests.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("GeneralFormatTests.xlsx");
|
||||||
Sheet s = wb.getSheetAt(1);
|
Sheet s = wb.getSheetAt(1);
|
||||||
Row r;
|
Row r;
|
||||||
DataFormatter df = new DataFormatter();
|
DataFormatter df = new DataFormatter();
|
||||||
|
|
||||||
r = s.getRow(1);
|
r = s.getRow(1);
|
||||||
assertEquals(1.0, r.getCell(2).getNumericCellValue());
|
assertEquals(1.0, r.getCell(2).getNumericCellValue(), 0);
|
||||||
assertEquals("General", r.getCell(2).getCellStyle().getDataFormatString());
|
assertEquals("General", r.getCell(2).getCellStyle().getDataFormatString());
|
||||||
assertEquals("1", df.formatCellValue(r.getCell(2)));
|
assertEquals("1", df.formatCellValue(r.getCell(2)));
|
||||||
assertEquals("1", df.formatRawCellContents(1.0, -1, "@"));
|
assertEquals("1", df.formatRawCellContents(1.0, -1, "@"));
|
||||||
assertEquals("1", df.formatRawCellContents(1.0, -1, "General"));
|
assertEquals("1", df.formatRawCellContents(1.0, -1, "General"));
|
||||||
|
|
||||||
r = s.getRow(2);
|
r = s.getRow(2);
|
||||||
assertEquals(12.0, r.getCell(2).getNumericCellValue());
|
assertEquals(12.0, r.getCell(2).getNumericCellValue(), 0);
|
||||||
assertEquals("General", r.getCell(2).getCellStyle().getDataFormatString());
|
assertEquals("General", r.getCell(2).getCellStyle().getDataFormatString());
|
||||||
assertEquals("12", df.formatCellValue(r.getCell(2)));
|
assertEquals("12", df.formatCellValue(r.getCell(2)));
|
||||||
assertEquals("12", df.formatRawCellContents(12.0, -1, "@"));
|
assertEquals("12", df.formatRawCellContents(12.0, -1, "@"));
|
||||||
assertEquals("12", df.formatRawCellContents(12.0, -1, "General"));
|
assertEquals("12", df.formatRawCellContents(12.0, -1, "General"));
|
||||||
|
|
||||||
r = s.getRow(3);
|
r = s.getRow(3);
|
||||||
assertEquals(123.0, r.getCell(2).getNumericCellValue());
|
assertEquals(123.0, r.getCell(2).getNumericCellValue(), 0);
|
||||||
assertEquals("General", r.getCell(2).getCellStyle().getDataFormatString());
|
assertEquals("General", r.getCell(2).getCellStyle().getDataFormatString());
|
||||||
assertEquals("123", df.formatCellValue(r.getCell(2)));
|
assertEquals("123", df.formatCellValue(r.getCell(2)));
|
||||||
assertEquals("123", df.formatRawCellContents(123.0, -1, "@"));
|
assertEquals("123", df.formatRawCellContents(123.0, -1, "@"));
|
||||||
@ -353,7 +390,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* and with the docs on when fetching the wrong
|
* and with the docs on when fetching the wrong
|
||||||
* kind of value from a Formula cell
|
* kind of value from a Formula cell
|
||||||
*/
|
*/
|
||||||
public void test47815() {
|
@Test
|
||||||
|
public void bug47815() {
|
||||||
Workbook[] wbs = new Workbook[] {
|
Workbook[] wbs = new Workbook[] {
|
||||||
new HSSFWorkbook(),
|
new HSSFWorkbook(),
|
||||||
new XSSFWorkbook()
|
new XSSFWorkbook()
|
||||||
@ -388,7 +426,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
assertEquals(Cell.CELL_TYPE_STRING, cfs.getCachedFormulaResultType());
|
assertEquals(Cell.CELL_TYPE_STRING, cfs.getCachedFormulaResultType());
|
||||||
|
|
||||||
// Different ways of retrieving
|
// Different ways of retrieving
|
||||||
assertEquals(1.2, cn.getNumericCellValue());
|
assertEquals(1.2, cn.getNumericCellValue(), 0);
|
||||||
try {
|
try {
|
||||||
cn.getRichStringCellValue();
|
cn.getRichStringCellValue();
|
||||||
fail();
|
fail();
|
||||||
@ -400,7 +438,7 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
fail();
|
fail();
|
||||||
} catch(IllegalStateException e) {}
|
} catch(IllegalStateException e) {}
|
||||||
|
|
||||||
assertEquals(1.2, cfn.getNumericCellValue());
|
assertEquals(1.2, cfn.getNumericCellValue(), 0);
|
||||||
try {
|
try {
|
||||||
cfn.getRichStringCellValue();
|
cfn.getRichStringCellValue();
|
||||||
fail();
|
fail();
|
||||||
@ -422,14 +460,16 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
*
|
*
|
||||||
* The OPC spec tolerates both of these peculiarities, so does POI
|
* The OPC spec tolerates both of these peculiarities, so does POI
|
||||||
*/
|
*/
|
||||||
public void test49609() throws Exception {
|
@Test
|
||||||
|
public void bug49609() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("49609.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("49609.xlsx");
|
||||||
assertEquals("FAM", wb.getSheetName(0));
|
assertEquals("FAM", wb.getSheetName(0));
|
||||||
assertEquals("Cycle", wb.getSheetAt(0).getRow(0).getCell(1).getStringCellValue());
|
assertEquals("Cycle", wb.getSheetAt(0).getRow(0).getCell(1).getStringCellValue());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test49783() throws Exception {
|
@Test
|
||||||
|
public void bug49783() throws Exception {
|
||||||
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("49783.xlsx");
|
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("49783.xlsx");
|
||||||
Sheet sheet = wb.getSheetAt(0);
|
Sheet sheet = wb.getSheetAt(0);
|
||||||
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
|
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
|
||||||
@ -460,7 +500,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* preserve spaces to the 2nd bit, lest we end up
|
* preserve spaces to the 2nd bit, lest we end up
|
||||||
* with something like "helloworld" !
|
* with something like "helloworld" !
|
||||||
*/
|
*/
|
||||||
public void test49941() throws Exception {
|
@Test
|
||||||
|
public void bug49941() throws Exception {
|
||||||
XSSFWorkbook wb = new XSSFWorkbook();
|
XSSFWorkbook wb = new XSSFWorkbook();
|
||||||
XSSFSheet s = wb.createSheet();
|
XSSFSheet s = wb.createSheet();
|
||||||
XSSFRow r = s.createRow(0);
|
XSSFRow r = s.createRow(0);
|
||||||
@ -534,7 +575,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Repeatedly writing the same file which has styles
|
* Repeatedly writing the same file which has styles
|
||||||
*/
|
*/
|
||||||
public void test49940() throws Exception {
|
@Test
|
||||||
|
public void bug49940() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("styles.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("styles.xlsx");
|
||||||
assertEquals(3, wb.getNumberOfSheets());
|
assertEquals(3, wb.getNumberOfSheets());
|
||||||
assertEquals(10, wb.getStylesSource().getNumCellStyles());
|
assertEquals(10, wb.getStylesSource().getNumCellStyles());
|
||||||
@ -560,7 +602,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* Various ways of removing a cell formula should all zap
|
* Various ways of removing a cell formula should all zap
|
||||||
* the calcChain entry.
|
* the calcChain entry.
|
||||||
*/
|
*/
|
||||||
public void test49966() throws Exception {
|
@Test
|
||||||
|
public void bug49966() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("shared_formulas.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("shared_formulas.xlsx");
|
||||||
XSSFSheet sheet = wb.getSheetAt(0);
|
XSSFSheet sheet = wb.getSheetAt(0);
|
||||||
|
|
||||||
@ -599,7 +642,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test49156() throws Exception {
|
@Test
|
||||||
|
public void bug49156() throws Exception {
|
||||||
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("49156.xlsx");
|
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("49156.xlsx");
|
||||||
FormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
|
FormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
|
||||||
|
|
||||||
@ -616,31 +660,33 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Newlines are valid characters in a formula
|
* Newlines are valid characters in a formula
|
||||||
*/
|
*/
|
||||||
public void test50440And51875() throws Exception {
|
@Test
|
||||||
|
public void bug50440And51875() throws Exception {
|
||||||
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("NewlineInFormulas.xlsx");
|
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("NewlineInFormulas.xlsx");
|
||||||
Sheet s = wb.getSheetAt(0);
|
Sheet s = wb.getSheetAt(0);
|
||||||
Cell c = s.getRow(0).getCell(0);
|
Cell c = s.getRow(0).getCell(0);
|
||||||
|
|
||||||
assertEquals("SUM(\n1,2\n)", c.getCellFormula());
|
assertEquals("SUM(\n1,2\n)", c.getCellFormula());
|
||||||
assertEquals(3.0, c.getNumericCellValue());
|
assertEquals(3.0, c.getNumericCellValue(), 0);
|
||||||
|
|
||||||
FormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
|
FormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
|
||||||
formulaEvaluator.evaluateFormulaCell(c);
|
formulaEvaluator.evaluateFormulaCell(c);
|
||||||
|
|
||||||
assertEquals("SUM(\n1,2\n)", c.getCellFormula());
|
assertEquals("SUM(\n1,2\n)", c.getCellFormula());
|
||||||
assertEquals(3.0, c.getNumericCellValue());
|
assertEquals(3.0, c.getNumericCellValue(), 0);
|
||||||
|
|
||||||
// For 51875
|
// For 51875
|
||||||
Cell b3 = s.getRow(2).getCell(1);
|
Cell b3 = s.getRow(2).getCell(1);
|
||||||
formulaEvaluator.evaluateFormulaCell(b3);
|
formulaEvaluator.evaluateFormulaCell(b3);
|
||||||
assertEquals("B1+B2", b3.getCellFormula()); // The newline is lost for shared formulas
|
assertEquals("B1+B2", b3.getCellFormula()); // The newline is lost for shared formulas
|
||||||
assertEquals(3.0, b3.getNumericCellValue());
|
assertEquals(3.0, b3.getNumericCellValue(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Moving a cell comment from one cell to another
|
* Moving a cell comment from one cell to another
|
||||||
*/
|
*/
|
||||||
public void test50795() throws Exception {
|
@Test
|
||||||
|
public void bug50795() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50795.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50795.xlsx");
|
||||||
XSSFSheet sheet = wb.getSheetAt(0);
|
XSSFSheet sheet = wb.getSheetAt(0);
|
||||||
XSSFRow row = sheet.getRow(0);
|
XSSFRow row = sheet.getRow(0);
|
||||||
@ -695,7 +741,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* shades of white or black.
|
* shades of white or black.
|
||||||
* For those cases, ensure we don't break on reading the colour
|
* For those cases, ensure we don't break on reading the colour
|
||||||
*/
|
*/
|
||||||
public void test50299() throws Exception {
|
@Test
|
||||||
|
public void bug50299() throws Exception {
|
||||||
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("50299.xlsx");
|
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("50299.xlsx");
|
||||||
|
|
||||||
// Check all the colours
|
// Check all the colours
|
||||||
@ -724,7 +771,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Excel .xls style indexed colours in a .xlsx file
|
* Excel .xls style indexed colours in a .xlsx file
|
||||||
*/
|
*/
|
||||||
public void test50786() throws Exception {
|
@Test
|
||||||
|
public void bug50786() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50786-indexed_colours.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50786-indexed_colours.xlsx");
|
||||||
XSSFSheet s = wb.getSheetAt(0);
|
XSSFSheet s = wb.getSheetAt(0);
|
||||||
XSSFRow r = s.getRow(2);
|
XSSFRow r = s.getRow(2);
|
||||||
@ -745,7 +793,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* If the border colours are set with themes, then we
|
* If the border colours are set with themes, then we
|
||||||
* should still be able to get colours
|
* should still be able to get colours
|
||||||
*/
|
*/
|
||||||
public void test50846() throws Exception {
|
@Test
|
||||||
|
public void bug50846() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50846-border_colours.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50846-border_colours.xlsx");
|
||||||
|
|
||||||
XSSFSheet sheet = wb.getSheetAt(0);
|
XSSFSheet sheet = wb.getSheetAt(0);
|
||||||
@ -773,7 +822,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* then being set explicitly still should allow the
|
* then being set explicitly still should allow the
|
||||||
* fetching of the RGB.
|
* fetching of the RGB.
|
||||||
*/
|
*/
|
||||||
public void test50784() throws Exception {
|
@Test
|
||||||
|
public void bug50784() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50784-font_theme_colours.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50784-font_theme_colours.xlsx");
|
||||||
XSSFSheet s = wb.getSheetAt(0);
|
XSSFSheet s = wb.getSheetAt(0);
|
||||||
XSSFRow r = s.getRow(0);
|
XSSFRow r = s.getRow(0);
|
||||||
@ -802,7 +852,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* New lines were being eaten when setting a font on
|
* New lines were being eaten when setting a font on
|
||||||
* a rich text string
|
* a rich text string
|
||||||
*/
|
*/
|
||||||
public void test48877() throws Exception {
|
@Test
|
||||||
|
public void bug48877() throws Exception {
|
||||||
String text = "Use \n with word wrap on to create a new line.\n" +
|
String text = "Use \n with word wrap on to create a new line.\n" +
|
||||||
"This line finishes with two trailing spaces. ";
|
"This line finishes with two trailing spaces. ";
|
||||||
|
|
||||||
@ -870,7 +921,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Adding sheets when one has a table, then re-ordering
|
* Adding sheets when one has a table, then re-ordering
|
||||||
*/
|
*/
|
||||||
public void test50867() throws Exception {
|
@Test
|
||||||
|
public void bug50867() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50867_with_table.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("50867_with_table.xlsx");
|
||||||
assertEquals(3, wb.getNumberOfSheets());
|
assertEquals(3, wb.getNumberOfSheets());
|
||||||
|
|
||||||
@ -987,7 +1039,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* any print settings that were there before
|
* any print settings that were there before
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
public void test49253() throws Exception {
|
@Test
|
||||||
|
public void bug49253() throws Exception {
|
||||||
XSSFWorkbook wb1 = new XSSFWorkbook();
|
XSSFWorkbook wb1 = new XSSFWorkbook();
|
||||||
XSSFWorkbook wb2 = new XSSFWorkbook();
|
XSSFWorkbook wb2 = new XSSFWorkbook();
|
||||||
|
|
||||||
@ -1028,7 +1081,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Default Column style
|
* Default Column style
|
||||||
*/
|
*/
|
||||||
public void test51037() throws Exception {
|
@Test
|
||||||
|
public void bug51037() throws Exception {
|
||||||
XSSFWorkbook wb = new XSSFWorkbook();
|
XSSFWorkbook wb = new XSSFWorkbook();
|
||||||
XSSFSheet s = wb.createSheet();
|
XSSFSheet s = wb.createSheet();
|
||||||
|
|
||||||
@ -1104,7 +1158,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* Repeatedly writing a file.
|
* Repeatedly writing a file.
|
||||||
* Something with the SharedStringsTable currently breaks...
|
* Something with the SharedStringsTable currently breaks...
|
||||||
*/
|
*/
|
||||||
public void DISABLEDtest46662() throws Exception {
|
@Ignore
|
||||||
|
public void bug46662() throws Exception {
|
||||||
// New file
|
// New file
|
||||||
XSSFWorkbook wb = new XSSFWorkbook();
|
XSSFWorkbook wb = new XSSFWorkbook();
|
||||||
XSSFTestDataSamples.writeOutAndReadBack(wb);
|
XSSFTestDataSamples.writeOutAndReadBack(wb);
|
||||||
@ -1124,7 +1179,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Colours and styles when the list has gaps in it
|
* Colours and styles when the list has gaps in it
|
||||||
*/
|
*/
|
||||||
public void test51222() throws Exception {
|
@Test
|
||||||
|
public void bug51222() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51222.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51222.xlsx");
|
||||||
XSSFSheet s = wb.getSheetAt(0);
|
XSSFSheet s = wb.getSheetAt(0);
|
||||||
|
|
||||||
@ -1162,7 +1218,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
// assertEquals("FF1F497D", cA5_1F497D.getCellStyle().getFillForegroundXSSFColor().getARGBHex());
|
// assertEquals("FF1F497D", cA5_1F497D.getCellStyle().getFillForegroundXSSFColor().getARGBHex());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test51470() throws Exception {
|
@Test
|
||||||
|
public void bug51470() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51470.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51470.xlsx");
|
||||||
XSSFSheet sh0 = wb.getSheetAt(0);
|
XSSFSheet sh0 = wb.getSheetAt(0);
|
||||||
XSSFSheet sh1 = wb.cloneSheet(0);
|
XSSFSheet sh1 = wb.cloneSheet(0);
|
||||||
@ -1178,7 +1235,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* Add comments to Sheet 1, when Sheet 2 already has
|
* Add comments to Sheet 1, when Sheet 2 already has
|
||||||
* comments (so /xl/comments1.xml is taken)
|
* comments (so /xl/comments1.xml is taken)
|
||||||
*/
|
*/
|
||||||
public void test51850() {
|
@Test
|
||||||
|
public void bug51850() {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51850.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51850.xlsx");
|
||||||
XSSFSheet sh1 = wb.getSheetAt(0);
|
XSSFSheet sh1 = wb.getSheetAt(0);
|
||||||
XSSFSheet sh2 = wb.getSheetAt(1);
|
XSSFSheet sh2 = wb.getSheetAt(1);
|
||||||
@ -1235,7 +1293,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Sheet names with a , in them
|
* Sheet names with a , in them
|
||||||
*/
|
*/
|
||||||
public void test51963() throws Exception {
|
@Test
|
||||||
|
public void bug51963() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51963.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("51963.xlsx");
|
||||||
XSSFSheet sheet = wb.getSheetAt(0);
|
XSSFSheet sheet = wb.getSheetAt(0);
|
||||||
assertEquals("Abc,1", sheet.getSheetName());
|
assertEquals("Abc,1", sheet.getSheetName());
|
||||||
@ -1255,7 +1314,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* eg =SUM($Sheet1.C1:$Sheet4.C1)
|
* eg =SUM($Sheet1.C1:$Sheet4.C1)
|
||||||
* DISABLED As we can't currently evaluate these
|
* DISABLED As we can't currently evaluate these
|
||||||
*/
|
*/
|
||||||
public void DISABLEDtest48703() throws Exception {
|
@Ignore
|
||||||
|
public void bug48703() throws Exception {
|
||||||
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48703.xlsx");
|
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("48703.xlsx");
|
||||||
XSSFSheet sheet = wb.getSheetAt(0);
|
XSSFSheet sheet = wb.getSheetAt(0);
|
||||||
|
|
||||||
@ -1265,10 +1325,10 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
XSSFCell c1 = r1.getCell(1);
|
XSSFCell c1 = r1.getCell(1);
|
||||||
XSSFCell c2 = r2.getCell(1);
|
XSSFCell c2 = r2.getCell(1);
|
||||||
|
|
||||||
assertEquals(20.0, c1.getNumericCellValue());
|
assertEquals(20.0, c1.getNumericCellValue(), 0);
|
||||||
assertEquals("SUM(Sheet1!C1,Sheet2!C1,Sheet3!C1,Sheet4!C1)", c1.getCellFormula());
|
assertEquals("SUM(Sheet1!C1,Sheet2!C1,Sheet3!C1,Sheet4!C1)", c1.getCellFormula());
|
||||||
|
|
||||||
assertEquals(20.0, c2.getNumericCellValue());
|
assertEquals(20.0, c2.getNumericCellValue(), 0);
|
||||||
assertEquals("SUM(Sheet1:Sheet4!C1)", c2.getCellFormula());
|
assertEquals("SUM(Sheet1:Sheet4!C1)", c2.getCellFormula());
|
||||||
|
|
||||||
// Try evaluating both
|
// Try evaluating both
|
||||||
@ -1276,14 +1336,15 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
eval.evaluateFormulaCell(c1);
|
eval.evaluateFormulaCell(c1);
|
||||||
eval.evaluateFormulaCell(c2);
|
eval.evaluateFormulaCell(c2);
|
||||||
|
|
||||||
assertEquals(20.0, c1.getNumericCellValue());
|
assertEquals(20.0, c1.getNumericCellValue(), 0);
|
||||||
assertEquals(20.0, c2.getNumericCellValue());
|
assertEquals(20.0, c2.getNumericCellValue(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bugzilla 51710: problems reading shared formuals from .xlsx
|
* Bugzilla 51710: problems reading shared formuals from .xlsx
|
||||||
*/
|
*/
|
||||||
public void test51710() {
|
@Test
|
||||||
|
public void bug51710() {
|
||||||
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("51710.xlsx");
|
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("51710.xlsx");
|
||||||
|
|
||||||
final String[] columns = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"};
|
final String[] columns = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"};
|
||||||
@ -1313,7 +1374,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
/**
|
/**
|
||||||
* Bug 53101:
|
* Bug 53101:
|
||||||
*/
|
*/
|
||||||
public void test5301(){
|
@Test
|
||||||
|
public void bug5301(){
|
||||||
Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("53101.xlsx");
|
Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("53101.xlsx");
|
||||||
FormulaEvaluator evaluator =
|
FormulaEvaluator evaluator =
|
||||||
workbook.getCreationHelper().createFormulaEvaluator();
|
workbook.getCreationHelper().createFormulaEvaluator();
|
||||||
@ -1332,7 +1394,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
assertEquals(259.0, a1Value, 0.0);
|
assertEquals(259.0, a1Value, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test54436(){
|
@Test
|
||||||
|
public void bug54436(){
|
||||||
Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("54436.xlsx");
|
Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("54436.xlsx");
|
||||||
if(!WorkbookEvaluator.getSupportedFunctionNames().contains("GETPIVOTDATA")){
|
if(!WorkbookEvaluator.getSupportedFunctionNames().contains("GETPIVOTDATA")){
|
||||||
Function func = new Function() {
|
Function func = new Function() {
|
||||||
@ -1351,7 +1414,8 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
|||||||
* error message when called via WorkbookFactory.
|
* error message when called via WorkbookFactory.
|
||||||
* (You need to supply a password explicitly for them)
|
* (You need to supply a password explicitly for them)
|
||||||
*/
|
*/
|
||||||
public void test55692() throws Exception {
|
@Test
|
||||||
|
public void bug55692() throws Exception {
|
||||||
InputStream inpA = POIDataSamples.getPOIFSInstance().openResourceAsStream("protect.xlsx");
|
InputStream inpA = POIDataSamples.getPOIFSInstance().openResourceAsStream("protect.xlsx");
|
||||||
InputStream inpB = POIDataSamples.getPOIFSInstance().openResourceAsStream("protect.xlsx");
|
InputStream inpB = POIDataSamples.getPOIFSInstance().openResourceAsStream("protect.xlsx");
|
||||||
InputStream inpC = POIDataSamples.getPOIFSInstance().openResourceAsStream("protect.xlsx");
|
InputStream inpC = POIDataSamples.getPOIFSInstance().openResourceAsStream("protect.xlsx");
|
||||||
|
@ -22,23 +22,19 @@ import org.apache.poi.hpsf.basic.AllPOIHPSFBasicTests;
|
|||||||
import org.apache.poi.hssf.HSSFTests;
|
import org.apache.poi.hssf.HSSFTests;
|
||||||
import org.apache.poi.poifs.AllPOIFSTests;
|
import org.apache.poi.poifs.AllPOIFSTests;
|
||||||
import org.apache.poi.util.AllPOIUtilTests;
|
import org.apache.poi.util.AllPOIUtilTests;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
import junit.framework.Test;
|
import org.junit.runners.Suite;
|
||||||
import junit.framework.TestSuite;
|
|
||||||
/**
|
/**
|
||||||
* Root Test Suite for entire POI project. (Includes all sub-packages of org.apache.poi)<br/>
|
* Root Test Suite for entire POI project. (Includes all sub-packages of org.apache.poi)<br/>
|
||||||
*
|
|
||||||
* @author Josh Micich
|
|
||||||
*/
|
*/
|
||||||
|
@RunWith(Suite.class)
|
||||||
|
@Suite.SuiteClasses({
|
||||||
|
TestPOIDocumentMain.class,
|
||||||
|
AllPOIDDFTests.class,
|
||||||
|
AllPOIHPSFBasicTests.class,
|
||||||
|
HSSFTests.class,
|
||||||
|
AllPOIFSTests.class,
|
||||||
|
AllPOIUtilTests.class
|
||||||
|
})
|
||||||
public final class AllPOITests {
|
public final class AllPOITests {
|
||||||
public static Test suite() {
|
|
||||||
TestSuite result = new TestSuite("Tests for org.apache.poi");
|
|
||||||
result.addTestSuite(TestPOIDocumentMain.class);
|
|
||||||
result.addTest(AllPOIDDFTests.suite());
|
|
||||||
result.addTest(AllPOIHPSFBasicTests.suite());
|
|
||||||
result.addTest(HSSFTests.suite());
|
|
||||||
result.addTest(AllPOIFSTests.suite());
|
|
||||||
result.addTest(AllPOIUtilTests.suite());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -17,9 +17,6 @@
|
|||||||
|
|
||||||
package org.apache.poi.hssf;
|
package org.apache.poi.hssf;
|
||||||
|
|
||||||
import junit.framework.Test;
|
|
||||||
import junit.framework.TestSuite;
|
|
||||||
|
|
||||||
import org.apache.poi.hssf.eventmodel.TestEventRecordFactory;
|
import org.apache.poi.hssf.eventmodel.TestEventRecordFactory;
|
||||||
import org.apache.poi.hssf.eventusermodel.AllEventUserModelTests;
|
import org.apache.poi.hssf.eventusermodel.AllEventUserModelTests;
|
||||||
import org.apache.poi.hssf.extractor.TestExcelExtractor;
|
import org.apache.poi.hssf.extractor.TestExcelExtractor;
|
||||||
@ -29,26 +26,23 @@ import org.apache.poi.hssf.usermodel.AllUserModelTests;
|
|||||||
import org.apache.poi.hssf.util.AllHSSFUtilTests;
|
import org.apache.poi.hssf.util.AllHSSFUtilTests;
|
||||||
import org.apache.poi.ss.formula.AllSSFormulaTests;
|
import org.apache.poi.ss.formula.AllSSFormulaTests;
|
||||||
import org.apache.poi.ss.util.AllSSUtilTests;
|
import org.apache.poi.ss.util.AllSSUtilTests;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.junit.runners.Suite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test Suite for all sub-packages of org.apache.poi.hssf<br/>
|
* Test Suite for all sub-packages of org.apache.poi.hssf<br/>
|
||||||
*
|
|
||||||
* @author Andrew C. Oliver acoliver@apache.org
|
|
||||||
*/
|
*/
|
||||||
|
@RunWith(Suite.class)
|
||||||
|
@Suite.SuiteClasses({
|
||||||
|
AllEventUserModelTests.class,
|
||||||
|
AllModelTests.class,
|
||||||
|
AllUserModelTests.class,
|
||||||
|
AllRecordTests.class,
|
||||||
|
AllHSSFUtilTests.class,
|
||||||
|
TestExcelExtractor.class,
|
||||||
|
TestEventRecordFactory.class,
|
||||||
|
AllSSFormulaTests.class,
|
||||||
|
AllSSUtilTests.class
|
||||||
|
})
|
||||||
public final class HSSFTests {
|
public final class HSSFTests {
|
||||||
|
|
||||||
public static Test suite() {
|
|
||||||
TestSuite suite = new TestSuite(HSSFTests.class.getName());
|
|
||||||
|
|
||||||
suite.addTest(AllEventUserModelTests.suite());
|
|
||||||
suite.addTest(AllModelTests.suite());
|
|
||||||
suite.addTest(AllUserModelTests.suite());
|
|
||||||
suite.addTest(AllRecordTests.suite());
|
|
||||||
suite.addTest(AllHSSFUtilTests.suite());
|
|
||||||
suite.addTest(new TestSuite(TestExcelExtractor.class));
|
|
||||||
suite.addTest(new TestSuite(TestEventRecordFactory.class));
|
|
||||||
suite.addTest(AllSSFormulaTests.suite());
|
|
||||||
suite.addTest(AllSSUtilTests.suite());
|
|
||||||
return suite;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@ public class TestBiffViewer extends BaseXLSIteratingTest {
|
|||||||
SILENT_EXCLUDED.add("43493.xls"); // HSSFWorkbook cannot open it as well
|
SILENT_EXCLUDED.add("43493.xls"); // HSSFWorkbook cannot open it as well
|
||||||
SILENT_EXCLUDED.add("password.xls");
|
SILENT_EXCLUDED.add("password.xls");
|
||||||
SILENT_EXCLUDED.add("46904.xls");
|
SILENT_EXCLUDED.add("46904.xls");
|
||||||
|
SILENT_EXCLUDED.add("xor-encryption-abc.xls"); // unsupported XOR-encryption
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -17,66 +17,60 @@
|
|||||||
|
|
||||||
package org.apache.poi.hssf.usermodel;
|
package org.apache.poi.hssf.usermodel;
|
||||||
|
|
||||||
import junit.framework.Test;
|
import org.junit.runner.RunWith;
|
||||||
import junit.framework.TestSuite;
|
import org.junit.runners.Suite;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Collects all tests for the <tt>org.apache.poi.hssf.usermodel</tt> package.
|
* Collects all tests for the <tt>org.apache.poi.hssf.usermodel</tt> package.
|
||||||
*
|
|
||||||
* @author Josh Micich
|
|
||||||
*/
|
*/
|
||||||
|
@RunWith(Suite.class)
|
||||||
|
@Suite.SuiteClasses({
|
||||||
|
TestBug42464.class,
|
||||||
|
TestBugs.class,
|
||||||
|
TestCellStyle.class,
|
||||||
|
TestCloneSheet.class,
|
||||||
|
TestDataValidation.class,
|
||||||
|
TestEscherGraphics.class,
|
||||||
|
TestEscherGraphics2d.class,
|
||||||
|
TestFontDetails.class,
|
||||||
|
TestFormulaEvaluatorBugs.class,
|
||||||
|
TestFormulaEvaluatorDocs.class,
|
||||||
|
TestFormulas.class,
|
||||||
|
TestHSSFCell.class,
|
||||||
|
TestHSSFClientAnchor.class,
|
||||||
|
TestHSSFComment.class,
|
||||||
|
TestHSSFConditionalFormatting.class,
|
||||||
|
TestHSSFDataFormat.class,
|
||||||
|
TestHSSFDataFormatter.class,
|
||||||
|
TestHSSFDateUtil.class,
|
||||||
|
TestHSSFFont.class,
|
||||||
|
TestHSSFFormulaEvaluator.class,
|
||||||
|
TestHSSFHeaderFooter.class,
|
||||||
|
TestHSSFHyperlink.class,
|
||||||
|
TestHSSFName.class,
|
||||||
|
TestHSSFOptimiser.class,
|
||||||
|
TestHSSFPalette.class,
|
||||||
|
TestHSSFPatriarch.class,
|
||||||
|
TestHSSFPicture.class,
|
||||||
|
TestHSSFPictureData.class,
|
||||||
|
TestHSSFRichTextString.class,
|
||||||
|
TestHSSFRow.class,
|
||||||
|
TestHSSFSheet.class,
|
||||||
|
TestHSSFSheetShiftRows.class,
|
||||||
|
TestHSSFSheetUpdateArrayFormulas.class,
|
||||||
|
TestHSSFTextbox.class,
|
||||||
|
TestHSSFWorkbook.class,
|
||||||
|
TestOLE2Embeding.class,
|
||||||
|
TestPOIFSProperties.class,
|
||||||
|
TestReadWriteChart.class,
|
||||||
|
TestRowStyle.class,
|
||||||
|
TestSanityChecker.class,
|
||||||
|
TestSheetHiding.class,
|
||||||
|
/* deliberately avoiding this one
|
||||||
|
TestUnfixedBugs.class,*/
|
||||||
|
TestUnicodeWorkbook.class,
|
||||||
|
TestNonStandardWorkbookStreamNames.class,
|
||||||
|
TestWorkbook.class
|
||||||
|
})
|
||||||
public class AllUserModelTests {
|
public class AllUserModelTests {
|
||||||
|
|
||||||
public static Test suite() {
|
|
||||||
TestSuite result = new TestSuite(AllUserModelTests.class.getName());
|
|
||||||
|
|
||||||
result.addTestSuite(TestBug42464.class);
|
|
||||||
result.addTestSuite(TestBugs.class);
|
|
||||||
result.addTestSuite(TestCellStyle.class);
|
|
||||||
result.addTestSuite(TestCloneSheet.class);
|
|
||||||
result.addTestSuite(TestDataValidation.class);
|
|
||||||
result.addTestSuite(TestEscherGraphics.class);
|
|
||||||
result.addTestSuite(TestEscherGraphics2d.class);
|
|
||||||
result.addTestSuite(TestFontDetails.class);
|
|
||||||
result.addTestSuite(TestFormulaEvaluatorBugs.class);
|
|
||||||
result.addTestSuite(TestFormulaEvaluatorDocs.class);
|
|
||||||
result.addTestSuite(TestFormulas.class);
|
|
||||||
result.addTestSuite(TestHSSFCell.class);
|
|
||||||
result.addTestSuite(TestHSSFClientAnchor.class);
|
|
||||||
result.addTestSuite(TestHSSFComment.class);
|
|
||||||
result.addTestSuite(TestHSSFConditionalFormatting.class);
|
|
||||||
result.addTestSuite(TestHSSFDataFormat.class);
|
|
||||||
result.addTestSuite(TestHSSFDataFormatter.class);
|
|
||||||
result.addTestSuite(TestHSSFDateUtil.class);
|
|
||||||
result.addTestSuite(TestHSSFFont.class);
|
|
||||||
result.addTestSuite(TestHSSFFormulaEvaluator.class);
|
|
||||||
result.addTestSuite(TestHSSFHeaderFooter.class);
|
|
||||||
result.addTestSuite(TestHSSFHyperlink.class);
|
|
||||||
result.addTestSuite(TestHSSFName.class);
|
|
||||||
result.addTestSuite(TestHSSFOptimiser.class);
|
|
||||||
result.addTestSuite(TestHSSFPalette.class);
|
|
||||||
result.addTestSuite(TestHSSFPatriarch.class);
|
|
||||||
result.addTestSuite(TestHSSFPicture.class);
|
|
||||||
result.addTestSuite(TestHSSFPictureData.class);
|
|
||||||
result.addTestSuite(TestHSSFRichTextString.class);
|
|
||||||
result.addTestSuite(TestHSSFRow.class);
|
|
||||||
result.addTestSuite(TestHSSFSheet.class);
|
|
||||||
result.addTestSuite(TestHSSFSheetShiftRows.class);
|
|
||||||
result.addTestSuite(TestHSSFSheetUpdateArrayFormulas.class);
|
|
||||||
result.addTestSuite(TestHSSFTextbox.class);
|
|
||||||
result.addTestSuite(TestHSSFWorkbook.class);
|
|
||||||
result.addTestSuite(TestOLE2Embeding.class);
|
|
||||||
result.addTestSuite(TestPOIFSProperties.class);
|
|
||||||
result.addTestSuite(TestReadWriteChart.class);
|
|
||||||
result.addTestSuite(TestRowStyle.class);
|
|
||||||
result.addTestSuite(TestSanityChecker.class);
|
|
||||||
result.addTestSuite(TestSheetHiding.class);
|
|
||||||
/* deliberately avoiding this one
|
|
||||||
result.addTestSuite(TestUnfixedBugs.class);*/
|
|
||||||
result.addTestSuite(TestUnicodeWorkbook.class);
|
|
||||||
result.addTestSuite(TestNonStandardWorkbookStreamNames.class);
|
|
||||||
result.addTestSuite(TestWorkbook.class);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -17,19 +17,22 @@
|
|||||||
|
|
||||||
package org.apache.poi.ss.usermodel;
|
package org.apache.poi.ss.usermodel;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.fail;
|
||||||
|
|
||||||
import org.apache.poi.hssf.util.PaneInformation;
|
import org.apache.poi.hssf.util.PaneInformation;
|
||||||
import org.apache.poi.ss.ITestDataProvider;
|
import org.apache.poi.ss.ITestDataProvider;
|
||||||
import org.apache.poi.ss.SpreadsheetVersion;
|
import org.apache.poi.ss.SpreadsheetVersion;
|
||||||
import org.apache.poi.ss.util.CellRangeAddress;
|
import org.apache.poi.ss.util.CellRangeAddress;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A base class for bugzilla issues that can be described in terms of common ss interfaces.
|
* A base class for bugzilla issues that can be described in terms of common ss interfaces.
|
||||||
*
|
*
|
||||||
* @author Yegor Kozlov
|
* @author Yegor Kozlov
|
||||||
*/
|
*/
|
||||||
public abstract class BaseTestBugzillaIssues extends TestCase {
|
public abstract class BaseTestBugzillaIssues {
|
||||||
|
|
||||||
private final ITestDataProvider _testDataProvider;
|
private final ITestDataProvider _testDataProvider;
|
||||||
|
|
||||||
@ -43,7 +46,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
*
|
*
|
||||||
* Also tests bug 15353 (problems with hyperlinks to Google)
|
* Also tests bug 15353 (problems with hyperlinks to Google)
|
||||||
*/
|
*/
|
||||||
public final void test23094() {
|
@Test
|
||||||
|
public final void bug23094() {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet s = wb.createSheet();
|
Sheet s = wb.createSheet();
|
||||||
Row r = s.createRow(0);
|
Row r = s.createRow(0);
|
||||||
@ -64,7 +68,7 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
* open resulting file in Excel to check results!
|
* open resulting file in Excel to check results!
|
||||||
* @param num the number of strings to generate
|
* @param num the number of strings to generate
|
||||||
*/
|
*/
|
||||||
public void baseTest15375(int num) {
|
public final void bug15375(int num) {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet sheet = wb.createSheet();
|
Sheet sheet = wb.createSheet();
|
||||||
CreationHelper factory = wb.getCreationHelper();
|
CreationHelper factory = wb.getCreationHelper();
|
||||||
@ -104,7 +108,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
/**
|
/**
|
||||||
* Merged regions were being removed from the parent in cloned sheets
|
* Merged regions were being removed from the parent in cloned sheets
|
||||||
*/
|
*/
|
||||||
public final void test22720() {
|
@Test
|
||||||
|
public final void bug22720() {
|
||||||
Workbook workBook = _testDataProvider.createWorkbook();
|
Workbook workBook = _testDataProvider.createWorkbook();
|
||||||
workBook.createSheet("TEST");
|
workBook.createSheet("TEST");
|
||||||
Sheet template = workBook.getSheetAt(0);
|
Sheet template = workBook.getSheetAt(0);
|
||||||
@ -131,7 +136,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void test28031() {
|
@Test
|
||||||
|
public final void bug28031() {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet sheet = wb.createSheet();
|
Sheet sheet = wb.createSheet();
|
||||||
wb.setSheetName(0, "Sheet1");
|
wb.setSheetName(0, "Sheet1");
|
||||||
@ -153,7 +159,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
* that contains macros and this formula:
|
* that contains macros and this formula:
|
||||||
* {=SUM(IF(FREQUENCY(IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""),IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""))>0,1))}
|
* {=SUM(IF(FREQUENCY(IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""),IF(LEN(V4:V220)>0,MATCH(V4:V220,V4:V220,0),""))>0,1))}
|
||||||
*/
|
*/
|
||||||
public final void test21334() {
|
@Test
|
||||||
|
public final void bug21334() {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet sh = wb.createSheet();
|
Sheet sh = wb.createSheet();
|
||||||
Cell cell = sh.createRow(0).createCell(0);
|
Cell cell = sh.createRow(0).createCell(0);
|
||||||
@ -167,7 +174,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
|
|
||||||
/** another test for the number of unique strings issue
|
/** another test for the number of unique strings issue
|
||||||
*test opening the resulting file in Excel*/
|
*test opening the resulting file in Excel*/
|
||||||
public final void test22568() {
|
@Test
|
||||||
|
public final void bug22568() {
|
||||||
int r=2000;int c=3;
|
int r=2000;int c=3;
|
||||||
|
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
@ -216,14 +224,16 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
/**
|
/**
|
||||||
* Bug 42448: Can't parse SUMPRODUCT(A!C7:A!C67, B8:B68) / B69
|
* Bug 42448: Can't parse SUMPRODUCT(A!C7:A!C67, B8:B68) / B69
|
||||||
*/
|
*/
|
||||||
public final void test42448(){
|
@Test
|
||||||
|
public final void bug42448(){
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Cell cell = wb.createSheet().createRow(0).createCell(0);
|
Cell cell = wb.createSheet().createRow(0).createCell(0);
|
||||||
cell.setCellFormula("SUMPRODUCT(A!C7:A!C67, B8:B68) / B69");
|
cell.setCellFormula("SUMPRODUCT(A!C7:A!C67, B8:B68) / B69");
|
||||||
assertTrue("no errors parsing formula", true);
|
assertTrue("no errors parsing formula", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void test18800() {
|
@Test
|
||||||
|
public final void bug18800() {
|
||||||
Workbook book = _testDataProvider.createWorkbook();
|
Workbook book = _testDataProvider.createWorkbook();
|
||||||
book.createSheet("TEST");
|
book.createSheet("TEST");
|
||||||
Sheet sheet = book.cloneSheet(0);
|
Sheet sheet = book.cloneSheet(0);
|
||||||
@ -251,7 +261,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void testBug43093() {
|
@Test
|
||||||
|
public final void bug43093() {
|
||||||
Workbook xlw = _testDataProvider.createWorkbook();
|
Workbook xlw = _testDataProvider.createWorkbook();
|
||||||
|
|
||||||
addNewSheetWithCellsA1toD4(xlw, 1);
|
addNewSheetWithCellsA1toD4(xlw, 1);
|
||||||
@ -270,7 +281,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
assertEquals(d, (311+312+321+322), 0.0000001);
|
assertEquals(d, (311+312+321+322), 0.0000001);
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void testMaxFunctionArguments_bug46729(){
|
@Test
|
||||||
|
public final void bug46729_testMaxFunctionArguments(){
|
||||||
String[] func = {"COUNT", "AVERAGE", "MAX", "MIN", "OR", "SUBTOTAL", "SKEW"};
|
String[] func = {"COUNT", "AVERAGE", "MAX", "MIN", "OR", "SUBTOTAL", "SKEW"};
|
||||||
|
|
||||||
SpreadsheetVersion ssVersion = _testDataProvider.getSpreadsheetVersion();
|
SpreadsheetVersion ssVersion = _testDataProvider.getSpreadsheetVersion();
|
||||||
@ -308,7 +320,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
return fmla.toString();
|
return fmla.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void testAutoSize_bug506819() {
|
@Test
|
||||||
|
public final void bug506819_testAutoSize() {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
Sheet sheet = wb.createSheet("Sheet1");
|
Sheet sheet = wb.createSheet("Sheet1");
|
||||||
Row row = sheet.createRow(0);
|
Row row = sheet.createRow(0);
|
||||||
@ -331,7 +344,8 @@ public abstract class BaseTestBugzillaIssues extends TestCase {
|
|||||||
/**
|
/**
|
||||||
* CreateFreezePane column/row order check
|
* CreateFreezePane column/row order check
|
||||||
*/
|
*/
|
||||||
public void test49381() throws Exception {
|
@Test
|
||||||
|
public void bug49381() throws Exception {
|
||||||
Workbook wb = _testDataProvider.createWorkbook();
|
Workbook wb = _testDataProvider.createWorkbook();
|
||||||
int colSplit = 1;
|
int colSplit = 1;
|
||||||
int rowSplit = 2;
|
int rowSplit = 2;
|
||||||
|
BIN
test-data/spreadsheet/xor-encryption-abc.xls
Normal file
BIN
test-data/spreadsheet/xor-encryption-abc.xls
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user