1 #![warn(rust_2018_idioms)]
2 
3 use std::task::Poll;
4 use tokio_test::{
5     assert_pending, assert_ready, assert_ready_eq, assert_ready_err, assert_ready_ok,
6 };
7 
ready() -> Poll<()>8 fn ready() -> Poll<()> {
9     Poll::Ready(())
10 }
11 
ready_ok() -> Poll<Result<(), ()>>12 fn ready_ok() -> Poll<Result<(), ()>> {
13     Poll::Ready(Ok(()))
14 }
15 
ready_err() -> Poll<Result<(), ()>>16 fn ready_err() -> Poll<Result<(), ()>> {
17     Poll::Ready(Err(()))
18 }
19 
pending() -> Poll<()>20 fn pending() -> Poll<()> {
21     Poll::Pending
22 }
23 
24 #[derive(Debug)]
25 enum Test {
26     Data,
27 }
28 
29 #[test]
assert_ready()30 fn assert_ready() {
31     let poll = ready();
32     assert_ready!(poll);
33     assert_ready!(poll, "some message");
34     assert_ready!(poll, "{:?}", ());
35     assert_ready!(poll, "{:?}", Test::Data);
36 }
37 
38 #[test]
39 #[should_panic]
assert_ready_on_pending()40 fn assert_ready_on_pending() {
41     let poll = pending();
42     assert_ready!(poll);
43 }
44 
45 #[test]
assert_pending()46 fn assert_pending() {
47     let poll = pending();
48     assert_pending!(poll);
49     assert_pending!(poll, "some message");
50     assert_pending!(poll, "{:?}", ());
51     assert_pending!(poll, "{:?}", Test::Data);
52 }
53 
54 #[test]
55 #[should_panic]
assert_pending_on_ready()56 fn assert_pending_on_ready() {
57     let poll = ready();
58     assert_pending!(poll);
59 }
60 
61 #[test]
assert_ready_ok()62 fn assert_ready_ok() {
63     let poll = ready_ok();
64     assert_ready_ok!(poll);
65     assert_ready_ok!(poll, "some message");
66     assert_ready_ok!(poll, "{:?}", ());
67     assert_ready_ok!(poll, "{:?}", Test::Data);
68 }
69 
70 #[test]
71 #[should_panic]
assert_ok_on_err()72 fn assert_ok_on_err() {
73     let poll = ready_err();
74     assert_ready_ok!(poll);
75 }
76 
77 #[test]
assert_ready_err()78 fn assert_ready_err() {
79     let poll = ready_err();
80     assert_ready_err!(poll);
81     assert_ready_err!(poll, "some message");
82     assert_ready_err!(poll, "{:?}", ());
83     assert_ready_err!(poll, "{:?}", Test::Data);
84 }
85 
86 #[test]
87 #[should_panic]
assert_err_on_ok()88 fn assert_err_on_ok() {
89     let poll = ready_ok();
90     assert_ready_err!(poll);
91 }
92 
93 #[test]
assert_ready_eq()94 fn assert_ready_eq() {
95     let poll = ready();
96     assert_ready_eq!(poll, ());
97     assert_ready_eq!(poll, (), "some message");
98     assert_ready_eq!(poll, (), "{:?}", ());
99     assert_ready_eq!(poll, (), "{:?}", Test::Data);
100 }
101 
102 #[test]
103 #[should_panic]
assert_eq_on_not_eq()104 fn assert_eq_on_not_eq() {
105     let poll = ready_err();
106     assert_ready_eq!(poll, Ok(()));
107 }
108