You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2015/11/05 01:15:51 UTC

svn commit: r1712693 - in /poi/trunk: ./ src/ooxml/testcases/org/apache/poi/ src/ooxml/testcases/org/apache/poi/openxml4j/opc/ src/ooxml/testcases/org/apache/poi/poifs/crypt/ src/ooxml/testcases/org/apache/poi/xssf/extractor/ src/ooxml/testcases/org/ap...

Author: kiwiwings
Date: Thu Nov  5 00:15:51 2015
New Revision: 1712693

URL: http://svn.apache.org/viewvc?rev=1712693&view=rev
Log:
extended forbidden-apis-check to ooxml-tests

Modified:
    poi/trunk/build.xml
    poi/trunk/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/model/TestSharedStringsTable.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
    poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java
    poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFont.java

Modified: poi/trunk/build.xml
URL: http://svn.apache.org/viewvc/poi/trunk/build.xml?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/build.xml (original)
+++ poi/trunk/build.xml Thu Nov  5 00:15:51 2015
@@ -1776,9 +1776,9 @@ under the License.
         	<fileset dir="${scratchpad.output.dir}"/>
         	<fileset dir="${ooxml.output.dir}"/>
         	<fileset dir="${main.output.test.dir}"/>
+        	<fileset dir="${ooxml.output.test.dir}"/>
         	<!--
         	<fileset dir="${scratchpad.output.test.dir}"/>
-        	<fileset dir="${ooxml.output.test.dir}"/>
         	-->
         </forbiddenapis>
     </target>

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/TestPOIXMLProperties.java Thu Nov  5 00:15:51 2015
@@ -185,13 +185,13 @@ public final class TestPOIXMLProperties
 
         Date dateCreated = LocaleUtil.getLocaleCalendar(2010, 6, 15, 10, 0, 0).getTime();
         cp.setCreated(new Nullable<Date>(dateCreated));
-        assertEquals(dateCreated.toString(), cp.getCreated().toString());
+        assertEquals(dateCreated, cp.getCreated());
 
         XWPFDocument doc2 = XWPFTestDataSamples.writeOutAndReadBack(doc);
         doc.close();
         cp = doc.getProperties().getCoreProperties();
         Date dt3 = cp.getCreated();
-        assertEquals(dateCreated.toString(), dt3.toString());
+        assertEquals(dateCreated, dt3);
         doc2.close();
     }
 

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java Thu Nov  5 00:15:51 2015
@@ -35,6 +35,7 @@ import java.io.OutputStream;
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationTargetException;
 import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.List;
@@ -44,6 +45,7 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 import java.util.zip.ZipOutputStream;
 
+import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.POIXMLException;
 import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
