1 use test_programs::p3::wasi;
2 
3 struct Component;
4 
5 test_programs::p3::export!(Component);
6 
7 impl test_programs::p3::exports::wasi::cli::run::Guest for Component {
8     async fn run() -> Result<(), ()> {
9         let (mut stream, result) = wasi::cli::stdin::read_via_stream();
10         let (sresult, buf) = stream.read(Vec::with_capacity(100)).await;
11         assert_eq!(buf, b"hello!".to_vec());
12         assert_eq!(sresult, wit_bindgen::StreamResult::Complete(6));
13 
14         let (sresult, buf) = stream.read(Vec::with_capacity(100)).await;
15         assert!(buf.is_empty());
16         assert_eq!(sresult, wit_bindgen::StreamResult::Dropped);
17 
18         result.await.unwrap();
19         Ok(())
20     }
21 }
22 
23 fn main() {
24     unreachable!();
25 }
26