mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Partial implementation of Main Fetch step, including appropiate updates to tests
This commit is contained in:
parent
842ec7c415
commit
db8cc6eccf
6 changed files with 264 additions and 65 deletions
|
@ -9,7 +9,7 @@ use hyper::status::StatusCode;
|
|||
use hyper::uri::RequestUri;
|
||||
use net::fetch::methods::fetch;
|
||||
use net_traits::request::{Context, Referer, Request};
|
||||
use net_traits::response::{Response, ResponseBody};
|
||||
use net_traits::response::{Response, ResponseBody, ResponseType};
|
||||
use std::rc::Rc;
|
||||
use url::Url;
|
||||
|
||||
|
@ -35,7 +35,8 @@ fn test_fetch_response_is_not_network_error() {
|
|||
};
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
||||
let mut request = Request::new(url, Context::Fetch, false);
|
||||
let origin = url.origin();
|
||||
let mut request = Request::new(url, Context::Fetch, origin, false);
|
||||
request.referer = Referer::NoReferer;
|
||||
let wrapped_request = Rc::new(request);
|
||||
|
||||
|
@ -56,16 +57,20 @@ fn test_fetch_response_body_matches_const_message() {
|
|||
};
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
||||
let mut request = Request::new(url, Context::Fetch, false);
|
||||
let origin = url.origin();
|
||||
let mut request = Request::new(url, Context::Fetch, origin, false);
|
||||
request.referer = Referer::NoReferer;
|
||||
let wrapped_request = Rc::new(request);
|
||||
|
||||
let fetch_response = fetch(wrapped_request, false);
|
||||
let _ = server.close();
|
||||
|
||||
match fetch_response.body {
|
||||
ResponseBody::Done(body) => {
|
||||
assert_eq!(body, MESSAGE);
|
||||
assert!(!Response::is_network_error(&fetch_response));
|
||||
assert_eq!(fetch_response.response_type, ResponseType::Basic);
|
||||
|
||||
match *fetch_response.body.borrow() {
|
||||
ResponseBody::Done(ref body) => {
|
||||
assert_eq!(&**body, MESSAGE);
|
||||
},
|
||||
_ => panic!()
|
||||
};
|
||||
|
@ -94,7 +99,8 @@ fn test_fetch_redirect_count(message: &'static [u8], redirect_cap: u32) -> Respo
|
|||
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
||||
let mut request = Request::new(url, Context::Fetch, false);
|
||||
let origin = url.origin();
|
||||
let mut request = Request::new(url, Context::Fetch, origin, false);
|
||||
request.referer = Referer::NoReferer;
|
||||
let wrapped_request = Rc::new(request);
|
||||
|
||||
|
@ -112,10 +118,12 @@ fn test_fetch_redirect_count_ceiling() {
|
|||
|
||||
let fetch_response = test_fetch_redirect_count(MESSAGE, redirect_cap);
|
||||
|
||||
assert_eq!(Response::is_network_error(&fetch_response), false);
|
||||
match fetch_response.body {
|
||||
ResponseBody::Done(body) => {
|
||||
assert_eq!(body, MESSAGE);
|
||||
assert!(!Response::is_network_error(&fetch_response));
|
||||
assert_eq!(fetch_response.response_type, ResponseType::Basic);
|
||||
|
||||
match *fetch_response.body.borrow() {
|
||||
ResponseBody::Done(ref body) => {
|
||||
assert_eq!(&**body, MESSAGE);
|
||||
},
|
||||
_ => panic!()
|
||||
};
|
||||
|
@ -130,9 +138,10 @@ fn test_fetch_redirect_count_failure() {
|
|||
|
||||
let fetch_response = test_fetch_redirect_count(MESSAGE, redirect_cap);
|
||||
|
||||
assert_eq!(Response::is_network_error(&fetch_response), true);
|
||||
match fetch_response.body {
|
||||
ResponseBody::Done(_) => panic!(),
|
||||
assert!(Response::is_network_error(&fetch_response));
|
||||
|
||||
match *fetch_response.body.borrow() {
|
||||
ResponseBody::Done(_) | ResponseBody::Receiving(_) => panic!(),
|
||||
_ => { }
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue