use std::time::Duration; use futures::prelude::*; use wasm_bindgen::prelude::*; use wasm_bindgen_test::*; use sample::Timeout; #[wasm_bindgen_test] fn pass() { console_log!("DO NOT SEE ME"); } #[wasm_bindgen_test(async)] fn pass_after_2s() -> impl Future { console_log!("immediate log"); Timeout::new(Duration::new(1, 0)) .and_then(|()| { console_log!("log after 1s"); Timeout::new(Duration::new(1, 0)).map(|()| { console_log!("log at end"); }) }) } #[wasm_bindgen_test] fn fail() { console_log!("helpful messsage, please see me"); panic!("this is a failing test"); } #[wasm_bindgen_test(async)] fn fail_after_3s() -> impl Future { console_log!("immediate log"); Timeout::new(Duration::new(1, 0)) .and_then(|()| { console_log!("log after 1s"); Timeout::new(Duration::new(1, 0)).and_then(|()| { console_log!("log after 2s"); Timeout::new(Duration::new(1, 0)).map(|()| { panic!("end"); }) }) }) }