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