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);
+ }
+ }
+
}