diff options
author | Anonymous <no-reply@google.com> | 2017-09-26 12:01:07 -0700 |
---|---|---|
committer | Jeff Davidson <jpd@google.com> | 2017-09-26 12:03:26 -0700 |
commit | 2021ca6a6c3fa80646220cb97746f0b1cd3ae103 (patch) | |
tree | 3ad9d0d376af6f97c8ff9c2505237a638201e07b /src/test | |
parent | ac8d9a1d940de5b5335c82c56dd42dec728dd443 (diff) | |
download | volley-2021ca6a6c3fa80646220cb97746f0b1cd3ae103.tar.gz |
Import of Volley from GitHub to AOSP.
- f07e05eec3aa3539d908ad22cc0cd7efa8a8960b Fix an issue when the first request returns an error. (#98) by Ulrike Hager <uhager42@gmail.com>
GitOrigin-RevId: f07e05eec3aa3539d908ad22cc0cd7efa8a8960b
Change-Id: I2b5ca99bab7d6bfd2ff4fa11f633f9be8a637056
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/android/volley/CacheDispatcherTest.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/java/com/android/volley/CacheDispatcherTest.java b/src/test/java/com/android/volley/CacheDispatcherTest.java index 54886f8..a39be7b 100644 --- a/src/test/java/com/android/volley/CacheDispatcherTest.java +++ b/src/test/java/com/android/volley/CacheDispatcherTest.java @@ -124,6 +124,33 @@ public class CacheDispatcherTest { assertFalse(mDelivery.postResponse_called); } + @Test public void tripleCacheMiss_networkErrorOnFirst() throws Exception { + MockRequest secondRequest = new MockRequest(); + MockRequest thirdRequest = new MockRequest(); + mRequest.setSequence(1); + secondRequest.setSequence(2); + thirdRequest.setSequence(3); + mCacheQueue.add(mRequest); + mCacheQueue.add(secondRequest); + mCacheQueue.add(thirdRequest); + mCacheQueue.waitUntilEmpty(TIMEOUT_MILLIS); + + assertTrue(mNetworkQueue.size() == 1); + assertFalse(mDelivery.postResponse_called); + + Request request = mNetworkQueue.take(); + request.notifyListenerResponseNotUsable(); + // Second request should now be in network queue. + assertTrue(mNetworkQueue.size() == 1); + request = mNetworkQueue.take(); + assertTrue(request.equals(secondRequest)); + // Another unusable response, third request should now be added. + request.notifyListenerResponseNotUsable(); + assertTrue(mNetworkQueue.size() == 1); + request = mNetworkQueue.take(); + assertTrue(request.equals(thirdRequest)); + } + @Test public void duplicateSoftExpiredCacheHit_failedRequest() throws Exception { Cache.Entry entry = CacheTestUtils.makeRandomCacheEntry(null, false, true); mCache.setEntryToReturn(entry); |