Skip to content

Commit 6cc51cc

Browse files
committed
Support error event
1 parent bf125bd commit 6cc51cc

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

src/index.test.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)