@@ -616,13 +616,14 @@ describe("Button click", () => {
616616 } ) ;
617617} ) ;
618618
619- describe ( "accumulate" , ( ) => {
619+ describe ( "accumulate() " , ( ) => {
620620 const messagesKey = Symbol ( "messages" ) ;
621621
622622 function * Machine ( eventTarget : EventTarget ) {
623623 // yield on(new Map([["type", "error"], ["readyState", EventSource.CLOSED]]), Closed);
624- yield on ( "error" , Closed ) ;
625-
624+ yield listenTo ( eventTarget , "error" ) ;
625+ yield on ( "error" , compound ( Closed ) ) ;
626+
626627 function * Open ( ) {
627628 yield listenTo ( eventTarget , "message" ) ;
628629 yield accumulate ( "message" , messagesKey ) ;
@@ -635,8 +636,7 @@ describe("accumulate", () => {
635636 }
636637 }
637638
638- it ( "works" , ( ) => {
639- // const eventTarget = new AbortSignal();
639+ it ( "appends dispatched events to array" , ( ) => {
640640 const eventTarget = ( new AbortController ( ) ) . signal ;
641641 const machine = start ( Machine . bind ( null , eventTarget ) ) ;
642642
@@ -649,6 +649,7 @@ describe("accumulate", () => {
649649 const event1 = new Event ( "message" ) ;
650650 const event2 = new Event ( "message" ) ;
651651 const event3 = new Event ( "message" ) ;
652+ const event4 = new Event ( "message" ) ;
652653
653654 eventTarget . dispatchEvent ( event1 ) ;
654655 expect ( machine . current ) . toEqual ( "Open" ) ;
@@ -661,6 +662,13 @@ describe("accumulate", () => {
661662 eventTarget . dispatchEvent ( event3 ) ;
662663 expect ( machine . current ) . toEqual ( "Open" ) ;
663664 expect ( machine . accumulations ) . toEqual ( new Map ( [ [ messagesKey , [ event1 , event2 , event3 ] ] ] ) ) ;
665+
666+ eventTarget . dispatchEvent ( new Event ( "error" ) ) ;
667+ expect ( machine . current ) . toEqual ( "Closed" ) ;
668+
669+ eventTarget . dispatchEvent ( event4 ) ;
670+ expect ( machine . current ) . toEqual ( "Closed" ) ;
671+ expect ( machine . accumulations ) . toEqual ( new Map ( ) ) ;
664672 } )
665673} ) ;
666674
0 commit comments