#![ cfg( target_arch="wasm32" ) ]
use
{
wasm_bindgen_test :: { * } ,
wasm_bindgen_futures :: { spawn_local } ,
futures_ringbuf :: { * } ,
futures :: { SinkExt, StreamExt, future::ready } ,
asynchronous_codec :: { Framed, LinesCodec } ,
};
wasm_bindgen_test_configure!(run_in_browser);
#[wasm_bindgen_test]
fn basic_example()
{
let mock = RingBuffer::new( 13 );
let (mut writer, reader) = Framed::new( mock, LinesCodec{} ).split();
let send_task = async move
{
writer.send( "Hello World\n".to_string() ).await.expect( "send" );
writer.send( "Second line\n".to_string() ).await.expect( "send" );
writer.close().await.expect( "close sender" );
};
let receive_task = async move
{
let count = reader.fold( 0, |count, _| ready( count + 1 ) ).await;
assert_eq!( count, 2 );
};
spawn_local( send_task );
spawn_local( receive_task );
}