From 8fa2077f292ed0fcabbdb01a436fc267fb16ae79 Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Fri, 18 Apr 2025 19:24:23 +0300 Subject: Add state() helper method --- src/shapex.test.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/shapex.test.ts') diff --git a/src/shapex.test.ts b/src/shapex.test.ts index 0e7b08d..35207bb 100644 --- a/src/shapex.test.ts +++ b/src/shapex.test.ts @@ -1,7 +1,7 @@ import { assertArrayIncludes, assertEquals } from "@std/assert"; import { assertSpyCall, spy } from "@std/testing/mock"; import { describe, it } from "@std/testing/bdd"; -import ShapeX, { EventCallback } from "./shapex.ts"; +import ShapeX, { type EventCallback } from "./shapex.ts"; describe("subscribe", () => { it("subscribes to an event", () => { @@ -364,4 +364,19 @@ describe("utility methods", () => { assertEquals($.subscriptionCount("event1"), 2); assertEquals($.subscriptionCount("event2"), 1); }); + + it("returns updated state", () => { + const $ = ShapeX({ counter: 1 }); + + $.subscribe( + "event1", + (state) => ({ state: { counter: state.counter + 1 } }), + ); + + $.dispatch("event1"); + + assertEquals($.state(), { + counter: 2, + }); + }); }); -- cgit v1.2.3