@@ -616,13 +616,14 @@ describe("Button click", () => {
616
616
} ) ;
617
617
} ) ;
618
618
619
- describe ( "accumulate" , ( ) => {
619
+ describe ( "accumulate() " , ( ) => {
620
620
const messagesKey = Symbol ( "messages" ) ;
621
621
622
622
function * Machine ( eventTarget : EventTarget ) {
623
623
// 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
+
626
627
function * Open ( ) {
627
628
yield listenTo ( eventTarget , "message" ) ;
628
629
yield accumulate ( "message" , messagesKey ) ;
@@ -635,8 +636,7 @@ describe("accumulate", () => {
635
636
}
636
637
}
637
638
638
- it ( "works" , ( ) => {
639
- // const eventTarget = new AbortSignal();
639
+ it ( "appends dispatched events to array" , ( ) => {
640
640
const eventTarget = ( new AbortController ( ) ) . signal ;
641
641
const machine = start ( Machine . bind ( null , eventTarget ) ) ;
642
642
@@ -649,6 +649,7 @@ describe("accumulate", () => {
649
649
const event1 = new Event ( "message" ) ;
650
650
const event2 = new Event ( "message" ) ;
651
651
const event3 = new Event ( "message" ) ;
652
+ const event4 = new Event ( "message" ) ;
652
653
653
654
eventTarget . dispatchEvent ( event1 ) ;
654
655
expect ( machine . current ) . toEqual ( "Open" ) ;
@@ -661,6 +662,13 @@ describe("accumulate", () => {
661
662
eventTarget . dispatchEvent ( event3 ) ;
662
663
expect ( machine . current ) . toEqual ( "Open" ) ;
663
664
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 ( ) ) ;
664
672
} )
665
673
} ) ;
666
674
0 commit comments