summaryrefslogtreecommitdiff
path: root/tests/time_throttle.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/time_throttle.rs')
-rw-r--r--tests/time_throttle.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/time_throttle.rs b/tests/time_throttle.rs
new file mode 100644
index 0000000..42a643b
--- /dev/null
+++ b/tests/time_throttle.rs
@@ -0,0 +1,28 @@
+#![warn(rust_2018_idioms)]
+#![cfg(feature = "full")]
+
+use tokio::time;
+use tokio_stream::StreamExt;
+use tokio_test::*;
+
+use std::time::Duration;
+
+#[tokio::test]
+async fn usage() {
+ time::pause();
+
+ let mut stream = task::spawn(futures::stream::repeat(()).throttle(Duration::from_millis(100)));
+
+ assert_ready!(stream.poll_next());
+ assert_pending!(stream.poll_next());
+
+ time::advance(Duration::from_millis(90)).await;
+
+ assert_pending!(stream.poll_next());
+
+ time::advance(Duration::from_millis(101)).await;
+
+ assert!(stream.is_woken());
+
+ assert_ready!(stream.poll_next());
+}