File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -445,6 +445,29 @@ mod tests {
445
445
assert ! ( current_events. events_a. is_empty( ) ) ;
446
446
}
447
447
448
+ #[ test]
449
+ fn write_eat_repeat ( ) {
450
+ struct E ;
451
+ let mut events = Events :: < E > :: default ( ) ;
452
+ let mut reader = events. get_reader ( ) ;
453
+
454
+ assert ! ( reader. iter( & events) . next( ) . is_none( ) ) ;
455
+
456
+ // Send an event
457
+ events. send ( E ) ;
458
+ assert ! ( reader. iter( & events) . next( ) . is_some( ) ) ;
459
+ assert ! ( reader. iter( & events) . next( ) . is_none( ) ) ;
460
+
461
+ // Eat all events
462
+ let _ = events. drain ( ) ;
463
+ assert ! ( reader. iter( & events) . next( ) . is_none( ) ) ;
464
+
465
+ // Try again
466
+ events. send ( E ) ;
467
+ assert ! ( reader. iter( & events) . next( ) . is_some( ) ) ;
468
+ assert ! ( reader. iter( & events) . next( ) . is_none( ) ) ;
469
+ }
470
+
448
471
#[ test]
449
472
fn test_events ( ) {
450
473
let mut events = Events :: < TestEvent > :: default ( ) ;
You can’t perform that action at this time.
0 commit comments