Can now clear pending HTTP responses
diff --git a/src/main/java/com/xtremelabs/robolectric/Robolectric.java b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
index 916ea63..7eef693 100644
--- a/src/main/java/com/xtremelabs/robolectric/Robolectric.java
+++ b/src/main/java/com/xtremelabs/robolectric/Robolectric.java
@@ -865,6 +865,10 @@
getFakeHttpLayer().clearHttpResponseRules();
}
+ public static void clearPendingHttpResponses() {
+ getFakeHttpLayer().clearPendingHttpResponses();
+ }
+
public static void pauseLooper(Looper looper) {
ShadowLooper.pauseLooper(looper);
}
@@ -926,5 +930,4 @@
public static String visualize(Bitmap bitmap) {
return shadowOf(bitmap).getDescription();
}
-
}
diff --git a/src/main/java/com/xtremelabs/robolectric/tester/org/apache/http/FakeHttpLayer.java b/src/main/java/com/xtremelabs/robolectric/tester/org/apache/http/FakeHttpLayer.java
index f8be0b3..208d41c 100644
--- a/src/main/java/com/xtremelabs/robolectric/tester/org/apache/http/FakeHttpLayer.java
+++ b/src/main/java/com/xtremelabs/robolectric/tester/org/apache/http/FakeHttpLayer.java
@@ -157,6 +157,10 @@
httpResponseRules.clear();
}
+ public void clearPendingHttpResponses() {
+ pendingHttpResponses.clear();
+ }
+
public static class RequestMatcherResponseRule implements HttpEntityStub.ResponseRule {
private RequestMatcher requestMatcher;
private HttpResponse responseToGive;
diff --git a/src/test/java/com/xtremelabs/robolectric/shadows/DefaultRequestDirectorTest.java b/src/test/java/com/xtremelabs/robolectric/shadows/DefaultRequestDirectorTest.java
index c3fa07a..aa3ce5e 100644
--- a/src/test/java/com/xtremelabs/robolectric/shadows/DefaultRequestDirectorTest.java
+++ b/src/test/java/com/xtremelabs/robolectric/shadows/DefaultRequestDirectorTest.java
@@ -171,6 +171,19 @@
}
@Test
+ public void clearPendingHttpResponses() throws Exception {
+ Robolectric.addPendingHttpResponse(200, "earlier");
+ Robolectric.clearPendingHttpResponses();
+ Robolectric.addPendingHttpResponse(500, "later");
+
+ HttpResponse response = requestDirector.execute(null, new HttpGet("http://some.uri"), null);
+
+ assertNotNull(response);
+ assertThat(response.getStatusLine().getStatusCode(), equalTo(500));
+ assertThat(Strings.fromStream(response.getEntity().getContent()), equalTo("later"));
+ }
+
+ @Test
public void shouldReturnRequestsByRule_WithCustomRequestMatcher() throws Exception {
Robolectric.setDefaultHttpResponse(404, "no such page");