You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by be...@apache.org on 2012/08/05 15:05:49 UTC
svn commit: r1369572 [4/4] - in /poi/branches/gsoc2012: ./
src/documentation/ src/documentation/content/xdocs/
src/documentation/content/xdocs/spreadsheet/
src/java/org/apache/poi/hssf/model/
src/java/org/apache/poi/hssf/record/aggregates/ src/java/org...
Modified: poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java (original)
+++ poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java Sun Aug 5 13:05:44 2012
@@ -20,10 +20,13 @@ package org.apache.poi.hslf.model;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import javax.imageio.ImageIO;
import junit.framework.TestCase;
import org.apache.poi.ddf.EscherBSERecord;
+import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.usermodel.PictureData;
import org.apache.poi.hslf.usermodel.SlideShow;
import org.apache.poi.POIDataSamples;
@@ -88,4 +91,41 @@ public final class TestPicture extends T
Graphics2D graphics = img.createGraphics();
pict.draw(graphics);
}
+
+ public void testMacImages() throws Exception {
+ HSLFSlideShow hss = new HSLFSlideShow(_slTests.openResourceAsStream("53446.ppt"));
+
+ PictureData[] pictures = hss.getPictures();
+ assertEquals(15, pictures.length);
+
+ int[][] expectedSizes = {
+ null, // WMF
+ { 427, 428 }, // PNG
+ { 371, 370 }, // PNG
+ { 288, 183 }, // PNG
+ { 285, 97 }, // PNG
+ { 288, 168 }, // PNG
+ null, // WMF
+ null, // WMF
+ { 199, 259 }, // PNG
+ { 432, 244 }, // PNG
+ { 261, 258 }, // PNG
+ null, // WMF
+ null, // WMF
+ null, // WMF
+ null // EMF
+ };
+
+ for (int i = 0; i < pictures.length; i++) {
+ BufferedImage image = ImageIO.read(new ByteArrayInputStream(pictures[i].getData()));
+
+ if (pictures[i].getType() != Picture.WMF && pictures[i].getType() != Picture.EMF) {
+ assertNotNull(image);
+
+ int[] dimensions = expectedSizes[i];
+ assertEquals(dimensions[0], image.getWidth());
+ assertEquals(dimensions[1], image.getHeight());
+ }
+ }
+ }
}
Modified: poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestChunkData.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestChunkData.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestChunkData.java (original)
+++ poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestChunkData.java Sun Aug 5 13:05:44 2012
@@ -30,24 +30,29 @@ public final class TestChunkData extends
public void testChunkCreate() {
Chunk chunk;
- chunk = new StringChunk(0x0200, 0x001E);
+ chunk = new StringChunk(0x0200, Types.createCustom(0x001E));
assertEquals("__substg1.0_0200001E", chunk.getEntryName());
assertEquals(0x0200, chunk.getChunkId());
- assertEquals(0x001E, chunk.getType());
+ assertEquals(0x001E, chunk.getType().getId());
- chunk = new StringChunk("__substg1.0_", 0x0200, 0x001E);
+ chunk = new StringChunk("__substg1.0_", 0x0200, Types.createCustom(0x001E));
assertEquals("__substg1.0_0200001E", chunk.getEntryName());
assertEquals(0x0200, chunk.getChunkId());
- assertEquals(0x001E, chunk.getType());
+ assertEquals(0x001E, chunk.getType().getId());
+
+ chunk = new StringChunk("__substg1.0_", 0x0200, Types.getById(0x001E));
+ assertEquals("__substg1.0_0200001E", chunk.getEntryName());
+ assertEquals(0x0200, chunk.getChunkId());
+ assertEquals(0x001E, chunk.getType().getId());
/* test the lower and upper limits of the chunk ids */
- chunk = new StringChunk(0x0000, 0x001E);
+ chunk = new StringChunk(0x0000, Types.createCustom(0x001E));
assertEquals("__substg1.0_0000001E", chunk.getEntryName());
- chunk = new StringChunk(0xFFFF, 0x001E);
+ chunk = new StringChunk(0xFFFF, Types.createCustom(0x001E));
assertEquals("__substg1.0_FFFF001E", chunk.getEntryName());
- chunk = new StringChunk(0xFFFF, 0x001F);
+ chunk = new StringChunk(0xFFFF, Types.createCustom(0x001F));
assertEquals("__substg1.0_FFFF001F", chunk.getEntryName());
}
Modified: poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestMAPIProperty.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestMAPIProperty.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestMAPIProperty.java (original)
+++ poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestMAPIProperty.java Sun Aug 5 13:05:44 2012
@@ -37,16 +37,16 @@ public final class TestMAPIProperty exte
assertEquals(true, all.contains(MAPIProperty.DISPLAY_CC));
// Won't contain custom
- assertEquals(false, all.contains(MAPIProperty.createCustom(1, 1, "")));
+ assertEquals(false, all.contains(MAPIProperty.createCustom(1, Types.UNSPECIFIED, "")));
// Won't contain unknown
assertEquals(false, all.contains(MAPIProperty.UNKNOWN));
}
public void testCustom() throws Exception {
- MAPIProperty c1 = MAPIProperty.createCustom(1, 1, "");
- MAPIProperty c2a = MAPIProperty.createCustom(2, 1, "2");
- MAPIProperty c2b = MAPIProperty.createCustom(2, 1, "2");
+ MAPIProperty c1 = MAPIProperty.createCustom(1, Types.UNSPECIFIED, "");
+ MAPIProperty c2a = MAPIProperty.createCustom(2, Types.UNSPECIFIED, "2");
+ MAPIProperty c2b = MAPIProperty.createCustom(2, Types.UNSPECIFIED, "2");
// New object each time
assertNotSame(c1, c2a);
Modified: poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestTypes.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestTypes.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestTypes.java (original)
+++ poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hsmf/datatypes/TestTypes.java Sun Aug 5 13:05:44 2012
@@ -28,13 +28,21 @@ import junit.framework.TestCase;
*/
public final class TestTypes extends TestCase {
public void testTypeIds() {
- assertEquals(0x1e, Types.ASCII_STRING);
- assertEquals(0x1f, Types.UNICODE_STRING);
+ assertEquals(0x1e, Types.ASCII_STRING.getId());
+ assertEquals(0x1f, Types.UNICODE_STRING.getId());
- assertEquals(0x0102, Types.BINARY);
- assertEquals(0x000B, Types.BOOLEAN);
- assertEquals(0x0003, Types.LONG);
- assertEquals(0x0040, Types.TIME);
+ assertEquals(0x0102, Types.BINARY.getId());
+ assertEquals(0x000B, Types.BOOLEAN.getId());
+ assertEquals(0x0003, Types.LONG.getId());
+ assertEquals(0x0040, Types.TIME.getId());
+
+ assertEquals(Types.ASCII_STRING, Types.getById(0x1e));
+ assertEquals(Types.UNICODE_STRING, Types.getById(0x1f));
+
+ assertEquals(Types.BINARY, Types.getById(0x0102));
+ assertEquals(Types.BOOLEAN, Types.getById(0x000B));
+ assertEquals(Types.LONG, Types.getById(0x0003));
+ assertEquals(Types.TIME, Types.getById(0x0040));
}
public void testTypeFormatting() {
@@ -45,7 +53,7 @@ public final class TestTypes extends Tes
}
public void testName() {
- assertEquals("ASCII String", Types.asName(Types.ASCII_STRING));
- assertEquals("Boolean", Types.asName(Types.BOOLEAN));
+ assertEquals("ASCII String", Types.ASCII_STRING.getName());
+ assertEquals("Boolean", Types.BOOLEAN.getName());
}
}
Modified: poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java (original)
+++ poi/branches/gsoc2012/src/scratchpad/testcases/org/apache/poi/hwpf/TestHWPFPictures.java Sun Aug 5 13:05:44 2012
@@ -17,10 +17,14 @@
package org.apache.poi.hwpf;
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
import java.util.List;
import junit.framework.TestCase;
+import org.apache.poi.POIDataSamples;
import org.apache.poi.hwpf.model.PicturesTable;
import org.apache.poi.hwpf.usermodel.Picture;
import org.apache.poi.POIDataSamples;
@@ -128,6 +132,30 @@ public final class TestHWPFPictures exte
assertBytesSame(picBytes, pic.getContent());
}
+ public void testMacImages() throws Exception {
+ HWPFDocument docC = HWPFTestDataSamples.openSampleFile("53446.doc");
+ PicturesTable picturesTable = docC.getPicturesTable();
+ List<Picture> pictures = picturesTable.getAllPictures();
+
+ assertEquals(4, pictures.size());
+
+ int[][] expectedSizes = {
+ { 185, 42 }, // PNG
+ { 260, 114 }, // PNG
+ { 185, 42 }, // PNG
+ { 260, 114 }, // PNG
+ };
+
+ for (int i = 0; i < pictures.size(); i++) {
+ BufferedImage image = ImageIO.read(new ByteArrayInputStream(pictures.get(i).getContent()));
+ assertNotNull(image);
+
+ int[] dimensions = expectedSizes[i];
+ assertEquals(dimensions[0], image.getWidth());
+ assertEquals(dimensions[1], image.getHeight());
+ }
+ }
+
/**
* Pending the missing files being uploaded to
* bug #44937
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/model/TestSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/model/TestSheet.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/model/TestSheet.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/model/TestSheet.java Sun Aug 5 13:05:44 2012
@@ -35,6 +35,8 @@ import org.apache.poi.ss.formula.Formula
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.util.HexRead;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -773,4 +775,43 @@ public final class TestSheet extends Tes
assertEquals(WindowTwoRecord.sid, ((Record)sheetRecords.get(2)).getSid());
assertEquals(EOFRecord.sid, ((Record)sheetRecords.get(3)).getSid());
}
+
+ public void testSheetDimensions() throws IOException{
+ InternalSheet sheet = InternalSheet.createSheet();
+ DimensionsRecord dimensions = (DimensionsRecord)sheet.findFirstRecordBySid(DimensionsRecord.sid);
+ assertEquals(0, dimensions.getFirstCol());
+ assertEquals(0, dimensions.getFirstRow());
+ assertEquals(1, dimensions.getLastCol()); // plus pne
+ assertEquals(1, dimensions.getLastRow()); // plus pne
+
+ RowRecord rr = new RowRecord(0);
+ sheet.addRow(rr);
+
+ assertEquals(0, dimensions.getFirstCol());
+ assertEquals(0, dimensions.getFirstRow());
+ assertEquals(1, dimensions.getLastCol());
+ assertEquals(1, dimensions.getLastRow());
+
+ CellValueRecordInterface cvr;
+
+ cvr = new BlankRecord();
+ cvr.setColumn((short)0);
+ cvr.setRow(0);
+ sheet.addValueRecord(0, cvr);
+
+ assertEquals(0, dimensions.getFirstCol());
+ assertEquals(0, dimensions.getFirstRow());
+ assertEquals(1, dimensions.getLastCol());
+ assertEquals(1, dimensions.getLastRow());
+
+ cvr = new BlankRecord();
+ cvr.setColumn((short)1);
+ cvr.setRow(0);
+ sheet.addValueRecord(0, cvr);
+
+ assertEquals(0, dimensions.getFirstCol());
+ assertEquals(0, dimensions.getFirstRow());
+ assertEquals(2, dimensions.getLastCol()); //YK: failed until Bugzilla 53414 was fixed
+ assertEquals(1, dimensions.getLastRow());
+ }
}
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestAreaFormatRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestAreaFormatRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestAreaRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestAreaRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestAxisLineFormatRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestAxisLineFormatRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestAxisOptionsRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestAxisOptionsRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestAxisParentRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestAxisParentRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestAxisRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestAxisRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestAxisUsedRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestAxisUsedRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestBarRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestBarRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestCategorySeriesAxisRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestCategorySeriesAxisRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestChartRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestChartRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestChartTitleFormatRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestChartTitleFormatRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestDatRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestDatRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestDataFormatRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestDataFormatRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestDefaultDataLabelTextPropertiesRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestDefaultDataLabelTextPropertiesRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestFontBasisRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestFontBasisRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestFontIndexRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestFontIndexRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestFrameRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestFrameRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestLegendRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestLegendRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestLineFormatRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestLineFormatRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestLinkedDataRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestLinkedDataRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestNumberFormatIndexRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestNumberFormatIndexRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestObjectLinkRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestObjectLinkRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestPlotAreaRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestPlotAreaRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestPlotGrowthRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestPlotGrowthRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesChartGroupIndexRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesChartGroupIndexRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesIndexRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesIndexRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesLabelsRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesLabelsRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesListRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesListRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesTextRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesTextRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesToChartGroupRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSeriesToChartGroupRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestSheetPropertiesRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestSheetPropertiesRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestTextRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestTextRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestTickRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestTickRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestUnitsRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestUnitsRecord.java:r1342604-1369290
Propchange: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/record/chart/TestValueRangeRecord.java
------------------------------------------------------------------------------
Merged /poi/trunk/src/testcases/org/apache/poi/hssf/record/chart/TestValueRangeRecord.java:r1342604-1369290
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java Sun Aug 5 13:05:44 2012
@@ -71,6 +71,29 @@ public final class TestHSSFPictureData e
}
}
}
+
+ public void testMacPicture() throws IOException {
+ HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("53446.xls");
+
+ @SuppressWarnings("unchecked")
+ List<HSSFPictureData> lst = (List<HSSFPictureData>)(List<?>)wb.getAllPictures();
+ assertEquals(1, lst.size());
+
+ HSSFPictureData pict = lst.get(0);
+ String ext = pict.suggestFileExtension();
+ if (!ext.equals("png")) {
+ fail("Expected a PNG.");
+ }
+
+ //try to read image data using javax.imageio.* (JDK 1.4+)
+ byte[] data = pict.getData();
+ BufferedImage png = ImageIO.read(new ByteArrayInputStream(data));
+ assertNotNull(png);
+ assertEquals(78, png.getWidth());
+ assertEquals(76, png.getHeight());
+ assertEquals(HSSFWorkbook.PICTURE_TYPE_PNG, pict.getFormat());
+ assertEquals("image/png", pict.getMimeType());
+ }
public void testNotNullPictures() throws IOException {
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFSheet.java Sun Aug 5 13:05:44 2012
@@ -57,6 +57,22 @@ public final class TestHSSFSheet extends
super(HSSFITestDataProvider.instance);
}
+
+ /**
+ * Test for Bugzilla #29747.
+ * Moved from TestHSSFWorkbook#testSetRepeatingRowsAndColumns().
+ */
+ public void testSetRepeatingRowsAndColumnsBug29747() {
+ HSSFWorkbook wb = new HSSFWorkbook();
+ wb.createSheet();
+ wb.createSheet();
+ HSSFSheet sheet2 = wb.createSheet();
+ sheet2.setRepeatingRows(CellRangeAddress.valueOf("1:2"));
+ NameRecord nameRecord = wb.getWorkbook().getNameRecord(0);
+ assertEquals(3, nameRecord.getSheetNumber());
+ }
+
+
public void testTestGetSetMargin() {
baseTestGetSetMargin(new double[]{0.75, 0.75, 1.0, 1.0, 0.3, 0.3});
}
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java Sun Aug 5 13:05:44 2012
@@ -56,17 +56,6 @@ public final class TestHSSFWorkbook exte
return wb.getWorkbook();
}
- public void testSetRepeatingRowsAndColumns() {
- // Test bug 29747
- HSSFWorkbook b = new HSSFWorkbook( );
- b.createSheet();
- b.createSheet();
- b.createSheet();
- b.setRepeatingRowsAndColumns( 2, 0,1,-1,-1 );
- NameRecord nameRecord = b.getWorkbook().getNameRecord( 0 );
- assertEquals(3, nameRecord.getSheetNumber());
- }
-
public void testWindowOneDefaults() {
HSSFWorkbook b = new HSSFWorkbook( );
try {
@@ -501,7 +490,8 @@ public final class TestHSSFWorkbook exte
assertEquals("Sheet2!$A$1:$IV$1", HSSFFormulaParser.toFormulaString(wb, nr.getNameDefinition())); // 1:1
try {
- wb.setRepeatingRowsAndColumns(3, 4, 5, 8, 11);
+ wb.getSheetAt(3).setRepeatingRows(CellRangeAddress.valueOf("9:12"));
+ wb.getSheetAt(3).setRepeatingColumns(CellRangeAddress.valueOf("E:F"));
} catch (RuntimeException e) {
if (e.getMessage().equals("Builtin (7) already exists for sheet (4)")) {
// there was a problem in the code which locates the existing print titles name record
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/formula/TestWorkbookEvaluator.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/formula/TestWorkbookEvaluator.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/formula/TestWorkbookEvaluator.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/formula/TestWorkbookEvaluator.java Sun Aug 5 13:05:44 2012
@@ -42,6 +42,9 @@ import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.ErrorConstants;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
+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;
/**
@@ -235,4 +238,47 @@ public class TestWorkbookEvaluator exten
assertEquals(Cell.CELL_TYPE_ERROR, cv.getCellType());
assertEquals(ErrorEval.CIRCULAR_REF_ERROR.getErrorCode(), cv.getErrorValue());
}
+
+
+ /**
+ * formulas with defined names.
+ */
+ public void testNamesInFormulas() {
+ Workbook wb = new HSSFWorkbook();
+ Sheet sheet = wb.createSheet("Sheet1");
+
+ Name name1 = wb.createName();
+ name1.setNameName("aConstant");
+ name1.setRefersToFormula("3.14");
+
+ Name name2 = wb.createName();
+ name2.setNameName("aFormula");
+ name2.setRefersToFormula("SUM(Sheet1!$A$1:$A$3)");
+
+ Name name3 = wb.createName();
+ name3.setNameName("aSet");
+ name3.setRefersToFormula("Sheet1!$A$2:$A$4");
+
+
+ Row row0 = sheet.createRow(0);
+ Row row1 = sheet.createRow(1);
+ Row row2 = sheet.createRow(2);
+ Row row3 = sheet.createRow(3);
+ row0.createCell(0).setCellValue(2);
+ row1.createCell(0).setCellValue(5);
+ row2.createCell(0).setCellValue(3);
+ row3.createCell(0).setCellValue(7);
+
+ row0.createCell(2).setCellFormula("aConstant");
+ row1.createCell(2).setCellFormula("aFormula");
+ row2.createCell(2).setCellFormula("SUM(aSet)");
+ row3.createCell(2).setCellFormula("aConstant+aFormula+SUM(aSet)");
+
+ FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
+ assertEquals(3.14, fe.evaluate(row0.getCell(2)).getNumberValue());
+ assertEquals(10.0, fe.evaluate(row1.getCell(2)).getNumberValue());
+ assertEquals(15.0, fe.evaluate(row2.getCell(2)).getNumberValue());
+ assertEquals(28.14, fe.evaluate(row3.getCell(2)).getNumberValue());
+ }
+
}
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheet.java Sun Aug 5 13:05:44 2012
@@ -712,4 +712,78 @@ public abstract class BaseTestSheet exte
assertNull(sheet.getPaneInformation());
}
+
+ public void testGetRepeatingRowsAndColumns() {
+ Workbook wb = _testDataProvider.openSampleWorkbook(
+ "RepeatingRowsCols."
+ + _testDataProvider.getStandardFileNameExtension());
+
+ checkRepeatingRowsAndColumns(wb.getSheetAt(0), null, null);
+ checkRepeatingRowsAndColumns(wb.getSheetAt(1), "1:1", null);
+ checkRepeatingRowsAndColumns(wb.getSheetAt(2), null, "A:A");
+ checkRepeatingRowsAndColumns(wb.getSheetAt(3), "2:3", "A:B");
+ }
+
+
+ public void testSetRepeatingRowsAndColumnsBug47294(){
+ Workbook wb = _testDataProvider.createWorkbook();
+ Sheet sheet1 = wb.createSheet();
+ sheet1.setRepeatingRows(CellRangeAddress.valueOf("1:4"));
+ assertEquals("1:4", sheet1.getRepeatingRows().formatAsString());
+
+ //must handle sheets with quotas, see Bugzilla #47294
+ Sheet sheet2 = wb.createSheet("My' Sheet");
+ sheet2.setRepeatingRows(CellRangeAddress.valueOf("1:4"));
+ assertEquals("1:4", sheet2.getRepeatingRows().formatAsString());
+ }
+
+ public void testSetRepeatingRowsAndColumns() {
+ Workbook wb = _testDataProvider.createWorkbook();
+ Sheet sheet1 = wb.createSheet("Sheet1");
+ Sheet sheet2 = wb.createSheet("Sheet2");
+ Sheet sheet3 = wb.createSheet("Sheet3");
+
+ checkRepeatingRowsAndColumns(sheet1, null, null);
+
+ sheet1.setRepeatingRows(CellRangeAddress.valueOf("4:5"));
+ sheet2.setRepeatingColumns(CellRangeAddress.valueOf("A:C"));
+ sheet3.setRepeatingRows(CellRangeAddress.valueOf("1:4"));
+ sheet3.setRepeatingColumns(CellRangeAddress.valueOf("A:A"));
+
+ checkRepeatingRowsAndColumns(sheet1, "4:5", null);
+ checkRepeatingRowsAndColumns(sheet2, null, "A:C");
+ checkRepeatingRowsAndColumns(sheet3, "1:4", "A:A");
+
+ // write out, read back, and test refrain...
+ wb = _testDataProvider.writeOutAndReadBack(wb);
+ sheet1 = wb.getSheetAt(0);
+ sheet2 = wb.getSheetAt(1);
+ sheet3 = wb.getSheetAt(2);
+
+ checkRepeatingRowsAndColumns(sheet1, "4:5", null);
+ checkRepeatingRowsAndColumns(sheet2, null, "A:C");
+ checkRepeatingRowsAndColumns(sheet3, "1:4", "A:A");
+
+ // check removing repeating rows and columns
+ sheet3.setRepeatingRows(null);
+ checkRepeatingRowsAndColumns(sheet3, null, "A:A");
+
+ sheet3.setRepeatingColumns(null);
+ checkRepeatingRowsAndColumns(sheet3, null, null);
+ }
+
+ private void checkRepeatingRowsAndColumns(
+ Sheet s, String expectedRows, String expectedCols) {
+ if (expectedRows == null) {
+ assertNull(s.getRepeatingRows());
+ } else {
+ assertEquals(expectedRows, s.getRepeatingRows().formatAsString());
+ }
+ if (expectedCols == null) {
+ assertNull(s.getRepeatingColumns());
+ } else {
+ assertEquals(expectedCols, s.getRepeatingColumns().formatAsString());
+ }
+ }
+
}
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/BaseTestWorkbook.java Sun Aug 5 13:05:44 2012
@@ -359,14 +359,27 @@ public abstract class BaseTestWorkbook e
assertSame(row, cell.getRow());
}
+
+ /**
+ * Test is kept to ensure stub for deprecated business method passes test.
+ *
+ * @Deprecated remove this test when
+ * {@link Workbook#setRepeatingRowsAndColumns(int, int, int, int, int)}
+ * is removed
+ */
+ @Deprecated
public void testSetRepeatingRowsAnsColumns(){
Workbook wb = _testDataProvider.createWorkbook();
Sheet sheet1 = wb.createSheet();
wb.setRepeatingRowsAndColumns(wb.getSheetIndex(sheet1), 0, 0, 0, 3);
+ assertEquals("1:4", sheet1.getRepeatingRows().formatAsString());
+ assertEquals("A:A", sheet1.getRepeatingColumns().formatAsString());
//must handle sheets with quotas, see Bugzilla #47294
Sheet sheet2 = wb.createSheet("My' Sheet");
wb.setRepeatingRowsAndColumns(wb.getSheetIndex(sheet2), 0, 0, 0, 3);
+ assertEquals("1:4", sheet2.getRepeatingRows().formatAsString());
+ assertEquals("A:A", sheet1.getRepeatingColumns().formatAsString());
}
/**
Modified: poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java
URL: http://svn.apache.org/viewvc/poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java?rev=1369572&r1=1369571&r2=1369572&view=diff
==============================================================================
--- poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java (original)
+++ poi/branches/gsoc2012/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java Sun Aug 5 13:05:44 2012
@@ -47,6 +47,24 @@ public class TestDataFormatter extends T
}
/**
+ * At the moment, we don't decode the locale strings into
+ * a specific locale, but we should format things as if
+ * the locale (eg '[$-1010409]') isn't there
+ */
+ public void testLocaleBasedFormats() {
+ DataFormatter dfUS = new DataFormatter(Locale.US);
+
+ // Standard formats
+ assertEquals("63", dfUS.formatRawCellContents(63.0, -1, "[$-1010409]General"));
+ assertEquals("63", dfUS.formatRawCellContents(63.0, -1, "[$-1010409]@"));
+
+ // Regular numeric style formats
+ assertEquals("63", dfUS.formatRawCellContents(63.0, -1, "[$-1010409]##"));
+ assertEquals("63", dfUS.formatRawCellContents(63.0, -1, "[$-1010409]00"));
+
+ }
+
+ /**
* Ensure that colours get correctly
* zapped from within the format strings
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org