mirror of
https://github.com/servo/servo.git
synced 2025-07-23 23:33:43 +01:00
Automatically provide a resource reader for tests
This commit is contained in:
parent
bf667677f7
commit
e02a23b2f6
20 changed files with 72 additions and 109 deletions
|
@ -3,7 +3,6 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use cookie_rs;
|
||||
use embedder_traits::resources::register_resources_for_tests;
|
||||
use hyper::header::{Header, SetCookie};
|
||||
use net::cookie::Cookie;
|
||||
use net::cookie_storage::CookieStorage;
|
||||
|
@ -57,7 +56,6 @@ fn test_default_path() {
|
|||
#[test]
|
||||
fn fn_cookie_constructor() {
|
||||
use net_traits::CookieSource;
|
||||
register_resources_for_tests();
|
||||
|
||||
let url = &ServoUrl::parse("http://example.com/foo").unwrap();
|
||||
|
||||
|
@ -104,7 +102,6 @@ fn fn_cookie_constructor() {
|
|||
|
||||
#[test]
|
||||
fn test_cookie_secure_prefix() {
|
||||
register_resources_for_tests();
|
||||
let url = &ServoUrl::parse("https://example.com").unwrap();
|
||||
let cookie = cookie_rs::Cookie::parse("__Secure-SID=12345").unwrap();
|
||||
assert!(Cookie::new_wrapped(cookie, url, CookieSource::HTTP).is_none());
|
||||
|
@ -132,7 +129,6 @@ fn test_cookie_secure_prefix() {
|
|||
|
||||
#[test]
|
||||
fn test_cookie_host_prefix() {
|
||||
register_resources_for_tests();
|
||||
let url = &ServoUrl::parse("https://example.com").unwrap();
|
||||
let cookie = cookie_rs::Cookie::parse("__Host-SID=12345").unwrap();
|
||||
assert!(Cookie::new_wrapped(cookie, url, CookieSource::HTTP).is_none());
|
||||
|
@ -186,7 +182,6 @@ fn delay_to_ensure_different_timestamp() {}
|
|||
#[test]
|
||||
fn test_sort_order() {
|
||||
use std::cmp::Ordering;
|
||||
register_resources_for_tests();
|
||||
|
||||
let url = &ServoUrl::parse("http://example.com/foo").unwrap();
|
||||
let a_wrapped = cookie_rs::Cookie::parse("baz=bar; Path=/foo/bar/").unwrap();
|
||||
|
@ -206,7 +201,6 @@ fn test_sort_order() {
|
|||
|
||||
fn add_cookie_to_storage(storage: &mut CookieStorage, url: &ServoUrl, cookie_str: &str)
|
||||
{
|
||||
register_resources_for_tests();
|
||||
let source = CookieSource::HTTP;
|
||||
let cookie = cookie_rs::Cookie::parse(cookie_str.to_owned()).unwrap();
|
||||
let cookie = Cookie::new_wrapped(cookie, url, source).unwrap();
|
||||
|
@ -215,7 +209,6 @@ fn add_cookie_to_storage(storage: &mut CookieStorage, url: &ServoUrl, cookie_str
|
|||
|
||||
#[test]
|
||||
fn test_insecure_cookies_cannot_evict_secure_cookie() {
|
||||
register_resources_for_tests();
|
||||
let mut storage = CookieStorage::new(5);
|
||||
let secure_url = ServoUrl::parse("https://home.example.org:8888/cookie-parser?0001").unwrap();
|
||||
let source = CookieSource::HTTP;
|
||||
|
@ -252,7 +245,6 @@ fn test_insecure_cookies_cannot_evict_secure_cookie() {
|
|||
|
||||
#[test]
|
||||
fn test_secure_cookies_eviction() {
|
||||
register_resources_for_tests();
|
||||
let mut storage = CookieStorage::new(5);
|
||||
let url = ServoUrl::parse("https://home.example.org:8888/cookie-parser?0001").unwrap();
|
||||
let source = CookieSource::HTTP;
|
||||
|
@ -288,7 +280,6 @@ fn test_secure_cookies_eviction() {
|
|||
|
||||
#[test]
|
||||
fn test_secure_cookies_eviction_non_http_source() {
|
||||
register_resources_for_tests();
|
||||
let mut storage = CookieStorage::new(5);
|
||||
let url = ServoUrl::parse("https://home.example.org:8888/cookie-parser?0001").unwrap();
|
||||
let source = CookieSource::NonHTTP;
|
||||
|
@ -350,7 +341,6 @@ fn add_retrieve_cookies(set_location: &str,
|
|||
|
||||
#[test]
|
||||
fn test_cookie_eviction_expired() {
|
||||
register_resources_for_tests();
|
||||
let mut vec = Vec::new();
|
||||
for i in 1..6 {
|
||||
let st = format!("extra{}=bar; Secure; expires=Sun, 18-Apr-2000 21:06:29 GMT",
|
||||
|
@ -366,7 +356,6 @@ fn test_cookie_eviction_expired() {
|
|||
|
||||
#[test]
|
||||
fn test_cookie_eviction_all_secure_one_nonsecure() {
|
||||
register_resources_for_tests();
|
||||
let mut vec = Vec::new();
|
||||
for i in 1..5 {
|
||||
let st = format!("extra{}=bar; Secure; expires=Sun, 18-Apr-2026 21:06:29 GMT",
|
||||
|
@ -383,7 +372,6 @@ fn test_cookie_eviction_all_secure_one_nonsecure() {
|
|||
|
||||
#[test]
|
||||
fn test_cookie_eviction_all_secure_new_nonsecure() {
|
||||
register_resources_for_tests();
|
||||
let mut vec = Vec::new();
|
||||
for i in 1..6 {
|
||||
let st = format!("extra{}=bar; Secure; expires=Sun, 18-Apr-2026 21:06:29 GMT",
|
||||
|
@ -399,7 +387,6 @@ fn test_cookie_eviction_all_secure_new_nonsecure() {
|
|||
|
||||
#[test]
|
||||
fn test_cookie_eviction_all_nonsecure_new_secure() {
|
||||
register_resources_for_tests();
|
||||
let mut vec = Vec::new();
|
||||
for i in 1..6 {
|
||||
let st = format!("extra{}=bar; expires=Sun, 18-Apr-2026 21:06:29 GMT", i);
|
||||
|
@ -414,7 +401,6 @@ fn test_cookie_eviction_all_nonsecure_new_secure() {
|
|||
|
||||
#[test]
|
||||
fn test_cookie_eviction_all_nonsecure_new_nonsecure() {
|
||||
register_resources_for_tests();
|
||||
let mut vec = Vec::new();
|
||||
for i in 1..6 {
|
||||
let st = format!("extra{}=bar; expires=Sun, 18-Apr-2026 21:06:29 GMT", i);
|
||||
|
|
|
@ -6,7 +6,6 @@ use {DEFAULT_USER_AGENT, new_fetch_context, create_embedder_proxy, fetch, make_s
|
|||
use devtools_traits::DevtoolsControlMsg;
|
||||
use devtools_traits::HttpRequest as DevtoolsHttpRequest;
|
||||
use devtools_traits::HttpResponse as DevtoolsHttpResponse;
|
||||
use embedder_traits::resources::register_resources_for_tests;
|
||||
use fetch_with_context;
|
||||
use fetch_with_cors_cache;
|
||||
use http_loader::{expect_devtools_http_request, expect_devtools_http_response};
|
||||
|
@ -49,7 +48,6 @@ use unicase::UniCase;
|
|||
|
||||
#[test]
|
||||
fn test_fetch_response_is_not_network_error() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -69,7 +67,6 @@ fn test_fetch_response_is_not_network_error() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_on_bad_port_is_network_error() {
|
||||
register_resources_for_tests();
|
||||
let url = ServoUrl::parse("http://www.example.org:6667").unwrap();
|
||||
let origin = Origin::Origin(url.origin());
|
||||
let mut request = Request::new(url, Some(origin), None);
|
||||
|
@ -82,7 +79,6 @@ fn test_fetch_on_bad_port_is_network_error() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_response_body_matches_const_message() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"Hello World!";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -108,7 +104,6 @@ fn test_fetch_response_body_matches_const_message() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_aboutblank() {
|
||||
register_resources_for_tests();
|
||||
let url = ServoUrl::parse("about:blank").unwrap();
|
||||
let origin = Origin::Origin(url.origin());
|
||||
let mut request = Request::new(url, Some(origin), None);
|
||||
|
@ -120,7 +115,6 @@ fn test_fetch_aboutblank() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_blob() {
|
||||
register_resources_for_tests();
|
||||
use ipc_channel::ipc;
|
||||
use net_traits::blob_url_store::BlobBuf;
|
||||
|
||||
|
@ -161,7 +155,6 @@ fn test_fetch_blob() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_file() {
|
||||
register_resources_for_tests();
|
||||
let path = Path::new("../../resources/servo.css").canonicalize().unwrap();
|
||||
let url = ServoUrl::from_file_path(path.clone()).unwrap();
|
||||
let origin = Origin::Origin(url.origin());
|
||||
|
@ -188,7 +181,6 @@ fn test_fetch_file() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_ftp() {
|
||||
register_resources_for_tests();
|
||||
let url = ServoUrl::parse("ftp://not-supported").unwrap();
|
||||
let origin = Origin::Origin(url.origin());
|
||||
let mut request = Request::new(url, Some(origin), None);
|
||||
|
@ -199,7 +191,6 @@ fn test_fetch_ftp() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_bogus_scheme() {
|
||||
register_resources_for_tests();
|
||||
let url = ServoUrl::parse("bogus://whatever").unwrap();
|
||||
let origin = Origin::Origin(url.origin());
|
||||
let mut request = Request::new(url, Some(origin), None);
|
||||
|
@ -210,7 +201,6 @@ fn test_fetch_bogus_scheme() {
|
|||
|
||||
#[test]
|
||||
fn test_cors_preflight_fetch() {
|
||||
register_resources_for_tests();
|
||||
static ACK: &'static [u8] = b"ACK";
|
||||
let state = Arc::new(AtomicUsize::new(0));
|
||||
let handler = move |request: HyperRequest, mut response: HyperResponse| {
|
||||
|
@ -248,7 +238,6 @@ fn test_cors_preflight_fetch() {
|
|||
|
||||
#[test]
|
||||
fn test_cors_preflight_cache_fetch() {
|
||||
register_resources_for_tests();
|
||||
static ACK: &'static [u8] = b"ACK";
|
||||
let state = Arc::new(AtomicUsize::new(0));
|
||||
let counter = state.clone();
|
||||
|
@ -301,7 +290,6 @@ fn test_cors_preflight_cache_fetch() {
|
|||
|
||||
#[test]
|
||||
fn test_cors_preflight_fetch_network_error() {
|
||||
register_resources_for_tests();
|
||||
static ACK: &'static [u8] = b"ACK";
|
||||
let state = Arc::new(AtomicUsize::new(0));
|
||||
let handler = move |request: HyperRequest, mut response: HyperResponse| {
|
||||
|
@ -332,7 +320,6 @@ fn test_cors_preflight_fetch_network_error() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_response_is_basic_filtered() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |_: HyperRequest, mut response: HyperResponse| {
|
||||
response.headers_mut().set(SetCookie(vec![]));
|
||||
|
@ -359,7 +346,6 @@ fn test_fetch_response_is_basic_filtered() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_response_is_cors_filtered() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |_: HyperRequest, mut response: HyperResponse| {
|
||||
// this is mandatory for the Cors Check to pass
|
||||
|
@ -414,7 +400,6 @@ fn test_fetch_response_is_cors_filtered() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_response_is_opaque_filtered() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -448,7 +433,6 @@ fn test_fetch_response_is_opaque_filtered() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_response_is_opaque_redirect_filtered() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |request: HyperRequest, mut response: HyperResponse| {
|
||||
let redirects = match request.uri {
|
||||
|
@ -495,7 +479,6 @@ fn test_fetch_response_is_opaque_redirect_filtered() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_with_local_urls_only() {
|
||||
register_resources_for_tests();
|
||||
// If flag `local_urls_only` is set, fetching a non-local URL must result in network error.
|
||||
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
|
@ -534,7 +517,6 @@ fn test_fetch_with_local_urls_only() {
|
|||
// And make sure to specify `localhost` as the server name.
|
||||
#[test]
|
||||
fn test_fetch_with_hsts() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -581,7 +563,6 @@ fn test_fetch_with_hsts() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_with_sri_network_error() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"alert('Hello, Network Error');";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -606,7 +587,6 @@ fn test_fetch_with_sri_network_error() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_with_sri_sucess() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"alert('Hello, world.');";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -674,7 +654,6 @@ fn test_fetch_blocked_nosniff() {
|
|||
}
|
||||
|
||||
fn setup_server_and_fetch(message: &'static [u8], redirect_cap: u32) -> Response {
|
||||
register_resources_for_tests();
|
||||
let handler = move |request: HyperRequest, mut response: HyperResponse| {
|
||||
let redirects = match request.uri {
|
||||
RequestUri::AbsolutePath(url) =>
|
||||
|
@ -705,7 +684,6 @@ fn setup_server_and_fetch(message: &'static [u8], redirect_cap: u32) -> Response
|
|||
|
||||
#[test]
|
||||
fn test_fetch_redirect_count_ceiling() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"no more redirects";
|
||||
// how many redirects to cause
|
||||
let redirect_cap = 20;
|
||||
|
@ -725,7 +703,6 @@ fn test_fetch_redirect_count_ceiling() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_redirect_count_failure() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"this message shouldn't be reachable";
|
||||
// how many redirects to cause
|
||||
let redirect_cap = 21;
|
||||
|
@ -791,7 +768,6 @@ fn test_fetch_redirect_updates_method_runner(tx: Sender<bool>, status_code: Stat
|
|||
|
||||
#[test]
|
||||
fn test_fetch_redirect_updates_method() {
|
||||
register_resources_for_tests();
|
||||
let (tx, rx) = channel();
|
||||
|
||||
test_fetch_redirect_updates_method_runner(tx.clone(), StatusCode::MovedPermanently, Method::Post);
|
||||
|
@ -850,7 +826,6 @@ fn response_is_done(response: &Response) -> bool {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_async_returns_complete_response() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"this message should be retrieved in full";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -869,7 +844,6 @@ fn test_fetch_async_returns_complete_response() {
|
|||
|
||||
#[test]
|
||||
fn test_opaque_filtered_fetch_async_returns_complete_response() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
@ -891,7 +865,6 @@ fn test_opaque_filtered_fetch_async_returns_complete_response() {
|
|||
|
||||
#[test]
|
||||
fn test_opaque_redirect_filtered_fetch_async_returns_complete_response() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"";
|
||||
let handler = move |request: HyperRequest, mut response: HyperResponse| {
|
||||
let redirects = match request.uri {
|
||||
|
@ -928,7 +901,6 @@ fn test_opaque_redirect_filtered_fetch_async_returns_complete_response() {
|
|||
|
||||
#[test]
|
||||
fn test_fetch_with_devtools() {
|
||||
register_resources_for_tests();
|
||||
static MESSAGE: &'static [u8] = b"Yay!";
|
||||
let handler = move |_: HyperRequest, response: HyperResponse| {
|
||||
response.send(MESSAGE).unwrap();
|
||||
|
|
|
@ -6,7 +6,6 @@ use cookie_rs::Cookie as CookiePair;
|
|||
use devtools_traits::{ChromeToDevtoolsControlMsg, DevtoolsControlMsg, NetworkEvent};
|
||||
use devtools_traits::HttpRequest as DevtoolsHttpRequest;
|
||||
use devtools_traits::HttpResponse as DevtoolsHttpResponse;
|
||||
use embedder_traits::resources::register_resources_for_tests;
|
||||
use fetch;
|
||||
use fetch_with_context;
|
||||
use flate2::Compression;
|
||||
|
@ -313,7 +312,6 @@ fn test_request_and_response_message_from_devtool_without_pipeline_id() {
|
|||
|
||||
#[test]
|
||||
fn test_redirected_request_to_devtools() {
|
||||
register_resources_for_tests();
|
||||
let post_handler = move |request: HyperRequest, response: HyperResponse| {
|
||||
assert_eq!(request.method, Method::Get);
|
||||
response.send(b"Yay!").unwrap();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue