diff options
author | OJ Kwon <kwon.ohjoong@gmail.com> | 2018-04-16 07:52:57 -0700 |
---|---|---|
committer | OJ Kwon <kwon.ohjoong@gmail.com> | 2018-04-27 12:25:18 -0700 |
commit | d94def6b4a9ba3779869edf6409d29e8817ddc42 (patch) | |
tree | 99c1eda7071c31f3566bdec325c35aab6bea3d81 /components/net/tests/main.rs | |
parent | 9ff11b9af373997e847f7820a3ea37181845f926 (diff) | |
download | servo-d94def6b4a9ba3779869edf6409d29e8817ddc42.tar.gz servo-d94def6b4a9ba3779869edf6409d29e8817ddc42.zip |
test(net): update test cases
Diffstat (limited to 'components/net/tests/main.rs')
-rw-r--r-- | components/net/tests/main.rs | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/components/net/tests/main.rs b/components/net/tests/main.rs index 2fe0e739923..a644a6a2fd4 100644 --- a/components/net/tests/main.rs +++ b/components/net/tests/main.rs @@ -4,6 +4,7 @@ #![cfg(test)] +extern crate compositing; extern crate cookie as cookie_rs; extern crate devtools_traits; extern crate embedder_traits; @@ -16,7 +17,6 @@ extern crate msg; extern crate net; extern crate net_traits; extern crate profile_traits; -extern crate script_traits; extern crate servo_config; extern crate servo_url; extern crate time; @@ -35,6 +35,7 @@ mod mime_classifier; mod resource_thread; mod subresource_integrity; +use compositing::compositor_thread::{EmbedderProxy, EventLoopWaker}; use devtools_traits::DevtoolsControlMsg; use embedder_traits::resources::{self, Resource}; use hyper::server::{Handler, Listening, Server}; @@ -56,9 +57,35 @@ struct FetchResponseCollector { sender: Sender<Response>, } -fn new_fetch_context(dc: Option<Sender<DevtoolsControlMsg>>) -> FetchContext { - let ssl_client = create_ssl_client(&resources::read_string(Resource::SSLCertificates)); +fn create_embedder_proxy() -> EmbedderProxy { let (sender, _) = channel(); + let event_loop_waker = | | { + struct DummyEventLoopWaker { + } + impl DummyEventLoopWaker { + fn new() -> DummyEventLoopWaker { + DummyEventLoopWaker { } + } + } + impl EventLoopWaker for DummyEventLoopWaker { + fn wake(&self) { } + fn clone(&self) -> Box<EventLoopWaker + Send> { + Box::new(DummyEventLoopWaker { }) + } + } + + Box::new(DummyEventLoopWaker::new()) + }; + + EmbedderProxy { + sender: sender, + event_loop_waker: event_loop_waker() + } +} + +fn new_fetch_context(dc: Option<Sender<DevtoolsControlMsg>>, fc: Option<EmbedderProxy>) -> FetchContext { + let ssl_client = create_ssl_client(&resources::read_string(Resource::SSLCertificates)); + let sender = fc.unwrap_or_else(|| create_embedder_proxy()); FetchContext { state: Arc::new(HttpState::new(ssl_client)), user_agent: DEFAULT_USER_AGENT.into(), @@ -79,7 +106,7 @@ impl FetchTaskTarget for FetchResponseCollector { } fn fetch(request: &mut Request, dc: Option<Sender<DevtoolsControlMsg>>) -> Response { - fetch_with_context(request, &new_fetch_context(dc)) + fetch_with_context(request, &new_fetch_context(dc, None)) } fn fetch_with_context(request: &mut Request, context: &FetchContext) -> Response { @@ -99,7 +126,7 @@ fn fetch_with_cors_cache(request: &mut Request, cache: &mut CorsCache) -> Respon sender: sender, }; - methods::fetch_with_cors_cache(request, cache, &mut target, &new_fetch_context(None)); + methods::fetch_with_cors_cache(request, cache, &mut target, &new_fetch_context(None, None)); receiver.recv().unwrap() } |