aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/tests/main.rs
diff options
context:
space:
mode:
authorOJ Kwon <kwon.ohjoong@gmail.com>2018-04-16 07:52:57 -0700
committerOJ Kwon <kwon.ohjoong@gmail.com>2018-04-27 12:25:18 -0700
commitd94def6b4a9ba3779869edf6409d29e8817ddc42 (patch)
tree99c1eda7071c31f3566bdec325c35aab6bea3d81 /components/net/tests/main.rs
parent9ff11b9af373997e847f7820a3ea37181845f926 (diff)
downloadservo-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.rs37
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()
}