Author: bodewig
Date: Thu Aug 14 15:07:18 2014
New Revision: 1617967

URL: http://svn.apache.org/r1617967
Log:
COMPRESS-285 add some tests that can only test the XZ is there case - wouldn't 
know how to get rid of it during tests

Added:
    
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/xz/
    
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java
      - copied, changed from r1617881, 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/XZUtilsTestCase.java
Removed:
    
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/XZUtilsTestCase.java
Modified:
    
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java

Modified: 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java?rev=1617967&r1=1617966&r2=1617967&view=diff
==============================================================================
--- 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java
 (original)
+++ 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/xz/XZUtils.java
 Thu Aug 14 15:07:18 2014
@@ -171,4 +171,9 @@ public class XZUtils {
             cachedXZAvailability.set(hasXz ? CACHED_AVAILABLE : 
CACHED_UNAVAILABLE);
         }
     }
+
+    // only exists to support unit tests
+    static int getCachedXZAvailability() {
+        return cachedXZAvailability.get();
+    }
 }

Copied: 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java
 (from r1617881, 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/XZUtilsTestCase.java)
URL: 
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java?p2=commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java&p1=commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/XZUtilsTestCase.java&r1=1617881&r2=1617967&rev=1617967&view=diff
==============================================================================
--- 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/XZUtilsTestCase.java
 (original)
+++ 
commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/compressors/xz/XZUtilsTestCase.java
 Thu Aug 14 15:07:18 2014
@@ -16,12 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.commons.compress.compressors;
+package org.apache.commons.compress.compressors.xz;
 
 import junit.framework.TestCase;
 
-import org.apache.commons.compress.compressors.xz.XZUtils;
-
 public class XZUtilsTestCase extends TestCase {
 
     public void testIsCompressedFilename() {
@@ -76,4 +74,30 @@ public class XZUtilsTestCase extends Tes
         assertFalse(XZUtils.matches(data, 6));
     }
 
+    public void testCachingIsEnabledByDefaultAndXZIsPresent() {
+        assertEquals(1, XZUtils.getCachedXZAvailability());
+        assertTrue(XZUtils.isXZCompressionAvailable());
+    }
+
+    public void testCanTurnOffCaching() {
+        try {
+            XZUtils.setCacheXZAvailablity(false);
+            assertEquals(2, XZUtils.getCachedXZAvailability());
+            assertTrue(XZUtils.isXZCompressionAvailable());
+        } finally {
+            XZUtils.setCacheXZAvailablity(true);
+        }
+    }
+
+    public void testTurningOnCachingReEvaluatesAvailability() {
+        try {
+            XZUtils.setCacheXZAvailablity(false);
+            assertEquals(2, XZUtils.getCachedXZAvailability());
+            XZUtils.setCacheXZAvailablity(true);
+            assertEquals(1, XZUtils.getCachedXZAvailability());
+        } finally {
+            XZUtils.setCacheXZAvailablity(true);
+        }
+    }
+
 }


Reply via email to