Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbedded.java Fri Dec 27 23:00:13 2019 @@ -15,26 +15,28 @@ See the License for the specific language governing permissions and limitations under the License. ==================================================================== */ - + package org.apache.poi; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + import org.apache.poi.ooxml.POIXMLDocument; +import org.apache.poi.openxml4j.opc.OPCPackage; +import org.apache.poi.openxml4j.opc.PackagePart; import org.apache.poi.util.IOUtils; import org.apache.poi.xslf.usermodel.XSLFSlideShow; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xwpf.usermodel.XWPFDocument; -import org.apache.poi.openxml4j.opc.OPCPackage; -import org.apache.poi.openxml4j.opc.PackagePart; - -import junit.framework.TestCase; +import org.junit.Test; /** - * Class to test that we handle embeded bits in - * OOXML files properly + * Class to test that we handle embeded bits in OOXML files properly */ -public class TestEmbedded extends TestCase -{ +public class TestEmbedded { + @Test public void testExcel() throws Exception { POIXMLDocument doc = new XSSFWorkbook( POIDataSamples.getSpreadSheetInstance().openResourceAsStream("ExcelWithAttachments.xlsm") @@ -42,6 +44,7 @@ public class TestEmbedded extends TestCa test(doc, 4); } + @Test public void testWord() throws Exception { POIXMLDocument doc = new XWPFDocument( POIDataSamples.getDocumentInstance().openResourceAsStream("WordWithAttachments.docx") @@ -49,13 +52,14 @@ public class TestEmbedded extends TestCa test(doc, 5); } + @Test public void testPowerPoint() throws Exception { POIXMLDocument doc = new XSLFSlideShow(OPCPackage.open( POIDataSamples.getSlideShowInstance().openResourceAsStream("PPTWithAttachments.pptm")) ); test(doc, 4); } - + private void test(POIXMLDocument doc, int expectedCount) throws Exception { assertNotNull(doc.getAllEmbeddedParts()); assertEquals(expectedCount, doc.getAllEmbeddedParts().size()); @@ -63,7 +67,7 @@ public class TestEmbedded extends TestCa for(int i=0; i<doc.getAllEmbeddedParts().size(); i++) { PackagePart pp = doc.getAllEmbeddedParts().get(i); assertNotNull(pp); - + byte[] b = IOUtils.toByteArray(pp.getInputStream()); assertTrue(b.length > 0); }
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java Fri Dec 27 23:00:13 2019 @@ -17,20 +17,23 @@ package org.apache.poi; import static org.apache.poi.POITestCase.assertContains; - -import junit.framework.TestCase; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import org.apache.poi.ooxml.extractor.POIXMLPropertiesTextExtractor; -import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.ooxml.util.PackageHelper; +import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.xslf.usermodel.XSLFSlideShow; import org.apache.poi.xssf.extractor.XSSFExcelExtractor; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; -public final class TestXMLPropertiesTextExtractor extends TestCase { +public final class TestXMLPropertiesTextExtractor { private static final POIDataSamples _ssSamples = POIDataSamples.getSpreadSheetInstance(); private static final POIDataSamples _slSamples = POIDataSamples.getSlideShowInstance(); + @Test public void testGetFromMainExtractor() throws Exception { OPCPackage pkg = PackageHelper.open(_ssSamples.openResourceAsStream("ExcelWithAttachments.xlsm")); @@ -49,11 +52,12 @@ public final class TestXMLPropertiesText assertContains(text, "LastModifiedBy = Yury Batrakov"); assertContains(cText, "LastModifiedBy = Yury Batrakov"); - + textExt.close(); ext.close(); } + @Test public void testCore() throws Exception { OPCPackage pkg = PackageHelper.open( _ssSamples.openResourceAsStream("ExcelWithAttachments.xlsm") @@ -69,10 +73,11 @@ public final class TestXMLPropertiesText assertContains(text, "LastModifiedBy = Yury Batrakov"); assertContains(cText, "LastModifiedBy = Yury Batrakov"); - + ext.close(); } + @Test public void testExtended() throws Exception { OPCPackage pkg = OPCPackage.open( _ssSamples.openResourceAsStream("ExcelWithAttachments.xlsm") @@ -94,6 +99,7 @@ public final class TestXMLPropertiesText ext.close(); } + @Test public void testCustom() throws Exception { OPCPackage pkg = OPCPackage.open( _ssSamples.openResourceAsStream("ExcelWithAttachments.xlsm") @@ -106,31 +112,32 @@ public final class TestXMLPropertiesText // Now check String text = ext.getText(); String cText = ext.getCustomPropertiesText(); - + assertContains(text, "description = another value"); assertContains(cText, "description = another value"); ext.close(); } - + /** * Bug #49386 - some properties, especially * dates can be null */ + @Test public void testWithSomeNulls() throws Exception { OPCPackage pkg = OPCPackage.open( _slSamples.openResourceAsStream("49386-null_dates.pptx") ); XSLFSlideShow sl = new XSLFSlideShow(pkg); - + POIXMLPropertiesTextExtractor ext = new POIXMLPropertiesTextExtractor(sl); ext.getText(); - + String text = ext.getText(); assertFalse(text.contains("Created =")); // With date is null assertContains(text, "CreatedString = "); // Via string is blank assertContains(text, "LastModifiedBy = IT Client Services"); - + ext.close(); } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java Fri Dec 27 23:00:13 2019 @@ -17,26 +17,29 @@ package org.apache.poi.openxml4j.opc; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import java.io.IOException; import java.io.InputStream; import java.util.TreeMap; -import junit.framework.TestCase; - import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.util.POILogger; import org.apache.poi.util.POILogFactory; +import org.apache.poi.util.POILogger; +import org.junit.Before; +import org.junit.Test; -public final class TestListParts extends TestCase { +public final class TestListParts { private static final POILogger logger = POILogFactory.getLogger(TestListParts.class); private TreeMap<PackagePartName, String> expectedValues; private TreeMap<PackagePartName, String> values; - @Override - protected void setUp() throws Exception { + @Before + public void setUp() throws Exception { values = new TreeMap<>(); // Expected values @@ -81,21 +84,21 @@ public final class TestListParts extends /** * List all parts of a package. */ + @Test public void testListParts() throws InvalidFormatException, IOException { - InputStream is = OpenXML4JTestDataSamples.openSampleStream("sample.docx"); + try (InputStream is = OpenXML4JTestDataSamples.openSampleStream("sample.docx"); + OPCPackage p = OPCPackage.open(is)) { - OPCPackage p = OPCPackage.open(is); - for (PackagePart part : p.getParts()) { - values.put(part.getPartName(), part.getContentType()); - logger.log(POILogger.DEBUG, part.getPartName()); + for (PackagePart part : p.getParts()) { + values.put(part.getPartName(), part.getContentType()); + logger.log(POILogger.DEBUG, part.getPartName()); + } + + // Compare expected values with values return by the package + for (PackagePartName partName : expectedValues.keySet()) { + assertNotNull(values.get(partName)); + assertEquals(expectedValues.get(partName), values.get(partName)); + } } - - // Compare expected values with values return by the package - for (PackagePartName partName : expectedValues.keySet()) { - assertNotNull(values.get(partName)); - assertEquals(expectedValues.get(partName), values.get(partName)); - } - - p.close(); } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java Fri Dec 27 23:00:13 2019 @@ -17,13 +17,16 @@ package org.apache.poi.openxml4j.opc; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; -public final class TestPackagePartName extends TestCase { +import org.junit.Test; + +public final class TestPackagePartName { /** * Test method getExtension(). */ + @Test public void testGetExtension() throws Exception{ PackagePartName name1 = PackagingURIHelper.createPartName("/doc/props/document.xml"); PackagePartName name2 = PackagingURIHelper.createPartName("/root/document"); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java Fri Dec 27 23:00:13 2019 @@ -17,22 +17,23 @@ package org.apache.poi.openxml4j.opc; -import java.io.File; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; -import junit.framework.TestCase; +import java.io.File; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; +import org.junit.Test; /** * Test the addition of thumbnail in a package. - * - * @author Julien Chable */ -public final class TestPackageThumbnail extends TestCase { +public final class TestPackageThumbnail { /** * Test package addThumbnail() method. */ + @Test public void testSetProperties() throws Exception { String inputPath = OpenXML4JTestDataSamples.getSampleFileName("TestPackageThumbnail.docx"); @@ -46,7 +47,7 @@ public final class TestPackageThumbnail p.addThumbnail(imagePath); // Save the package in the output directory p.save(outputFile); - + // Open the newly created file to check core properties saved values. OPCPackage p2 = OPCPackage.open(outputFile.getAbsolutePath(), PackageAccess.READ); try { @@ -59,7 +60,7 @@ public final class TestPackageThumbnail } } finally { p.revert(); - outputFile.delete(); + assertTrue(outputFile.delete()); } } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java Fri Dec 27 23:00:13 2019 @@ -16,18 +16,20 @@ ==================================================================== */ package org.apache.poi.openxml4j.opc; -import java.net.URI; -import java.net.URISyntaxException; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; -import junit.framework.TestCase; +import java.net.URI; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.junit.Test; -public class TestPackagingURIHelper extends TestCase { +public class TestPackagingURIHelper { /** * Test relativizePartName() method. */ + @Test public void testRelativizeURI() throws Exception { URI uri1 = new URI("/word/document.xml"); URI uri2 = new URI("/word/media/image1.gif"); @@ -60,18 +62,23 @@ public class TestPackagingURIHelper exte //URI compatible with MS Office and OpenOffice: leading slash is removed uriRes = PackagingURIHelper.relativizeURI(root, uri1, true); + assertNotNull(uriRes); assertEquals("word/document.xml", uriRes.toString()); //preserve URI fragments uriRes = PackagingURIHelper.relativizeURI(uri1, uri3, true); + assertNotNull(uriRes); assertEquals("media/image1.gif#Sheet1!A1", uriRes.toString()); + assertNotNull(uriRes); uriRes = PackagingURIHelper.relativizeURI(root, uri4, true); + assertNotNull(uriRes); assertEquals("#'My%20Sheet1'!A1", uriRes.toString()); } /** * Test createPartName(String, y) */ + @Test public void testCreatePartNameRelativeString() throws InvalidFormatException { PackagePartName partNameToValid = PackagingURIHelper @@ -93,6 +100,7 @@ public class TestPackagingURIHelper exte /** * Test createPartName(URI, y) */ + @Test public void testCreatePartNameRelativeURI() throws Exception { PackagePartName partNameToValid = PackagingURIHelper .createPartName("/word/media/image1.gif"); @@ -110,6 +118,7 @@ public class TestPackagingURIHelper exte pkg.revert(); } + @Test public void testCreateURIFromString() throws Exception { String[] href = { "..\\\\\\cygwin\\home\\yegor\\.vim\\filetype.vim", @@ -120,15 +129,14 @@ public class TestPackagingURIHelper exte "#'æ§'!B21", "javascript://" }; + for(String s : href){ - try { - URI uri = PackagingURIHelper.toURI(s); - } catch (URISyntaxException e){ - fail("Failed to create URI from " + s); - } + URI uri = PackagingURIHelper.toURI(s); + assertNotNull(uri); } } + @Test public void test53734() throws Exception { URI uri = PackagingURIHelper.toURI("javascript://"); // POI appends a trailing slash tpo avoid "Expected authority at index 13: javascript://" Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java Fri Dec 27 23:00:13 2019 @@ -17,7 +17,12 @@ package org.apache.poi.openxml4j.opc; +import static org.apache.poi.openxml4j.OpenXML4JTestDataSamples.openSampleStream; import static org.apache.poi.openxml4j.opc.TestContentType.isOldXercesActive; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -25,14 +30,13 @@ import java.io.InputStream; import java.net.URI; import java.util.regex.Pattern; -import junit.framework.TestCase; - import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.util.POILogFactory; import org.apache.poi.util.POILogger; +import org.junit.Test; -public class TestRelationships extends TestCase { +public class TestRelationships { private static final String HYPERLINK_REL_TYPE = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"; private static final String COMMENTS_REL_TYPE = @@ -48,8 +52,9 @@ public class TestRelationships extends T * The code in this case assumes there are no relationships defined, but it should * really look also for not yet loaded parts. */ + @Test public void testLoadRelationships() throws Exception { - InputStream is = OpenXML4JTestDataSamples.openSampleStream("sample.xlsx"); + InputStream is = openSampleStream("sample.xlsx"); try (OPCPackage pkg = OPCPackage.open(is)) { logger.log(POILogger.DEBUG, "1: " + pkg); PackageRelationshipCollection rels = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT); @@ -65,13 +70,14 @@ public class TestRelationships extends T } } } - + /** * Checks that we can fetch a collection of relations by * type, then grab from within there by id */ + @Test public void testFetchFromCollection() throws Exception { - InputStream is = OpenXML4JTestDataSamples.openSampleStream("ExcelWithHyperlinks.xlsx"); + InputStream is = openSampleStream("ExcelWithHyperlinks.xlsx"); try (OPCPackage pkg = OPCPackage.open(is)) { PackagePart sheet = pkg.getPart( PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS)); @@ -107,13 +113,14 @@ public class TestRelationships extends T assertNotNull(sheet.getRelationship("rId6")); } } - + /** - * Excel uses relations on sheets to store the details of + * Excel uses relations on sheets to store the details of * external hyperlinks. Check we can load these ok. */ + @Test public void testLoadExcelHyperlinkRelations() throws Exception { - InputStream is = OpenXML4JTestDataSamples.openSampleStream("ExcelWithHyperlinks.xlsx"); + InputStream is = openSampleStream("ExcelWithHyperlinks.xlsx"); try (OPCPackage pkg = OPCPackage.open(is)) { PackagePart sheet = pkg.getPart( PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS)); @@ -141,21 +148,22 @@ public class TestRelationships extends T assertEquals("mailto:d...@poi.apache.org?subject=XSSF%20Hyperlinks", mailto.getTargetURI().toString()); } } - + /* - * Excel uses relations on sheets to store the details of - * external hyperlinks. Check we can create these OK, + * Excel uses relations on sheets to store the details of + * external hyperlinks. Check we can create these OK, * then still read them later */ + @Test public void testCreateExcelHyperlinkRelations() throws Exception { String filepath = OpenXML4JTestDataSamples.getSampleFileName("ExcelWithHyperlinks.xlsx"); OPCPackage pkg = OPCPackage.open(filepath, PackageAccess.READ_WRITE); PackagePart sheet = pkg.getPart( PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS)); assertNotNull(sheet); - + assertEquals(3, sheet.getRelationshipsByType(HYPERLINK_REL_TYPE).size()); - + // Add three new ones PackageRelationship openxml4j = sheet.addExternalRelationship("http://www.openxml4j.org/", HYPERLINK_REL_TYPE); @@ -163,53 +171,53 @@ public class TestRelationships extends T sheet.addExternalRelationship("http://openxml4j.sf.net/", HYPERLINK_REL_TYPE); PackageRelationship file = sheet.addExternalRelationship("MyDocument.docx", HYPERLINK_REL_TYPE); - + // Check they were added properly assertNotNull(openxml4j); assertNotNull(sf); assertNotNull(file); - + assertEquals(6, sheet.getRelationshipsByType(HYPERLINK_REL_TYPE).size()); - + assertEquals("http://www.openxml4j.org/", openxml4j.getTargetURI().toString()); assertEquals("/xl/worksheets/sheet1.xml", openxml4j.getSourceURI().toString()); assertEquals(HYPERLINK_REL_TYPE, openxml4j.getRelationshipType()); - + assertEquals("http://openxml4j.sf.net/", sf.getTargetURI().toString()); assertEquals("/xl/worksheets/sheet1.xml", sf.getSourceURI().toString()); assertEquals(HYPERLINK_REL_TYPE, sf.getRelationshipType()); - + assertEquals("MyDocument.docx", file.getTargetURI().toString()); assertEquals("/xl/worksheets/sheet1.xml", file.getSourceURI().toString()); assertEquals(HYPERLINK_REL_TYPE, file.getRelationshipType()); - + // Will get ids 7, 8 and 9, as we already have 1-6 assertEquals("rId7", openxml4j.getId()); assertEquals("rId8", sf.getId()); assertEquals("rId9", file.getId()); - - + + // Write out and re-load ByteArrayOutputStream baos = new ByteArrayOutputStream(); pkg.save(baos); - + // use revert to not re-write the input file pkg.revert(); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); pkg = OPCPackage.open(bais); - + // Check again sheet = pkg.getPart( PackagingURIHelper.createPartName(SHEET_WITH_COMMENTS)); - + assertEquals(6, sheet.getRelationshipsByType(HYPERLINK_REL_TYPE).size()); - + assertEquals("http://poi.apache.org/", sheet.getRelationship("rId1").getTargetURI().toString()); assertEquals("mailto:d...@poi.apache.org?subject=XSSF%20Hyperlinks", sheet.getRelationship("rId3").getTargetURI().toString()); - + assertEquals("http://www.openxml4j.org/", sheet.getRelationship("rId7").getTargetURI().toString()); assertEquals("http://openxml4j.sf.net/", @@ -218,6 +226,7 @@ public class TestRelationships extends T sheet.getRelationship("rId9").getTargetURI().toString()); } + @Test public void testCreateRelationsFromScratch() throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); OPCPackage pkg = OPCPackage.create(baos); @@ -286,6 +295,7 @@ public class TestRelationships extends T partB.getRelationship("rId3").getTargetURI().toString()); } + @Test public void testTargetWithSpecialChars() throws Exception{ OPCPackage pkg; @@ -305,7 +315,7 @@ public class TestRelationships extends T assert_50154(pkg); } - public void assert_50154(OPCPackage pkg) throws Exception { + private void assert_50154(OPCPackage pkg) throws Exception { URI drawingURI = new URI("/xl/drawings/drawing1.xml"); PackagePart drawingPart = pkg.getPart(PackagingURIHelper.createPartName(drawingURI)); PackageRelationshipCollection drawingRels = drawingPart.getRelationships(); @@ -347,83 +357,89 @@ public class TestRelationships extends T assertEquals("'\u0410\u043F\u0430\u0447\u0435 \u041F\u041E\u0418'!A5", rel6.getFragment()); } + @Test public void testSelfRelations_bug51187() throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); - OPCPackage pkg = OPCPackage.create(baos); + PackageRelationship rel1; + try (OPCPackage pkg = OPCPackage.create(baos)) { - PackagePart partA = - pkg.createPart(PackagingURIHelper.createPartName("/partA"), "text/plain"); - assertNotNull(partA); + PackagePart partA = + pkg.createPart(PackagingURIHelper.createPartName("/partA"), "text/plain"); + assertNotNull(partA); - // reference itself - PackageRelationship rel1 = partA.addRelationship(partA.getPartName(), TargetMode.INTERNAL, "partA"); + // reference itself + rel1 = partA.addRelationship(partA.getPartName(), TargetMode.INTERNAL, "partA"); - - // Save, and re-load - pkg.close(); - ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); - pkg = OPCPackage.open(bais); - partA = pkg.getPart(PackagingURIHelper.createPartName("/partA")); + // Save, and re-load + } + + ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); + try (OPCPackage pkg = OPCPackage.open(bais)) { + PackagePart partA = pkg.getPart(PackagingURIHelper.createPartName("/partA")); - // Check the relations - assertEquals(1, partA.getRelationships().size()); + // Check the relations + assertEquals(1, partA.getRelationships().size()); - PackageRelationship rel2 = partA.getRelationships().getRelationship(0); + PackageRelationship rel2 = partA.getRelationships().getRelationship(0); - assertNotNull(rel2); - assertEquals(rel1.getRelationshipType(), rel2.getRelationshipType()); - assertEquals(rel1.getId(), rel2.getId()); - assertEquals(rel1.getSourceURI(), rel2.getSourceURI()); - assertEquals(rel1.getTargetURI(), rel2.getTargetURI()); - assertEquals(rel1.getTargetMode(), rel2.getTargetMode()); + assertNotNull(rel2); + assertEquals(rel1.getRelationshipType(), rel2.getRelationshipType()); + assertEquals(rel1.getId(), rel2.getId()); + assertEquals(rel1.getSourceURI(), rel2.getSourceURI()); + assertEquals(rel1.getTargetURI(), rel2.getTargetURI()); + assertEquals(rel1.getTargetMode(), rel2.getTargetMode()); + } } + @Test public void testTrailingSpacesInURI_53282() throws Exception { - InputStream is = OpenXML4JTestDataSamples.openSampleStream("53282.xlsx"); - OPCPackage pkg = OPCPackage.open(is); - is.close(); - - PackageRelationshipCollection sheetRels = pkg.getPartsByName(Pattern.compile("/xl/worksheets/sheet1.xml")).get(0).getRelationships(); - assertEquals(3, sheetRels.size()); - PackageRelationship rId1 = sheetRels.getRelationshipByID("rId1"); - assertEquals(TargetMode.EXTERNAL, rId1.getTargetMode()); - URI targetUri = rId1.getTargetURI(); - assertEquals("mailto:nob...@nowhere.uk%C2%A0", targetUri.toASCIIString()); - assertEquals("nob...@nowhere.uk\u00A0", targetUri.getSchemeSpecificPart()); - - ByteArrayOutputStream out = new ByteArrayOutputStream(); - pkg.save(out); - out.close(); - - pkg = OPCPackage.open(new ByteArrayInputStream(out.toByteArray())); - sheetRels = pkg.getPartsByName(Pattern.compile("/xl/worksheets/sheet1.xml")).get(0).getRelationships(); - assertEquals(3, sheetRels.size()); - rId1 = sheetRels.getRelationshipByID("rId1"); - assertEquals(TargetMode.EXTERNAL, rId1.getTargetMode()); - targetUri = rId1.getTargetURI(); - assertEquals("mailto:nob...@nowhere.uk%C2%A0", targetUri.toASCIIString()); - assertEquals("nob...@nowhere.uk\u00A0", targetUri.getSchemeSpecificPart()); + try (InputStream is = openSampleStream("53282.xlsx"); + OPCPackage pkg1 = OPCPackage.open(is)) { + + PackageRelationshipCollection sheetRels = pkg1.getPartsByName(Pattern.compile("/xl/worksheets/sheet1.xml")).get(0).getRelationships(); + assertEquals(3, sheetRels.size()); + PackageRelationship rId1 = sheetRels.getRelationshipByID("rId1"); + assertEquals(TargetMode.EXTERNAL, rId1.getTargetMode()); + URI targetUri = rId1.getTargetURI(); + assertEquals("mailto:nob...@nowhere.uk%C2%A0", targetUri.toASCIIString()); + assertEquals("nob...@nowhere.uk\u00A0", targetUri.getSchemeSpecificPart()); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + pkg1.save(out); + out.close(); + + try (OPCPackage pkg2 = OPCPackage.open(new ByteArrayInputStream(out.toByteArray()))) { + sheetRels = pkg2.getPartsByName(Pattern.compile("/xl/worksheets/sheet1.xml")).get(0).getRelationships(); + assertEquals(3, sheetRels.size()); + rId1 = sheetRels.getRelationshipByID("rId1"); + assertEquals(TargetMode.EXTERNAL, rId1.getTargetMode()); + targetUri = rId1.getTargetURI(); + assertEquals("mailto:nob...@nowhere.uk%C2%A0", targetUri.toASCIIString()); + assertEquals("nob...@nowhere.uk\u00A0", targetUri.getSchemeSpecificPart()); + } + } } - + + @Test public void testEntitiesInRels_56164() throws Exception { - InputStream is = OpenXML4JTestDataSamples.openSampleStream("PackageRelsHasEntities.ooxml"); - OPCPackage p = OPCPackage.open(is); - is.close(); - - // Should have 3 root relationships - boolean foundDocRel = false, foundCorePropRel = false, foundExtPropRel = false; - for (PackageRelationship pr : p.getRelationships()) { - if (pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT)) - foundDocRel = true; - if (pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES)) - foundCorePropRel = true; - if (pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES)) - foundExtPropRel = true; + try (InputStream is = openSampleStream("PackageRelsHasEntities.ooxml"); + OPCPackage p = OPCPackage.open(is)) { + + // Should have 3 root relationships + boolean foundDocRel = false, foundCorePropRel = false, foundExtPropRel = false; + for (PackageRelationship pr : p.getRelationships()) { + if (pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_DOCUMENT)) + foundDocRel = true; + if (pr.getRelationshipType().equals(PackageRelationshipTypes.CORE_PROPERTIES)) + foundCorePropRel = true; + if (pr.getRelationshipType().equals(PackageRelationshipTypes.EXTENDED_PROPERTIES)) + foundExtPropRel = true; + } + assertEquals("Core/Doc Relationship not found in " + p.getRelationships(), isOldXercesActive(), foundDocRel); + assertEquals("Core Props Relationship not found in " + p.getRelationships(), isOldXercesActive(), foundCorePropRel); + assertEquals("Ext Props Relationship not found in " + p.getRelationships(), isOldXercesActive(), foundExtPropRel); } - assertEquals("Core/Doc Relationship not found in " + p.getRelationships(), isOldXercesActive(), foundDocRel); - assertEquals("Core Props Relationship not found in " + p.getRelationships(), isOldXercesActive(), foundCorePropRel); - assertEquals("Ext Props Relationship not found in " + p.getRelationships(), isOldXercesActive(), foundExtPropRel); } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/ZipFileAssert.java Fri Dec 27 23:00:13 2019 @@ -21,6 +21,7 @@ import static org.junit.Assert.assertArr import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; @@ -43,8 +44,6 @@ import org.xmlunit.diff.Diff; import org.xmlunit.diff.DifferenceEvaluator; import org.xmlunit.diff.ElementSelectors; -import junit.framework.AssertionFailedError; - /** * Compare the contents of 2 zip files. */ @@ -140,7 +139,7 @@ public final class ZipFileAssert { TreeMap<String, ByteArrayOutputStream> file2 = decompress(actual); equals(file1, file2); } catch (IOException e) { - throw new AssertionFailedError(e.toString()); + fail(e.toString()); } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/compliance/TestOPCComplianceCoreProperties.java Fri Dec 27 23:00:13 2019 @@ -17,6 +17,14 @@ package org.apache.poi.openxml4j.opc.compliance; +import static org.apache.poi.openxml4j.OpenXML4JTestDataSamples.openComplianceSampleStream; +import static org.apache.poi.openxml4j.OpenXML4JTestDataSamples.openSampleStream; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -27,7 +35,6 @@ import java.net.URI; import java.net.URISyntaxException; import org.apache.poi.POIDataSamples; -import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidOperationException; import org.apache.poi.openxml4j.opc.ContentTypes; @@ -39,41 +46,35 @@ import org.apache.poi.util.IOUtils; import org.apache.poi.util.TempFile; import org.junit.Test; -import junit.framework.AssertionFailedError; - -import static org.junit.Assert.*; - /** * Test core properties Open Packaging Convention compliance. - * + * * M4.1: The format designer shall specify and the format producer shall create * at most one core properties relationship for a package. A format consumer * shall consider more than one core properties relationship for a package to be * an error. If present, the relationship shall target the Core Properties part. * (POI relaxes this on reading, as Office sometimes breaks this) - * + * * M4.2: The format designer shall not specify and the format producer shall not * create Core Properties that use the Markup Compatibility namespace as defined * in Annex F, "Standard Namespaces and Content Types". A format consumer shall * consider the use of the Markup Compatibility namespace to be an error. - * + * * M4.3: Producers shall not create a document element that contains refinements * to the Dublin Core elements, except for the two specified in the schema: * <dcterms:created> and <dcterms:modified> Consumers shall consider a document * element that violates this constraint to be an error. - * + * * M4.4: Producers shall not create a document element that contains the * xml:lang attribute. Consumers shall consider a document element that violates * this constraint to be an error. - * + * * M4.5: Producers shall not create a document element that contains the * xsi:type attribute, except for a <dcterms:created> or <dcterms:modified> * element where the xsi:type attribute shall be present and shall hold the * value dcterms:W3CDTF, where dcterms is the namespace prefix of the Dublin * Core namespace. Consumers shall consider a document element that violates * this constraint to be an error. - * - * @author Julien Chable */ public final class TestOPCComplianceCoreProperties { @@ -81,7 +82,7 @@ public final class TestOPCComplianceCore public void testCorePropertiesPart() { OPCPackage pkg; try { - InputStream is = OpenXML4JTestDataSamples.openComplianceSampleStream("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx"); + InputStream is = openComplianceSampleStream("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx"); pkg = OPCPackage.open(is); } catch (InvalidFormatException | IOException e) { throw new RuntimeException(e); @@ -90,7 +91,7 @@ public final class TestOPCComplianceCore } private static String extractInvalidFormatMessage(String sampleNameSuffix) { - InputStream is = OpenXML4JTestDataSamples.openComplianceSampleStream("OPCCompliance_CoreProperties_" + sampleNameSuffix); + InputStream is = openComplianceSampleStream("OPCCompliance_CoreProperties_" + sampleNameSuffix); OPCPackage pkg; try { pkg = OPCPackage.open(is); @@ -101,25 +102,27 @@ public final class TestOPCComplianceCore throw new RuntimeException(e); } pkg.revert(); - throw new AssertionFailedError("expected OPC compliance exception was not thrown"); + fail("expected OPC compliance exception was not thrown"); + return null; } - + /** * Test M4.1 rule. */ @Test public void testOnlyOneCorePropertiesPart() throws Exception { // We have relaxed this check, so we can read the file anyway - try { - extractInvalidFormatMessage("OnlyOneCorePropertiesPartFAIL.docx"); - fail("M4.1 should be being relaxed"); - } catch (AssertionFailedError e) { - // expected here - } - + try (InputStream is = openSampleStream("OPCCompliance_CoreProperties_" + "OnlyOneCorePropertiesPartFAIL.docx"); + OPCPackage pkg = OPCPackage.open(is)) { + assertNotNull(pkg); + } catch (Exception e) { + fail("M4.1 should be being relaxed"); + } + // We will use the first core properties, and ignore the others - InputStream is = OpenXML4JTestDataSamples.openSampleStream("MultipleCoreProperties.docx"); - try (OPCPackage pkg = OPCPackage.open(is)) { + + try (InputStream is = openSampleStream("MultipleCoreProperties.docx"); + OPCPackage pkg = OPCPackage.open(is)) { // We can see 2 by type assertEquals(2, pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size()); @@ -132,7 +135,7 @@ public final class TestOPCComplianceCore ); } } - + private static URI createURI(String text) { try { return new URI(text); @@ -146,7 +149,7 @@ public final class TestOPCComplianceCore */ @Test public void testOnlyOneCorePropertiesPart_AddRelationship() { - InputStream is = OpenXML4JTestDataSamples.openComplianceSampleStream("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx"); + InputStream is = openComplianceSampleStream("OPCCompliance_CoreProperties_OnlyOneCorePropertiesPart.docx"); OPCPackage pkg; try { pkg = OPCPackage.open(is); @@ -233,7 +236,7 @@ public final class TestOPCComplianceCore String msg = extractInvalidFormatMessage("LimitedXSITypeAttribute_PresentWithUnauthorizedValueFAIL.docx"); assertEquals("The element 'modified' must have the 'xsi:type' attribute with the value 'dcterms:W3CDTF', but had 'W3CDTF' !", msg); } - + /** * Document with no core properties - testing at the OPC level, * saving into a new stream @@ -263,10 +266,10 @@ public final class TestOPCComplianceCore assertNotNull(pkg.getPackageProperties().getLanguageProperty()); assertFalse(pkg.getPackageProperties().getLanguageProperty().isPresent()); pkg.close(); - + // Open a new copy of it pkg = OPCPackage.open(POIDataSamples.getOpenXML4JInstance().getFile(sampleFileName).getPath()); - + // Save and re-load, without having touched the properties yet baos = new ByteArrayOutputStream(); pkg.save(baos); @@ -274,7 +277,7 @@ public final class TestOPCComplianceCore bais = new ByteArrayInputStream(baos.toByteArray()); pkg = OPCPackage.open(bais); - + // Check that this too added empty properties without error assertEquals(1, pkg.getPartsByContentType(ContentTypes.CORE_PROPERTIES_PART).size()); assertNotNull(pkg.getPackageProperties()); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/formula/functions/TestProper.java Fri Dec 27 23:00:13 2019 @@ -17,6 +17,9 @@ package org.apache.poi.ss.formula.functions; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.formula.eval.StringEval; @@ -29,13 +32,8 @@ import org.apache.poi.ss.usermodel.Sheet import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator; import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -import junit.framework.AssertionFailedError; import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - public final class TestProper { private Cell cell11; private FormulaEvaluator evaluator; @@ -70,16 +68,16 @@ public final class TestProper { confirm("PROPER(\"/&%\")", "/&%"); //nothing happens with ascii punctuation that is not upper or lower case confirm("PROPER(\"Apache POI\")", "Apache Poi"); //acronyms are not special confirm("PROPER(\" hello world\")", " Hello World"); //leading whitespace is ignored - + final String scharfes = "\u00df"; //German lowercase eszett, scharfes s, sharp s confirm("PROPER(\"stra"+scharfes+"e\")", "Stra"+scharfes+"e"); assertTrue(Character.isLetter(scharfes.charAt(0))); - + // CURRENTLY FAILS: result: "SSUnd"+scharfes // LibreOffice 5.0.3.2 behavior: "Sund"+scharfes // Excel 2013 behavior: ??? confirm("PROPER(\""+scharfes+"und"+scharfes+"\")", "SSund"+scharfes); - + // also test longer string StringBuilder builder = new StringBuilder("A"); StringBuilder expected = new StringBuilder("A"); @@ -94,9 +92,7 @@ public final class TestProper { cell11.setCellFormula(formulaText); evaluator.clearAllCachedResultValues(); CellValue cv = evaluator.evaluate(cell11); - if (cv.getCellType() != CellType.STRING) { - throw new AssertionFailedError("Wrong result type: " + cv.formatAsString()); - } + assertEquals("Wrong result type", CellType.STRING, cv.getCellType()); String actualValue = cv.getStringValue(); assertEquals(expectedResult, actualValue); } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/util/TestIdentifierManager.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/util/TestIdentifierManager.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/util/TestIdentifierManager.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/util/TestIdentifierManager.java Fri Dec 27 23:00:13 2019 @@ -16,11 +16,18 @@ ==================================================================== */ package org.apache.poi.util; -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + import org.apache.poi.ooxml.util.IdentifierManager; +import org.junit.Test; -public class TestIdentifierManager extends TestCase -{ +public class TestIdentifierManager { + @Test public void testBasic() { IdentifierManager manager = new IdentifierManager(0L,100L); @@ -31,8 +38,8 @@ public class TestIdentifierManager exten assertEquals(99L,manager.getRemainingIdentifiers()); } - public void testLongLimits() - { + @Test + public void testLongLimits() { long min = IdentifierManager.MIN_ID; long max = IdentifierManager.MAX_ID; IdentifierManager manager = new IdentifierManager(min,max); @@ -44,53 +51,44 @@ public class TestIdentifierManager exten manager.release(max); manager.release(min); } - - public void testReserve() - { + + @Test + public void testReserve() { IdentifierManager manager = new IdentifierManager(10L,30L); assertEquals(12L,manager.reserve(12L)); long reserve = manager.reserve(12L); - assertFalse("Same id must be reserved twice!",reserve == 12L); + assertNotEquals("Same id must be reserved twice!", 12L, reserve); assertTrue(manager.release(12L)); assertTrue(manager.release(reserve)); assertFalse(manager.release(12L)); assertFalse(manager.release(reserve)); - + manager = new IdentifierManager(0L,2L); assertEquals(0L,manager.reserve(0L)); assertEquals(1L,manager.reserve(1L)); assertEquals(2L,manager.reserve(2L)); - try - { + try { manager.reserve(0L); fail("Exception expected"); - } - catch(IllegalStateException e) - { + } catch(IllegalStateException e) { // expected } - try - { + try { manager.reserve(1L); fail("Exception expected"); - } - catch(IllegalStateException e) - { + } catch(IllegalStateException e) { // expected } - try - { + try { manager.reserve(2L); fail("Exception expected"); - } - catch(IllegalStateException e) - { + } catch(IllegalStateException e) { // expected } } - public void testReserveNew() - { + @Test + public void testReserveNew() { IdentifierManager manager = new IdentifierManager(10L,12L); assertSame(10L,manager.reserveNew()); assertSame(11L,manager.reserveNew()); @@ -98,13 +96,12 @@ public class TestIdentifierManager exten try { manager.reserveNew(); fail("IllegalStateException expected"); - } - catch (IllegalStateException e) - { + } catch (IllegalStateException e) { // expected } } - + + @Test public void testRelease() { IdentifierManager manager = new IdentifierManager(10L,20L); assertEquals(10L,manager.reserve(10L)); @@ -112,11 +109,11 @@ public class TestIdentifierManager exten assertEquals(12L,manager.reserve(12L)); assertEquals(13L,manager.reserve(13L)); assertEquals(14L,manager.reserve(14L)); - + assertTrue(manager.release(10L)); assertEquals(10L,manager.reserve(10L)); assertTrue(manager.release(10L)); - + assertTrue(manager.release(11L)); assertEquals(11L,manager.reserve(11L)); assertTrue(manager.release(11L)); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFDataSourcesFactory.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFDataSourcesFactory.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFDataSourcesFactory.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xddf/usermodel/chart/TestXDDFDataSourcesFactory.java Fri Dec 27 23:00:13 2019 @@ -16,17 +16,22 @@ ==================================================================== */ package org.apache.poi.xddf.usermodel.chart; +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 org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.SheetBuilder; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; - -import junit.framework.TestCase; +import org.junit.Test; /** * Tests for {@link XDDFDataSourcesFactory}. */ -public class TestXDDFDataSourcesFactory extends TestCase { +public class TestXDDFDataSourcesFactory { private static final Object[][] numericCells = { {0.0, 1.0, 2.0, 3.0, 4.0}, @@ -42,6 +47,7 @@ public class TestXDDFDataSourcesFactory {1.0, "2.0", 3.0, "4.0", 5.0, "6.0"} }; + @Test public void testNumericArrayDataSource() { Double[] doubles = new Double[]{1.0, 2.0, 3.0, 4.0, 5.0}; XDDFDataSource<Double> doubleDataSource = XDDFDataSourcesFactory.fromArray(doubles, null); @@ -50,6 +56,7 @@ public class TestXDDFDataSourcesFactory assertDataSourceIsEqualToArray(doubleDataSource, doubles); } + @Test public void testStringArrayDataSource() { String[] strings = new String[]{"one", "two", "three", "four", "five"}; XDDFDataSource<String> stringDataSource = XDDFDataSourcesFactory.fromArray(strings, null); @@ -58,6 +65,7 @@ public class TestXDDFDataSourcesFactory assertDataSourceIsEqualToArray(stringDataSource, strings); } + @Test public void testNumericCellDataSource() { XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = (XSSFSheet) new SheetBuilder(wb, numericCells).build(); @@ -72,6 +80,7 @@ public class TestXDDFDataSourcesFactory } } + @Test public void testStringCellDataSource() { XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = (XSSFSheet) new SheetBuilder(wb, stringCells).build(); @@ -85,6 +94,7 @@ public class TestXDDFDataSourcesFactory } } + @Test public void testMixedCellDataSource() { XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = (XSSFSheet) new SheetBuilder(wb, mixedCells).build(); @@ -103,6 +113,7 @@ public class TestXDDFDataSourcesFactory } } + @Test public void testIOBExceptionOnInvalidIndex() { XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = (XSSFSheet) new SheetBuilder(wb, numericCells).build(); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/eventusermodel/TestReadOnlySharedStringsTable.java Fri Dec 27 23:00:13 2019 @@ -19,25 +19,30 @@ package org.apache.poi.xssf.eventusermodel; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + import java.io.IOException; import java.util.List; import java.util.regex.Pattern; -import junit.framework.TestCase; import org.apache.poi.POIDataSamples; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackagePart; import org.apache.poi.xssf.model.SharedStringsTable; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst; import org.xml.sax.SAXException; /** * Tests for {@link org.apache.poi.xssf.eventusermodel.XSSFReader} */ -public final class TestReadOnlySharedStringsTable extends TestCase { +@SuppressWarnings("deprecation") +public final class TestReadOnlySharedStringsTable { private static POIDataSamples _ssTests = POIDataSamples.getSpreadSheetInstance(); + @Test public void testParse() throws Exception { try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("SampleSS.xlsx"))) { List<PackagePart> parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.xml")); @@ -60,6 +65,7 @@ public final class TestReadOnlySharedStr } //51519 + @Test public void testPhoneticRuns() throws Exception { try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("51519.xlsx"))) { List < PackagePart > parts = pkg.getPartsByName(Pattern.compile("/xl/sharedStrings.xml")); @@ -82,13 +88,15 @@ public final class TestReadOnlySharedStr } } + @Test public void testEmptySSTOnPackageObtainedViaWorkbook() throws Exception { XSSFWorkbook wb = new XSSFWorkbook(_ssTests.openResourceAsStream("noSharedStringTable.xlsx")); OPCPackage pkg = wb.getPackage(); assertEmptySST(pkg); wb.close(); } - + + @Test public void testEmptySSTOnPackageDirect() throws Exception { try (OPCPackage pkg = OPCPackage.open(_ssTests.openResourceAsStream("noSharedStringTable.xlsx"))) { assertEmptySST(pkg); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractor.java Fri Dec 27 23:00:13 2019 @@ -17,28 +17,30 @@ package org.apache.poi.xssf.extractor; -import static org.apache.poi.POITestCase.assertStartsWith; -import static org.apache.poi.POITestCase.assertEndsWith; import static org.apache.poi.POITestCase.assertContains; +import static org.apache.poi.POITestCase.assertEndsWith; import static org.apache.poi.POITestCase.assertNotContained; +import static org.apache.poi.POITestCase.assertStartsWith; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import java.io.IOException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; -import java.util.HashMap; +import java.util.regex.Matcher; +import java.util.regex.Pattern; -import junit.framework.TestCase; import org.apache.poi.extractor.POITextExtractor; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.hssf.extractor.ExcelExtractor; import org.apache.poi.xssf.XSSFTestDataSamples; +import org.junit.Test; /** * Tests for {@link XSSFExcelExtractor} */ -public class TestXSSFExcelExtractor extends TestCase { +public class TestXSSFExcelExtractor { protected XSSFExcelExtractor getExtractor(String sampleName) { return new XSSFExcelExtractor(XSSFTestDataSamples.openSampleWorkbook(sampleName)); } @@ -46,29 +48,30 @@ public class TestXSSFExcelExtractor exte /** * Get text out of the simple file */ + @Test public void testGetSimpleText() throws IOException { // a very simple file XSSFExcelExtractor extractor = getExtractor("sample.xlsx"); - + String text = extractor.getText(); assertTrue(text.length() > 0); - + // Check sheet names assertStartsWith(text, "Sheet1"); assertEndsWith(text, "Sheet3\n"); - + // Now without, will have text extractor.setIncludeSheetNames(false); text = extractor.getText(); String CHUNK1 = - "Lorem\t111\n" + - "ipsum\t222\n" + - "dolor\t333\n" + - "sit\t444\n" + - "amet\t555\n" + - "consectetuer\t666\n" + - "adipiscing\t777\n" + - "elit\t888\n" + + "Lorem\t111\n" + + "ipsum\t222\n" + + "dolor\t333\n" + + "sit\t444\n" + + "amet\t555\n" + + "consectetuer\t666\n" + + "adipiscing\t777\n" + + "elit\t888\n" + "Nunc\t999\n"; String CHUNK2 = "The quick brown fox jumps over the lazy dog\n" + @@ -77,66 +80,68 @@ public class TestXSSFExcelExtractor exte "hello, xssf hello, xssf\n" + "hello, xssf hello, xssf\n"; assertEquals( - CHUNK1 + - "at\t4995\n" + + CHUNK1 + + "at\t4995\n" + CHUNK2 , text); - + // Now get formulas not their values extractor.setFormulasNotResults(true); text = extractor.getText(); assertEquals( CHUNK1 + - "at\tSUM(B1:B9)\n" + + "at\tSUM(B1:B9)\n" + CHUNK2, text); - + // With sheet names too extractor.setIncludeSheetNames(true); text = extractor.getText(); assertEquals( "Sheet1\n" + CHUNK1 + - "at\tSUM(B1:B9)\n" + + "at\tSUM(B1:B9)\n" + "rich test\n" + CHUNK2 + "Sheet3\n" , text); - + extractor.close(); } + @Test public void testGetComplexText() throws IOException { // A fairly complex file XSSFExcelExtractor extractor = getExtractor("AverageTaxRates.xlsx"); - + String text = extractor.getText(); assertTrue(text.length() > 0); - + // Might not have all formatting it should do! assertStartsWith(text, "Avgtxfull\n" + "\t(iii) AVERAGE TAX RATES ON ANNUAL" ); - + extractor.close(); } - + /** * Test that we return pretty much the same as * ExcelExtractor does, when we're both passed * the same file, just saved as xls and xlsx */ + @Test public void testComparedToOLE2() throws IOException { // A fairly simple file - ooxml XSSFExcelExtractor ooxmlExtractor = getExtractor("SampleSS.xlsx"); ExcelExtractor ole2Extractor = new ExcelExtractor(HSSFTestDataSamples.openSampleWorkbook("SampleSS.xls")); - + Map<String, POITextExtractor> extractors = new HashMap<>(); extractors.put("SampleSS.xlsx", ooxmlExtractor); extractors.put("SampleSS.xls", ole2Extractor); - + for (final Entry<String, POITextExtractor> e : extractors.entrySet()) { String filename = e.getKey(); POITextExtractor extractor = e.getValue(); @@ -150,10 +155,11 @@ public class TestXSSFExcelExtractor exte ole2Extractor.close(); ooxmlExtractor.close(); } - + /** * From bug #45540 */ + @Test public void testHeaderFooter() throws IOException { String[] files = new String[] { "45540_classic_Header.xlsx", "45540_form_Header.xlsx", @@ -162,10 +168,10 @@ public class TestXSSFExcelExtractor exte for(String sampleName : files) { XSSFExcelExtractor extractor = getExtractor(sampleName); String text = extractor.getText(); - + assertContains(sampleName, text, "testdoc"); assertContains(sampleName, text, "test phrase"); - + extractor.close(); } } @@ -173,6 +179,7 @@ public class TestXSSFExcelExtractor exte /** * From bug #45544 */ + @Test public void testComments() throws IOException { XSSFExcelExtractor extractor = getExtractor("45544.xlsx"); String text = extractor.getText(); @@ -186,10 +193,11 @@ public class TestXSSFExcelExtractor exte text = extractor.getText(); assertContains(text, "testdoc"); assertContains(text, "test phrase"); - + extractor.close(); } - + + @Test public void testInlineStrings() throws IOException { XSSFExcelExtractor extractor = getExtractor("InlineStrings.xlsx"); extractor.setFormulasNotResults(true); @@ -198,24 +206,26 @@ public class TestXSSFExcelExtractor exte // Numbers assertContains(text, "43"); assertContains(text, "22"); - + // Strings assertContains(text, "ABCDE"); assertContains(text, "Long Text"); - + // Inline Strings assertContains(text, "1st Inline String"); assertContains(text, "And More"); - + // Formulas assertContains(text, "A2"); assertContains(text, "A5-A$2"); - + extractor.close(); } + /** * Simple test for text box text */ + @Test public void testTextBoxes() throws IOException { try (XSSFExcelExtractor extractor = getExtractor("WithTextBox.xlsx")) { extractor.setFormulasNotResults(true); @@ -226,6 +236,7 @@ public class TestXSSFExcelExtractor exte } } + @Test public void testPhoneticRuns() throws Exception { try (XSSFExcelExtractor extractor = getExtractor("51519.xlsx")) { String text = extractor.getText(); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractorUsingFactory.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractorUsingFactory.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractorUsingFactory.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFExcelExtractorUsingFactory.java Fri Dec 27 23:00:13 2019 @@ -17,8 +17,9 @@ package org.apache.poi.xssf.extractor; -import org.apache.poi.ooxml.extractor.ExtractorFactory; import org.apache.poi.hssf.HSSFTestDataSamples; +import org.apache.poi.ooxml.extractor.ExtractorFactory; +import org.junit.After; /** * Tests for {@link XSSFExcelExtractor} @@ -34,8 +35,8 @@ public final class TestXSSFExcelExtracto throw new RuntimeException(e); } } - - @Override + + @After public void tearDown() { // reset setting to not affect other tests ExtractorFactory.setAllThreadsPreferEventExtractors(null); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java Fri Dec 27 23:00:13 2019 @@ -17,22 +17,25 @@ package org.apache.poi.xssf.io; -import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; -import junit.framework.TestCase; +import java.util.List; +import org.apache.poi.POIDataSamples; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFPictureData; -import org.apache.poi.POIDataSamples; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; -public class TestLoadSaveXSSF extends TestCase { +public class TestLoadSaveXSSF { private static final POIDataSamples _ssSamples = POIDataSamples.getSpreadSheetInstance(); + @Test public void testLoadSample() throws Exception { try (XSSFWorkbook workbook = new XSSFWorkbook(_ssSamples.openResourceAsStream("sample.xlsx"))) { assertEquals(3, workbook.getNumberOfSheets()); @@ -47,6 +50,7 @@ public class TestLoadSaveXSSF extends Te } } + @Test public void testLoadStyles() throws Exception { try (XSSFWorkbook workbook = new XSSFWorkbook(_ssSamples.openResourceAsStream("styles.xlsx"))) { Sheet sheet = workbook.getSheetAt(0); @@ -57,6 +61,7 @@ public class TestLoadSaveXSSF extends Te } } + @Test public void testLoadPictures() throws Exception { try (XSSFWorkbook workbook = new XSSFWorkbook(_ssSamples.openResourceAsStream("picture.xlsx"))) { List<XSSFPictureData> pictures = workbook.getAllPictures(); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestCalculationChain.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestCalculationChain.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestCalculationChain.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestCalculationChain.java Fri Dec 27 23:00:13 2019 @@ -17,19 +17,21 @@ package org.apache.poi.xssf.model; +import static org.junit.Assert.assertEquals; + +import java.io.IOException; + import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCalcCell; -import junit.framework.TestCase; - -import java.io.IOException; - -public final class TestCalculationChain extends TestCase { +public final class TestCalculationChain { + @Test public void test46535() throws IOException { try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("46535.xlsx")) { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java Fri Dec 27 23:00:13 2019 @@ -17,35 +17,35 @@ package org.apache.poi.xssf.model; -import java.io.BufferedReader; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + import java.io.IOException; -import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.List; +import java.util.function.Predicate; +import java.util.stream.Collectors; -import org.apache.poi.POIDataSamples; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.usermodel.XSSFFont; import org.apache.poi.xssf.usermodel.XSSFRichTextString; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPhoneticRun; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRElt; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRPrElt; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst; -import junit.framework.TestCase; - /** * Test {@link SharedStringsTable}, the cache of strings in a workbook - * - * @author Yegor Kozlov */ -public final class TestSharedStringsTable extends TestCase { - +public final class TestSharedStringsTable { @SuppressWarnings("deprecation") + @Test public void testCreateNew() { SharedStringsTable sst = new SharedStringsTable(); @@ -117,6 +117,7 @@ public final class TestSharedStringsTabl assertEquals("Second string", new XSSFRichTextString(sst.getEntryAt(2)).toString()); } + @Test public void testCreateUsingRichTextStrings() { SharedStringsTable sst = new SharedStringsTable(); @@ -183,6 +184,7 @@ public final class TestSharedStringsTabl assertEquals("Second string", sst.getItemAt(2).toString()); } + @Test @SuppressWarnings("deprecation") public void testReadWrite() throws IOException { XSSFWorkbook wb1 = XSSFTestDataSamples.openSampleWorkbook("sample.xlsx"); @@ -222,14 +224,21 @@ public final class TestSharedStringsTabl * Test for Bugzilla 48936 * * A specific sequence of strings can result in broken CDATA section in sharedStrings.xml file. - * - * @author Philippe Laflamme */ + @Test public void testBug48936() throws IOException { Workbook w1 = new XSSFWorkbook(); Sheet s = w1.createSheet(); int i = 0; - List<String> lst = readStrings("48936-strings.txt"); + + Path path = XSSFTestDataSamples.getSampleFile("48936-strings.txt").toPath(); + + List<String> lst = Files + .lines(path, StandardCharsets.UTF_8) + .map(String::trim) + .filter(((Predicate<String>)String::isEmpty).negate()) + .collect(Collectors.toList()); + for (String str : lst) { s.createRow(i++).createCell(0).setCellValue(str); } @@ -242,26 +251,10 @@ public final class TestSharedStringsTabl String val = s.getRow(i++).getCell(0).getStringCellValue(); assertEquals(str, val); } - + Workbook w3 = XSSFTestDataSamples.writeOutAndReadBack(w2); w2.close(); assertNotNull(w3); w3.close(); } - - private List<String> readStrings(String filename) throws IOException { - List<String> strs = new ArrayList<>(); - POIDataSamples samples = POIDataSamples.getSpreadSheetInstance(); - BufferedReader br = new BufferedReader( - new InputStreamReader(samples.openResourceAsStream(filename), StandardCharsets.UTF_8)); - String s; - while ((s = br.readLine()) != null) { - if (s.trim().length() > 0) { - strs.add(s.trim()); - } - } - br.close(); - return strs; - } - } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/AllXSSFUsermodelTests.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/AllXSSFUsermodelTests.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/AllXSSFUsermodelTests.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/AllXSSFUsermodelTests.java Fri Dec 27 23:00:13 2019 @@ -20,7 +20,6 @@ package org.apache.poi.xssf.usermodel; import org.apache.poi.ss.formula.eval.forked.TestForkedEvaluator; import org.apache.poi.xssf.usermodel.extensions.TestXSSFBorder; import org.apache.poi.xssf.usermodel.extensions.TestXSSFCellFill; -import org.apache.poi.xssf.usermodel.extensions.TestXSSFSheetComments; import org.apache.poi.xssf.usermodel.helpers.TestColumnHelper; import org.apache.poi.xssf.usermodel.helpers.TestHeaderFooterHelper; import org.junit.runner.RunWith; @@ -56,7 +55,6 @@ import org.junit.runners.Suite; TestXSSFWorkbook.class, TestXSSFBorder.class, TestXSSFCellFill.class, - TestXSSFSheetComments.class, TestColumnHelper.class, TestHeaderFooterHelper.class, //TestXSSFPivotTable.class, //converted to junit4 Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/BaseTestXSSFPivotTable.java Fri Dec 27 23:00:13 2019 @@ -16,7 +16,9 @@ ==================================================================== */ package org.apache.poi.xssf.usermodel; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import java.io.IOException; @@ -41,14 +43,13 @@ public abstract class BaseTestXSSFPivotT protected XSSFPivotTable pivotTable; protected XSSFPivotTable offsetPivotTable; protected Cell offsetOuterCell; - + /** * required to set up the test pivot tables and cell reference, either by name or reference. - * @see junit.framework.TestCase#setUp() */ @Before public abstract void setUp(); - + @After public void tearDown() throws IOException { if (wb != null) { @@ -67,18 +68,18 @@ public abstract class BaseTestXSSFPivotT int columnIndex = 0; assertEquals(0, pivotTable.getRowLabelColumns().size()); - + pivotTable.addRowLabel(columnIndex); CTPivotTableDefinition defintion = pivotTable.getCTPivotTableDefinition(); assertEquals(defintion.getRowFields().getFieldArray(0).getX(), columnIndex); assertEquals(defintion.getRowFields().getCount(), 1); assertEquals(1, pivotTable.getRowLabelColumns().size()); - + columnIndex = 1; pivotTable.addRowLabel(columnIndex); assertEquals(2, pivotTable.getRowLabelColumns().size()); - + assertEquals(0, (int)pivotTable.getRowLabelColumns().get(0)); assertEquals(1, (int)pivotTable.getRowLabelColumns().get(1)); } @@ -120,8 +121,8 @@ public abstract class BaseTestXSSFPivotT assertEquals(defintion.getDataFields().getDataFieldList().size(), 3); } - - + + /** * Verify that it's possible to create three column labels with the same DataConsolidateFunction */ @@ -138,7 +139,7 @@ public abstract class BaseTestXSSFPivotT assertEquals(defintion.getDataFields().getDataFieldList().size(), 3); } - + /** * Verify that when creating two column labels, a col field is being created and X is set to -2. */ @@ -169,7 +170,7 @@ public abstract class BaseTestXSSFPivotT assertEquals(defintion.getDataFields().getDataFieldArray(0).getSubtotal(), STDataConsolidateFunction.Enum.forInt(DataConsolidateFunction.SUM.getValue())); } - + /** * Verify that it's possible to set a custom name when creating a data column */ @@ -178,7 +179,7 @@ public abstract class BaseTestXSSFPivotT int columnIndex = 0; String customName = "Custom Name"; - + pivotTable.addColumnLabel(DataConsolidateFunction.SUM, columnIndex, customName); CTPivotTableDefinition defintion = pivotTable.getCTPivotTableDefinition(); @@ -186,7 +187,7 @@ public abstract class BaseTestXSSFPivotT assertEquals(defintion.getDataFields().getDataFieldArray(0).getFld(), columnIndex); assertEquals(defintion.getDataFields().getDataFieldArray(0).getName(), customName); } - + /** * Verify that it's possible to set the format to the data column */ @@ -195,7 +196,7 @@ public abstract class BaseTestXSSFPivotT int columnIndex = 0; String format = "#,##0.0"; - + pivotTable.addColumnLabel(DataConsolidateFunction.SUM, columnIndex, null, format); CTPivotTableDefinition defintion = pivotTable.getCTPivotTableDefinition(); @@ -256,7 +257,7 @@ public abstract class BaseTestXSSFPivotT public void testAddReportFilterOutOfRangeThrowsException() { pivotTable.addReportFilter(5); } - + /** * Verify that the Pivot Table operates only within the referenced area, even when the * first column of the referenced area is not index 0. @@ -265,10 +266,10 @@ public abstract class BaseTestXSSFPivotT public void testAddDataColumnWithOffsetData() { offsetPivotTable.addColumnLabel(DataConsolidateFunction.SUM, 1); assertEquals(CellType.NUMERIC, offsetOuterCell.getCellType()); - + offsetPivotTable.addColumnLabel(DataConsolidateFunction.SUM, 0); } - + @Test public void testPivotTableSheetNamesAreCaseInsensitive() { wb.setSheetName(0, "original"); @@ -278,7 +279,7 @@ public abstract class BaseTestXSSFPivotT // assume sheets are accessible via case-insensitive name assertNotNull(original); assertNotNull(offset); - + AreaReference source = wb.getCreationHelper().createAreaReference("ORIGinal!A1:C2"); // create a pivot table on the same sheet, case insensitive original.createPivotTable(source, new CellReference("W1")); @@ -296,18 +297,18 @@ public abstract class BaseTestXSSFPivotT int columnIndex = 0; assertEquals(0, pivotTable.getColLabelColumns().size()); - + pivotTable.addColLabel(columnIndex); CTPivotTableDefinition defintion = pivotTable.getCTPivotTableDefinition(); assertEquals(defintion.getColFields().getFieldArray(0).getX(), columnIndex); assertEquals(defintion.getColFields().getCount(), 1); assertEquals(1, pivotTable.getColLabelColumns().size()); - + columnIndex = 1; pivotTable.addColLabel(columnIndex); assertEquals(2, pivotTable.getColLabelColumns().size()); - + assertEquals(0, (int)pivotTable.getColLabelColumns().get(0)); assertEquals(1, (int)pivotTable.getColLabelColumns().get(1)); } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java Fri Dec 27 23:00:13 2019 @@ -26,8 +26,6 @@ import java.util.Collection; import java.util.List; import java.util.Locale; - -import org.apache.poi.poifs.crypt.TestSignatureInfo; import org.apache.poi.ss.formula.eval.ErrorEval; import org.apache.poi.ss.formula.functions.TestMathX; import org.apache.poi.ss.usermodel.Cell; @@ -47,8 +45,6 @@ import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameter; import org.junit.runners.Parameterized.Parameters; -import junit.framework.AssertionFailedError; - @RunWith(Parameterized.class) public final class TestMatrixFormulasFromXMLSpreadsheet { @@ -58,17 +54,17 @@ public final class TestMatrixFormulasFro private static Sheet sheet; private static FormulaEvaluator evaluator; private static Locale userLocale; - + /* * Unlike TestFormulaFromSpreadsheet which this class is modified from, there is no * differentiation between operators and functions, if more functionality is implemented with * array formulas then it might be worth it to separate operators from functions - * + * * Also, output matrices are statically 3x3, if larger matrices wanted to be tested * then adding matrix size parameter would be useful and parsing would be based off that. */ - - private static interface Navigator { + + private interface Navigator { /** * Name of the test spreadsheet (found in the standard test data folder) */ @@ -97,21 +93,21 @@ public final class TestMatrixFormulasFro * Used to indicate when there are no more operations left */ String END_OF_TESTS = "<END>"; - + } - + /* Parameters for test case */ @Parameter(0) public String targetFunctionName; @Parameter(1) public int formulasRowIdx; - + @AfterClass public static void closeResource() throws Exception { LocaleUtil.setUserLocale(userLocale); workbook.close(); } - + /* generating parameter instances */ @Parameters(name="{0}") public static Collection<Object[]> data() throws Exception { @@ -120,18 +116,18 @@ public final class TestMatrixFormulasFro // already set, when we would try to change the locale by then userLocale = LocaleUtil.getUserLocale(); LocaleUtil.setUserLocale(Locale.ROOT); - + workbook = XSSFTestDataSamples.openSampleWorkbook(Navigator.FILENAME); sheet = workbook.getSheetAt(0); evaluator = new XSSFFormulaEvaluator(workbook); - + List<Object[]> data = new ArrayList<Object[]>(); - + processFunctionGroup(data, Navigator.START_OPERATORS_ROW_INDEX, null); - + return data; } - + /** * @param startRowIndex row index in the spreadsheet where the first function/operator is found * @param testFocusFunctionName name of a single function/operator to test alone. @@ -153,7 +149,7 @@ public final class TestMatrixFormulasFro } } } - + @Test public void processFunctionRow() { @@ -162,27 +158,27 @@ public final class TestMatrixFormulasFro for (int rowNum = formulasRowIdx; rowNum < formulasRowIdx + Navigator.ROW_OFF_NEXT_OP - 1; rowNum++) { for (int colNum = Navigator.START_RESULT_COL_INDEX; colNum < endColNum; colNum++) { Row r = sheet.getRow(rowNum); - + /* mainly to escape row failures on MDETERM which only returns a scalar */ if (r == null) { continue; } - + Cell c = sheet.getRow(rowNum).getCell(colNum); - + if (c == null || c.getCellType() != CellType.FORMULA) { continue; } - + CellValue actValue = evaluator.evaluate(c); Cell expValue = sheet.getRow(rowNum).getCell(colNum + Navigator.COL_OFF_EXPECTED_RESULT); - + String msg = String.format(Locale.ROOT, "Function '%s': Formula: %s @ %d:%d" , targetFunctionName, c.getCellFormula(), rowNum, colNum); - + assertNotNull(msg + " - Bad setup data expected value is null", expValue); assertNotNull(msg + " - actual value was null", actValue); - + final CellType cellType = expValue.getCellType(); switch (cellType) { case BLANK: @@ -212,7 +208,7 @@ public final class TestMatrixFormulasFro } } } - + /** * @return <code>null</code> if cell is missing, empty or blank */ @@ -234,13 +230,8 @@ public final class TestMatrixFormulasFro return cell.getRichStringCellValue().getString(); } - throw new AssertionFailedError("Bad cell type for 'function name' column: (" + fail("Bad cell type for 'function name' column: (" + cell.getCellType() + ") row (" + (r.getRowNum() +1) + ")"); + return null; } - - - - - - } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFChart.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFChart.java?rev=1872041&r1=1872040&r2=1872041&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFChart.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFChart.java Fri Dec 27 23:00:13 2019 @@ -17,14 +17,17 @@ package org.apache.poi.xssf.usermodel; -import org.apache.poi.xssf.XSSFTestDataSamples; - -import junit.framework.TestCase; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import java.io.IOException; -public final class TestXSSFChart extends TestCase { +import org.apache.poi.xssf.XSSFTestDataSamples; +import org.junit.Test; +public final class TestXSSFChart { + @Test public void testGetAccessors() throws IOException { try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("WithThreeCharts.xlsx")) { XSSFSheet s1 = wb.getSheetAt(0); @@ -39,6 +42,7 @@ public final class TestXSSFChart extends } } + @Test public void testGetCharts() throws Exception { try (XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("WithThreeCharts.xlsx")) { XSSFSheet s1 = wb.getSheetAt(0); @@ -67,6 +71,7 @@ public final class TestXSSFChart extends } } + @Test public void testAddChartsToNewWorkbook() throws Exception { try (XSSFWorkbook wb = new XSSFWorkbook()) { XSSFSheet s1 = wb.createSheet(); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org