This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/master by this push:
     new 64f0f9c  TIKA-3020 -- fix bug in <tr> handling in KeynoteContentHandler
64f0f9c is described below

commit 64f0f9c59cf50e69a39a4133091021b6c3872b57
Author: tallison <[email protected]>
AuthorDate: Mon Jan 6 15:53:22 2020 -0500

    TIKA-3020 -- fix bug in <tr> handling in KeynoteContentHandler
---
 .../org/apache/tika/parser/iwork/KeynoteContentHandler.java |  3 ++-
 .../java/org/apache/tika/parser/iwork/IWorkParserTest.java  | 13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/tika-parsers/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java
 
b/tika-parsers/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java
index 4509cd2..40b3d60 100644
--- 
a/tika-parsers/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java
+++ 
b/tika-parsers/src/main/java/org/apache/tika/parser/iwork/KeynoteContentHandler.java
@@ -164,11 +164,12 @@ class KeynoteContentHandler extends DefaultHandler {
       if (currentColumn == 0) {
           xhtml.startElement("tr");
       }
-
       xhtml.element("td", value);
 
+      currentColumn++;
       if (currentColumn.equals(numberOfColumns)) {
           xhtml.endElement("tr");
+          currentColumn = 0;
       }
     }
 
diff --git 
a/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java 
b/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
index 9fc6ace..cefc5ef 100644
--- 
a/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
+++ 
b/tika-parsers/src/test/java/org/apache/tika/parser/iwork/IWorkParserTest.java
@@ -376,4 +376,17 @@ public class IWorkParserTest extends TikaTest {
         assertContains("Currency Chart name", content);
         assertContains("Chart 2", content);
     }
+
+    //TIKA-3020
+    @Test
+    public void testKeyNoteTableMarkup() throws Exception {
+        String expected = "<table><tr>\t<td>Cell one</td>\t<td>Cell 
two</td>\t<td>Cell three</td></tr>" +
+                "<tr>\t<td>Cell four</td>\t<td>Cell 5</td>\t<td>Cell 
six</td></tr>" +
+                "<tr>\t<td>7</td>\t<td>Cell 
eight</td>\t<td>5/5/1985</td></tr>" +
+                "</table>";
+        String xml = getXML("testKeynote.key", iWorkParser).xml;
+        xml = xml.replaceAll("[\r\n]", "");
+        assertContains(expected, xml);
+
+    }
 }

Reply via email to