You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by jo...@apache.org on 2008/09/17 21:52:56 UTC
svn commit: r696415 - in /poi/branches/ooxml/src/ooxml:
interfaces-jdk14/org/apache/poi/ss/usermodel/
interfaces-jdk15/org/apache/poi/ss/usermodel/
java/org/apache/poi/xssf/model/ java/org/apache/poi/xssf/usermodel/
testcases/org/apache/poi/xssf/ testc...
Author: josh
Date: Wed Sep 17 12:52:55 2008
New Revision: 696415
URL: http://svn.apache.org/viewvc?rev=696415&view=rev
Log:
Minor fixes to get junits working after r695832. Updates to align with new sample.xlsx, and moved SharedStringSource out of usermodel API.
Added:
poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java (contents, props changed)
- copied, changed from r696404, poi/branches/ooxml/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/SharedStringSource.java
poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java
Removed:
poi/branches/ooxml/src/ooxml/interfaces-jdk14/org/apache/poi/ss/usermodel/SharedStringSource.java
poi/branches/ooxml/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/SharedStringSource.java
Modified:
poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java
poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java
poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java
poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
Copied: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java (from r696404, poi/branches/ooxml/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/SharedStringSource.java)
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java?p2=poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java&p1=poi/branches/ooxml/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/SharedStringSource.java&r1=696404&r2=696415&rev=696415&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/interfaces-jdk15/org/apache/poi/ss/usermodel/SharedStringSource.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java Wed Sep 17 12:52:55 2008
@@ -15,11 +15,14 @@
limitations under the License.
==================================================================== */
-package org.apache.poi.ss.usermodel;
+package org.apache.poi.xssf.model;
+
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst;
/**
* Allows the getting and saving of shared strings
*/
public interface SharedStringSource {
-
+ CTRst getEntryAt(int ref);
+ int addEntry(CTRst rst);
}
Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java
------------------------------------------------------------------------------
svn:mergeinfo =
Propchange: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringSource.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java?rev=696415&r1=696414&r2=696415&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/model/SharedStringsTable.java Wed Sep 17 12:52:55 2008
@@ -20,16 +20,16 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
-import org.apache.poi.ss.usermodel.SharedStringSource;
-import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlOptions;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSst;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.SstDocument;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRElt;
/**
@@ -204,5 +204,4 @@
sst.setSiArray(ctr);
doc.save(out, options);
}
-
}
Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java?rev=696415&r1=696414&r2=696415&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java Wed Sep 17 12:52:55 2008
@@ -26,13 +26,12 @@
import org.apache.poi.ss.usermodel.Comment;
import org.apache.poi.ss.usermodel.Hyperlink;
import org.apache.poi.ss.usermodel.RichTextString;
-import org.apache.poi.ss.usermodel.SharedStringSource;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.StylesSource;
+import org.apache.poi.ss.util.CellReference;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
-import org.apache.poi.ss.util.CellReference;
-import org.apache.poi.xssf.model.SharedStringsTable;
+import org.apache.poi.xssf.model.SharedStringSource;
import org.apache.poi.xssf.model.StylesTable;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCellFormula;
@@ -48,7 +47,7 @@
private final CTCell cell;
private final XSSFRow row;
private int cellNum;
- private SharedStringsTable sharedStringSource;
+ private SharedStringSource sharedStringSource;
private StylesTable stylesSource;
private POILogger logger = POILogFactory.getLogger(XSSFCell.class);
@@ -67,7 +66,7 @@
if (cell.getR() != null) {
this.cellNum = parseCellNum(cell.getR());
}
- this.sharedStringSource = (SharedStringsTable) row.getSheet().getWorkbook().getSharedStringSource();
+ this.sharedStringSource = row.getSheet().getWorkbook().getSharedStringSource();
this.stylesSource = (StylesTable)row.getSheet().getWorkbook().getStylesSource();
}
Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java?rev=696415&r1=696414&r2=696415&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Wed Sep 17 12:52:55 2008
@@ -34,7 +34,6 @@
import org.apache.poi.ss.usermodel.Palette;
import org.apache.poi.ss.usermodel.PictureData;
import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.SharedStringSource;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.StylesSource;
import org.apache.poi.ss.usermodel.Workbook;
@@ -44,6 +43,7 @@
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.model.Control;
import org.apache.poi.xssf.model.Drawing;
+import org.apache.poi.xssf.model.SharedStringSource;
import org.apache.poi.xssf.model.SharedStringsTable;
import org.apache.poi.xssf.model.StylesTable;
import org.apache.poi.xssf.model.XSSFModel;
@@ -64,7 +64,6 @@
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedNames;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDialogsheet;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
Added: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java?rev=696415&view=auto
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java (added)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/XSSFTestDataSamples.java Wed Sep 17 12:52:55 2008
@@ -0,0 +1,73 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.xssf;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.openxml4j.exceptions.InvalidFormatException;
+import org.openxml4j.opc.Package;
+
+/**
+ * Centralises logic for finding/opening sample files in the src/testcases/org/apache/poi/hssf/hssf/data folder.
+ *
+ * @author Josh Micich
+ */
+public class XSSFTestDataSamples {
+ public static final XSSFWorkbook openSampleWorkbook(String sampleName) {
+ InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleName);
+ try {
+ Package pkg = Package.open(is);
+ return new XSSFWorkbook(pkg);
+ } catch (InvalidFormatException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ public static <R extends Workbook> R writeOutAndReadBack(R wb) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(8192);
+ Workbook result;
+ try {
+ wb.write(baos);
+ InputStream is = new ByteArrayInputStream(baos.toByteArray());
+ if (wb instanceof HSSFWorkbook) {
+ result = new HSSFWorkbook(is);
+ } else if (wb instanceof XSSFWorkbook) {
+ Package pkg = Package.open(is);
+ result = new XSSFWorkbook(pkg);
+ } else {
+ throw new RuntimeException("Unexpected workbook type ("
+ + wb.getClass().getName() + ")");
+ }
+ } catch (InvalidFormatException e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ @SuppressWarnings("unchecked")
+ R r = (R) result;
+ return r;
+ }
+}
Modified: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java?rev=696415&r1=696414&r2=696415&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java (original)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java Wed Sep 17 12:52:55 2008
@@ -14,77 +14,35 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
+
package org.apache.poi.xssf.extractor;
-import java.io.File;
-import java.io.FileInputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import junit.framework.TestCase;
import org.apache.poi.POITextExtractor;
+import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.extractor.ExcelExtractor;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.xssf.XSSFTestDataSamples;
/**
- * Tests for XSSFExcelExtractor
+ * Tests for {@link XSSFExcelExtractor}
*/
-public class TestXSSFExcelExtractor extends TestCase {
- /**
- * A very simple file
- */
- private File xmlA;
- /**
- * A fairly complex file
- */
- private File xmlB;
-
- /**
- * A fairly simple file - ooxml
- */
- private File simpleXLSX;
- /**
- * A fairly simple file - ole2
- */
- private File simpleXLS;
+public final class TestXSSFExcelExtractor extends TestCase {
- protected void setUp() throws Exception {
- super.setUp();
-
- xmlA = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "sample.xlsx"
- );
- assertTrue(xmlA.exists());
- xmlB = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "AverageTaxRates.xlsx"
- );
- assertTrue(xmlB.exists());
-
- simpleXLSX = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "SampleSS.xlsx"
- );
- simpleXLS = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "SampleSS.xls"
- );
- assertTrue(simpleXLS.exists());
- assertTrue(simpleXLSX.exists());
+
+ private static final XSSFExcelExtractor getExtractor(String sampleName) {
+ return new XSSFExcelExtractor(XSSFTestDataSamples.openSampleWorkbook(sampleName));
}
/**
* Get text out of the simple file
*/
- public void testGetSimpleText() throws Exception {
- new XSSFExcelExtractor(xmlA.toString());
- new XSSFExcelExtractor(new XSSFWorkbook(xmlA.toString()));
-
- XSSFExcelExtractor extractor =
- new XSSFExcelExtractor(xmlA.toString());
+ public void testGetSimpleText() {
+ // a very simple file
+ XSSFExcelExtractor extractor = getExtractor("sample.xlsx");
extractor.getText();
String text = extractor.getText();
@@ -97,73 +55,52 @@
// Now without, will have text
extractor.setIncludeSheetNames(false);
text = extractor.getText();
+ String CHUNK1 =
+ "Lorem\t111\n" +
+ "ipsum\t222\n" +
+ "dolor\t333\n" +
+ "sit\t444\n" +
+ "amet\t555\n" +
+ "consectetuer\t666\n" +
+ "adipiscing\t777\n" +
+ "elit\t888\n" +
+ "Nunc\t999\n";
+ String CHUNK2 =
+ "The quick brown fox jumps over the lazy dog\n" +
+ "hello, xssf hello, xssf\n" +
+ "hello, xssf hello, xssf\n" +
+ "hello, xssf hello, xssf\n" +
+ "hello, xssf hello, xssf\n";
assertEquals(
- "Lorem\t111\n" +
- "ipsum\t222\n" +
- "dolor\t333\n" +
- "sit\t444\n" +
- "amet\t555\n" +
- "consectetuer\t666\n" +
- "adipiscing\t777\n" +
- "elit\t888\n" +
- "Nunc\t999\n" +
- "at\t4995\n" +
- "The quick brown fox jumps over the lazy dog\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n", text);
+ CHUNK1 +
+ "at\t4995\n" +
+ CHUNK2
+ , text);
// Now get formulas not their values
extractor.setFormulasNotResults(true);
text = extractor.getText();
assertEquals(
- "Lorem\t111\n" +
- "ipsum\t222\n" +
- "dolor\t333\n" +
- "sit\t444\n" +
- "amet\t555\n" +
- "consectetuer\t666\n" +
- "adipiscing\t777\n" +
- "elit\t888\n" +
- "Nunc\t999\n" +
- "at\tSUM(B1:B9)\n" +
- "The quick brown fox jumps over the lazy dog\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n", text);
+ CHUNK1 +
+ "at\tSUM(B1:B9)\n" +
+ CHUNK2, text);
// With sheet names too
extractor.setIncludeSheetNames(true);
text = extractor.getText();
assertEquals(
"Sheet1\n" +
- "Lorem\t111\n" +
- "ipsum\t222\n" +
- "dolor\t333\n" +
- "sit\t444\n" +
- "amet\t555\n" +
- "consectetuer\t666\n" +
- "adipiscing\t777\n" +
- "elit\t888\n" +
- "Nunc\t999\n" +
- "at\tSUM(B1:B9)\n" +
+ CHUNK1 +
+ "at\tSUM(B1:B9)\n" +
"rich test\n" +
- "The quick brown fox jumps over the lazy dog\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n" +
- "hello, xssf\thello, xssf\n" +
+ CHUNK2 +
"Sheet3\n"
, text);
}
- public void testGetComplexText() throws Exception {
- new XSSFExcelExtractor(xmlB.toString());
-
- XSSFExcelExtractor extractor =
- new XSSFExcelExtractor(new XSSFWorkbook(xmlB.toString()));
+ public void testGetComplexText() {
+ // A fairly complex file
+ XSSFExcelExtractor extractor = getExtractor("AverageTaxRates.xlsx");
extractor.getText();
String text = extractor.getText();
@@ -182,12 +119,12 @@
* ExcelExtractor does, when we're both passed
* the same file, just saved as xls and xlsx
*/
- public void testComparedToOLE2() throws Exception {
- XSSFExcelExtractor ooxmlExtractor =
- new XSSFExcelExtractor(simpleXLSX.toString());
+ public void testComparedToOLE2() {
+ // A fairly simple file - ooxml
+ XSSFExcelExtractor ooxmlExtractor = getExtractor("SampleSS.xlsx");
+
ExcelExtractor ole2Extractor =
- new ExcelExtractor(new HSSFWorkbook(
- new FileInputStream(simpleXLS)));
+ new ExcelExtractor(HSSFTestDataSamples.openSampleWorkbook("SampleSS.xls"));
POITextExtractor[] extractors =
new POITextExtractor[] { ooxmlExtractor, ole2Extractor };
@@ -207,39 +144,26 @@
/**
* From bug #45540
*/
- public void testHeaderFooter() throws Exception {
+ public void testHeaderFooter() {
String[] files = new String[] {
"45540_classic_Header.xlsx", "45540_form_Header.xlsx",
"45540_classic_Footer.xlsx", "45540_form_Footer.xlsx",
};
- for(String file : files) {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + file
- );
- assertTrue(xml.exists());
-
- XSSFExcelExtractor extractor =
- new XSSFExcelExtractor(new XSSFWorkbook(xml.toString()));
+ for(String sampleName : files) {
+ XSSFExcelExtractor extractor = getExtractor(sampleName);
String text = extractor.getText();
- assertTrue("Unable to find expected word in text from " + file + "\n" + text, text.contains("testdoc"));
- assertTrue("Unable to find expected word in text\n" + text, text.contains("test phrase"));
+ assertTrue("Unable to find expected word in text from " + sampleName + "\n" + text, text.contains("testdoc"));
+ assertTrue("Unable to find expected word in text\n" + text, text.contains("test phrase"));
}
}
/**
* From bug #45544
*/
- public void testComments() throws Exception {
- File xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "45544.xlsx"
- );
- assertTrue(xml.exists());
+ public void testComments() {
- XSSFExcelExtractor extractor =
- new XSSFExcelExtractor(new XSSFWorkbook(xml.toString()));
+ XSSFExcelExtractor extractor = getExtractor("45544.xlsx");
String text = extractor.getText();
// No comments there yet
Modified: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java?rev=696415&r1=696414&r2=696415&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java (original)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java Wed Sep 17 12:52:55 2008
@@ -19,37 +19,26 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.IOException;
import java.util.List;
-import org.apache.poi.xssf.usermodel.XSSFCellStyle;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import junit.framework.TestCase;
+
+import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.usermodel.XSSFRichTextString;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRElt;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRPrElt;
-
-import junit.framework.TestCase;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst;
/**
- * Test SharedStringsTable, the cache of strings in a workbook
+ * Test {@link SharedStringsTable}, the cache of strings in a workbook
*
* @author Yegor Kozlov
*/
-public class TestSharedStringsTable extends TestCase {
- private File xml;
-
- protected void setUp() throws Exception {
- xml = new File(
- System.getProperty("HSSF.testdata.path") +
- File.separator + "sample.xlsx"
- );
- assertTrue(xml.exists());
- }
+public final class TestSharedStringsTable extends TestCase {
- public void testCreateNew() throws Exception {
+ public void testCreateNew() {
SharedStringsTable sst = new SharedStringsTable();
CTRst st;
@@ -120,15 +109,19 @@
assertEquals("Second string", new XSSFRichTextString(sst.getEntryAt(2)).toString());
}
- public void testReadWrite() throws Exception {
- XSSFWorkbook wb = new XSSFWorkbook(xml.getPath());
+ public void testReadWrite() {
+ XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("sample.xlsx");
SharedStringsTable sst1 = (SharedStringsTable)wb.getSharedStringSource();
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- sst1.writeTo(out);
-
//serialize, read back and compare with the original
- SharedStringsTable sst2 = new SharedStringsTable(new ByteArrayInputStream(out.toByteArray()));
+ SharedStringsTable sst2;
+ try {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ sst1.writeTo(out);
+ sst2 = new SharedStringsTable(new ByteArrayInputStream(out.toByteArray()));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
assertEquals(sst1.getCount(), sst2.getCount());
assertEquals(sst1.getUniqueCount(), sst2.getUniqueCount());
Modified: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java?rev=696415&r1=696414&r2=696415&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java (original)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java Wed Sep 17 12:52:55 2008
@@ -17,8 +17,6 @@
package org.apache.poi.xssf.usermodel;
-import java.io.File;
-import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -30,19 +28,24 @@
import org.apache.poi.ss.usermodel.Comment;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.SharedStringSource;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.model.CommentsTable;
+import org.apache.poi.xssf.model.SharedStringSource;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComment;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellType;
-
-public class TestXSSFCell extends TestCase {
+/**
+ * Tests for {@link XSSFCell}
+ *
+ */
+public final class TestXSSFCell extends TestCase {
private static final String TEST_C10_AUTHOR = "test C10 author";
@@ -160,7 +163,7 @@
assertEquals("Foo2", cell.getRichStringCellValue().getString());
}
- public void testSetGetStringShared() throws Exception {
+ public void testSetGetStringShared() {
XSSFRow row = createParentObjects();
XSSFCell cell = new XSSFCell(row);
@@ -176,7 +179,7 @@
/**
* Test that empty cells (no v element) return default values.
*/
- public void testGetEmptyCellValue() throws Exception {
+ public void testGetEmptyCellValue() {
XSSFRow row = createParentObjects();
XSSFCell cell = new XSSFCell(row);
cell.setCellType(Cell.CELL_TYPE_BOOLEAN);
@@ -216,12 +219,12 @@
}
public static class DummySharedStringSource implements SharedStringSource {
- ArrayList<String> strs = new ArrayList<String>();
- public String getSharedStringAt(int idx) {
+ ArrayList<CTRst> strs = new ArrayList<CTRst>();
+ public CTRst getEntryAt(int idx) {
return strs.get(idx);
}
- public synchronized int putSharedString(String s) {
+ public synchronized int addEntry(CTRst s) {
if(strs.contains(s)) {
return strs.indexOf(s);
}
@@ -241,8 +244,8 @@
// Create C10 cell
Row row = sheet.createRow(9);
- Cell cell = row.createCell((short)2);
- Cell cell3 = row.createCell((short)3);
+ row.createCell(2);
+ row.createCell(3);
// Set a comment for C10 cell
@@ -267,8 +270,8 @@
// Create C10 cell
Row row = sheet.createRow(9);
- Cell cell = row.createCell((short)2);
- Cell cell3 = row.createCell((short)3);
+ Cell cell = row.createCell(2);
+ row.createCell(3);
// Create a comment
Comment comment = comments.addComment();
@@ -295,10 +298,11 @@
assertEquals("A1", ctWorksheet.getSheetViews().getSheetViewArray(0).getSelectionArray(0).getActiveCell());
}
+
/**
* Tests that cell formatting stuff works as expected
*/
- public void testCellFormatting() throws Exception {
+ public void testCellFormatting() {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();
CreationHelper creationHelper = workbook.getCreationHelper();
@@ -324,18 +328,13 @@
// Save, re-load, and test again
- File tmp = File.createTempFile("poi", "xlsx");
- FileOutputStream out = new FileOutputStream(tmp);
- workbook.write(out);
- out.close();
-
- Workbook wb2 = new XSSFWorkbook(tmp.toString());
+ Workbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(workbook);
Cell c2 = wb2.getSheetAt(0).getRow(0).getCell(0);
assertEquals(new Date(654321), c2.getDateCellValue());
assertEquals("yyyy/mm/dd", c2.getCellStyle().getDataFormatString());
}
- private XSSFRow createParentObjects() {
+ private static XSSFRow createParentObjects() {
XSSFWorkbook wb = new XSSFWorkbook();
wb.setSharedStringSource(new DummySharedStringSource());
XSSFSheet sheet = new XSSFSheet(wb);
@@ -347,12 +346,12 @@
* Test to ensure we can only assign cell styles that belong
* to our workbook, and not those from other workbooks.
*/
- public void testCellStyleWorkbookMatch() throws Exception {
+ public void testCellStyleWorkbookMatch() {
XSSFWorkbook wbA = new XSSFWorkbook();
XSSFWorkbook wbB = new XSSFWorkbook();
- XSSFCellStyle styA = (XSSFCellStyle)wbA.createCellStyle();
- XSSFCellStyle styB = (XSSFCellStyle)wbB.createCellStyle();
+ XSSFCellStyle styA = wbA.createCellStyle();
+ XSSFCellStyle styB = wbB.createCellStyle();
styA.verifyBelongsToStylesSource(wbA.getStylesSource());
styB.verifyBelongsToStylesSource(wbB.getStylesSource());
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org