diff --git a/odfdom/src/test/java/org/odftoolkit/odfdom/doc/LoadSaveTest.java b/odfdom/src/test/java/org/odftoolkit/odfdom/doc/LoadSaveTest.java index a5def79538..5f0e153f2c 100644 --- a/odfdom/src/test/java/org/odftoolkit/odfdom/doc/LoadSaveTest.java +++ b/odfdom/src/test/java/org/odftoolkit/odfdom/doc/LoadSaveTest.java @@ -41,7 +41,9 @@ public class LoadSaveTest { private static final String SOURCE = "not-only-odf.odt"; + private static final String SOURCE2 = "svgTitleTest.odt"; private static final String TARGET = "loadsavetest.odt"; + private static final String TARGET2 = "loadsavetest2.odt"; private static final String FOREIGN_ATTRIBUTE_NAME = "foreignAttribute"; private static final String FOREIGN_ATTRIBUTE_VALUE = "foreignAttributeValue"; private static final String FOREIGN_ELEMENT_TEXT = "foreignText"; @@ -101,4 +103,46 @@ public void testLoadSave() { Assert.fail(e.getMessage()); } } + + @Test + public void testLoadSave2() { + try { + System.out.println("\n\nStarting SVG Title Test (testLoadSave2)"); + OdfDocument odfDocument = + OdfDocument.loadDocument(ResourceUtilities.getAbsoluteInputPath(SOURCE2)); + Assert.assertTrue(odfDocument.getPackage().contains("content.xml")); + String baseURI1 = odfDocument.getBaseURI(); + System.out.println("SOURCE URI: " + baseURI1); + + OdfFileDom odfContent = odfDocument.getContentDom(); + OfficeDocumentContentElement content = + (OfficeDocumentContentElement) odfContent.getDocumentElement(); + NodeList svgTitleList = + odfContent.getElementsByTagNameNS(OdfDocumentNamespace.SVG.getUri(), "title"); + Assert.assertTrue( + "There should be a single within the document", + svgTitleList.getLength() == 1); + NodeList svgDescList = + odfContent.getElementsByTagNameNS(OdfDocumentNamespace.SVG.getUri(), "desc"); + Assert.assertTrue( + "There should be no within the document", svgDescList.getLength() == 0); + + odfDocument.save(ResourceUtilities.getTestOutputFile(TARGET2)); + odfDocument = OdfDocument.loadDocument(ResourceUtilities.getAbsoluteOutputPath(TARGET2)); + System.out.println("TARGET: " + ResourceUtilities.getAbsoluteOutputPath(TARGET2)); + + odfContent = odfDocument.getContentDom(); + svgTitleList = odfContent.getElementsByTagNameNS(OdfDocumentNamespace.SVG.getUri(), "title"); + Assert.assertTrue( + "There should be a single within the document", + svgTitleList.getLength() == 1); + svgDescList = odfContent.getElementsByTagNameNS(OdfDocumentNamespace.SVG.getUri(), "desc"); + Assert.assertTrue( + "There should be no within the document", svgDescList.getLength() == 0); + } catch (Exception e) { + Logger.getLogger(LoadSaveTest.class.getName()) + .log(Level.SEVERE, e.getMessage() + ExceptionUtils.getStackTrace(e), e); + Assert.fail(e.getMessage()); + } + } } diff --git a/odfdom/src/test/resources/test-input/svgTitleTest.odt b/odfdom/src/test/resources/test-input/svgTitleTest.odt new file mode 100644 index 0000000000..3cec8562cd Binary files /dev/null and b/odfdom/src/test/resources/test-input/svgTitleTest.odt differ