You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2015/10/05 02:28:55 UTC
svn commit: r1706742 [1/2] - in /poi/trunk/src: java/org/apache/poi/hpsf/
java/org/apache/poi/poifs/dev/ java/org/apache/poi/sl/usermodel/
ooxml/testcases/org/apache/poi/xssf/streaming/
ooxml/testcases/org/apache/poi/xssf/usermodel/ scratchpad/src/org/...
Author: kiwiwings
Date: Mon Oct 5 00:28:54 2015
New Revision: 1706742
URL: http://svn.apache.org/viewvc?rev=1706742&view=rev
Log:
fixed sonar issues and eclipse warnings
Modified:
poi/trunk/src/java/org/apache/poi/hpsf/MutableSection.java
poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSViewer.java
poi/trunk/src/java/org/apache/poi/sl/usermodel/TextRun.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFConditionalFormatting.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/StyleDescription.java
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFormulaEvaluator.java
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestCellComment.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestConditionalFormatting.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFormulaEvaluator.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
Modified: poi/trunk/src/java/org/apache/poi/hpsf/MutableSection.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hpsf/MutableSection.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/hpsf/MutableSection.java (original)
+++ poi/trunk/src/java/org/apache/poi/hpsf/MutableSection.java Mon Oct 5 00:28:54 2015
@@ -514,8 +514,9 @@ public class MutableSection extends Sect
{
/* Write the dictionary item in Unicode. */
int sLength = value.length() + 1;
- if (sLength % 2 == 1)
+ if ((sLength & 1) == 1) {
sLength++;
+ }
length += TypeWriter.writeUIntToStream(out, key.longValue());
length += TypeWriter.writeUIntToStream(out, sLength);
final byte[] ca = CodePageUtil.getBytesInCodePage(value, codepage);
Modified: poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSViewer.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSViewer.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSViewer.java (original)
+++ poi/trunk/src/java/org/apache/poi/poifs/dev/POIFSViewer.java Mon Oct 5 00:28:54 2015
@@ -21,7 +21,6 @@ package org.apache.poi.poifs.dev;
import java.io.File;
import java.io.IOException;
-import java.util.Iterator;
import java.util.List;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
@@ -41,10 +40,8 @@ public class POIFSViewer
* @param args the names of the files to be displayed
*/
- public static void main(final String args[])
- {
- if (args.length < 0)
- {
+ public static void main(final String args[]) {
+ if (args.length == 0) {
System.err.println("Must specify at least one file to view");
System.exit(1);
}
@@ -56,16 +53,12 @@ public class POIFSViewer
}
}
- private static void viewFile(final String filename,
- final boolean printName)
- {
- if (printName)
- {
+ private static void viewFile(String filename, boolean printName) {
+ if (printName) {
StringBuffer flowerbox = new StringBuffer();
flowerbox.append(".");
- for (int j = 0; j < filename.length(); j++)
- {
+ for (int j = 0; j < filename.length(); j++) {
flowerbox.append("-");
}
flowerbox.append(".");
@@ -73,21 +66,14 @@ public class POIFSViewer
System.out.println("|" + filename + "|");
System.out.println(flowerbox);
}
- try
- {
- POIFSViewable fs =
- new NPOIFSFileSystem(new File(filename));
- List<String> strings = POIFSViewEngine.inspectViewable(fs, true,
- 0, " ");
- Iterator<String> iter = strings.iterator();
-
- while (iter.hasNext())
- {
- System.out.print(iter.next());
+ try {
+ NPOIFSFileSystem fs = new NPOIFSFileSystem(new File(filename));
+ List<String> strings = POIFSViewEngine.inspectViewable(fs, true, 0, " ");
+ for (String s : strings) {
+ System.out.print(s);
}
- }
- catch (IOException e)
- {
+ fs.close();
+ } catch (IOException e) {
System.out.println(e.getMessage());
}
}
Modified: poi/trunk/src/java/org/apache/poi/sl/usermodel/TextRun.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/sl/usermodel/TextRun.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/sl/usermodel/TextRun.java (original)
+++ poi/trunk/src/java/org/apache/poi/sl/usermodel/TextRun.java Mon Oct 5 00:28:54 2015
@@ -66,11 +66,17 @@ public interface TextRun {
/**
+ * Returns the font size which is either set directly on this text run or
+ * given from the slide layout
+ *
* @return font size in points or null if font size is not set.
*/
Double getFontSize();
/**
+ * Sets the font size directly on this text run, if null is given, the
+ * font size defaults to the values given from the slide layout
+ *
* @param fontSize font size in points, if null the underlying fontsize will be unset
*/
void setFontSize(Double fontSize);
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/streaming/TestSXSSFSheet.java Mon Oct 5 00:28:54 2015
@@ -52,7 +52,7 @@ public class TestSXSSFSheet extends Base
*/
@Override
@Test
- public void cloneSheet() {
+ public void cloneSheet() throws IOException {
thrown.expect(RuntimeException.class);
thrown.expectMessage("NotImplemented");
super.cloneSheet();
@@ -60,7 +60,7 @@ public class TestSXSSFSheet extends Base
@Override
@Test
- public void cloneSheetMultipleTimes() {
+ public void cloneSheetMultipleTimes() throws IOException {
thrown.expect(RuntimeException.class);
thrown.expectMessage("NotImplemented");
super.cloneSheetMultipleTimes();
@@ -71,7 +71,7 @@ public class TestSXSSFSheet extends Base
*/
@Override
@Test
- public void shiftMerged(){
+ public void shiftMerged() throws IOException {
thrown.expect(RuntimeException.class);
thrown.expectMessage("NotImplemented");
super.shiftMerged();
@@ -84,7 +84,7 @@ public class TestSXSSFSheet extends Base
*/
@Override
@Test
- public void bug35084(){
+ public void bug35084() throws IOException {
thrown.expect(RuntimeException.class);
thrown.expectMessage("NotImplemented");
super.bug35084();
@@ -146,11 +146,12 @@ public class TestSXSSFSheet extends Base
sheet.createRow(2);
} finally {
wb.close();
+ template.close();
}
}
- @Test
- public void createRowAfterLastRow() {
+ @Test(expected=IllegalArgumentException.class)
+ public void createRowAfterLastRow() throws IOException {
createRowAfterLastRow(SpreadsheetVersion.EXCEL2007);
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFConditionalFormatting.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFConditionalFormatting.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFConditionalFormatting.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFConditionalFormatting.java Mon Oct 5 00:28:54 2015
@@ -18,9 +18,15 @@
*/
package org.apache.poi.xssf.usermodel;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+
import org.apache.poi.ss.usermodel.BaseTestConditionalFormatting;
import org.apache.poi.ss.usermodel.Color;
import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.junit.Test;
/**
* XSSF-specific Conditional Formatting tests
@@ -40,11 +46,13 @@ public class TestXSSFConditionalFormatti
}
}
- public void testRead(){
+ @Test
+ public void testRead() throws IOException {
testRead("WithConditionalFormatting.xlsx");
}
- public void testReadOffice2007() {
+ @Test
+ public void testReadOffice2007() throws IOException {
testReadOffice2007("NewStyleConditionalFormattings.xlsx");
}
}
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFormulaEvaluation.java Mon Oct 5 00:28:54 2015
@@ -17,6 +17,8 @@
package org.apache.poi.xssf.usermodel;
+import static org.junit.Assert.*;
+
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
@@ -33,6 +35,8 @@ import org.apache.poi.ss.usermodel.Workb
import org.apache.poi.ss.util.CellReference;
import org.apache.poi.xssf.XSSFITestDataProvider;
import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.junit.Ignore;
+import org.junit.Test;
public final class TestXSSFFormulaEvaluation extends BaseTestFormulaEvaluator {
@@ -40,11 +44,13 @@ public final class TestXSSFFormulaEvalua
super(XSSFITestDataProvider.instance);
}
- public void testSharedFormulas(){
+ @Test
+ public void testSharedFormulas() throws IOException {
baseTestSharedFormulas("shared_formulas.xlsx");
}
- public void testSharedFormulas_evaluateInCell(){
+ @Test
+ public void testSharedFormulas_evaluateInCell() throws IOException {
XSSFWorkbook wb = (XSSFWorkbook)_testDataProvider.openSampleWorkbook("49872.xlsx");
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
XSSFSheet sheet = wb.getSheetAt(0);
@@ -59,20 +65,23 @@ public final class TestXSSFFormulaEvalua
// get B3 and evaluate it in the cell
XSSFCell b3 = sheet.getRow(2).getCell(1);
- assertEquals(result, evaluator.evaluateInCell(b3).getNumericCellValue());
+ assertEquals(result, evaluator.evaluateInCell(b3).getNumericCellValue(), 0);
//at this point the master formula is gone, but we are still able to evaluate dependent cells
XSSFCell c3 = sheet.getRow(2).getCell(2);
- assertEquals(result, evaluator.evaluateInCell(c3).getNumericCellValue());
+ assertEquals(result, evaluator.evaluateInCell(c3).getNumericCellValue(), 0);
XSSFCell d3 = sheet.getRow(2).getCell(3);
- assertEquals(result, evaluator.evaluateInCell(d3).getNumericCellValue());
+ assertEquals(result, evaluator.evaluateInCell(d3).getNumericCellValue(), 0);
+
+ wb.close();
}
/**
* Evaluation of cell references with column indexes greater than 255. See bugzilla 50096
*/
- public void testEvaluateColumnGreaterThan255() {
+ @Test
+ public void testEvaluateColumnGreaterThan255() throws IOException {
XSSFWorkbook wb = (XSSFWorkbook) _testDataProvider.openSampleWorkbook("50096.xlsx");
XSSFFormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
@@ -95,8 +104,10 @@ public final class TestXSSFFormulaEvalua
CellValue cv_noformula = evaluator.evaluate(cell_noformula);
CellValue cv_formula = evaluator.evaluate(cell_formula);
assertEquals("Wrong evaluation result in " + ref_formula.formatAsString(),
- cv_noformula.getNumberValue(), cv_formula.getNumberValue());
+ cv_noformula.getNumberValue(), cv_formula.getNumberValue(), 0);
}
+
+ wb.close();
}
/**
@@ -104,6 +115,7 @@ public final class TestXSSFFormulaEvalua
* formulas that refer to cells and named ranges in multiple other
* workbooks, both HSSF and XSSF ones
*/
+ @Test
public void testReferencesToOtherWorkbooks() throws Exception {
XSSFWorkbook wb = (XSSFWorkbook) _testDataProvider.openSampleWorkbook("ref2-56737.xlsx");
XSSFFormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
@@ -120,7 +132,7 @@ public final class TestXSSFFormulaEvalua
assertEquals("Hello!", cXSLX_cell.getStringCellValue());
assertEquals("Test A1", cXSLX_sNR.getStringCellValue());
- assertEquals(142.0, cXSLX_gNR.getNumericCellValue());
+ assertEquals(142.0, cXSLX_gNR.getNumericCellValue(), 0);
// References to a .xls file
Row rXSL = s.getRow(4);
@@ -133,7 +145,7 @@ public final class TestXSSFFormulaEvalua
assertEquals("Hello!", cXSL_cell.getStringCellValue());
assertEquals("Test A1", cXSL_sNR.getStringCellValue());
- assertEquals(142.0, cXSL_gNR.getNumericCellValue());
+ assertEquals(142.0, cXSL_gNR.getNumericCellValue(), 0);
// Try to evaluate without references, won't work
// (At least, not unit we fix bug #56752 that is)
@@ -213,6 +225,8 @@ public final class TestXSSFFormulaEvalua
} finally {
alt.close();
}
+
+ wb.close();
}
/**
@@ -222,7 +236,9 @@ public final class TestXSSFFormulaEvalua
* TODO Add the support then add a unit test
* See bug #56752
*/
- public void TODOtestCachedReferencesToOtherWorkbooks() throws Exception {
+ @Test
+ @Ignore
+ public void testCachedReferencesToOtherWorkbooks() throws Exception {
// TODO
}
@@ -233,12 +249,12 @@ public final class TestXSSFFormulaEvalua
* This test, based on common test files for HSSF and XSSF, checks
* that we can correctly evaluate these
*/
+ @Test
public void testMultiSheetReferencesHSSFandXSSF() throws Exception {
- Workbook[] wbs = new Workbook[] {
- HSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xls"),
- XSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xlsx")
- };
- for (Workbook wb : wbs) {
+ Workbook wb1 = HSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xls");
+ Workbook wb2 = XSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xlsx");
+
+ for (Workbook wb : new Workbook[] {wb1,wb2}) {
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
Sheet s1 = wb.getSheetAt(0);
@@ -288,7 +304,11 @@ public final class TestXSSFFormulaEvalua
assertEquals("COUNTA(Sheet1:Sheet3!E1)", countA_3F.getCellFormula());
assertEquals("3.0", evaluator.evaluate(countA_3F).formatAsString());
}
+
+ wb2.close();
+ wb1.close();
}
+
/**
* A handful of functions (such as SUM, COUNTA, MIN) support
* multi-sheet areas (eg Sheet1:Sheet3!A1:B2 = Cell A1 to Cell B2,
@@ -296,12 +316,12 @@ public final class TestXSSFFormulaEvalua
* This test, based on common test files for HSSF and XSSF, checks
* that we can correctly evaluate these
*/
- public void testMultiSheetAreasHSSFandXSSF() throws Exception {
- Workbook[] wbs = new Workbook[] {
- HSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xls"),
- XSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xlsx")
- };
- for (Workbook wb : wbs) {
+ @Test
+ public void testMultiSheetAreasHSSFandXSSF() throws IOException {
+ Workbook wb1 = HSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xls");
+ Workbook wb2 = XSSFTestDataSamples.openSampleWorkbook("55906-MultiSheetRefs.xlsx");
+
+ for (Workbook wb : new Workbook[]{wb1,wb2}) {
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
Sheet s1 = wb.getSheetAt(0);
@@ -334,8 +354,12 @@ public final class TestXSSFFormulaEvalua
assertEquals("COUNT(Sheet1:Sheet3!$A$1:$B$2)", countFA.getCellFormula());
assertEquals("4.0", evaluator.evaluate(countFA).formatAsString());
}
+
+ wb2.close();
+ wb1.close();
}
+ @Test
public void testMultisheetFormulaEval() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -376,15 +400,16 @@ public final class TestXSSFFormulaEvalua
wb.getCreationHelper().createFormulaEvaluator().evaluateAll();
cell = sheet1.getRow(1).getCell(0);
- assertEquals(3.0, cell.getNumericCellValue());
+ assertEquals(3.0, cell.getNumericCellValue(), 0);
cell = sheet1.getRow(2).getCell(0);
- assertEquals(4.0, cell.getNumericCellValue());
+ assertEquals(4.0, cell.getNumericCellValue(), 0);
} finally {
wb.close();
}
}
+ @Test
public void testBug55843() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -397,12 +422,10 @@ public final class TestXSSFFormulaEvalua
XSSFFormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
cellA2.setCellFormula("IF(B1=0,\"\",((ROW()-ROW(A$1))*12))");
CellValue evaluate = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluate);
assertEquals("12.0", evaluate.formatAsString());
cellA2.setCellFormula("IF(NOT(B1=0),((ROW()-ROW(A$1))*12),\"\")");
CellValue evaluateN = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluateN);
assertEquals(evaluate.toString(), evaluateN.toString());
assertEquals("12.0", evaluateN.formatAsString());
@@ -411,6 +434,7 @@ public final class TestXSSFFormulaEvalua
}
}
+ @Test
public void testBug55843a() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -423,12 +447,10 @@ public final class TestXSSFFormulaEvalua
XSSFFormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator();
cellA2.setCellFormula("IF(B1=0,\"\",((ROW(A$1))))");
CellValue evaluate = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluate);
assertEquals("1.0", evaluate.formatAsString());
cellA2.setCellFormula("IF(NOT(B1=0),((ROW(A$1))),\"\")");
CellValue evaluateN = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluateN);
assertEquals(evaluate.toString(), evaluateN.toString());
assertEquals("1.0", evaluateN.formatAsString());
@@ -437,6 +459,7 @@ public final class TestXSSFFormulaEvalua
}
}
+ @Test
public void testBug55843b() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -450,12 +473,10 @@ public final class TestXSSFFormulaEvalua
cellA2.setCellFormula("IF(B1=0,\"\",((ROW())))");
CellValue evaluate = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluate);
assertEquals("2.0", evaluate.formatAsString());
cellA2.setCellFormula("IF(NOT(B1=0),((ROW())),\"\")");
CellValue evaluateN = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluateN);
assertEquals(evaluate.toString(), evaluateN.toString());
assertEquals("2.0", evaluateN.formatAsString());
@@ -464,6 +485,7 @@ public final class TestXSSFFormulaEvalua
}
}
+ @Test
public void testBug55843c() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -477,13 +499,13 @@ public final class TestXSSFFormulaEvalua
cellA2.setCellFormula("IF(NOT(B1=0),((ROW())))");
CellValue evaluateN = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluateN);
assertEquals("2.0", evaluateN.formatAsString());
} finally {
wb.close();
}
}
+ @Test
public void testBug55843d() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -497,13 +519,13 @@ public final class TestXSSFFormulaEvalua
cellA2.setCellFormula("IF(NOT(B1=0),((ROW())),\"\")");
CellValue evaluateN = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluateN);
assertEquals("2.0", evaluateN.formatAsString());
} finally {
wb.close();
}
}
+ @Test
public void testBug55843e() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -517,13 +539,13 @@ public final class TestXSSFFormulaEvalua
cellA2.setCellFormula("IF(B1=0,\"\",((ROW())))");
CellValue evaluate = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluate);
assertEquals("2.0", evaluate.formatAsString());
} finally {
wb.close();
}
}
+ @Test
public void testBug55843f() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
try {
@@ -537,13 +559,13 @@ public final class TestXSSFFormulaEvalua
cellA2.setCellFormula("IF(B1=0,\"\",IF(B1=10,3,4))");
CellValue evaluate = formulaEvaluator.evaluate(cellA2);
- System.out.println(evaluate);
assertEquals("3.0", evaluate.formatAsString());
} finally {
wb.close();
}
}
+ @Test
public void testBug56655() throws IOException {
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
@@ -561,6 +583,7 @@ public final class TestXSSFFormulaEvalua
wb.close();
}
+ @Test
public void testBug56655a() throws IOException {
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java Mon Oct 5 00:28:54 2015
@@ -17,11 +17,15 @@
package org.apache.poi.xssf.usermodel;
-import static junit.framework.TestCase.assertNotNull;
-import static junit.framework.TestCase.assertTrue;
import static org.apache.poi.xssf.XSSFTestDataSamples.openSampleWorkbook;
import static org.apache.poi.xssf.XSSFTestDataSamples.writeOutAndReadBack;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.util.Arrays;
@@ -51,7 +55,18 @@ import org.apache.poi.xssf.model.StylesT
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
import org.junit.Test;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcPr;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetData;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetProtection;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCalcMode;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane;
@SuppressWarnings("resource")
@@ -69,18 +84,18 @@ public final class TestXSSFSheet extends
}
@Test
- public void getSetMargin() {
+ public void getSetMargin() throws IOException {
baseTestGetSetMargin(new double[]{0.7, 0.7, 0.75, 0.75, 0.3, 0.3});
}
@Test
- public void existingHeaderFooter() {
- XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("45540_classic_Header.xlsx");
+ public void existingHeaderFooter() throws IOException {
+ XSSFWorkbook wb1 = XSSFTestDataSamples.openSampleWorkbook("45540_classic_Header.xlsx");
XSSFOddHeader hdr;
XSSFOddFooter ftr;
// Sheet 1 has a header with center and right text
- XSSFSheet s1 = workbook.getSheetAt(0);
+ XSSFSheet s1 = wb1.getSheetAt(0);
assertNotNull(s1.getHeader());
assertNotNull(s1.getFooter());
hdr = (XSSFOddHeader) s1.getHeader();
@@ -98,7 +113,7 @@ public final class TestXSSFSheet extends
assertEquals("", ftr.getRight());
// Sheet 2 has a footer, but it's empty
- XSSFSheet s2 = workbook.getSheetAt(1);
+ XSSFSheet s2 = wb1.getSheetAt(1);
assertNotNull(s2.getHeader());
assertNotNull(s2.getFooter());
hdr = (XSSFOddHeader) s2.getHeader();
@@ -116,10 +131,11 @@ public final class TestXSSFSheet extends
assertEquals("", ftr.getRight());
// Save and reload
- XSSFWorkbook wb = XSSFTestDataSamples.writeOutAndReadBack(workbook);
+ XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1);
+ wb1.close();
- hdr = (XSSFOddHeader) wb.getSheetAt(0).getHeader();
- ftr = (XSSFOddFooter) wb.getSheetAt(0).getFooter();
+ hdr = (XSSFOddHeader) wb2.getSheetAt(0).getHeader();
+ ftr = (XSSFOddFooter) wb2.getSheetAt(0).getFooter();
assertEquals("", hdr.getLeft());
assertEquals("testdoc", hdr.getCenter());
@@ -128,10 +144,12 @@ public final class TestXSSFSheet extends
assertEquals("", ftr.getLeft());
assertEquals("", ftr.getCenter());
assertEquals("", ftr.getRight());
+
+ wb2.close();
}
@Test
- public void getAllHeadersFooters() {
+ public void getAllHeadersFooters() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet 1");
assertNotNull(sheet.getOddFooter());
@@ -168,10 +186,12 @@ public final class TestXSSFSheet extends
// Defaults are odd
assertEquals("odd footer left", sheet.getFooter().getLeft());
assertEquals("odd header center", sheet.getHeader().getCenter());
+
+ workbook.close();
}
@Test
- public void autoSizeColumn() {
+ public void autoSizeColumn() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet 1");
sheet.createRow(0).createCell(13).setCellValue("test");
@@ -181,11 +201,12 @@ public final class TestXSSFSheet extends
ColumnHelper columnHelper = sheet.getColumnHelper();
CTCol col = columnHelper.getColumn(13, false);
assertTrue(col.getBestFit());
+ workbook.close();
}
@Test
- public void setCellComment() {
+ public void setCellComment() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
@@ -200,20 +221,21 @@ public final class TestXSSFSheet extends
assertEquals("A1", ctComments.getCommentList().getCommentArray(0).getRef());
comment.setAuthor("test A1 author");
assertEquals("test A1 author", comments.getAuthor((int) ctComments.getCommentList().getCommentArray(0).getAuthorId()));
+ workbook.close();
}
@Test
- public void getActiveCell() {
+ public void getActiveCell() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
sheet.setActiveCell("R5");
assertEquals("R5", sheet.getActiveCell());
-
+ workbook.close();
}
@Test
- public void createFreezePane_XSSF() {
+ public void createFreezePane_XSSF() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
CTWorksheet ctWorksheet = sheet.getCTWorksheet();
@@ -228,10 +250,12 @@ public final class TestXSSFSheet extends
sheet.createSplitPane(4, 8, 12, 12, 1);
assertEquals(8.0, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getYSplit(), 0.0);
assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
+
+ workbook.close();
}
@Test
- public void removeMergedRegion_lowlevel() {
+ public void removeMergedRegion_lowlevel() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
CTWorksheet ctWorksheet = sheet.getCTWorksheet();
@@ -263,10 +287,11 @@ public final class TestXSSFSheet extends
sheet.removeMergedRegions(rmIdx);
assertEquals("A1:B2", ctWorksheet.getMergeCells().getMergeCellArray(0).getRef());
assertEquals("E5:F6", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
+ workbook.close();
}
@Test
- public void setDefaultColumnStyle() {
+ public void setDefaultColumnStyle() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
CTWorksheet ctWorksheet = sheet.getCTWorksheet();
@@ -288,12 +313,13 @@ public final class TestXSSFSheet extends
sheet.setDefaultColumnStyle(3, cellStyle);
assertEquals(1, ctWorksheet.getColsArray(0).getColArray(0).getStyle());
+ workbook.close();
}
@Test
@SuppressWarnings("deprecation")
- public void groupUngroupColumn() {
+ public void groupUngroupColumn() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
@@ -334,10 +360,12 @@ public final class TestXSSFSheet extends
colArray = cols.getColArray();
assertEquals(4, colArray.length);
assertEquals(2, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelCol());
+
+ workbook.close();
}
@Test
- public void groupUngroupRow() {
+ public void groupUngroupRow() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
@@ -369,10 +397,12 @@ public final class TestXSSFSheet extends
assertEquals(3, sheet.getPhysicalNumberOfRows());
assertEquals(1, sheet.getCTWorksheet().getSheetFormatPr().getOutlineLevelRow());
+
+ workbook.close();
}
- @Test
- public void setZoom() {
+ @Test(expected=IllegalArgumentException.class)
+ public void setZoom() throws IOException {
XSSFWorkbook workBook = new XSSFWorkbook();
XSSFSheet sheet1 = workBook.createSheet("new sheet");
sheet1.setZoom(3, 4); // 75 percent magnification
@@ -383,11 +413,11 @@ public final class TestXSSFSheet extends
zoom = sheet1.getCTWorksheet().getSheetViews().getSheetViewArray(0).getZoomScale();
assertEquals(zoom, 200);
+ // Valid scale values range from 10 to 400
try {
sheet1.setZoom(500);
- fail("Expecting exception");
- } catch (IllegalArgumentException e) {
- assertEquals("Valid scale values range from 10 to 400", e.getMessage());
+ } finally {
+ workBook.close();
}
}
@@ -398,7 +428,7 @@ public final class TestXSSFSheet extends
* better should really review this!
*/
@Test
- public void setColumnGroupCollapsed(){
+ public void setColumnGroupCollapsed() throws IOException {
Workbook wb = new XSSFWorkbook();
XSSFSheet sheet1 =(XSSFSheet) wb.createSheet();
@@ -620,6 +650,8 @@ public final class TestXSSFSheet extends
assertEquals(false,cols.getColArray(5).isSetCollapsed());
assertEquals(14, cols.getColArray(5).getMin()); // 1 based
assertEquals(14, cols.getColArray(5).getMax()); // 1 based
+
+ wb.close();
}
/**
@@ -629,7 +661,7 @@ public final class TestXSSFSheet extends
* better should really review this!
*/
@Test
- public void setRowGroupCollapsed(){
+ public void setRowGroupCollapsed() throws IOException {
Workbook wb = new XSSFWorkbook();
XSSFSheet sheet1 = (XSSFSheet)wb.createSheet();
@@ -638,75 +670,77 @@ public final class TestXSSFSheet extends
sheet1.groupRow( 16, 19 );
assertEquals(14,sheet1.getPhysicalNumberOfRows());
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(7).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(7).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(9).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(9).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(14).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(14).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(7).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(7).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(9).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(9).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(14).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(14).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetHidden());
//collapsed
sheet1.setRowGroupCollapsed( 7, true );
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(7).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(7).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(9).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(9).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(14).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(14).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(7).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(7).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(9).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(9).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(14).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(14).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetHidden());
//expanded
sheet1.setRowGroupCollapsed( 7, false );
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(7).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(7).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(9).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(9).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(14).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(14).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(7).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(7).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(9).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(9).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(14).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(14).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetHidden());
// Save and re-load
wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
sheet1 = (XSSFSheet)wb.getSheetAt(0);
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(6).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(7).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(7).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(9).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(9).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(14).getCTRow().isSetCollapsed());
- assertEquals(true, sheet1.getRow(14).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(16).getCTRow().isSetHidden());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetCollapsed());
- assertEquals(false,sheet1.getRow(18).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(6).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(7).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(7).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(9).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(9).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(14).getCTRow().isSetCollapsed());
+ assertTrue (sheet1.getRow(14).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(16).getCTRow().isSetHidden());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetCollapsed());
+ assertFalse(sheet1.getRow(18).getCTRow().isSetHidden());
+
+ wb.close();
}
/**
* Get / Set column width and check the actual values of the underlying XML beans
*/
@Test
- public void columnWidth_lowlevel() {
+ public void columnWidth_lowlevel() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet 1");
sheet.setColumnWidth(1, 22 * 256);
@@ -746,13 +780,15 @@ public final class TestXSSFSheet extends
assertEquals(4, col.getMax());
assertEquals(33.0, col.getWidth(), 0.0);
assertTrue(col.getCustomWidth());
+
+ workbook.close();
}
/**
* Setting width of a column included in a column span
*/
@Test
- public void bug47862() {
+ public void bug47862() throws IOException {
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47862.xlsx");
XSSFSheet sheet = wb.getSheetAt(0);
CTCols cols = sheet.getCTWorksheet().getColsArray(0);
@@ -803,13 +839,15 @@ public final class TestXSSFSheet extends
assertEquals(cw[i]*256, sheet.getColumnWidth(i));
assertEquals(cw[i], cols.getColArray(i).getWidth(), 0.0);
}
+
+ wb.close();
}
/**
* Hiding a column included in a column span
*/
@Test
- public void bug47804() {
+ public void bug47804() throws IOException {
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("47804.xlsx");
XSSFSheet sheet = wb.getSheetAt(0);
CTCols cols = sheet.getCTWorksheet().getColsArray(0);
@@ -874,10 +912,12 @@ public final class TestXSSFSheet extends
assertFalse(sheet.isColumnHidden(3));
assertFalse(sheet.isColumnHidden(4));
assertFalse(sheet.isColumnHidden(5));
+
+ wb.close();
}
@Test
- public void commentsTable() {
+ public void commentsTable() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet1 = workbook.createSheet();
CommentsTable comment1 = sheet1.getCommentsTable(false);
@@ -910,6 +950,8 @@ public final class TestXSSFSheet extends
assertNotNull(comment1);
assertEquals("/xl/comments1.xml", comment1.getPackageRelationship().getTargetURI().toString());
assertSame(comment1, sheet1.getCommentsTable(true));
+
+ workbook.close();
}
/**
@@ -919,7 +961,7 @@ public final class TestXSSFSheet extends
@Override
@Test
@SuppressWarnings("deprecation")
- public void createRow() {
+ public void createRow() throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
CTWorksheet wsh = sheet.getCTWorksheet();
@@ -994,15 +1036,16 @@ public final class TestXSSFSheet extends
assertEquals(2, xrow[2].sizeOfCArray());
assertEquals(3, xrow[2].getR());
+ workbook.close();
}
- @Test
- public void createRowAfterLastRow() {
+ @Test(expected=IllegalArgumentException.class)
+ public void createRowAfterLastRow() throws IOException {
createRowAfterLastRow(SpreadsheetVersion.EXCEL2007);
}
@Test
- public void setAutoFilter() {
+ public void setAutoFilter() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
sheet.setAutoFilter(CellRangeAddress.valueOf("A1:D100"));
@@ -1017,10 +1060,12 @@ public final class TestXSSFSheet extends
assertEquals(true, nm.getCTName().getHidden());
assertEquals("_xlnm._FilterDatabase", nm.getCTName().getName());
assertEquals("'new sheet'!$A$1:$D$100", nm.getCTName().getStringValue());
+
+ wb.close();
}
@Test
- public void protectSheet_lowlevel() {
+ public void protectSheet_lowlevel() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();
CTSheetProtection pr = sheet.getCTWorksheet().getSheetProtection();
@@ -1038,10 +1083,12 @@ public final class TestXSSFSheet extends
sheet.protectSheet(null);
assertNull("protectSheet(null) should unset CTSheetProtection", sheet.getCTWorksheet().getSheetProtection());
+
+ wb.close();
}
@Test
- public void protectSheet_lowlevel_2013() {
+ public void protectSheet_lowlevel_2013() throws IOException {
String password = "test";
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet xs = wb.createSheet();
@@ -1051,17 +1098,19 @@ public final class TestXSSFSheet extends
wb = openSampleWorkbook("workbookProtection-sheet_password-2013.xlsx");
assertTrue(wb.getSheetAt(0).validateSheetPassword("pwd"));
+
+ wb.close();
}
@Test
- public void bug49966() {
- XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("49966.xlsx");
- CalculationChain calcChain = wb.getCalculationChain();
- assertNotNull(wb.getCalculationChain());
+ public void bug49966() throws IOException {
+ XSSFWorkbook wb1 = XSSFTestDataSamples.openSampleWorkbook("49966.xlsx");
+ CalculationChain calcChain = wb1.getCalculationChain();
+ assertNotNull(wb1.getCalculationChain());
assertEquals(3, calcChain.getCTCalcChain().sizeOfCArray());
- XSSFSheet sheet = wb.getSheetAt(0);
+ XSSFSheet sheet = wb1.getSheetAt(0);
XSSFRow row = sheet.getRow(0);
sheet.removeRow(row);
@@ -1069,16 +1118,17 @@ public final class TestXSSFSheet extends
0, calcChain.getCTCalcChain().sizeOfCArray());
//calcChain should be gone
- wb = XSSFTestDataSamples.writeOutAndReadBack(wb);
- assertNull(wb.getCalculationChain());
-
+ XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1);
+ wb1.close();
+ assertNull(wb2.getCalculationChain());
+ wb2.close();
}
/**
* See bug #50829
*/
@Test
- public void tables() {
+ public void tables() throws IOException {
XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("WithTable.xlsx");
assertEquals(3, wb.getNumberOfSheets());
@@ -1100,15 +1150,16 @@ public final class TestXSSFSheet extends
assertEquals(0, s2.getTables().size());
XSSFSheet s3 = wb.getSheetAt(2);
assertEquals(0, s3.getTables().size());
+ wb.close();
}
/**
* Test to trigger OOXML-LITE generating to include org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetCalcPr
*/
@Test
- public void setForceFormulaRecalculation() {
- XSSFWorkbook workbook = new XSSFWorkbook();
- XSSFSheet sheet = workbook.createSheet("Sheet 1");
+ public void setForceFormulaRecalculation() throws IOException {
+ XSSFWorkbook wb1 = new XSSFWorkbook();
+ XSSFSheet sheet = wb1.createSheet("Sheet 1");
assertFalse(sheet.getForceFormulaRecalculation());
@@ -1117,7 +1168,7 @@ public final class TestXSSFSheet extends
assertEquals(true, sheet.getForceFormulaRecalculation());
// calcMode="manual" is unset when forceFormulaRecalculation=true
- CTCalcPr calcPr = workbook.getCTWorkbook().addNewCalcPr();
+ CTCalcPr calcPr = wb1.getCTWorkbook().addNewCalcPr();
calcPr.setCalcMode(STCalcMode.MANUAL);
sheet.setForceFormulaRecalculation(true);
assertEquals(STCalcMode.AUTO, calcPr.getCalcMode());
@@ -1128,9 +1179,11 @@ public final class TestXSSFSheet extends
// Save, re-load, and re-check
- workbook = XSSFTestDataSamples.writeOutAndReadBack(workbook);
- sheet = workbook.getSheet("Sheet 1");
+ XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1);
+ wb1.close();
+ sheet = wb2.getSheet("Sheet 1");
assertEquals(false, sheet.getForceFormulaRecalculation());
+ wb2.close();
}
@Test
@@ -1218,10 +1271,11 @@ public final class TestXSSFSheet extends
}*/
assertEquals("Sheet should contain 8 tables", 8, tables.size());
assertNotNull("Sheet should contain a comments table", sheet.getCommentsTable(false));
+ wb.close();
}
@Test
- public void bug55723b(){
+ public void bug55723b() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
@@ -1245,11 +1299,13 @@ public final class TestXSSFSheet extends
name = wb.getBuiltInName(XSSFName.BUILTIN_FILTER_DB, 0);
assertNotNull(name);
assertEquals("Sheet0!$B:$C", name.getRefersToFormula());
+
+ wb.close();
}
@Test(timeout=180000)
- public void bug51585(){
- XSSFTestDataSamples.openSampleWorkbook("51585.xlsx");
+ public void bug51585() throws IOException {
+ XSSFTestDataSamples.openSampleWorkbook("51585.xlsx").close();;
}
private XSSFWorkbook setupSheet(){
@@ -1279,7 +1335,7 @@ public final class TestXSSFSheet extends
}
@Test
- public void testCreateTwoPivotTablesInOneSheet(){
+ public void testCreateTwoPivotTablesInOneSheet() throws IOException {
XSSFWorkbook wb = setupSheet();
XSSFSheet sheet = wb.getSheetAt(0);
@@ -1291,10 +1347,11 @@ public final class TestXSSFSheet extends
XSSFPivotTable pivotTable2 = sheet.createPivotTable(new AreaReference("A1:B2"), new CellReference("L5"), sheet);
assertNotNull(pivotTable2);
assertTrue(wb.getPivotTables().size() > 1);
+ wb.close();
}
@Test
- public void testCreateTwoPivotTablesInTwoSheets(){
+ public void testCreateTwoPivotTablesInTwoSheets() throws IOException {
XSSFWorkbook wb = setupSheet();
XSSFSheet sheet = wb.getSheetAt(0);
@@ -1308,10 +1365,11 @@ public final class TestXSSFSheet extends
XSSFPivotTable pivotTable2 = sheet2.createPivotTable(new AreaReference("A1:B2"), new CellReference("H5"), sheet);
assertNotNull(pivotTable2);
assertTrue(wb.getPivotTables().size() > 1);
+ wb.close();
}
@Test
- public void testCreatePivotTable(){
+ public void testCreatePivotTable() throws IOException {
XSSFWorkbook wb = setupSheet();
XSSFSheet sheet = wb.getSheetAt(0);
@@ -1320,10 +1378,11 @@ public final class TestXSSFSheet extends
XSSFPivotTable pivotTable = sheet.createPivotTable(new AreaReference("A1:B2"), new CellReference("H5"));
assertNotNull(pivotTable);
assertTrue(wb.getPivotTables().size() > 0);
+ wb.close();
}
@Test
- public void testCreatePivotTableInOtherSheetThanDataSheet(){
+ public void testCreatePivotTableInOtherSheetThanDataSheet() throws IOException {
XSSFWorkbook wb = setupSheet();
XSSFSheet sheet1 = wb.getSheetAt(0);
XSSFSheet sheet2 = wb.createSheet();
@@ -1335,10 +1394,11 @@ public final class TestXSSFSheet extends
assertEquals(1, wb.getPivotTables().size());
assertEquals(0, sheet1.getPivotTables().size());
assertEquals(1, sheet2.getPivotTables().size());
+ wb.close();
}
@Test
- public void testCreatePivotTableInOtherSheetThanDataSheetUsingAreaReference(){
+ public void testCreatePivotTableInOtherSheetThanDataSheetUsingAreaReference() throws IOException {
XSSFWorkbook wb = setupSheet();
XSSFSheet sheet = wb.getSheetAt(0);
XSSFSheet sheet2 = wb.createSheet();
@@ -1346,47 +1406,41 @@ public final class TestXSSFSheet extends
XSSFPivotTable pivotTable = sheet2.createPivotTable
(new AreaReference(sheet.getSheetName()+"!A$1:B$2"), new CellReference("H5"));
assertEquals(0, pivotTable.getRowLabelColumns().size());
+ wb.close();
}
- @Test
- public void testCreatePivotTableWithConflictingDataSheets(){
+ @Test(expected=IllegalArgumentException.class)
+ public void testCreatePivotTableWithConflictingDataSheets() throws IOException {
XSSFWorkbook wb = setupSheet();
XSSFSheet sheet = wb.getSheetAt(0);
XSSFSheet sheet2 = wb.createSheet();
- try {
- sheet2.createPivotTable(new AreaReference(sheet.getSheetName()+"!A$1:B$2"), new CellReference("H5"), sheet2);
- } catch(IllegalArgumentException e) {
- return;
- }
- fail();
+ sheet2.createPivotTable(new AreaReference(sheet.getSheetName()+"!A$1:B$2"), new CellReference("H5"), sheet2);
}
- @Test
- public void testReadFails() {
+ @Test(expected=POIXMLException.class)
+ public void testReadFails() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();
- try {
- sheet.onDocumentRead();
- fail("Throws exception because we cannot read here");
- } catch (POIXMLException e) {
- // expected here
- }
+ // Throws exception because we cannot read here
+ sheet.onDocumentRead();
}
@SuppressWarnings("deprecation")
@Test
- public void testCreateComment() {
+ public void testCreateComment() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();
assertNotNull(sheet.createComment());
+ wb.close();
}
@Test
- public void testNoMergedRegionsIsEmptyList() {
+ public void testNoMergedRegionsIsEmptyList() throws IOException {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet();
assertTrue(sheet.getMergedRegions().isEmpty());
+ wb.close();
}
}
\ No newline at end of file
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/StyleDescription.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/StyleDescription.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/StyleDescription.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/StyleDescription.java Mon Oct 5 00:28:54 2015
@@ -126,7 +126,7 @@ public final class StyleDescription impl
// the upx will always start on a word boundary.
- if(upxSize % 2 == 1)
+ if((upxSize & 1) == 1)
{
++varOffset;
}
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java Mon Oct 5 00:28:54 2015
@@ -389,7 +389,7 @@ public final class CharacterSprmUncompre
//byte hpsPos = (byte)((param & 0xff0000) >>> 8);
byte hpsPos = (byte) ((operand & 0xff0000) >>> 16);
- if (hpsPos != 0x80)
+ if (hpsPos != (byte)0x80)
{
newCHP.setHpsPos (hpsPos);
}
Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java Mon Oct 5 00:28:54 2015
@@ -18,6 +18,7 @@
package org.apache.poi.hssf.usermodel;
+import static org.junit.Assert.*;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -28,6 +29,7 @@ import org.apache.poi.ss.usermodel.Color
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.SheetConditionalFormatting;
import org.apache.poi.ss.usermodel.Workbook;
+import org.junit.Test;
/**
* HSSF-specific Conditional Formatting tests
@@ -51,18 +53,20 @@ public final class TestHSSFConditionalFo
}
}
- public void testRead() {
+ @Test
+ public void testRead() throws IOException {
testRead("WithConditionalFormatting.xls");
}
- public void testReadOffice2007() {
+ @Test
+ public void testReadOffice2007() throws IOException {
testReadOffice2007("NewStyleConditionalFormattings.xls");
}
+ @Test
public void test53691() throws IOException {
SheetConditionalFormatting cf;
- final Workbook wb;
- wb = HSSFITestDataProvider.instance.openSampleWorkbook("53691.xls");
+ final Workbook wb = HSSFITestDataProvider.instance.openSampleWorkbook("53691.xls");
/*
FileInputStream s = new FileInputStream("C:\\temp\\53691bbadfixed.xls");
try {
@@ -101,6 +105,8 @@ public final class TestHSSFConditionalFo
removeConditionalFormatting(sheet);
removeConditionalFormatting(wb.getSheetAt(0));
writeTemp53691(wb, "fgood");
+
+ wb.close();
}
private void removeConditionalFormatting(Sheet sheet) {
@@ -110,18 +116,10 @@ public final class TestHSSFConditionalFo
}
}
- private void writeTemp53691(Workbook wb, String suffix) throws FileNotFoundException,
- IOException {
+ private void writeTemp53691(Workbook wb, String suffix) throws FileNotFoundException, IOException {
// assert that we can write/read it in memory
Workbook wbBack = HSSFITestDataProvider.instance.writeOutAndReadBack(wb);
assertNotNull(wbBack);
-
- /* Just necessary for local testing... */
- /*OutputStream out = new FileOutputStream("C:\\temp\\53691" + suffix + ".xls");
- try {
- wb.write(out);
- } finally {
- out.close();
- }*/
+ wbBack.close();
}
}
Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFormulaEvaluator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFormulaEvaluator.java?rev=1706742&r1=1706741&r2=1706742&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFormulaEvaluator.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFormulaEvaluator.java Mon Oct 5 00:28:54 2015
@@ -17,7 +17,10 @@
package org.apache.poi.hssf.usermodel;
-import junit.framework.AssertionFailedError;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.hssf.HSSFTestDataSamples;
@@ -31,6 +34,7 @@ import org.apache.poi.ss.formula.eval.Va
import org.apache.poi.ss.usermodel.BaseTestFormulaEvaluator;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellValue;
+import org.junit.Test;
/**
*
@@ -46,7 +50,8 @@ public final class TestHSSFFormulaEvalua
* Test that the HSSFFormulaEvaluator can evaluate simple named ranges
* (single cells and rectangular areas)
*/
- public void testEvaluateSimple() {
+ @Test
+ public void testEvaluateSimple() throws IOException {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("testNames.xls");
HSSFSheet sheet = wb.getSheetAt(0);
HSSFCell cell = sheet.getRow(8).getCell(0);
@@ -54,13 +59,15 @@ public final class TestHSSFFormulaEvalua
CellValue cv = fe.evaluate(cell);
assertEquals(HSSFCell.CELL_TYPE_NUMERIC, cv.getCellType());
assertEquals(3.72, cv.getNumberValue(), 0.0);
+ wb.close();
}
/**
* Test for bug due to attempt to convert a cached formula error result to a boolean
*/
+ @Test
@Override
- public void testUpdateCachedFormulaResultFromErrorToNumber_bug46479() {
+ public void testUpdateCachedFormulaResultFromErrorToNumber_bug46479() throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
@@ -79,10 +86,12 @@ public final class TestHSSFFormulaEvalua
fe.evaluateInCell(cellB1);
} catch (IllegalStateException e) {
if (e.getMessage().equals("Cannot get a numeric value from a error formula cell")) {
- throw new AssertionFailedError("Identified bug 46479a");
+ fail("Identified bug 46479a");
}
}
assertEquals(3.5, cellB1.getNumericCellValue(), 0.0);
+
+ wb.close();
}
/**
@@ -92,7 +101,8 @@ public final class TestHSSFFormulaEvalua
* which contained a simple area ref. It is not clear what the 'complex' flag is used
* for but POI should look elsewhere to decide whether it can evaluate the name.
*/
- public void testDefinedNameWithComplexFlag_bug47048() {
+ @Test
+ public void testDefinedNameWithComplexFlag_bug47048() throws IOException {
// Mock up a spreadsheet to match the critical details of the sample
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Input");
@@ -118,16 +128,20 @@ public final class TestHSSFFormulaEvalua
CellValue value;
try {
value = hsf.evaluate(cellA1);
+
+ assertEquals(Cell.CELL_TYPE_NUMERIC, value.getCellType());
+ assertEquals(5.33, value.getNumberValue(), 0.0);
+
} catch (RuntimeException e) {
if (e.getMessage().equals("Don't now how to evalate name 'Is_Multicar_Vehicle'")) {
- throw new AssertionFailedError("Identified bug 47048a");
+ fail("Identified bug 47048a");
}
throw e;
+ } finally {
+ wb.close();
}
-
- assertEquals(Cell.CELL_TYPE_NUMERIC, value.getCellType());
- assertEquals(5.33, value.getNumberValue(), 0.0);
}
+
private static final class EvalCountListener extends EvaluationListener {
private int _evalCount;
public EvalCountListener() {
@@ -145,7 +159,8 @@ public final class TestHSSFFormulaEvalua
/**
* The HSSFFormula evaluator performance benefits greatly from caching of intermediate cell values
*/
- public void testShortCircuitIfEvaluation() {
+ @Test
+ public void testShortCircuitIfEvaluation() throws IOException {
// Set up a simple IF() formula that has measurable evaluation cost for its operands.
HSSFWorkbook wb = new HSSFWorkbook();
@@ -166,23 +181,26 @@ public final class TestHSSFFormulaEvalua
int evalCount = evalListener.getEvalCount();
if (evalCount == 6) {
// Without short-circuit-if evaluation, evaluating cell 'A1' takes 3 extra evaluations (for D1,E1,F1)
- throw new AssertionFailedError("Identifed bug 48195 - Formula evaluator should short-circuit IF() calculations.");
+ fail("Identifed bug 48195 - Formula evaluator should short-circuit IF() calculations.");
}
assertEquals(3, evalCount);
assertEquals(2.0, ((NumberEval)ve).getNumberValue(), 0D);
+
+ wb.close();
}
/**
* Ensures that we can handle NameXPtgs in the formulas
* we parse.
*/
- public void testXRefs() throws Exception {
- HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("XRefCalc.xls");
- HSSFWorkbook wbData = HSSFTestDataSamples.openSampleWorkbook("XRefCalcData.xls");
+ @Test
+ public void testXRefs() throws IOException {
+ HSSFWorkbook wb1 = HSSFTestDataSamples.openSampleWorkbook("XRefCalc.xls");
+ HSSFWorkbook wb2 = HSSFTestDataSamples.openSampleWorkbook("XRefCalcData.xls");
Cell cell;
// VLookup on a name in another file
- cell = wb.getSheetAt(0).getRow(1).getCell(2);
+ cell = wb1.getSheetAt(0).getRow(1).getCell(2);
assertEquals(Cell.CELL_TYPE_FORMULA, cell.getCellType());
assertEquals(Cell.CELL_TYPE_NUMERIC, cell.getCachedFormulaResultType());
assertEquals(12.30, cell.getNumericCellValue(), 0.0001);
@@ -193,7 +211,7 @@ public final class TestHSSFFormulaEvalua
// Simple reference to a name in another file
- cell = wb.getSheetAt(0).getRow(1).getCell(4);
+ cell = wb1.getSheetAt(0).getRow(1).getCell(4);
assertEquals(Cell.CELL_TYPE_FORMULA, cell.getCellType());
assertEquals(Cell.CELL_TYPE_NUMERIC, cell.getCachedFormulaResultType());
assertEquals(36.90, cell.getNumericCellValue(), 0.0001);
@@ -203,37 +221,37 @@ public final class TestHSSFFormulaEvalua
// Evaluate the cells
- HSSFFormulaEvaluator eval = new HSSFFormulaEvaluator(wb);
+ HSSFFormulaEvaluator eval = new HSSFFormulaEvaluator(wb1);
HSSFFormulaEvaluator.setupEnvironment(
new String[] { "XRefCalc.xls", "XRefCalcData.xls" },
new HSSFFormulaEvaluator[] {
eval,
- new HSSFFormulaEvaluator(wbData)
+ new HSSFFormulaEvaluator(wb2)
}
);
eval.evaluateFormulaCell(
- wb.getSheetAt(0).getRow(1).getCell(2)
+ wb1.getSheetAt(0).getRow(1).getCell(2)
);
eval.evaluateFormulaCell(
- wb.getSheetAt(0).getRow(1).getCell(4)
+ wb1.getSheetAt(0).getRow(1).getCell(4)
);
// Re-check VLOOKUP one
- cell = wb.getSheetAt(0).getRow(1).getCell(2);
+ cell = wb1.getSheetAt(0).getRow(1).getCell(2);
assertEquals(Cell.CELL_TYPE_FORMULA, cell.getCellType());
assertEquals(Cell.CELL_TYPE_NUMERIC, cell.getCachedFormulaResultType());
assertEquals(12.30, cell.getNumericCellValue(), 0.0001);
// Re-check ref one
- cell = wb.getSheetAt(0).getRow(1).getCell(4);
+ cell = wb1.getSheetAt(0).getRow(1).getCell(4);
assertEquals(Cell.CELL_TYPE_FORMULA, cell.getCellType());
assertEquals(Cell.CELL_TYPE_NUMERIC, cell.getCachedFormulaResultType());
assertEquals(36.90, cell.getNumericCellValue(), 0.0001);
// Add a formula that refers to one of the existing external workbooks
- cell = wb.getSheetAt(0).getRow(1).createCell(40);
+ cell = wb1.getSheetAt(0).getRow(1).createCell(40);
cell.setCellFormula("Cost*[XRefCalcData.xls]MarkupSheet!$B$1");
// Check is was stored correctly
@@ -241,20 +259,20 @@ public final class TestHSSFFormulaEvalua
// Check it evaluates correctly
eval.evaluateFormulaCell(cell);
- assertEquals(24.60*1.8, cell.getNumericCellValue());
+ assertEquals(24.60*1.8, cell.getNumericCellValue(), 0);
// Try to add a formula for a new external workbook, won't be allowed to start
try {
- cell = wb.getSheetAt(0).getRow(1).createCell(42);
+ cell = wb1.getSheetAt(0).getRow(1).createCell(42);
cell.setCellFormula("[alt.xls]Sheet0!$A$1");
fail("New workbook not linked, shouldn't be able to add");
} catch(Exception e) {}
// Link our new workbook
- HSSFWorkbook alt = new HSSFWorkbook();
- alt.createSheet().createRow(0).createCell(0).setCellValue("In another workbook");
- wb.linkExternalWorkbook("alt.xls", alt);
+ HSSFWorkbook wb3 = new HSSFWorkbook();
+ wb3.createSheet().createRow(0).createCell(0).setCellValue("In another workbook");
+ wb1.linkExternalWorkbook("alt.xls", wb3);
// Now add a formula that refers to our new workbook
cell.setCellFormula("[alt.xls]Sheet0!$A$1");
@@ -271,8 +289,8 @@ public final class TestHSSFFormulaEvalua
new String[] { "XRefCalc.xls", "XRefCalcData.xls", "alt.xls" },
new HSSFFormulaEvaluator[] {
eval,
- new HSSFFormulaEvaluator(wbData),
- new HSSFFormulaEvaluator(alt)
+ new HSSFFormulaEvaluator(wb2),
+ new HSSFFormulaEvaluator(wb3)
}
);
eval.evaluateFormulaCell(cell);
@@ -280,31 +298,37 @@ public final class TestHSSFFormulaEvalua
// Save and re-load
- wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
- eval = new HSSFFormulaEvaluator(wb);
+ HSSFWorkbook wb4 = HSSFTestDataSamples.writeOutAndReadBack(wb1);
+ eval = new HSSFFormulaEvaluator(wb4);
HSSFFormulaEvaluator.setupEnvironment(
new String[] { "XRefCalc.xls", "XRefCalcData.xls", "alt.xls" },
new HSSFFormulaEvaluator[] {
eval,
- new HSSFFormulaEvaluator(wbData),
- new HSSFFormulaEvaluator(alt)
+ new HSSFFormulaEvaluator(wb2),
+ new HSSFFormulaEvaluator(wb3)
}
);
// Check the one referring to the previously existing workbook behaves
- cell = wb.getSheetAt(0).getRow(1).getCell(40);
+ cell = wb4.getSheetAt(0).getRow(1).getCell(40);
assertEquals("Cost*[XRefCalcData.xls]MarkupSheet!$B$1", cell.getCellFormula());
eval.evaluateFormulaCell(cell);
- assertEquals(24.60*1.8, cell.getNumericCellValue());
+ assertEquals(24.60*1.8, cell.getNumericCellValue(), 0);
// Now check the newly added reference
- cell = wb.getSheetAt(0).getRow(1).getCell(42);
+ cell = wb4.getSheetAt(0).getRow(1).getCell(42);
assertEquals("[alt.xls]Sheet0!$A$1", cell.getCellFormula());
eval.evaluateFormulaCell(cell);
assertEquals("In another workbook", cell.getStringCellValue());
+
+ wb4.close();
+ wb3.close();
+ wb2.close();
+ wb1.close();
}
- public void testSharedFormulas(){
+ @Test
+ public void testSharedFormulas() throws IOException {
baseTestSharedFormulas("shared_formulas.xls");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org