You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2016/04/10 06:18:42 UTC

[26/46] commons-compress git commit: Revert "remove powermockito tests for Java5 compatibility"

Revert "remove powermockito tests for Java5 compatibility"

This reverts commit 142a788ad8102cd30b04746d4dc1b0bd56927059.


Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/e7c50cef
Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/e7c50cef
Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/e7c50cef

Branch: refs/heads/COMPRESS-207
Commit: e7c50ceff3d12c94730849aab73978ebd857d3f9
Parents: 9cc0604
Author: Stefan Bodewig <bo...@apache.org>
Authored: Sat Apr 9 18:25:14 2016 +0200
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Sat Apr 9 18:25:14 2016 +0200

----------------------------------------------------------------------
 pom.xml                                         | 13 ++++
 .../archivers/sevenz/SevenZNativeHeapTest.java  | 64 ++++++++++++++++++++
 2 files changed, 77 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-compress/blob/e7c50cef/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 38f4be5..a2df99b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,7 @@ jar, tar, zip, dump, 7z, arj.
     <!-- configuration bits for cutting a release candidate -->
     <commons.release.version>${project.version}</commons.release.version>
     <commons.rc.version>RC1</commons.rc.version>
+    <powermock.version>1.6.4</powermock.version>
   </properties>
 
   <issueManagement>
@@ -65,6 +66,18 @@ jar, tar, zip, dump, 7z, arj.
       <version>1.5</version>
       <optional>true</optional>
     </dependency>
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-module-junit4</artifactId>
+      <version>${powermock.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-api-mockito</artifactId>
+      <version>${powermock.version}</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <developers>

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/e7c50cef/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
new file mode 100644
index 0000000..896af8c
--- /dev/null
+++ b/src/test/java/org/apache/commons/compress/archivers/sevenz/SevenZNativeHeapTest.java
@@ -0,0 +1,64 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package org.apache.commons.compress.archivers.sevenz;
+
+import org.apache.commons.compress.AbstractTestCase;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mockito;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.zip.Deflater;
+import java.util.zip.Inflater;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(Coders.DeflateDecoder.class)
+public class SevenZNativeHeapTest extends AbstractTestCase {
+
+    @InjectMocks
+    Coders.DeflateDecoder deflateDecoder;
+
+    @Test
+    public void testEndDeflaterOnCloseStream() throws Exception {
+        final Deflater deflater = PowerMockito.spy(new Deflater());
+        PowerMockito.whenNew(Deflater.class).withAnyArguments().thenReturn(deflater);
+
+        final OutputStream outputStream = deflateDecoder.encode(new ByteArrayOutputStream(), 9);
+        outputStream.close();
+
+        Mockito.verify(deflater).end();
+    }
+
+    @Test
+    public void testEndInflaterOnCloseStream() throws Exception {
+        final Inflater inflater = PowerMockito.spy(new Inflater());
+        PowerMockito.whenNew(Inflater.class).withAnyArguments().thenReturn(inflater);
+
+        final InputStream inputStream = deflateDecoder.decode("dummy",new ByteArrayInputStream(new byte[0]),0,null,null);
+        inputStream.close();
+
+        Mockito.verify(inflater).end();
+    }
+}