From 160fb550c143f9cb068156f1ac2a6ebc53fd5f34 Mon Sep 17 00:00:00 2001 From: Andreas Beeker Date: Sat, 15 Apr 2017 12:14:26 +0000 Subject: [PATCH] #60993 - HSLF: Grid and rowspan calculation in table cells is wrong git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1791500 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/sl/TestTable.java | 62 ++++++++++++++++-- .../apache/poi/hslf/usermodel/HSLFTable.java | 13 ++-- test-data/slideshow/bug60993.ppt | Bin 0 -> 121344 bytes test-data/slideshow/bug60993.pptx | Bin 0 -> 21942 bytes 4 files changed, 63 insertions(+), 12 deletions(-) create mode 100644 test-data/slideshow/bug60993.ppt create mode 100644 test-data/slideshow/bug60993.pptx diff --git a/src/ooxml/testcases/org/apache/poi/sl/TestTable.java b/src/ooxml/testcases/org/apache/poi/sl/TestTable.java index 0b02b7478..5b45f9973 100644 --- a/src/ooxml/testcases/org/apache/poi/sl/TestTable.java +++ b/src/ooxml/testcases/org/apache/poi/sl/TestTable.java @@ -20,6 +20,10 @@ package org.apache.poi.sl; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import static org.junit.Assume.assumeFalse; import java.awt.geom.Rectangle2D; @@ -30,6 +34,7 @@ import java.io.InputStream; import org.apache.poi.POIDataSamples; import org.apache.poi.hslf.usermodel.HSLFSlideShow; +import org.apache.poi.sl.usermodel.Slide; import org.apache.poi.sl.usermodel.SlideShow; import org.apache.poi.sl.usermodel.SlideShowFactory; import org.apache.poi.sl.usermodel.TableCell; @@ -66,7 +71,7 @@ public class TestTable { } @Test - public void testColWidthRowHeight() throws IOException { + public void colWidthRowHeight() throws IOException { assumeFalse(xslfOnly); // Test of table dimensions of same slideshow saved as ppt/x @@ -110,7 +115,7 @@ public class TestTable { } @Test - public void testTextDirectionHSLF() throws IOException { + public void textDirectionHSLF() throws IOException { assumeFalse(xslfOnly); SlideShow ppt1 = new HSLFSlideShow(); testTextDirection(ppt1); @@ -118,7 +123,7 @@ public class TestTable { } @Test - public void testTextDirectionXSLF() throws IOException { + public void textDirectionXSLF() throws IOException { SlideShow ppt1 = new XMLSlideShow(); testTextDirection(ppt1); ppt1.close(); @@ -160,4 +165,53 @@ public class TestTable { } ppt2.close(); } -} + + @Test + public void tableSpan() throws IOException { + String files[] = (xslfOnly) ? new String[]{ "bug60993.pptx" } : new String[]{ "bug60993.pptx", "bug60993.ppt" }; + for (String f : files) { + SlideShow ppt = openSampleSlideshow(f); + Slide slide = ppt.getSlides().get(0); + TableShape ts = (TableShape)slide.getShapes().get(0); + int cols = ts.getNumberOfColumns(); + int rows = ts.getNumberOfRows(); + for (int r=0; r tc = ts.getCell(r, c); + int rc = r*10+c; + String msg = f+" (r"+r+",c"+c+")"; + switch (rc) { + case 22: + case 51: + if (f.endsWith("ppt")) { + assertNull(msg, tc); + } else { + assertNotNull(msg, tc); + assertTrue(msg, tc.isMerged()); + } + break; + case 21: + assertNotNull(msg, tc); + assertEquals(msg, 1, tc.getRowSpan()); + assertEquals(msg, 2, tc.getGridSpan()); + assertFalse(msg, tc.isMerged()); + break; + case 41: + assertNotNull(msg, tc); + assertEquals(msg, 2, tc.getRowSpan()); + assertEquals(msg, 1, tc.getGridSpan()); + assertFalse(msg, tc.isMerged()); + break; + default: + assertNotNull(msg, tc); + assertEquals(msg, 1, tc.getRowSpan()); + assertEquals(msg, 1, tc.getGridSpan()); + assertFalse(msg, tc.isMerged()); + break; + } + } + } + ppt.close(); + } + } +} \ No newline at end of file diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java index f90873908..b159e7ca6 100644 --- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java +++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTable.java @@ -21,6 +21,7 @@ import java.awt.geom.Rectangle2D; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.ListIterator; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -218,15 +219,11 @@ implements HSLFShapeContainer, TableShape { } private int calcSpan(List spaces, double totalSpace, int idx) { - if (idx == spaces.size()-1) { - return 1; - } - int span = 0; - double remainingSpace = totalSpace; - while (idx+1 < spaces.size() && remainingSpace > 0) { - remainingSpace -= spaces.get(idx+1)-spaces.get(idx); + int span = 1; + ListIterator li = spaces.listIterator(idx); + double start = li.next(); + while (li.hasNext() && li.next()-start < totalSpace) { span++; - idx++; } return span; } diff --git a/test-data/slideshow/bug60993.ppt b/test-data/slideshow/bug60993.ppt new file mode 100644 index 0000000000000000000000000000000000000000..58abe1f0e1c13d77abb1932003d438eb936c3b18 GIT binary patch literal 121344 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 literal 0 HcmV?d00001 diff --git a/test-data/slideshow/bug60993.pptx b/test-data/slideshow/bug60993.pptx new file mode 100644 index 0000000000000000000000000000000000000000..68a73b251c76164b05d6954909677fa09d895253 GIT binary patch literal 21942 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 literal 0 HcmV?d00001