aboutsummaryrefslogtreecommitdiff
path: root/tests/io_window.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/io_window.rs')
-rw-r--r--tests/io_window.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/io_window.rs b/tests/io_window.rs
new file mode 100644
index 0000000..98df69c
--- /dev/null
+++ b/tests/io_window.rs
@@ -0,0 +1,26 @@
+use futures::io::Window;
+
+#[test]
+fn set() {
+ let mut buffer = Window::new(&[1, 2, 3]);
+ buffer.set(..3);
+ buffer.set(3..3);
+ buffer.set(3..=2); // == 3..3
+ buffer.set(0..2);
+
+ assert_eq!(buffer.as_ref(), &[1, 2]);
+}
+
+#[test]
+#[should_panic]
+fn set_panic_out_of_bounds() {
+ let mut buffer = Window::new(&[1, 2, 3]);
+ buffer.set(2..4);
+}
+
+#[test]
+#[should_panic]
+fn set_panic_start_is_greater_than_end() {
+ let mut buffer = Window::new(&[1, 2, 3]);
+ buffer.set(3..2);
+}