about summary refs log tree commit diff
path: root/library/coretests/tests/async_iter/mod.rs
blob: 4f425d7286d097258b9a3e04b31b3942b3e90657 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use core::async_iter::{self, AsyncIterator, IntoAsyncIterator};
use core::pin::pin;
use core::task::Poll;

#[test]
fn into_async_iter() {
    let async_iter = async_iter::from_iter(0..3);
    let mut async_iter = pin!(async_iter.into_async_iter());

    let mut cx = &mut core::task::Context::from_waker(core::task::Waker::noop());

    assert_eq!(async_iter.as_mut().poll_next(&mut cx), Poll::Ready(Some(0)));
    assert_eq!(async_iter.as_mut().poll_next(&mut cx), Poll::Ready(Some(1)));
    assert_eq!(async_iter.as_mut().poll_next(&mut cx), Poll::Ready(Some(2)));
    assert_eq!(async_iter.as_mut().poll_next(&mut cx), Poll::Ready(None));
}