aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorStjepan Glavina <stjepang@gmail.com>2016-03-24 11:17:12 +0100
committerStjepan Glavina <stjepang@gmail.com>2016-03-24 11:17:12 +0100
commitbcd813d961c829afca90b246fcd73a87c48c1f5f (patch)
treedfa21666bd956e805ff8d87c81cb2c59395e8c49 /tests
parentef8d36d208abeaf8396abe940a32263620966a72 (diff)
downloadservo-bcd813d961c829afca90b246fcd73a87c48c1f5f.tar.gz
servo-bcd813d961c829afca90b246fcd73a87c48c1f5f.zip
Fix fetching about:blank
When fetching about:blank, response body should be the empty byte sequence. Spec: https://fetch.spec.whatwg.org/#concept-basic-fetch Before this change, response body would be set to `ResponseBody::Empty`, and then fetching would result in an infinite loop at step 19 in fn `main_fetch` (methods.rs).
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/net/fetch.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/unit/net/fetch.rs b/tests/unit/net/fetch.rs
index 010d49e5732..1a6168f77d6 100644
--- a/tests/unit/net/fetch.rs
+++ b/tests/unit/net/fetch.rs
@@ -95,6 +95,20 @@ fn test_fetch_response_body_matches_const_message() {
}
#[test]
+fn test_fetch_aboutblank() {
+
+ let url = Url::parse("about:blank").unwrap();
+ let origin = Origin::Origin(url.origin());
+ let mut request = Request::new(url, Some(origin), false);
+ request.referer = Referer::NoReferer;
+ let wrapped_request = Rc::new(request);
+
+ let fetch_response = fetch(wrapped_request);
+ assert!(!fetch_response.is_network_error());
+ assert!(*fetch_response.body.lock().unwrap() == ResponseBody::Done(vec![]));
+}
+
+#[test]
fn test_fetch_response_is_basic_filtered() {
static MESSAGE: &'static [u8] = b"";