Jeff Vander Stoep | bf37273 | 2021-02-18 09:39:46 +0100 | [diff] [blame] | 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 | |
| 8 | fn ready() -> Poll<()> { |
| 9 | Poll::Ready(()) |
| 10 | } |
| 11 | |
| 12 | fn ready_ok() -> Poll<Result<(), ()>> { |
| 13 | Poll::Ready(Ok(())) |
| 14 | } |
| 15 | |
| 16 | fn ready_err() -> Poll<Result<(), ()>> { |
| 17 | Poll::Ready(Err(())) |
| 18 | } |
| 19 | |
| 20 | fn pending() -> Poll<()> { |
| 21 | Poll::Pending |
| 22 | } |
| 23 | |
| 24 | #[derive(Debug)] |
| 25 | enum Test { |
| 26 | Data, |
| 27 | } |
| 28 | |
| 29 | #[test] |
| 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] |
| 40 | fn assert_ready_on_pending() { |
| 41 | let poll = pending(); |
| 42 | assert_ready!(poll); |
| 43 | } |
| 44 | |
| 45 | #[test] |
| 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] |
| 56 | fn assert_pending_on_ready() { |
| 57 | let poll = ready(); |
| 58 | assert_pending!(poll); |
| 59 | } |
| 60 | |
| 61 | #[test] |
| 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] |
| 72 | fn assert_ok_on_err() { |
| 73 | let poll = ready_err(); |
| 74 | assert_ready_ok!(poll); |
| 75 | } |
| 76 | |
| 77 | #[test] |
| 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] |
| 88 | fn assert_err_on_ok() { |
| 89 | let poll = ready_ok(); |
| 90 | assert_ready_err!(poll); |
| 91 | } |
| 92 | |
| 93 | #[test] |
| 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] |
| 104 | fn assert_eq_on_not_eq() { |
| 105 | let poll = ready_err(); |
| 106 | assert_ready_eq!(poll, Ok(())); |
| 107 | } |