@@ -65,6 +67,7 @@ import org.junit.Test;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
 
 public final class TestPackage {
     private static final POILogger logger = POILogFactory.getLogger(TestPackage.class);
@@ -73,11 +76,12 @@ public final class TestPackage {
 	 * Test that just opening and closing the file doesn't alter the document.
 	 */
     @Test
-	public void openSave() throws Exception {
+	public void openSave() throws IOException, InvalidFormatException {
 		String originalFile = OpenXML4JTestDataSamples.getSampleFileName("TestPackageCommon.docx");
 		File targetFile = OpenXML4JTestDataSamples.getOutputFile("TestPackageOpenSaveTMP.docx");
 
-		OPCPackage p = OPCPackage.open(originalFile, PackageAccess.READ_WRITE);
+		@SuppressWarnings("resource")
+        OPCPackage p = OPCPackage.open(originalFile, PackageAccess.READ_WRITE);
 		try {
     		p.save(targetFile.getAbsoluteFile());
     
@@ -94,15 +98,21 @@ public final class TestPackage {
 	/**
 	 * Test that when we create a new Package, we give it
 	 *  the correct default content types
+	 * @throws IllegalAccessException 
+	 * @throws NoSuchFieldException 
+	 * @throws IllegalArgumentException 
+	 * @throws SecurityException 
 	 */
     @Test
-	public void createGetsContentTypes() throws Exception {
+	public void createGetsContentTypes()
+    throws IOException, InvalidFormatException, SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException {
 		File targetFile = OpenXML4JTestDataSamples.getOutputFile("TestCreatePackageTMP.docx");
 
 		// Zap the target file, in case of an earlier run
 		if(targetFile.exists()) targetFile.delete();
 
-		OPCPackage pkg = OPCPackage.create(targetFile);
+		@SuppressWarnings("resource")
+        OPCPackage pkg = OPCPackage.create(targetFile);
 
 		// Check it has content types for rels and xml
 		ContentTypeManager ctm = getContentTypeManager(pkg);
@@ -123,13 +133,15 @@ public final class TestPackage {
 						PackagingURIHelper.createPartName("/foo.txt")
 				)
 		);
+		
+		pkg.revert();
 	}
 
 	/**
 	 * Test package creation.
 	 */
     @Test
-	public void createPackageAddPart() throws Exception {
+	public void createPackageAddPart() throws IOException, InvalidFormatException {
 		File targetFile = OpenXML4JTestDataSamples.getOutputFile("TestCreatePackageTMP.docx");
 
 		File expectedFile = OpenXML4JTestDataSamples.getSampleFile("TestCreatePackageOUTPUT.docx");
@@ -174,9 +186,10 @@ public final class TestPackage {
 	 * Tests that we can create a new package, add a core
 	 *  document and another part, save and re-load and
 	 *  have everything setup as expected
+	 * @throws SAXException 
 	 */
     @Test
-	public void createPackageWithCoreDocument() throws Exception {
+	public void createPackageWithCoreDocument() throws IOException, InvalidFormatException, URISyntaxException, SAXException {
 		ByteArrayOutputStream baos = new ByteArrayOutputStream();
 		OPCPackage pkg = OPCPackage.create(baos);
 
@@ -188,7 +201,7 @@ public final class TestPackage {
         PackagePart corePart = pkg.createPart(corePartName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml");
         // Put in some dummy content
         OutputStream coreOut = corePart.getOutputStream();
-        coreOut.write("<dummy-xml />".getBytes());
+        coreOut.write("<dummy-xml />".getBytes("UTF-8"));
         coreOut.close();
 
 		// And another bit
@@ -200,7 +213,7 @@ public final class TestPackage {
 
         // Dummy content again
         coreOut = corePart.getOutputStream();
-        coreOut.write("<dummy-xml2 />".getBytes());
+        coreOut.write("<dummy-xml2 />".getBytes("UTF-8"));
         coreOut.close();
 
         //add a relationship with internal target: "#Sheet1!A1"
@@ -250,7 +263,7 @@ public final class TestPackage {
         }
     }
 
-    private void assertMSCompatibility(OPCPackage pkg) throws Exception {
+    private void assertMSCompatibility(OPCPackage pkg) throws IOException, InvalidFormatException, SAXException {
         PackagePartName relName = PackagingURIHelper.createPartName(PackageRelationship.getContainerPartRelationship());
         PackagePart relPart = pkg.getPart(relName);
 
@@ -271,7 +284,7 @@ public final class TestPackage {
 	 * Test package opening.
 	 */
     @Test
-	public void openPackage() throws Exception {
+	public void openPackage() throws IOException, InvalidFormatException {
 		File targetFile = OpenXML4JTestDataSamples.getOutputFile("TestOpenPackageTMP.docx");
 
 		File inputFile = OpenXML4JTestDataSamples.getSampleFile("TestOpenPackageINPUT.docx");
@@ -331,11 +344,12 @@ public final class TestPackage {
 	 *  to a file
 	 */
     @Test
-	public void saveToOutputStream() throws Exception {
+	public void saveToOutputStream() throws IOException, InvalidFormatException {
 		String originalFile = OpenXML4JTestDataSamples.getSampleFileName("TestPackageCommon.docx");
 		File targetFile = OpenXML4JTestDataSamples.getOutputFile("TestPackageOpenSaveTMP.docx");
 
-		OPCPackage p = OPCPackage.open(originalFile, PackageAccess.READ_WRITE);
+		@SuppressWarnings("resource")
+        OPCPackage p = OPCPackage.open(originalFile, PackageAccess.READ_WRITE);
 		try {
     		FileOutputStream fout = new FileOutputStream(targetFile);
     		try {
@@ -360,12 +374,13 @@ public final class TestPackage {
 	 *  reading from a file
 	 */
     @Test
-	public void openFromInputStream() throws Exception {
+	public void openFromInputStream() throws IOException, InvalidFormatException {
 		String originalFile = OpenXML4JTestDataSamples.getSampleFileName("TestPackageCommon.docx");
 
 		FileInputStream finp = new FileInputStream(originalFile);
 
-		OPCPackage p = OPCPackage.open(finp);
+		@SuppressWarnings("resource")
+        OPCPackage p = OPCPackage.open(finp);
 
 		assertNotNull(p);
 		assertNotNull(p.getRelationships());
@@ -374,19 +389,24 @@ public final class TestPackage {
 		// Check it has the usual bits
 		assertTrue(p.hasRelationships());
 		assertTrue(p.containPart(PackagingURIHelper.createPartName("/_rels/.rels")));
+		
+		p.revert();
+		finp.close();
 	}
 
     /**
      * TODO: fix and enable
+     * @throws URISyntaxException 
      */
     @Test
     @Ignore
-    public void removePartRecursive() throws Exception {
+    public void removePartRecursive() throws IOException, InvalidFormatException, URISyntaxException {
 		String originalFile = OpenXML4JTestDataSamples.getSampleFileName("TestPackageCommon.docx");
 		File targetFile = OpenXML4JTestDataSamples.getOutputFile("TestPackageRemovePartRecursiveOUTPUT.docx");
 		File tempFile = OpenXML4JTestDataSamples.getOutputFile("TestPackageRemovePartRecursiveTMP.docx");
 
-		OPCPackage p = OPCPackage.open(originalFile, PackageAccess.READ_WRITE);
+		@SuppressWarnings("resource")
+        OPCPackage p = OPCPackage.open(originalFile, PackageAccess.READ_WRITE);
 		p.removePartRecursive(PackagingURIHelper.createPartName(new URI(
 				"/word/document.xml")));
 		p.save(tempFile.getAbsoluteFile());
@@ -395,6 +415,8 @@ public final class TestPackage {
 		assertTrue(targetFile.exists());
 		ZipFileAssert.assertEquals(targetFile, tempFile);
 		assertTrue(targetFile.delete());
+		
+		p.revert();
 	}
 
     @Test
@@ -437,7 +459,8 @@ public final class TestPackage {
 
 		String filepath =  OpenXML4JTestDataSamples.getSampleFileName("sample.docx");
 
-		OPCPackage p = OPCPackage.open(filepath, PackageAccess.READ_WRITE);
+		@SuppressWarnings("resource")
+        OPCPackage p = OPCPackage.open(filepath, PackageAccess.READ_WRITE);
 		// Remove the core part
 		p.deletePart(PackagingURIHelper.createPartName("/word/document.xml"));
 
@@ -476,7 +499,8 @@ public final class TestPackage {
 
 		String filepath = OpenXML4JTestDataSamples.getSampleFileName("sample.docx");
 
-		OPCPackage p = OPCPackage.open(filepath, PackageAccess.READ_WRITE);
+		@SuppressWarnings("resource")
+        OPCPackage p = OPCPackage.open(filepath, PackageAccess.READ_WRITE);
 		// Remove the core part
 		p.deletePartRecursive(PackagingURIHelper.createPartName("/word/document.xml"));
 
@@ -499,7 +523,7 @@ public final class TestPackage {
 	 *  write changes to it.
 	 */
     @Test
-	public void openFileThenOverwrite() throws Exception {
+	public void openFileThenOverwrite() throws IOException, InvalidFormatException {
         File tempFile = TempFile.createTempFile("poiTesting","tmp");
         File origFile = OpenXML4JTestDataSamples.getSampleFile("TestPackageCommon.docx");
         FileHelper.copyFile(origFile, tempFile);
@@ -537,7 +561,7 @@ public final class TestPackage {
      *  to another file, then delete both
      */
     @Test
-    public void openFileThenSaveDelete() throws Exception {
+    public void openFileThenSaveDelete() throws IOException, InvalidFormatException {
         File tempFile = TempFile.createTempFile("poiTesting","tmp");
         File tempFile2 = TempFile.createTempFile("poiTesting","tmp");
         File origFile = OpenXML4JTestDataSamples.getSampleFile("TestPackageCommon.docx");
@@ -555,16 +579,18 @@ public final class TestPackage {
         assertTrue(tempFile2.delete());
     }
 
-	private static ContentTypeManager getContentTypeManager(OPCPackage pkg) throws Exception {
+	private static ContentTypeManager getContentTypeManager(OPCPackage pkg)
+    throws IOException, SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
 		Field f = OPCPackage.class.getDeclaredField("contentTypeManager");
 		f.setAccessible(true);
 		return (ContentTypeManager)f.get(pkg);
 	}
 
     @Test
-    public void getPartsByName() throws Exception {
+    public void getPartsByName() throws IOException, InvalidFormatException {
         String filepath =  OpenXML4JTestDataSamples.getSampleFileName("sample.docx");
 
+        @SuppressWarnings("resource")
         OPCPackage pkg = OPCPackage.open(filepath, PackageAccess.READ_WRITE);
         try {
             List<PackagePart> rs =  pkg.getPartsByName(Pattern.compile("/word/.*?\\.xml"));
@@ -587,7 +613,7 @@ public final class TestPackage {
     }
     
     @Test
-    public void getPartSize() throws Exception {
+    public void getPartSize() throws IOException, InvalidFormatException {
        String filepath =  OpenXML4JTestDataSamples.getSampleFileName("sample.docx");
        OPCPackage pkg = OPCPackage.open(filepath, PackageAccess.READ);
        try {
@@ -620,8 +646,10 @@ public final class TestPackage {
     }
 
     @Test
-    public void replaceContentType() throws Exception {
+    public void replaceContentType()
+    throws IOException, InvalidFormatException, SecurityException, IllegalArgumentException, NoSuchFieldException, IllegalAccessException {
         InputStream is = OpenXML4JTestDataSamples.openSampleStream("sample.xlsx");
+        @SuppressWarnings("resource")
         OPCPackage p = OPCPackage.open(is);
 
         ContentTypeManager mgr = getContentTypeManager(p);
@@ -637,10 +665,13 @@ public final class TestPackage {
 
         assertFalse(mgr.isContentTypeRegister("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"));
         assertTrue(mgr.isContentTypeRegister("application/vnd.ms-excel.sheet.macroEnabled.main+xml"));
+        p.revert();
+        is.close();
     }
 
     @Test(expected=IOException.class)
-    public void zipBombCreateAndHandle() throws Exception {
+    public void zipBombCreateAndHandle()
+    throws IOException, EncryptedDocumentException, InvalidFormatException {
         // #50090 / #56865
         ZipFile zipFile = ZipHelper.openZipFile(OpenXML4JTestDataSamples.getSampleFile("sample.xlsx"));
         ByteArrayOutputStream bos = new ByteArrayOutputStream();
@@ -668,12 +699,13 @@ public final class TestPackage {
                         append.write(spam);
                         size += spam.length;
                     }
-                    append.write("</Types>".getBytes());
+                    append.write("</Types>".getBytes("UTF-8"));
                     size += 8;
                     e.setSize(size);
                 } else {
                     IOUtils.copy(is, append);
                 }
+                is.close();
             }
             append.closeEntry();
         }
@@ -690,7 +722,8 @@ public final class TestPackage {
     }
     
     @Test
-    public void zipBombCheckSizes() throws Exception {
+    public void zipBombCheckSizes()
+    throws IOException, EncryptedDocumentException, InvalidFormatException {
         File file = OpenXML4JTestDataSamples.getSampleFile("sample.xlsx");
 
         try {
@@ -709,14 +742,12 @@ public final class TestPackage {
             // use values close to, but within the limits 
             ZipSecureFile.setMinInflateRatio(min_ratio-0.002);
             ZipSecureFile.setMaxEntrySize(max_size+1);
-            Workbook wb = WorkbookFactory.create(file, null, true);
-            wb.close();
+            WorkbookFactory.create(file, null, true).close();
     
             // check ratio out of bounds
             ZipSecureFile.setMinInflateRatio(min_ratio+0.002);
             try {
-                wb = WorkbookFactory.create(file, null, true);
-                wb.close();
+                WorkbookFactory.create(file, null, true).close();
                 // this is a bit strange, as there will be different exceptions thrown
                 // depending if this executed via "ant test" or within eclipse
                 // maybe a difference in JDK ...
@@ -730,8 +761,7 @@ public final class TestPackage {
             ZipSecureFile.setMinInflateRatio(min_ratio-0.002);
             ZipSecureFile.setMaxEntrySize(max_size-1);
             try {
-                wb = WorkbookFactory.create(file, null, true);
-                wb.close();
+                WorkbookFactory.create(file, null, true).close();
             } catch (InvalidFormatException e) {
                 checkForZipBombException(e);
             } catch (POIXMLException e) {

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/TestSignatureInfo.java Thu Nov  5 00:15:51 2015
@@ -338,7 +338,7 @@ public class TestSignatureInfo {
                 @Override
                 public byte[] timeStamp(byte[] data, RevocationData revocationData) throws Exception {
                     revocationData.addCRL(crl);
-                    return "time-stamp-token".getBytes();                
+                    return "time-stamp-token".getBytes(LocaleUtil.CHARSET_1252);                
                 }
                 @Override
                 public void setSignatureConfig(SignatureConfig config) {

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/extractor/TestXSSFImportFromXML.java Thu Nov  5 00:15:51 2015
@@ -17,26 +17,37 @@
 
 package org.apache.poi.xssf.extractor;
 
+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.IOException;
+import java.text.DateFormatSymbols;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.Locale;
 
-import junit.framework.TestCase;
+import javax.xml.xpath.XPathExpressionException;
 
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.apache.poi.xssf.usermodel.XSSFMap;
 import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.junit.Test;
+import org.xml.sax.SAXException;
 
 /**
  * 
  * @author Roberto Manicardi
  *
  */
-public class TestXSSFImportFromXML extends TestCase {
+public class TestXSSFImportFromXML {
 	
-	
-	public void  testImportFromXML() throws Exception{
+	@Test
+	public void testImportFromXML() throws IOException, XPathExpressionException, SAXException{
 		
 		 XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings.xlsx");
 		 try {
@@ -82,10 +93,8 @@ public class TestXSSFImportFromXML exten
 		 }
 	}
 	
-	
-	
-	
-	public void testMultiTable() throws Exception{
+	@Test	
+	public void testMultiTable() throws IOException, XPathExpressionException, SAXException{
 		XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMappings-complex-type.xlsx");	 
 		try {
     		String cellC6 = "c6";
@@ -128,7 +137,8 @@ public class TestXSSFImportFromXML exten
 	}
 
 	
-	public void testSingleAttributeCellWithNamespace() throws Exception{
+	@Test
+	public void testSingleAttributeCellWithNamespace() throws IOException, XPathExpressionException, SAXException{
 		XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("CustomXMLMapping-singleattributenamespace.xlsx");	 
 		try {
     		int id = 1;
@@ -148,16 +158,17 @@ public class TestXSSFImportFromXML exten
     		//Check for Schema element
     		XSSFSheet sheet=wb.getSheetAt(0);
     		 
-    		assertEquals(new Double(id), sheet.getRow(28).getCell(1).getNumericCellValue());
+    		assertEquals(new Double(id), sheet.getRow(28).getCell(1).getNumericCellValue(), 0);
     		assertEquals(displayName, sheet.getRow(11).getCell(5).getStringCellValue());
     		assertEquals(ref, sheet.getRow(14).getCell(7).getStringCellValue());
-    		assertEquals(new Double(count), sheet.getRow(18).getCell(3).getNumericCellValue());
+    		assertEquals(new Double(count), sheet.getRow(18).getCell(3).getNumericCellValue(), 0);
         } finally {
             wb.close();
         }
 	}
-
-	public void testOptionalFields_Bugzilla_55864() throws Exception {
+	
+	@Test
+	public void testOptionalFields_Bugzilla_55864() throws IOException, XPathExpressionException, SAXException {
 		XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("55864.xlsx");	 
 		try {
     		String testXML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" +
@@ -197,7 +208,8 @@ public class TestXSSFImportFromXML exten
         }
 	}
 
-	public void testOptionalFields_Bugzilla_57890() throws Exception {
+	@Test
+	public void testOptionalFields_Bugzilla_57890() throws IOException, ParseException, XPathExpressionException, SAXException {
 		XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("57890.xlsx");
 
 		String testXML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + "<TestInfoRoot>"
@@ -216,16 +228,18 @@ public class TestXSSFImportFromXML exten
 		XSSFRow rowData = sheet.getRow(1);
 
 		assertEquals("Date", rowHeadings.getCell(0).getStringCellValue());
-		Date date = new SimpleDateFormat("yyyy-MM-dd").parse("1991-3-14");
+		Date date = new SimpleDateFormat("yyyy-MM-dd", DateFormatSymbols.getInstance(Locale.ROOT)).parse("1991-3-14");
 		assertEquals(date, rowData.getCell(0).getDateCellValue());
 
 		assertEquals("Amount Int", rowHeadings.getCell(1).getStringCellValue());
-		assertEquals(new Double(Integer.MIN_VALUE), rowData.getCell(1).getNumericCellValue());
+		assertEquals(new Double(Integer.MIN_VALUE), rowData.getCell(1).getNumericCellValue(), 0);
 
 		assertEquals("Amount Double", rowHeadings.getCell(2).getStringCellValue());
-		assertEquals(1.0000123, rowData.getCell(2).getNumericCellValue());
+		assertEquals(1.0000123, rowData.getCell(2).getNumericCellValue(), 0);
 
 		assertEquals("Amount UnsignedInt", rowHeadings.getCell(3).getStringCellValue());
-		assertEquals(new Double(12345), rowData.getCell(3).getNumericCellValue());
+		assertEquals(new Double(12345), rowData.getCell(3).getNumericCellValue(), 0);
+		
+		wb.close();
 	}
 }

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=1712693&r1=1712692&r2=1712693&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 Thu Nov  5 00:15:51 2015
@@ -23,10 +23,7 @@ import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.List;
 
-import junit.framework.TestCase;
-
 import org.apache.poi.POIDataSamples;
-import org.apache.poi.POIXMLException;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.XSSFTestDataSamples;
@@ -36,6 +33,8 @@ import org.openxmlformats.schemas.spread
 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
  *
@@ -114,12 +113,13 @@ public final class TestSharedStringsTabl
         assertEquals("Second string", new XSSFRichTextString(sst.getEntryAt(2)).toString());
     }
 
-    public void testReadWrite() {
-        XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("sample.xlsx");
-        SharedStringsTable sst1 = wb.getSharedStringSource();
+    public void testReadWrite() throws IOException {
+        XSSFWorkbook wb1 = XSSFTestDataSamples.openSampleWorkbook("sample.xlsx");
+        SharedStringsTable sst1 = wb1.getSharedStringSource();
 
         //serialize, read back and compare with the original
-        SharedStringsTable sst2 = XSSFTestDataSamples.writeOutAndReadBack(wb).getSharedStringSource();
+        XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1);
+        SharedStringsTable sst2 = wb2.getSharedStringSource();
 
         assertEquals(sst1.getCount(), sst2.getCount());
         assertEquals(sst1.getUniqueCount(), sst2.getUniqueCount());
@@ -133,7 +133,11 @@ public final class TestSharedStringsTabl
             assertEquals(st1.toString(), st2.toString());
         }
 
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(wb));
+        XSSFWorkbook wb3 = XSSFTestDataSamples.writeOutAndReadBack(wb2);
+        assertNotNull(wb3);
+        wb3.close();
+        wb2.close();
+        wb1.close();
     }
 
     /**
@@ -144,34 +148,34 @@ public final class TestSharedStringsTabl
      * @author Philippe Laflamme
      */
     public void testBug48936() throws IOException {
-        Workbook w = new XSSFWorkbook();
-        Sheet s = w.createSheet();
+        Workbook w1 = new XSSFWorkbook();
+        Sheet s = w1.createSheet();
         int i = 0;
         List<String> lst = readStrings("48936-strings.txt");
         for (String str : lst) {
             s.createRow(i++).createCell(0).setCellValue(str);
         }
 
-        try {
-            w = XSSFTestDataSamples.writeOutAndReadBack(w);
-        } catch (POIXMLException e){
-            fail("Detected Bug #48936");        
-        }
-        s = w.getSheetAt(0);
+        Workbook w2 = XSSFTestDataSamples.writeOutAndReadBack(w1);
+        w1.close();
+        s = w2.getSheetAt(0);
         i = 0;
         for (String str : lst) {
             String val = s.getRow(i++).getCell(0).getStringCellValue();
             assertEquals(str, val);
         }
         
-        assertNotNull(XSSFTestDataSamples.writeOutAndReadBack(w));
+        Workbook w3 = XSSFTestDataSamples.writeOutAndReadBack(w2);
+        w2.close();
+        assertNotNull(w3);
+        w3.close();
     }
 
     private List<String> readStrings(String filename) throws IOException {
         List<String> strs = new ArrayList<String>();
         POIDataSamples samples = POIDataSamples.getSpreadSheetInstance();
         BufferedReader br = new BufferedReader(
-                new InputStreamReader(samples.openResourceAsStream(filename)));
+                new InputStreamReader(samples.openResourceAsStream(filename), "UTF-8"));
         String s;
         while ((s = br.readLine()) != null) {
             if (s.trim().length() > 0) {

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestUnfixedBugs.java Thu Nov  5 00:15:51 2015
@@ -367,7 +367,7 @@ public final class TestUnfixedBugs {
        }
        
        // verify that the resulting XML has the rows in correct order as required by Excel
-       String xml = new String(stream.toByteArray());
+       String xml = new String(stream.toByteArray(), "UTF-8");
        int posR12 = xml.indexOf("<row r=\"12\"");
        int posR13 = xml.indexOf("<row r=\"13\"");
        

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java Thu Nov  5 00:15:51 2015
@@ -18,6 +18,9 @@
 package org.apache.poi.xssf.usermodel;
 
 import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
 
 import java.io.IOException;
 
@@ -31,8 +34,10 @@ import org.apache.poi.ss.usermodel.FontU
 import org.apache.poi.ss.usermodel.IndexedColors;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.SheetUtil;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.junit.Test;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont;
@@ -52,15 +57,18 @@ public final class TestXSSFFont extends
 		super(XSSFITestDataProvider.instance);
 	}
 
-	public void testDefaultFont() {
+	@Test
+	public void testDefaultFont() throws IOException {
 		baseTestDefaultFont("Calibri", (short) 220, IndexedColors.BLACK.getIndex());
 	}
 
+	@Test
 	public void testConstructor() {
 		XSSFFont xssfFont=new XSSFFont();
 		assertNotNull(xssfFont.getCTFont());
 	}
 
+	@Test
 	public void testBoldweight() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTBooleanProperty bool=ctFont.addNewB();
@@ -75,7 +83,8 @@ public final class TestXSSFFont extends
 		assertEquals(true, ctFont.getBArray(0).getVal());
 	}
 
-	public void testCharSet() {
+	@Test
+	public void testCharSet() throws IOException {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTIntProperty prop=ctFont.addNewCharset();
 		prop.setVal(FontCharset.ANSI.getValue());
@@ -89,37 +98,40 @@ public final class TestXSSFFont extends
 
 		// Try with a few less usual ones:
 		// Set with the Charset itself
-      xssfFont.setCharSet(FontCharset.RUSSIAN);
-      assertEquals(FontCharset.RUSSIAN.getValue(), xssfFont.getCharSet());
-      // And set with the Charset index
-      xssfFont.setCharSet(FontCharset.ARABIC.getValue());
-      assertEquals(FontCharset.ARABIC.getValue(), xssfFont.getCharSet());
-      xssfFont.setCharSet((byte)(FontCharset.ARABIC.getValue()));
-      assertEquals(FontCharset.ARABIC.getValue(), xssfFont.getCharSet());
-      
-      // This one isn't allowed
-      assertEquals(null, FontCharset.valueOf(9999));
-      try {
-         xssfFont.setCharSet(9999);
-         fail("Shouldn't be able to set an invalid charset");
-      } catch(POIXMLException e) {}
+        xssfFont.setCharSet(FontCharset.RUSSIAN);
+        assertEquals(FontCharset.RUSSIAN.getValue(), xssfFont.getCharSet());
+        // And set with the Charset index
+        xssfFont.setCharSet(FontCharset.ARABIC.getValue());
+        assertEquals(FontCharset.ARABIC.getValue(), xssfFont.getCharSet());
+        xssfFont.setCharSet((byte)(FontCharset.ARABIC.getValue()));
+        assertEquals(FontCharset.ARABIC.getValue(), xssfFont.getCharSet());
+        
+        // This one isn't allowed
+        assertEquals(null, FontCharset.valueOf(9999));
+        try {
+           xssfFont.setCharSet(9999);
+           fail("Shouldn't be able to set an invalid charset");
+        } catch(POIXMLException e) {}
       
 		
 		// Now try with a few sample files
 		
 		// Normal charset
-      XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("Formatting.xlsx");
-      assertEquals(0, 
-            workbook.getSheetAt(0).getRow(0).getCell(0).getCellStyle().getFont().getCharSet()
-      );
+        XSSFWorkbook wb1 = XSSFTestDataSamples.openSampleWorkbook("Formatting.xlsx");
+        assertEquals(0, 
+              wb1.getSheetAt(0).getRow(0).getCell(0).getCellStyle().getFont().getCharSet()
+        );
+        wb1.close();
 		
 		// GB2312 charact set
-      workbook = XSSFTestDataSamples.openSampleWorkbook("49273.xlsx");
-      assertEquals(134, 
-            workbook.getSheetAt(0).getRow(0).getCell(0).getCellStyle().getFont().getCharSet()
-      );
+        XSSFWorkbook wb2 = XSSFTestDataSamples.openSampleWorkbook("49273.xlsx");
+        assertEquals(134, 
+              wb2.getSheetAt(0).getRow(0).getCell(0).getCellStyle().getFont().getCharSet()
+        );
+        wb2.close();
 	}
 
+	@Test
 	public void testFontName() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTFontName fname=ctFont.addNewName();
@@ -133,6 +145,7 @@ public final class TestXSSFFont extends
 		assertEquals("Courier",ctFont.getNameArray(0).getVal());
 	}
 
+	@Test
 	public void testItalic() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTBooleanProperty bool=ctFont.addNewI();
@@ -148,6 +161,7 @@ public final class TestXSSFFont extends
 		assertEquals(true,ctFont.getIArray(0).getVal());
 	}
 
+	@Test
 	public void testStrikeout() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTBooleanProperty bool=ctFont.addNewStrike();
@@ -163,6 +177,7 @@ public final class TestXSSFFont extends
 		assertEquals(true,ctFont.getStrikeArray(0).getVal());
 	}
 
+	@Test
 	public void testFontHeight() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTFontSize size=ctFont.addNewSz();
@@ -176,6 +191,7 @@ public final class TestXSSFFont extends
 		assertEquals(20.0, ctFont.getSzArray(0).getVal(), 0.0);
 	}
 
+	@Test
 	public void testFontHeightInPoint() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTFontSize size=ctFont.addNewSz();
@@ -189,6 +205,7 @@ public final class TestXSSFFont extends
 		assertEquals(20.0, ctFont.getSzArray(0).getVal(), 0.0);
 	}
 
+	@Test
 	public void testUnderline() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTUnderlineProperty underlinePropr=ctFont.addNewU();
@@ -207,6 +224,7 @@ public final class TestXSSFFont extends
 		assertEquals(STUnderlineValues.DOUBLE_ACCOUNTING,ctFont.getUArray(0).getVal());
 	}
 
+	@Test
 	public void testColor() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTColor color=ctFont.addNewColor();
@@ -220,11 +238,12 @@ public final class TestXSSFFont extends
 		assertEquals(IndexedColors.RED.getIndex(), ctFont.getColorArray(0).getIndexed());
 	}
 
+	@Test
 	public void testRgbColor() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTColor color=ctFont.addNewColor();
 
-		color.setRgb(Integer.toHexString(0xFFFFFF).getBytes());
+		color.setRgb(Integer.toHexString(0xFFFFFF).getBytes(LocaleUtil.CHARSET_1252));
 		ctFont.setColorArray(0,color);
 
 		XSSFFont xssfFont=new XSSFFont(ctFont);
@@ -235,7 +254,7 @@ public final class TestXSSFFont extends
 
 		xssfFont.setColor((short)23);
 		
-		byte[] bytes = Integer.toHexString(0xF1F1F1).getBytes();
+		byte[] bytes = Integer.toHexString(0xF1F1F1).getBytes(LocaleUtil.CHARSET_1252);
         color.setRgb(bytes);
 		XSSFColor newColor=new XSSFColor(color);
 		xssfFont.setColor(newColor);
@@ -245,6 +264,7 @@ public final class TestXSSFFont extends
 		assertEquals(0, xssfFont.getColor());
 	}
 
+	@Test
 	public void testThemeColor() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTColor color=ctFont.addNewColor();
@@ -258,6 +278,7 @@ public final class TestXSSFFont extends
 		assertEquals(IndexedColors.RED.getIndex(),ctFont.getColorArray(0).getTheme());
 	}
 
+	@Test
 	public void testFamily() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTIntProperty family=ctFont.addNewFamily();
@@ -268,6 +289,7 @@ public final class TestXSSFFont extends
 		assertEquals(FontFamily.MODERN.getValue(),xssfFont.getFamily());
 	}
 
+	@Test
 	public void testScheme() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTFontScheme scheme=ctFont.addNewScheme();
@@ -281,6 +303,7 @@ public final class TestXSSFFont extends
 		assertEquals(STFontScheme.NONE,ctFont.getSchemeArray(0).getVal());
 	}
 
+	@Test
 	public void testTypeOffset() {
 		CTFont ctFont=CTFont.Factory.newInstance();
 		CTVerticalAlignFontProperty valign=ctFont.addNewVertAlign();
@@ -295,7 +318,8 @@ public final class TestXSSFFont extends
 	}
 
 	// store test from TestSheetUtil here as it uses XSSF
-    public void testCanComputeWidthXSSF() throws IOException {
+	@Test
+	public void testCanComputeWidthXSSF() throws IOException {
         Workbook wb = new XSSFWorkbook();
 
         // cannot check on result because on some machines we get back false here!
@@ -305,7 +329,8 @@ public final class TestXSSFFont extends
     }
 
     // store test from TestSheetUtil here as it uses XSSF
-    public void testCanComputeWidthInvalidFont() throws IOException {
+	@Test
+	public void testCanComputeWidthInvalidFont() throws IOException {
         Font font = new XSSFFont(CTFont.Factory.newInstance());
         font.setFontName("some non existing font name");
         

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java Thu Nov  5 00:15:51 2015
@@ -24,6 +24,7 @@ import java.util.List;
 
 import org.apache.poi.ss.usermodel.BaseTestPicture;
 import org.apache.poi.ss.usermodel.ClientAnchor;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.junit.Test;
@@ -58,7 +59,7 @@ public final class TestXSSFPicture exten
         XSSFSheet sheet = wb.createSheet();
         XSSFDrawing drawing = sheet.createDrawingPatriarch();
 
-        byte[] jpegData = "test jpeg data".getBytes();
+        byte[] jpegData = "test jpeg data".getBytes(LocaleUtil.CHARSET_1252);
 
         List<XSSFPictureData> pictures = wb.getAllPictures();
         assertEquals(0, pictures.size());
@@ -97,13 +98,13 @@ public final class TestXSSFPicture exten
         XSSFDrawing drawing = sheet.createDrawingPatriarch();
 
         XSSFClientAnchor anchor = new XSSFClientAnchor(0, 0, 0, 0, 1, 1, 10, 30);
-        byte[] jpegData = "picture1".getBytes();
+        byte[] jpegData = "picture1".getBytes(LocaleUtil.CHARSET_1252);
         int jpegIdx = wb.addPicture(jpegData, XSSFWorkbook.PICTURE_TYPE_JPEG);
 
         XSSFPicture shape1 = drawing.createPicture(anchor, jpegIdx);
         assertEquals(1, shape1.getCTPicture().getNvPicPr().getCNvPr().getId());
 
-        jpegData = "picture2".getBytes();
+        jpegData = "picture2".getBytes(LocaleUtil.CHARSET_1252);
         jpegIdx = wb.addPicture(jpegData, XSSFWorkbook.PICTURE_TYPE_JPEG);
         XSSFPicture shape2 = drawing.createPicture(anchor, jpegIdx);
         assertEquals(2, shape2.getCTPicture().getNvPicPr().getCNvPr().getId());
@@ -118,8 +119,8 @@ public final class TestXSSFPicture exten
     public void multiRelationShips() throws IOException {
         XSSFWorkbook wb = new XSSFWorkbook();
 
-        byte[] pic1Data = "test jpeg data".getBytes();
-        byte[] pic2Data = "test png data".getBytes();
+        byte[] pic1Data = "test jpeg data".getBytes(LocaleUtil.CHARSET_1252);
+        byte[] pic2Data = "test png data".getBytes(LocaleUtil.CHARSET_1252);
 
         List<XSSFPictureData> pictures = wb.getAllPictures();
         assertEquals(0, pictures.size());

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java Thu Nov  5 00:15:51 2015
@@ -18,18 +18,23 @@
 package org.apache.poi.xssf.usermodel;
 
 import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
+import java.io.IOException;
 import java.util.List;
 
-import junit.framework.TestCase;
-
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.junit.Test;
 
 /**
  * @author Yegor Kozlov
  */
-public final class TestXSSFPictureData extends TestCase {
-    public void testRead(){
+public final class TestXSSFPictureData {
+    @Test
+    public void testRead() throws IOException {
         XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("WithDrawing.xlsx");
         List<XSSFPictureData> pictures = wb.getAllPictures();
         //wb.getAllPictures() should return the same instance across multiple calls
@@ -54,16 +59,18 @@ public final class TestXSSFPictureData e
         XSSFPictureData pict = pictures.get(idx);
         assertEquals("jpeg", pict.suggestFileExtension());
         assertArrayEquals(pictureData, pict.getData());
+        wb.close();
     }
 
-    public void testNew(){
+    @Test
+    public void testNew() throws IOException {
         XSSFWorkbook wb = new XSSFWorkbook();
         XSSFSheet sheet = wb.createSheet();
         XSSFDrawing drawing = sheet.createDrawingPatriarch();
 
-        byte[] jpegData = "test jpeg data".getBytes();
-        byte[] wmfData =  "test wmf data".getBytes();
-        byte[] pngData =  "test png data".getBytes();
+        byte[] jpegData = "test jpeg data".getBytes(LocaleUtil.CHARSET_1252);
+        byte[] wmfData =  "test wmf data".getBytes(LocaleUtil.CHARSET_1252);
+        byte[] pngData =  "test png data".getBytes(LocaleUtil.CHARSET_1252);
 
         List<XSSFPictureData> pictures = wb.getAllPictures();
         assertEquals(0, pictures.size());
@@ -104,13 +111,15 @@ public final class TestXSSFPictureData e
 
         assertEquals("png", pictures2.get(pngIdx).suggestFileExtension());
         assertArrayEquals(pngData, pictures2.get(pngIdx).getData());
-
+        wbBack.close();
+        wb.close();
     }
 
     /**
      * Bug 53568:  XSSFPicture.getPictureData() can return null.
      */
-    public void test53568(){
+    @Test
+    public void test53568() throws IOException {
         XSSFWorkbook wb = XSSFTestDataSamples.openSampleWorkbook("53568.xlsx");
         List<XSSFPictureData> pictures = wb.getAllPictures();
         assertNotNull(pictures);
@@ -132,6 +141,6 @@ public final class TestXSSFPictureData e
                 }
             }
         }
-
+        wb.close();
     }
 }

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java Thu Nov  5 00:15:51 2015
@@ -31,7 +31,6 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
-import java.util.GregorianCalendar;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -53,6 +52,7 @@ import org.apache.poi.ss.util.AreaRefere
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.ss.util.CellUtil;
+import org.apache.poi.util.LocaleUtil;
 import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.apache.poi.xssf.model.CalculationChain;
@@ -1479,7 +1479,7 @@ public final class TestXSSFSheet extends
         // Date
         cell = CellUtil.getCell(destRow, col++);
         assertEquals("[Date] E7 cell type", Cell.CELL_TYPE_NUMERIC, cell.getCellType());
-        final Date date = new GregorianCalendar(2000, Calendar.JANUARY, 1).getTime();
+        final Date date = LocaleUtil.getLocaleCalendar(2000, Calendar.JANUARY, 1).getTime();
         assertEquals("[Date] E7 cell value", date, cell.getDateCellValue());
 
         // Boolean
@@ -1641,12 +1641,12 @@ public final class TestXSSFSheet extends
         col++;
         cell = CellUtil.getCell(destRow1, col);
         assertEquals("[Date] E10 cell type", Cell.CELL_TYPE_NUMERIC, cell.getCellType());
-        Date date = new GregorianCalendar(2000, Calendar.JANUARY, 1).getTime();
+        Date date = LocaleUtil.getLocaleCalendar(2000, Calendar.JANUARY, 1).getTime();
         assertEquals("[Date] E10 cell value", date, cell.getDateCellValue());
         
         cell = CellUtil.getCell(destRow2, col);
         assertEquals("[Date] E11 cell type", Cell.CELL_TYPE_NUMERIC, cell.getCellType());
-        date = new GregorianCalendar(2000, Calendar.JANUARY, 2).getTime();
+        date = LocaleUtil.getLocaleCalendar(2000, Calendar.JANUARY, 2).getTime();
         assertEquals("[Date] E11 cell value", date, cell.getDateCellValue());
         
         // Boolean

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java Thu Nov  5 00:15:51 2015
@@ -742,7 +742,7 @@ public final class TestXSSFWorkbook exte
 
             sheetBack.commit();
 
-            String str = new String(IOUtils.toByteArray(sheetBack.getPackagePart().getInputStream()));
+            String str = new String(IOUtils.toByteArray(sheetBack.getPackagePart().getInputStream()), "UTF-8");
 
             assertEquals(1, countMatches(str, "<worksheet"));
         } finally {

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java Thu Nov  5 00:15:51 2015
@@ -17,9 +17,12 @@
 
 package org.apache.poi.hssf.usermodel;
 
+import java.io.IOException;
+
 import org.apache.poi.hssf.HSSFITestDataProvider;
 import org.apache.poi.ss.usermodel.BaseTestFont;
 import org.apache.poi.ss.usermodel.Font;
+import org.junit.Test;
 
 /**
  * Tests various functionality having to do with {@link org.apache.poi.ss.usermodel.Name}.
@@ -32,7 +35,8 @@ public final class TestHSSFFont extends
         super(HSSFITestDataProvider.instance);
     }
 
-    public void testDefaultFont() {
+    @Test
+    public void testDefaultFont() throws IOException {
         baseTestDefaultFont(HSSFFont.FONT_ARIAL, (short)200, Font.COLOR_NORMAL);
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestUnfixedBugs.java Thu Nov  5 00:15:51 2015
@@ -17,10 +17,10 @@
 
 package org.apache.poi.hssf.usermodel;
 
-import java.io.IOException;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
+import java.io.IOException;
 
 import org.apache.poi.hssf.HSSFTestDataSamples;
 import org.apache.poi.hssf.record.RecordFormatException;
@@ -31,6 +31,8 @@ import org.apache.poi.ss.usermodel.Sheet
 import org.apache.poi.ss.usermodel.Workbook;
 import org.junit.Test;
 
+import junit.framework.AssertionFailedError;
+
 /**
  * @author aviks
  * 
@@ -40,8 +42,9 @@ import org.junit.Test;
  * Bugzilla id's PLEASE MOVE tests from this class to TestBugs once the bugs are
  * fixed, so that they are then run automatically.
  */
-public final class TestUnfixedBugs extends TestCase {
+public final class TestUnfixedBugs {
 
+    @Test
 	public void test43493() {
 		// Has crazy corrupt sub-records on
 		// a EmbeddedObjectRefSubRecord
@@ -59,6 +62,7 @@ public final class TestUnfixedBugs exten
 	 * Note - some parts of this bug have been fixed, and have been
 	 * transfered over to {@link TestBugs#bug49612_part()}
 	 */
+    @Test
     public void test49612() throws IOException {
         HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("49612.xls");
         HSSFSheet sh = wb.getSheetAt(0);
@@ -79,54 +83,65 @@ public final class TestUnfixedBugs exten
         assertEquals("SUM('49612.xls'!BOB+'49612.xls'!JIM)", e1.getCellFormula());
         
         // Problem 3 - fixed and transfered
+        wb.close();
     }
 
+    @Test
     public void testFormulaRecordAggregate_1() throws Exception {
         // fails at formula "=MEHRFACH.OPERATIONEN(E$3;$B$5;$D4)"
         Workbook wb = HSSFTestDataSamples.openSampleWorkbook("44958_1.xls");
-        for(int i = 0;i < wb.getNumberOfSheets();i++) {
-            Sheet sheet = wb.getSheetAt(i);
-            assertNotNull(wb.getSheet(sheet.getSheetName()));
-            sheet.groupColumn((short) 4, (short) 5);
-            sheet.setColumnGroupCollapsed(4, true);
-            sheet.setColumnGroupCollapsed(4, false);
-            
-            for(Row row : sheet) {
-                for(Cell cell : row) {
-                    try {
-                        cell.toString();
-                    } catch (Exception e) {
-                        throw new Exception("While handling: " + sheet.getSheetName() + "/" + row.getRowNum() + "/" + cell.getColumnIndex(), e);
+        try {
+            for(int i = 0;i < wb.getNumberOfSheets();i++) {
+                Sheet sheet = wb.getSheetAt(i);
+                assertNotNull(wb.getSheet(sheet.getSheetName()));
+                sheet.groupColumn((short) 4, (short) 5);
+                sheet.setColumnGroupCollapsed(4, true);
+                sheet.setColumnGroupCollapsed(4, false);
+                
+                for(Row row : sheet) {
+                    for(Cell cell : row) {
+                        try {
+                            cell.toString();
+                        } catch (Exception e) {
+                            throw new Exception("While handling: " + sheet.getSheetName() + "/" + row.getRowNum() + "/" + cell.getColumnIndex(), e);
+                        }
                     }
                 }
             }
+        } finally {
+            wb.close();
         }
     }
 
+    @Test
     public void testFormulaRecordAggregate() throws Exception {
         // fails at formula "=MEHRFACH.OPERATIONEN(E$3;$B$5;$D4)"
         Workbook wb = HSSFTestDataSamples.openSampleWorkbook("44958.xls");
-        for(int i = 0;i < wb.getNumberOfSheets();i++) {
-            Sheet sheet = wb.getSheetAt(i);
-            assertNotNull(wb.getSheet(sheet.getSheetName()));
-            sheet.groupColumn((short) 4, (short) 5);
-            sheet.setColumnGroupCollapsed(4, true);
-            sheet.setColumnGroupCollapsed(4, false);
-            
-            for(Row row : sheet) {
-                for(Cell cell : row) {
-                    try {
-                        cell.toString();
-                    } catch (Exception e) {
-                        throw new Exception("While handling: " + sheet.getSheetName() + "/" + row.getRowNum() + "/" + cell.getColumnIndex(), e);
+        try {
+            for(int i = 0;i < wb.getNumberOfSheets();i++) {
+                Sheet sheet = wb.getSheetAt(i);
+                assertNotNull(wb.getSheet(sheet.getSheetName()));
+                sheet.groupColumn((short) 4, (short) 5);
+                sheet.setColumnGroupCollapsed(4, true);
+                sheet.setColumnGroupCollapsed(4, false);
+                
+                for(Row row : sheet) {
+                    for(Cell cell : row) {
+                        try {
+                            cell.toString();
+                        } catch (Exception e) {
+                            throw new Exception("While handling: " + sheet.getSheetName() + "/" + row.getRowNum() + "/" + cell.getColumnIndex(), e);
+                        }
                     }
                 }
-            }
+            } 
+        } finally {
+            wb.close();
         }
     }
 
     @Test
-    public void testBug57074() {
+    public void testBug57074() throws IOException {
         Workbook wb = HSSFTestDataSamples.openSampleWorkbook("57074.xls");
         Sheet sheet = wb.getSheet("Sheet1");
         Row row = sheet.getRow(0);
@@ -141,5 +156,6 @@ public final class TestUnfixedBugs exten
         String fontColorStr = fontColor.getTriplet()[0]+", "+fontColor.getTriplet()[1]+", "+fontColor.getTriplet()[2];
         //System.out.println(fontColorStr);
         assertEquals("0, 128, 128", fontColorStr);
+        wb.close();
     }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFont.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFont.java?rev=1712693&r1=1712692&r2=1712693&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFont.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestFont.java Thu Nov  5 00:15:51 2015
@@ -17,14 +17,17 @@
 
 package org.apache.poi.ss.usermodel;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.*;
+
+import java.io.IOException;
 
 import org.apache.poi.ss.ITestDataProvider;
+import org.junit.Test;
 
 /**
  * @author Yegor Kozlov
  */
-public abstract class BaseTestFont extends TestCase {
+public abstract class BaseTestFont {
 
     private final ITestDataProvider _testDataProvider;
 
@@ -32,7 +35,7 @@ public abstract class BaseTestFont exten
         _testDataProvider = testDataProvider;
     }
 
-    protected final void baseTestDefaultFont(String defaultName, short defaultSize, short defaultColor){
+    protected final void baseTestDefaultFont(String defaultName, short defaultSize, short defaultColor) throws IOException {
         //get default font and check against default value
         Workbook workbook = _testDataProvider.createWorkbook();
         Font fontFind=workbook.findFont(Font.BOLDWEIGHT_NORMAL, defaultColor, defaultSize, defaultName, false, false, Font.SS_NONE, Font.U_NONE);
@@ -49,9 +52,11 @@ public abstract class BaseTestFont exten
         assertEquals(15, font.getFontHeightInPoints());
         fontFind=workbook.findFont(Font.BOLDWEIGHT_BOLD, defaultColor, (short)(15*20), defaultName, false, false, Font.SS_NONE, Font.U_DOUBLE);
         assertNotNull(fontFind);
+        workbook.close();
     }
 
-    public final void testGetNumberOfFonts(){
+    @Test
+    public final void testGetNumberOfFonts() throws IOException {
         Workbook wb = _testDataProvider.createWorkbook();
         int num0 = wb.getNumberOfFonts();
 
@@ -74,63 +79,68 @@ public abstract class BaseTestFont exten
         assertEquals(Font.BOLDWEIGHT_BOLD,wb.getFontAt(idx1).getBoldweight());
         assertEquals(Font.U_DOUBLE,wb.getFontAt(idx2).getUnderline());
         assertEquals(23,wb.getFontAt(idx3).getFontHeightInPoints());
+        wb.close();
 	}
 
     /**
      * Tests that we can define fonts to a new
      *  file, save, load, and still see them
      */
-    public final void testCreateSave() {
-        Workbook wb = _testDataProvider.createWorkbook();
-        Sheet s1 = wb.createSheet();
+    @Test
+    public final void testCreateSave() throws IOException {
+        Workbook wb1 = _testDataProvider.createWorkbook();
+        Sheet s1 = wb1.createSheet();
         Row r1 = s1.createRow(0);
         Cell r1c1 = r1.createCell(0);
         r1c1.setCellValue(2.2);
 
-        int num0 = wb.getNumberOfFonts();
+        int num0 = wb1.getNumberOfFonts();
 
-        Font font=wb.createFont();
+        Font font=wb1.createFont();
         font.setBoldweight(Font.BOLDWEIGHT_BOLD);
         font.setStrikeout(true);
         font.setColor(IndexedColors.YELLOW.getIndex());
         font.setFontName("Courier");
         short font1Idx = font.getIndex();
-        wb.createCellStyle().setFont(font);
-        assertEquals(num0 + 1, wb.getNumberOfFonts());
+        wb1.createCellStyle().setFont(font);
+        assertEquals(num0 + 1, wb1.getNumberOfFonts());
 
-        CellStyle cellStyleTitle=wb.createCellStyle();
+        CellStyle cellStyleTitle=wb1.createCellStyle();
         cellStyleTitle.setFont(font);
         r1c1.setCellStyle(cellStyleTitle);
 
         // Save and re-load
-        wb = _testDataProvider.writeOutAndReadBack(wb);
-        s1 = wb.getSheetAt(0);
+        Workbook wb2 = _testDataProvider.writeOutAndReadBack(wb1);
+        wb1.close();
+        s1 = wb2.getSheetAt(0);
 
-        assertEquals(num0 + 1, wb.getNumberOfFonts());
+        assertEquals(num0 + 1, wb2.getNumberOfFonts());
         short idx = s1.getRow(0).getCell(0).getCellStyle().getFontIndex();
-        Font fnt = wb.getFontAt(idx);
+        Font fnt = wb2.getFontAt(idx);
         assertNotNull(fnt);
         assertEquals(IndexedColors.YELLOW.getIndex(), fnt.getColor());
         assertEquals("Courier", fnt.getFontName());
 
         // Now add an orphaned one
-        Font font2 = wb.createFont();
+        Font font2 = wb2.createFont();
         font2.setItalic(true);
         font2.setFontHeightInPoints((short)15);
         short font2Idx = font2.getIndex();
-        wb.createCellStyle().setFont(font2);
-        assertEquals(num0 + 2, wb.getNumberOfFonts());
+        wb2.createCellStyle().setFont(font2);
+        assertEquals(num0 + 2, wb2.getNumberOfFonts());
 
         // Save and re-load
-        wb = _testDataProvider.writeOutAndReadBack(wb);
-        s1 = wb.getSheetAt(0);
-
-        assertEquals(num0 + 2, wb.getNumberOfFonts());
-        assertNotNull(wb.getFontAt(font1Idx));
-        assertNotNull(wb.getFontAt(font2Idx));
-
-        assertEquals(15, wb.getFontAt(font2Idx).getFontHeightInPoints());
-        assertEquals(true, wb.getFontAt(font2Idx).getItalic());
+        Workbook wb3 = _testDataProvider.writeOutAndReadBack(wb2);
+        wb2.close();
+        s1 = wb3.getSheetAt(0);
+
+        assertEquals(num0 + 2, wb3.getNumberOfFonts());
+        assertNotNull(wb3.getFontAt(font1Idx));
+        assertNotNull(wb3.getFontAt(font2Idx));
+
+        assertEquals(15, wb3.getFontAt(font2Idx).getFontHeightInPoints());
+        assertEquals(true, wb3.getFontAt(font2Idx).getItalic());
+        wb3.close();
     }
 
     /**
@@ -138,7 +148,8 @@ public abstract class BaseTestFont exten
      *
      * @see org.apache.poi.hssf.usermodel.TestBugs#test45338()
      */
-    public final void test45338() {
+    @Test
+    public final void test45338() throws IOException {
         Workbook wb = _testDataProvider.createWorkbook();
         int num0 = wb.getNumberOfFonts();
 
@@ -200,5 +211,6 @@ public abstract class BaseTestFont exten
                    "Thingy", false, true, (short)2, (byte)2
                )
         );
+        wb.close();
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org