Misc small fixes (#23)
This commit is contained in:
parent
6c3d8443b5
commit
cd20feb484
|
@ -38,6 +38,3 @@ log = "0.3"
|
|||
env_logger = "0.4"
|
||||
tokio-timer = "0.1"
|
||||
futures-cpupool = "0.1"
|
||||
|
||||
[replace]
|
||||
"futures:0.1.16" = { git = "https://github.com/carllerche/futures-rs", branch = "test-harness" }
|
||||
|
|
|
@ -6,4 +6,7 @@ authors = ["Carl Lerche <me@carllerche.com>"]
|
|||
[dependencies]
|
||||
futures = "0.1"
|
||||
tower = { version = "0.1", path = "../" }
|
||||
futures-borrow = { git = "https://github.com/carllerche/futures-borrow" }
|
||||
futures-borrow = { git = "https://github.com/carllerche/better-future" }
|
||||
|
||||
[dev-dependencies]
|
||||
futures-test = { git = "https://github.com/carllerche/better-future" }
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
extern crate futures;
|
||||
extern crate futures_test;
|
||||
extern crate tower;
|
||||
extern crate tower_route;
|
||||
|
||||
|
@ -7,14 +8,14 @@ use tower_route::*;
|
|||
|
||||
use futures::*;
|
||||
use futures::future::FutureResult;
|
||||
use futures::executor::TestHarness;
|
||||
use futures_test::Harness;
|
||||
|
||||
use std::collections::HashMap;
|
||||
|
||||
macro_rules! assert_ready {
|
||||
($service:expr) => {{
|
||||
let s = $service;
|
||||
let mut t = TestHarness::new(future::poll_fn(|| s.poll_ready()));
|
||||
let mut t = Harness::poll_fn(|| s.poll_ready());
|
||||
assert!(t.poll().unwrap().is_ready());
|
||||
}};
|
||||
}
|
||||
|
@ -22,7 +23,7 @@ macro_rules! assert_ready {
|
|||
macro_rules! assert_not_ready {
|
||||
($service:expr) => {{
|
||||
let s = $service;
|
||||
let mut t = TestHarness::new(future::poll_fn(|| s.poll_ready()));
|
||||
let mut t = Harness::poll_fn(|| s.poll_ready());
|
||||
assert!(!t.poll().unwrap().is_ready());
|
||||
}};
|
||||
}
|
||||
|
@ -80,7 +81,7 @@ fn inner_service_not_ready() {
|
|||
let mut service = Route::new(recognize);
|
||||
|
||||
let resp = service.call("two".into());
|
||||
let mut resp = TestHarness::new(resp);
|
||||
let mut resp = Harness::new(resp);
|
||||
assert!(!resp.poll().unwrap().is_ready());
|
||||
|
||||
assert_not_ready!(&mut service);
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
use futures::{IntoFuture, Poll};
|
||||
use futures::IntoFuture;
|
||||
use tower::{Service, NewService};
|
||||
|
||||
use std::marker::PhantomData;
|
||||
|
||||
/// A `NewService` implemented by a closure.
|
||||
pub struct NewServiceFn<T> {
|
||||
f: T,
|
||||
|
@ -36,29 +34,3 @@ where T: Fn() -> R,
|
|||
(self.f)().into_future()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
use futures::{future, Future};
|
||||
use std::rc::Rc;
|
||||
|
||||
#[test]
|
||||
fn smoke() {
|
||||
fn f<T>(service: &mut T)
|
||||
where T: Service<Request = u32,
|
||||
Response = Rc<u32>,
|
||||
Error = ()> + Sync
|
||||
{
|
||||
let resp = service.call(123);
|
||||
assert_eq!(*resp.wait().unwrap(), 456);
|
||||
}
|
||||
|
||||
let mut service = ServiceFn::new(|request| {
|
||||
assert_eq!(request, 123);
|
||||
future::ok(Rc::new(456))
|
||||
});
|
||||
|
||||
f(&mut service);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue