aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/android/volley/toolbox/DiskBasedCacheTest.java39
-rw-r--r--src/test/java/com/android/volley/toolbox/HttpHeaderParserTest.java44
-rw-r--r--src/test/java/com/android/volley/toolbox/ImageLoaderTest.java2
3 files changed, 40 insertions, 45 deletions
diff --git a/src/test/java/com/android/volley/toolbox/DiskBasedCacheTest.java b/src/test/java/com/android/volley/toolbox/DiskBasedCacheTest.java
index bf1d258..0a8be77 100644
--- a/src/test/java/com/android/volley/toolbox/DiskBasedCacheTest.java
+++ b/src/test/java/com/android/volley/toolbox/DiskBasedCacheTest.java
@@ -125,45 +125,6 @@ public class DiskBasedCacheTest {
assertEquals(DiskBasedCache.readStringStringMap(bais), emptyValue);
}
- /** deserializing the old format into the new one. */
- @Test public void testCacheHeaderSerializationOldToNewFormat() throws Exception {
-
- final int CACHE_MAGIC = 0x20140623;
- final String key = "key";
- final String etag = "etag";
- final long serverDate = 1234567890l;
- final long ttl = 1357924680l;
- final long softTtl = 2468013579l;
-
- Map<String, String> responseHeaders = new HashMap<String, String>();
- responseHeaders.put("first", "thing");
- responseHeaders.put("second", "item");
-
- // write old sytle header (without lastModified)
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- DiskBasedCache.writeInt(baos, CACHE_MAGIC);
- DiskBasedCache.writeString(baos, key);
- DiskBasedCache.writeString(baos, etag == null ? "" : etag);
- DiskBasedCache.writeLong(baos, serverDate);
- DiskBasedCache.writeLong(baos, ttl);
- DiskBasedCache.writeLong(baos, softTtl);
- DiskBasedCache.writeStringStringMap(responseHeaders, baos);
-
- // read / test new style header (with lastModified)
- ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- CacheHeader cacheHeader = CacheHeader.readHeader(bais);
-
- assertEquals(cacheHeader.key, key);
- assertEquals(cacheHeader.etag, etag);
- assertEquals(cacheHeader.serverDate, serverDate);
- assertEquals(cacheHeader.ttl, ttl);
- assertEquals(cacheHeader.softTtl, softTtl);
- assertEquals(cacheHeader.responseHeaders, responseHeaders);
-
- // the old format doesn't know lastModified
- assertEquals(cacheHeader.lastModified, 0);
- }
-
@Test
public void publicMethods() throws Exception {
// Catch-all test to find API-breaking changes.
diff --git a/src/test/java/com/android/volley/toolbox/HttpHeaderParserTest.java b/src/test/java/com/android/volley/toolbox/HttpHeaderParserTest.java
index f9230c6..fd8cf51 100644
--- a/src/test/java/com/android/volley/toolbox/HttpHeaderParserTest.java
+++ b/src/test/java/com/android/volley/toolbox/HttpHeaderParserTest.java
@@ -41,6 +41,7 @@ public class HttpHeaderParserTest {
private static long ONE_MINUTE_MILLIS = 1000L * 60;
private static long ONE_HOUR_MILLIS = 1000L * 60 * 60;
private static long ONE_DAY_MILLIS = ONE_HOUR_MILLIS * 24;
+ private static long ONE_WEEK_MILLIS = ONE_DAY_MILLIS * 7;
private NetworkResponse response;
private Map<String, String> headers;
@@ -135,7 +136,7 @@ public class HttpHeaderParserTest {
assertNotNull(entry);
assertNull(entry.etag);
- assertEqualsWithin(now + 24 * ONE_HOUR_MILLIS, entry.ttl, ONE_MINUTE_MILLIS);
+ assertEqualsWithin(now + ONE_DAY_MILLIS, entry.ttl, ONE_MINUTE_MILLIS);
assertEquals(entry.softTtl, entry.ttl);
}
@@ -153,8 +154,8 @@ public class HttpHeaderParserTest {
assertNotNull(entry);
assertNull(entry.etag);
- assertEqualsWithin(now + 24 * ONE_HOUR_MILLIS, entry.softTtl, ONE_MINUTE_MILLIS);
- assertEqualsWithin(now + 8 * 24 * ONE_HOUR_MILLIS, entry.ttl, ONE_MINUTE_MILLIS);
+ assertEqualsWithin(now + ONE_DAY_MILLIS, entry.softTtl, ONE_MINUTE_MILLIS);
+ assertEqualsWithin(now + ONE_DAY_MILLIS + ONE_WEEK_MILLIS, entry.ttl, ONE_MINUTE_MILLIS);
}
@Test public void parseCacheHeaders_cacheControlNoCache() {
@@ -168,20 +169,51 @@ public class HttpHeaderParserTest {
assertNull(entry);
}
- @Test public void parseCacheHeaders_cacheControlMustRevalidate() {
+ @Test public void parseCacheHeaders_cacheControlMustRevalidateNoMaxAge() {
long now = System.currentTimeMillis();
headers.put("Date", rfc1123Date(now));
headers.put("Expires", rfc1123Date(now + ONE_HOUR_MILLIS));
headers.put("Cache-Control", "must-revalidate");
Cache.Entry entry = HttpHeaderParser.parseCacheHeaders(response);
-
assertNotNull(entry);
assertNull(entry.etag);
assertEqualsWithin(now, entry.ttl, ONE_MINUTE_MILLIS);
assertEquals(entry.softTtl, entry.ttl);
}
+ @Test public void parseCacheHeaders_cacheControlMustRevalidateWithMaxAge() {
+ long now = System.currentTimeMillis();
+ headers.put("Date", rfc1123Date(now));
+ headers.put("Expires", rfc1123Date(now + ONE_HOUR_MILLIS));
+ headers.put("Cache-Control", "must-revalidate, max-age=3600");
+
+ Cache.Entry entry = HttpHeaderParser.parseCacheHeaders(response);
+ assertNotNull(entry);
+ assertNull(entry.etag);
+ assertEqualsWithin(now + ONE_HOUR_MILLIS, entry.ttl, ONE_MINUTE_MILLIS);
+ assertEquals(entry.softTtl, entry.ttl);
+ }
+
+ @Test public void parseCacheHeaders_cacheControlMustRevalidateWithMaxAgeAndStale() {
+ long now = System.currentTimeMillis();
+ headers.put("Date", rfc1123Date(now));
+ headers.put("Expires", rfc1123Date(now + ONE_HOUR_MILLIS));
+
+ // - max-age (entry.softTtl) indicates that the asset is fresh for 1 day
+ // - stale-while-revalidate (entry.ttl) indicates that the asset may
+ // continue to be served stale for up to additional 7 days, but this is
+ // ignored in this case because of the must-revalidate header.
+ headers.put("Cache-Control",
+ "must-revalidate, max-age=86400, stale-while-revalidate=604800");
+
+ Cache.Entry entry = HttpHeaderParser.parseCacheHeaders(response);
+ assertNotNull(entry);
+ assertNull(entry.etag);
+ assertEqualsWithin(now + ONE_DAY_MILLIS, entry.softTtl, ONE_MINUTE_MILLIS);
+ assertEquals(entry.softTtl, entry.ttl);
+ }
+
private void assertEqualsWithin(long expected, long value, long fudgeFactor) {
long diff = Math.abs(expected - value);
assertTrue(diff < fudgeFactor);
@@ -253,7 +285,7 @@ public class HttpHeaderParserTest {
assertNotNull(entry);
assertEquals("Yow!", entry.etag);
- assertEqualsWithin(now + 24 * ONE_HOUR_MILLIS, entry.ttl, ONE_MINUTE_MILLIS);
+ assertEqualsWithin(now + ONE_DAY_MILLIS, entry.ttl, ONE_MINUTE_MILLIS);
assertEquals(entry.softTtl, entry.ttl);
assertEquals("ISO-8859-1", HttpHeaderParser.parseCharset(headers));
}
diff --git a/src/test/java/com/android/volley/toolbox/ImageLoaderTest.java b/src/test/java/com/android/volley/toolbox/ImageLoaderTest.java
index 81de6fe..8a19817 100644
--- a/src/test/java/com/android/volley/toolbox/ImageLoaderTest.java
+++ b/src/test/java/com/android/volley/toolbox/ImageLoaderTest.java
@@ -84,6 +84,8 @@ public class ImageLoaderTest {
assertNotNull(ImageLoader.class.getMethod("getImageListener", ImageView.class,
int.class, int.class));
assertNotNull(ImageLoader.class.getMethod("isCached", String.class, int.class, int.class));
+ assertNotNull(ImageLoader.class.getMethod("isCached", String.class, int.class, int.class,
+ ImageView.ScaleType.class));
assertNotNull(ImageLoader.class.getMethod("get", String.class,
ImageLoader.ImageListener.class));
assertNotNull(ImageLoader.class.getMethod("get", String.class,