foldkit 0.154.0 → 0.155.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/asyncData/asyncData.d.ts.map +1 -1
- package/dist/brand/brand.d.ts.map +1 -1
- package/dist/calendar/arithmetic.d.ts.map +1 -1
- package/dist/calendar/calendarDate.d.ts.map +1 -1
- package/dist/calendar/comparison.d.ts.map +1 -1
- package/dist/calendar/info.d.ts.map +1 -1
- package/dist/calendar/today.d.ts.map +1 -1
- package/dist/canvas/paint.d.ts.map +1 -1
- package/dist/canvas/view.d.ts.map +1 -1
- package/dist/command/brand.d.ts.map +1 -1
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/interruptible/interruptible.d.ts.map +1 -1
- package/dist/controlledDomState.d.ts.map +1 -1
- package/dist/customElement/index.d.ts +6 -3
- package/dist/customElement/index.d.ts.map +1 -1
- package/dist/devTools/historyQuery.d.ts.map +1 -1
- package/dist/devTools/protocol.d.ts +113 -113
- package/dist/devTools/protocol.d.ts.map +1 -1
- package/dist/devTools/schemaSummarize.d.ts.map +1 -1
- package/dist/devTools/serialize.d.ts.map +1 -1
- package/dist/devTools/store.d.ts.map +1 -1
- package/dist/devTools/submodelPath.d.ts.map +1 -1
- package/dist/devTools/summarize.d.ts +6 -6
- package/dist/devTools/summarize.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.d.ts +1 -1
- package/dist/devTools/webSocketBridge.d.ts.map +1 -1
- package/dist/devTools/webSocketBridge.js +4 -4
- package/dist/dom/dom.d.ts +11 -5
- package/dist/dom/dom.d.ts.map +1 -1
- package/dist/dom/dom.js +10 -5
- package/dist/dom/elementMovement.d.ts.map +1 -1
- package/dist/dom/inert.d.ts.map +1 -1
- package/dist/dom/waitForAnimation.d.ts.map +1 -1
- package/dist/domReflection.d.ts.map +1 -1
- package/dist/effectExtensions/optionExtensions.d.ts.map +1 -1
- package/dist/effectExtensions/stringExtensions.d.ts.map +1 -1
- package/dist/experimental/machine/machine.d.ts.map +1 -1
- package/dist/experimental/server/entry.d.ts.map +1 -1
- package/dist/experimental/server/host.d.ts.map +1 -1
- package/dist/experimental/server/serialize.d.ts.map +1 -1
- package/dist/experimental/server/server.d.ts.map +1 -1
- package/dist/experimental/server/template.d.ts.map +1 -1
- package/dist/fieldValidation/fieldValidation.d.ts +35 -0
- package/dist/fieldValidation/fieldValidation.d.ts.map +1 -1
- package/dist/fieldValidation/fieldValidation.js +31 -1
- package/dist/fieldValidation/public.d.ts +1 -1
- package/dist/fieldValidation/public.d.ts.map +1 -1
- package/dist/fieldValidation/public.js +1 -1
- package/dist/fieldValidation/rule.d.ts.map +1 -1
- package/dist/file/file.d.ts.map +1 -1
- package/dist/file/reader.d.ts.map +1 -1
- package/dist/file/select.d.ts.map +1 -1
- package/dist/html/boundary.d.ts.map +1 -1
- package/dist/html/childAttribute.d.ts.map +1 -1
- package/dist/html/dragZoneTracking.d.ts +1 -1
- package/dist/html/dragZoneTracking.d.ts.map +1 -1
- package/dist/html/index.d.ts +7 -20
- package/dist/html/index.d.ts.map +1 -1
- package/dist/html/index.js +12 -15
- package/dist/html/runtimeSingleton.d.ts.map +1 -1
- package/dist/html/submodel.d.ts.map +1 -1
- package/dist/hydrate.d.ts.map +1 -1
- package/dist/hydrationMarkers.d.ts.map +1 -1
- package/dist/managedResource/managedResource.d.ts +5 -3
- package/dist/managedResource/managedResource.d.ts.map +1 -1
- package/dist/managedResource/managedResource.js +5 -3
- package/dist/mount/index.d.ts +167 -114
- package/dist/mount/index.d.ts.map +1 -1
- package/dist/mount/index.js +47 -63
- package/dist/nativeInnerHtml.d.ts.map +1 -1
- package/dist/navigation/index.d.ts.map +1 -1
- package/dist/navigation/urlRequest.d.ts +2 -2
- package/dist/navigation/urlRequest.d.ts.map +1 -1
- package/dist/port/port.d.ts.map +1 -1
- package/dist/propertyProvenance.d.ts.map +1 -1
- package/dist/propsModule.d.ts.map +1 -1
- package/dist/propsModule.js +3 -3
- package/dist/route/parser.d.ts.map +1 -1
- package/dist/route/transition.d.ts +4 -4
- package/dist/route/transition.d.ts.map +1 -1
- package/dist/runtime/browserListeners.d.ts.map +1 -1
- package/dist/runtime/crashUI.d.ts.map +1 -1
- package/dist/runtime/deepFreeze.d.ts.map +1 -1
- package/dist/runtime/hmrScroll.d.ts.map +1 -1
- package/dist/runtime/preserveScheduler.d.ts.map +1 -1
- package/dist/runtime/runtime.d.ts +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +115 -28
- package/dist/runtime/viewTransition.d.ts.map +1 -1
- package/dist/snabbdom/eventlisteners.d.ts.map +1 -1
- package/dist/snabbdom/h.d.ts.map +1 -1
- package/dist/snabbdom/init.d.ts.map +1 -1
- package/dist/snabbdom/init.js +45 -25
- package/dist/snabbdom/vnode.d.ts.map +1 -1
- package/dist/struct/index.d.ts.map +1 -1
- package/dist/subscription/animationFrame.d.ts.map +1 -1
- package/dist/subscription/fromEvent.d.ts.map +1 -1
- package/dist/subscription/subscription.d.ts +2 -2
- package/dist/subscription/subscription.d.ts.map +1 -1
- package/dist/tagName.d.ts.map +1 -1
- package/dist/test/apps/attributes.d.ts.map +1 -1
- package/dist/test/apps/bubbling.d.ts.map +1 -1
- package/dist/test/apps/colorPicker.d.ts +1 -1
- package/dist/test/apps/colorPicker.d.ts.map +1 -1
- package/dist/test/apps/contextMenu.d.ts +6 -6
- package/dist/test/apps/contextMenu.d.ts.map +1 -1
- package/dist/test/apps/contextMenu.js +3 -3
- package/dist/test/apps/counter.d.ts +10 -10
- package/dist/test/apps/counter.d.ts.map +1 -1
- package/dist/test/apps/crashOnRender.d.ts +3 -3
- package/dist/test/apps/crashOnRender.d.ts.map +1 -1
- package/dist/test/apps/drafts.d.ts +2 -2
- package/dist/test/apps/drafts.d.ts.map +1 -1
- package/dist/test/apps/feedSocket.d.ts +15 -15
- package/dist/test/apps/feedSocket.d.ts.map +1 -1
- package/dist/test/apps/fileUpload.d.ts +1 -1
- package/dist/test/apps/fileUpload.d.ts.map +1 -1
- package/dist/test/apps/focusBoundary.d.ts.map +1 -1
- package/dist/test/apps/formChild.d.ts +18 -18
- package/dist/test/apps/formChild.d.ts.map +1 -1
- package/dist/test/apps/interactions.d.ts +7 -7
- package/dist/test/apps/interactions.d.ts.map +1 -1
- package/dist/test/apps/keypress.d.ts +2 -2
- package/dist/test/apps/keypress.d.ts.map +1 -1
- package/dist/test/apps/login.d.ts +12 -12
- package/dist/test/apps/login.d.ts.map +1 -1
- package/dist/test/apps/logoutButton.d.ts.map +1 -1
- package/dist/test/apps/mountPanel.d.ts +9 -9
- package/dist/test/apps/mountPanel.d.ts.map +1 -1
- package/dist/test/apps/mountPanel.js +24 -13
- package/dist/test/apps/multiRole.d.ts.map +1 -1
- package/dist/test/apps/pointer.d.ts +2 -2
- package/dist/test/apps/pointer.d.ts.map +1 -1
- package/dist/test/apps/resumeUpload.d.ts +8 -8
- package/dist/test/apps/resumeUpload.d.ts.map +1 -1
- package/dist/test/apps/scorePanel.d.ts.map +1 -1
- package/dist/test/apps/selectiveKeys.d.ts +2 -2
- package/dist/test/apps/selectiveKeys.d.ts.map +1 -1
- package/dist/test/apps/uploads.d.ts +15 -15
- package/dist/test/apps/uploads.d.ts.map +1 -1
- package/dist/test/apps/uploads.js +3 -3
- package/dist/test/internal.d.ts.map +1 -1
- package/dist/test/matchers.d.ts.map +1 -1
- package/dist/test/query.d.ts.map +1 -1
- package/dist/test/scene.d.ts +136 -58
- package/dist/test/scene.d.ts.map +1 -1
- package/dist/test/scene.js +75 -32
- package/dist/test/story.d.ts +30 -5
- package/dist/test/story.d.ts.map +1 -1
- package/dist/update/update.d.ts.map +1 -1
- package/dist/url/index.d.ts.map +1 -1
- package/dist/vdom.d.ts.map +1 -1
- package/dist/vdom.js +6 -8
- package/package.json +6 -8
package/dist/test/scene.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { MountDefinition } from '../mount/index.js';
|
|
|
7
7
|
import type { VNode } from '../vdom.js';
|
|
8
8
|
import type { AnyCommand, AnyCommandInstance, AnyMount, CommandMatcher, MountMatcher, MountResolver, PendingMount, ResolvableCommandDefinition, ResolvableCommandMatcher, Resolver } from './internal.js';
|
|
9
9
|
import type { Locator, LocatorAll } from './query.js';
|
|
10
|
+
import { allAltText, allDisplayValue, allLabel, allPlaceholder, allRole, allSelector, allTestId, allText, allTitle } from './query.js';
|
|
10
11
|
export type { AnyCommand, AnyMount, MountMatcher, MountResolver, PendingMount, Resolver, };
|
|
11
12
|
export { find, findAll, textContent, attr, getByRole, getAllByRole, getByText, getByPlaceholder, getByLabel, getByAltText, getByTitle, getByTestId, getByDisplayValue, role, placeholder, label, altText, title, testId, displayValue, selector, text, within, getAllByText, getAllByLabel, getAllByPlaceholder, getAllByAltText, getAllByTitle, getAllByTestId, getAllByDisplayValue, first, last, nth, filter, } from './query.js';
|
|
12
13
|
export type { Locator, LocatorAll } from './query.js';
|
|
@@ -14,25 +15,15 @@ export type { Locator, LocatorAll } from './query.js';
|
|
|
14
15
|
* to every matching VNode. Convert to a single `Locator` via `first`,
|
|
15
16
|
* `last`, or `nth(n)`, or narrow via `filter`. */
|
|
16
17
|
export declare const all: {
|
|
17
|
-
readonly role:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
readonly text: (target: string, options?: Readonly<{
|
|
27
|
-
exact?: boolean;
|
|
28
|
-
}>) => LocatorAll;
|
|
29
|
-
readonly label: (labelValue: string) => LocatorAll;
|
|
30
|
-
readonly placeholder: (placeholderValue: string) => LocatorAll;
|
|
31
|
-
readonly altText: (altValue: string) => LocatorAll;
|
|
32
|
-
readonly title: (titleValue: string) => LocatorAll;
|
|
33
|
-
readonly testId: (testIdValue: string) => LocatorAll;
|
|
34
|
-
readonly displayValue: (valueString: string) => LocatorAll;
|
|
35
|
-
readonly selector: (css: string) => LocatorAll;
|
|
18
|
+
readonly role: typeof allRole;
|
|
19
|
+
readonly text: typeof allText;
|
|
20
|
+
readonly label: typeof allLabel;
|
|
21
|
+
readonly placeholder: typeof allPlaceholder;
|
|
22
|
+
readonly altText: typeof allAltText;
|
|
23
|
+
readonly title: typeof allTitle;
|
|
24
|
+
readonly testId: typeof allTestId;
|
|
25
|
+
readonly displayValue: typeof allDisplayValue;
|
|
26
|
+
readonly selector: typeof allSelector;
|
|
36
27
|
};
|
|
37
28
|
export { sceneMatchers } from './matchers.js';
|
|
38
29
|
/** An immutable test simulation that includes the rendered VNode tree.
|
|
@@ -43,6 +34,8 @@ export type SceneSimulation<Model, Message, OutMessage = undefined> = Readonly<{
|
|
|
43
34
|
_phantom: [Model, Message];
|
|
44
35
|
commands: ReadonlyArray<AnyCommand>;
|
|
45
36
|
mounts: ReadonlyArray<PendingMount>;
|
|
37
|
+
/** The sole OutMessage from the latest update-producing Scene step.
|
|
38
|
+
* Undefined when that step emitted none or more than one. */
|
|
46
39
|
outMessage: OutMessage | undefined;
|
|
47
40
|
html: VNode;
|
|
48
41
|
}>;
|
|
@@ -54,10 +47,92 @@ type GivenStep<Model> = Readonly<{
|
|
|
54
47
|
export type SceneStep<Model, Message, OutMessage> = GivenStep<NoInfer<Model>> | ((simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>);
|
|
55
48
|
/** Sets the initial Model for a scene test. */
|
|
56
49
|
export declare const given: <Model>(model: Model) => GivenStep<Model>;
|
|
50
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
51
|
+
* Commands the result produces. Each entry is consumed by exactly one
|
|
52
|
+
* matching dispatch in declaration order, so
|
|
53
|
+
* `[Def, m1], [Def, m2], [Def, m3]` reads as a sequence of three responses.
|
|
54
|
+
* For N identical responses, compose with
|
|
55
|
+
* `Array.makeBy(n, () => [Def, message])`. Resolvers carry across
|
|
56
|
+
* `resolveAll` calls: unused entries can match later dispatches, and a new
|
|
57
|
+
* entry replaces any leftover resolvers sharing its Definition or Instance
|
|
58
|
+
* shape (latest wins). */
|
|
59
|
+
declare const resolveAllCommands: <Matchers extends ReadonlyArray<ResolvableCommandMatcher>>(...resolvers: { [K in keyof Matchers]: Resolver<Matchers[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
60
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
61
|
+
* Commands the results produce. Every resolver must match one dispatch in
|
|
62
|
+
* this call, and no actual Commands may remain unresolved. Supplied resolvers
|
|
63
|
+
* do not carry forward. */
|
|
64
|
+
declare const resolveAllExactCommands: <Matchers extends ReadonlyArray<ResolvableCommandMatcher>>(...resolvers: { [K in keyof Matchers]: Resolver<Matchers[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
65
|
+
/** Asserts that every given matcher matches a pending Command. Definition
|
|
66
|
+
* matchers match by name only; Instance matchers match by name + args. */
|
|
67
|
+
declare const expectHasCommandsStep: (...matchers: ReadonlyArray<CommandMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
68
|
+
/** Asserts that the pending Commands match the given matchers exactly
|
|
69
|
+
* (order-independent). Definition matchers compare by name; Instance
|
|
70
|
+
* matchers compare by name + args. */
|
|
71
|
+
declare const expectExactCommandsStep: (...matchers: ReadonlyArray<CommandMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
72
|
+
/** Asserts that there are no pending Commands. */
|
|
73
|
+
declare const expectNoCommandsStep: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
74
|
+
/** Resolves all listed Mounts with their result Messages. Mounts are resolved
|
|
75
|
+
* in the order listed; each resolution feeds its Message through update
|
|
76
|
+
* before the next is resolved. */
|
|
77
|
+
declare const resolveAllMounts: <R extends ReadonlyArray<unknown>>(...resolvers: { [K in keyof R]: MountResolver<R[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
78
|
+
/** Asserts that every given Mount is among the pending Mounts. Accepts Mount
|
|
79
|
+
* Definitions (match by name) and Mount instances (match by name + args). */
|
|
80
|
+
declare const expectHasMountsStep: (...matchers: ReadonlyArray<MountMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
81
|
+
/** Asserts that the pending Mounts match the given matchers exactly
|
|
82
|
+
* (order-independent). Accepts Mount Definitions (match by name) and Mount
|
|
83
|
+
* instances (match by name + args). */
|
|
84
|
+
declare const expectExactMountsStep: (...matchers: ReadonlyArray<MountMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
85
|
+
/** Asserts that there are no pending Mounts. */
|
|
86
|
+
declare const expectNoMountsStep: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
87
|
+
/** Acknowledges that the given Mounts disappeared from the rendered tree.
|
|
88
|
+
* Required for every Mount that fires and then unmounts during a scene,
|
|
89
|
+
* whether or not it was resolved first. Without this, the scene throws at
|
|
90
|
+
* the end of the test for any unacknowledged unmount. Mount matchers may
|
|
91
|
+
* be Definitions or instances; instances acknowledge a specific args shape. */
|
|
92
|
+
declare const expectEndedMountsStep: (...matchers: ReadonlyArray<MountMatcher>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
93
|
+
/** Feeds a Message through update as if a Subscription had emitted it,
|
|
94
|
+
* then re-renders. Use it for Messages whose real cause is a Subscription
|
|
95
|
+
* (a timer tick, a WebSocket frame, a global listener), which have no
|
|
96
|
+
* element in the rendered tree to interact with. Do NOT reach for it when
|
|
97
|
+
* the Message has a DOM affordance: click the actual button instead, so
|
|
98
|
+
* the test exercises the handler wiring this step skips. Like an
|
|
99
|
+
* interaction, it throws if unresolved Commands, unresolved Mounts, or
|
|
100
|
+
* unacknowledged unmounts are pending. */
|
|
101
|
+
declare const emitSubscriptionMessage: <MessageInput>(message: MessageInput) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
57
102
|
/** A ManagedResource entry a scene can drive: the Option-shaped requirements
|
|
58
103
|
* are what the runtime watches, so the steps can check the current Model
|
|
59
104
|
* against them before dispatching a lifecycle Message. */
|
|
60
105
|
type SceneManagedResourceEntry<EntryModel, EntryMessage, Value, OnAcquired extends (...args: any) => EntryMessage = (value: Value) => EntryMessage> = ManagedResourceEntry<EntryModel, EntryMessage, Option.Option<any>, Value, any, OnAcquired>;
|
|
106
|
+
/** Declares that a ManagedResource's acquire succeeded, feeding the entry's
|
|
107
|
+
* `onAcquired` Message through update the way the runtime would. The step
|
|
108
|
+
* takes exactly the arguments the entry's `onAcquired` declares: a handler
|
|
109
|
+
* that consumes the acquired value needs one here, and a handler that
|
|
110
|
+
* ignores it needs none. Requires the current Model to request the
|
|
111
|
+
* resource: the runtime only acquires while `modelToMaybeRequirements`
|
|
112
|
+
* returns Some, so drive the Model into that state through real steps
|
|
113
|
+
* first. */
|
|
114
|
+
declare const acquireManagedResource: <EntryModel, EntryMessage, Value, Args extends ReadonlyArray<any>>(entry: SceneManagedResourceEntry<EntryModel, EntryMessage, Value, (...args: Args) => EntryMessage>, ...args: NoInfer<Args>) => <Message, OutMessage = undefined>(simulation: SceneSimulation<EntryModel, Message, OutMessage>) => SceneSimulation<EntryModel, Message, OutMessage>;
|
|
115
|
+
/** Declares that a ManagedResource's acquire failed, feeding the entry's
|
|
116
|
+
* `onAcquireError(error)` Message through update the way the runtime
|
|
117
|
+
* would. Requires the current Model to request the resource, the same as
|
|
118
|
+
* {@link acquireManagedResource}: the runtime only attempts acquisition
|
|
119
|
+
* while `modelToMaybeRequirements` returns Some. */
|
|
120
|
+
declare const failAcquireManagedResource: <EntryModel, EntryMessage, Value>(entry: SceneManagedResourceEntry<EntryModel, EntryMessage, Value>, error: unknown) => <Message, OutMessage = undefined>(simulation: SceneSimulation<EntryModel, Message, OutMessage>) => SceneSimulation<EntryModel, Message, OutMessage>;
|
|
121
|
+
/** Declares that a ManagedResource was released, feeding the entry's
|
|
122
|
+
* `onReleased()` Message through update. Models the runtime's Some to
|
|
123
|
+
* None transition, which releases and then dispatches `onReleased()`, so
|
|
124
|
+
* it requires the current Model to no longer request the resource: drive
|
|
125
|
+
* the Model out of the requesting state through real steps first. The
|
|
126
|
+
* runtime's Some to Some re-acquire (structurally changed requirements),
|
|
127
|
+
* which also dispatches `onReleased()` and then `onAcquired(value)` while
|
|
128
|
+
* the Model still requests the resource, has no step yet. */
|
|
129
|
+
declare const releaseManagedResource: <EntryModel, EntryMessage, Value>(entry: SceneManagedResourceEntry<EntryModel, EntryMessage, Value>) => <Message, OutMessage = undefined>(simulation: SceneSimulation<EntryModel, Message, OutMessage>) => SceneSimulation<EntryModel, Message, OutMessage>;
|
|
130
|
+
/** Dispatches a CustomEvent a rendered custom element declares, feeding the
|
|
131
|
+
* Message its `On*` event mapping produces through update. The event name
|
|
132
|
+
* and detail are typed by the spec's event Schemas. The element must be in
|
|
133
|
+
* the rendered tree with the event's attribute attached, so the test
|
|
134
|
+
* exercises the same mapping the browser event would. */
|
|
135
|
+
declare const emitCustomElementEvent: <Events extends Record<string, Schema.Top>, Name extends keyof Events & string>(spec: CustomElementSpec<string, Record<string, Schema.Top>, Events>, target: string | Locator, eventName: Name, detail: Schema.Schema.Type<Events[Name]>) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
61
136
|
/** Steps that operate on the pending Commands of a scene simulation.
|
|
62
137
|
* Destructure as `const { Command } = Scene` for concise call sites. */
|
|
63
138
|
export declare const Command: {
|
|
@@ -71,17 +146,17 @@ export declare const Command: {
|
|
|
71
146
|
* dispatch in declaration order; compose with `Array.makeBy` for N
|
|
72
147
|
* identical responses. Resolvers carry across calls; a new entry replaces
|
|
73
148
|
* any leftovers sharing its Definition or Instance shape (latest wins). */
|
|
74
|
-
readonly resolveAll:
|
|
149
|
+
readonly resolveAll: typeof resolveAllCommands;
|
|
75
150
|
/** Resolves listed Commands and throws unless every resolver matches one
|
|
76
151
|
* dispatch and no actual Commands remain unresolved. Entries apply only to
|
|
77
152
|
* this call and never carry forward. */
|
|
78
|
-
readonly resolveAllExact:
|
|
153
|
+
readonly resolveAllExact: typeof resolveAllExactCommands;
|
|
79
154
|
/** Asserts that every given Command is among the pending Commands. */
|
|
80
|
-
readonly expectHas:
|
|
155
|
+
readonly expectHas: typeof expectHasCommandsStep;
|
|
81
156
|
/** Asserts that the pending Commands match the given definitions exactly (order-independent). */
|
|
82
|
-
readonly expectExact:
|
|
157
|
+
readonly expectExact: typeof expectExactCommandsStep;
|
|
83
158
|
/** Asserts that there are no pending Commands. */
|
|
84
|
-
readonly expectNone:
|
|
159
|
+
readonly expectNone: typeof expectNoCommandsStep;
|
|
85
160
|
};
|
|
86
161
|
/** Steps that operate on the pending Mounts of a scene simulation.
|
|
87
162
|
* Destructure as `const { Mount } = Scene` for concise call sites. */
|
|
@@ -89,16 +164,16 @@ export declare const Mount: {
|
|
|
89
164
|
/** Resolves a specific pending Mount with the given result Message. */
|
|
90
165
|
readonly resolve: <Name extends string, ResultMessage>(matcher: MountDefinition<Name, ResultMessage> | AnyMount, resultMessage: ResultMessage) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
91
166
|
/** Resolves all listed Mounts with their result Messages. */
|
|
92
|
-
readonly resolveAll:
|
|
167
|
+
readonly resolveAll: typeof resolveAllMounts;
|
|
93
168
|
/** Asserts that every given Mount is among the pending Mounts. */
|
|
94
|
-
readonly expectHas:
|
|
169
|
+
readonly expectHas: typeof expectHasMountsStep;
|
|
95
170
|
/** Asserts that the pending Mounts match the given definitions exactly (order-independent, by name). */
|
|
96
|
-
readonly expectExact:
|
|
171
|
+
readonly expectExact: typeof expectExactMountsStep;
|
|
97
172
|
/** Asserts that there are no pending Mounts. */
|
|
98
|
-
readonly expectNone:
|
|
173
|
+
readonly expectNone: typeof expectNoMountsStep;
|
|
99
174
|
/** Acknowledges Mounts that disappeared from the rendered tree. Required for
|
|
100
175
|
* every Mount that fires and then unmounts during a scene. */
|
|
101
|
-
readonly expectEnded:
|
|
176
|
+
readonly expectEnded: typeof expectEndedMountsStep;
|
|
102
177
|
};
|
|
103
178
|
/** Steps that model Messages arriving from a Subscription.
|
|
104
179
|
* Destructure as `const { Subscription } = Scene` for concise call sites. */
|
|
@@ -106,7 +181,7 @@ export declare const Subscription: {
|
|
|
106
181
|
/** Feeds a Message through update as if a Subscription had emitted it,
|
|
107
182
|
* then re-renders. Only for Messages whose real cause is a Subscription;
|
|
108
183
|
* if the Message has a DOM affordance, click it instead. */
|
|
109
|
-
readonly emit:
|
|
184
|
+
readonly emit: typeof emitSubscriptionMessage;
|
|
110
185
|
};
|
|
111
186
|
/** Steps that model the lifecycle Messages of a ManagedResource. The test
|
|
112
187
|
* declares the lifecycle outcome the way `Scene.Command.resolve` declares a
|
|
@@ -119,25 +194,28 @@ export declare const ManagedResource: {
|
|
|
119
194
|
/** Declares a successful acquire, feeding the entry's `onAcquired` Message
|
|
120
195
|
* through update. Takes exactly the arguments `onAcquired` declares. The
|
|
121
196
|
* current Model must request the resource. */
|
|
122
|
-
readonly acquire:
|
|
197
|
+
readonly acquire: typeof acquireManagedResource;
|
|
123
198
|
/** Declares a failed acquire, feeding `onAcquireError(error)` through
|
|
124
199
|
* update. The current Model must request the resource. */
|
|
125
|
-
readonly failAcquire:
|
|
200
|
+
readonly failAcquire: typeof failAcquireManagedResource;
|
|
126
201
|
/** Declares a release, feeding `onReleased()` through update. The current
|
|
127
202
|
* Model must no longer request the resource. */
|
|
128
|
-
readonly release:
|
|
203
|
+
readonly release: typeof releaseManagedResource;
|
|
129
204
|
};
|
|
130
205
|
/** Steps that model CustomEvents arriving from a rendered custom element.
|
|
131
206
|
* Destructure as `const { CustomElement } = Scene` for concise call sites. */
|
|
132
207
|
export declare const CustomElement: {
|
|
133
208
|
/** Dispatches a declared CustomEvent through the element's event mapping.
|
|
134
209
|
* The event name and detail are typed by the spec's event Schemas. */
|
|
135
|
-
readonly emit:
|
|
210
|
+
readonly emit: typeof emitCustomElementEvent;
|
|
136
211
|
};
|
|
137
|
-
/** Asserts by structural equality that
|
|
138
|
-
*
|
|
212
|
+
/** Asserts by structural equality that the latest update-producing Scene step
|
|
213
|
+
* emitted exactly the expected OutMessage. */
|
|
139
214
|
export declare const expectOutMessage: <Expected>(expected: Expected) => <Model, Message, OutMessage>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
140
|
-
/** Asserts that
|
|
215
|
+
/** Asserts by structural equality that the latest update-producing Scene
|
|
216
|
+
* step emitted two or more expected OutMessages in runtime order. */
|
|
217
|
+
export declare const expectOutMessages: <Expected extends readonly [unknown, unknown, ...ReadonlyArray<unknown>]>(...expected: Expected) => <Model, Message, OutMessage>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
218
|
+
/** Asserts that the latest update-producing Scene step emitted no OutMessages. */
|
|
141
219
|
export declare const expectNoOutMessage: () => <Model, Message, OutMessage>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
142
220
|
/** Asserts that the preceding interaction was handled: its event handler
|
|
143
221
|
* produced a Message.
|
|
@@ -286,6 +364,24 @@ export declare const keydown: {
|
|
|
286
364
|
* the current view and asserts on the result. */
|
|
287
365
|
export { expect_ as expect };
|
|
288
366
|
declare const expect_: (locator: Locator) => {
|
|
367
|
+
toExist: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
368
|
+
toBeAbsent: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
369
|
+
toHaveText: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
370
|
+
toContainText: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
371
|
+
toHaveAttr: (name: string, value?: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
372
|
+
toHaveClass: (expected: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
373
|
+
toHaveStyle: (name: string, value?: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
374
|
+
toHaveHook: (name: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
375
|
+
toHaveHandler: (name: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
376
|
+
toHaveValue: (expected: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
377
|
+
toBeDisabled: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
378
|
+
toBeEnabled: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
379
|
+
toBeEmpty: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
380
|
+
toBeVisible: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
381
|
+
toHaveId: (expected: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
382
|
+
toHaveAccessibleName: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
383
|
+
toHaveAccessibleDescription: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
384
|
+
toBeChecked: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
289
385
|
not: {
|
|
290
386
|
toExist: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
291
387
|
toBeAbsent: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
@@ -306,34 +402,16 @@ declare const expect_: (locator: Locator) => {
|
|
|
306
402
|
toHaveAccessibleDescription: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
307
403
|
toBeChecked: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
308
404
|
};
|
|
309
|
-
toExist: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
310
|
-
toBeAbsent: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
311
|
-
toHaveText: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
312
|
-
toContainText: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
313
|
-
toHaveAttr: (name: string, value?: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
314
|
-
toHaveClass: (expected: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
315
|
-
toHaveStyle: (name: string, value?: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
316
|
-
toHaveHook: (name: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
317
|
-
toHaveHandler: (name: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
318
|
-
toHaveValue: (expected: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
319
|
-
toBeDisabled: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
320
|
-
toBeEnabled: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
321
|
-
toBeEmpty: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
322
|
-
toBeVisible: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
323
|
-
toHaveId: (expected: string) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
324
|
-
toHaveAccessibleName: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
325
|
-
toHaveAccessibleDescription: (expected: string | RegExp) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
326
|
-
toBeChecked: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
327
405
|
};
|
|
328
406
|
/** Creates an inline multi-match assertion step. Use for count-based
|
|
329
407
|
* assertions like `toHaveCount(n)` or `toBeEmpty()`. */
|
|
330
408
|
export declare const expectAll: (locatorAll: LocatorAll) => {
|
|
409
|
+
toHaveCount: (expected: number) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
410
|
+
toBeEmpty: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
331
411
|
not: {
|
|
332
412
|
toHaveCount: (expected: number) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
333
413
|
toBeEmpty: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
334
414
|
};
|
|
335
|
-
toHaveCount: (expected: number) => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
336
|
-
toBeEmpty: () => <Model, Message, OutMessage = undefined>(simulation: SceneSimulation<Model, Message, OutMessage>) => SceneSimulation<Model, Message, OutMessage>;
|
|
337
415
|
};
|
|
338
416
|
/** Adapts a Submodel view that declares `ViewInputs` to the `(model, h)`
|
|
339
417
|
* shape `Scene.scene` takes. `defaults` supplies the full `ViewInputs`
|
|
@@ -351,7 +429,7 @@ export declare const expectAll: (locatorAll: LocatorAll) => {
|
|
|
351
429
|
* Scene.scene({ update, view: sceneView({ isDisabled: true }) }, ...)
|
|
352
430
|
* ```
|
|
353
431
|
*/
|
|
354
|
-
export declare const withViewInputs: <Model, Message, ViewInputs extends object>(view: (model: Model, viewInputs: ViewInputs, h: HtmlBuilder<Message>) => Html, defaults: NoInfer<ViewInputs>) => (overrides?: Omit<Partial<NoInfer<ViewInputs>>,
|
|
432
|
+
export declare const withViewInputs: <Model, Message, ViewInputs extends object>(view: (model: Model, viewInputs: ViewInputs, h: HtmlBuilder<Message>) => Html, defaults: NoInfer<ViewInputs>) => (overrides?: Omit<Partial<NoInfer<ViewInputs>>, 'toView'>) => (model: Model, h: HtmlBuilder<Message>) => Html;
|
|
355
433
|
/** Executes a scene test. Throws if any Commands or Mounts remain
|
|
356
434
|
* unresolved, any unmount is unacknowledged, or any interaction fell
|
|
357
435
|
* through unacknowledged. */
|
package/dist/test/scene.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/test/scene.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../../src/test/scene.ts"],"names":[],"mappings":"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"}
|
package/dist/test/scene.js
CHANGED
|
@@ -86,6 +86,36 @@ const UNINITIALIZED = Symbol('uninitialized');
|
|
|
86
86
|
const toInternal = (simulation) =>
|
|
87
87
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
88
88
|
simulation;
|
|
89
|
+
const createOutMessageCapture = (updateFn) => {
|
|
90
|
+
const outMessages = [];
|
|
91
|
+
let isUpdateApplied = false;
|
|
92
|
+
return {
|
|
93
|
+
updateFn: (model, message) => {
|
|
94
|
+
isUpdateApplied = true;
|
|
95
|
+
const messageUpdate = updateFn(model, message);
|
|
96
|
+
if (!Predicate.isUndefined(messageUpdate.outMessage)) {
|
|
97
|
+
outMessages.push(messageUpdate.outMessage);
|
|
98
|
+
}
|
|
99
|
+
return messageUpdate;
|
|
100
|
+
},
|
|
101
|
+
getOutMessages: () => outMessages,
|
|
102
|
+
isUpdateApplied: () => isUpdateApplied,
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
const withOutMessages = (simulation, outMessages) => {
|
|
106
|
+
const internal = toInternal(simulation);
|
|
107
|
+
const outMessage = Array.matchLeft(outMessages, {
|
|
108
|
+
onEmpty: () => undefined,
|
|
109
|
+
onNonEmpty: (head, tail) => Array.isReadonlyArrayEmpty(tail) ? head : undefined,
|
|
110
|
+
});
|
|
111
|
+
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
112
|
+
return {
|
|
113
|
+
...internal,
|
|
114
|
+
outMessage,
|
|
115
|
+
outMessages,
|
|
116
|
+
outMessageRevision: internal.outMessageRevision + 1,
|
|
117
|
+
};
|
|
118
|
+
};
|
|
89
119
|
const applyScopeToTarget = (scope, target) => Option.match(scope, {
|
|
90
120
|
onNone: () => target,
|
|
91
121
|
onSome: parent => typeof target === 'string'
|
|
@@ -208,28 +238,7 @@ const applyExternalMessages = (simulation, messages, context) => {
|
|
|
208
238
|
assertNoUnresolvedCommands(internal.commands, context);
|
|
209
239
|
assertNoUnresolvedMounts(internal.mounts, context);
|
|
210
240
|
assertNoUnacknowledgedUnmounts(unacknowledgedEndedMountsOf(internal.mountSlots), context);
|
|
211
|
-
|
|
212
|
-
simulation,
|
|
213
|
-
outMessages: Array.empty(),
|
|
214
|
-
}, (current, message) => {
|
|
215
|
-
const nextSimulation = applyMessageWithoutBoundaryChecks(current.simulation, message);
|
|
216
|
-
const nextOutMessage = toInternal(nextSimulation).outMessage;
|
|
217
|
-
return {
|
|
218
|
-
simulation: nextSimulation,
|
|
219
|
-
outMessages: Predicate.isUndefined(nextOutMessage)
|
|
220
|
-
? current.outMessages
|
|
221
|
-
: Array.append(current.outMessages, nextOutMessage),
|
|
222
|
-
};
|
|
223
|
-
});
|
|
224
|
-
if (Array.isReadonlyArrayNonEmpty(Array.drop(appliedMessages.outMessages, 1))) {
|
|
225
|
-
throw new Error('One interaction emitted multiple OutMessages, but Scene can expose only one OutMessage per step.\n\n' +
|
|
226
|
-
'Split the DOM handlers into separate interactions, or test this composition at the parent boundary where each OutMessage is folded.');
|
|
227
|
-
}
|
|
228
|
-
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions */
|
|
229
|
-
return {
|
|
230
|
-
...toInternal(appliedMessages.simulation),
|
|
231
|
-
outMessage: pipe(appliedMessages.outMessages, Array.head, Option.getOrUndefined),
|
|
232
|
-
};
|
|
241
|
+
return Array.reduce(messages, simulation, applyMessageWithoutBoundaryChecks);
|
|
233
242
|
};
|
|
234
243
|
/** Clears the pending fall-through, marking it acknowledged. Paired with
|
|
235
244
|
* {@link assertNoUnacknowledgedIgnored}, which is what it silences. */
|
|
@@ -701,22 +710,39 @@ export const CustomElement = {
|
|
|
701
710
|
* The event name and detail are typed by the spec's event Schemas. */
|
|
702
711
|
emit: emitCustomElementEvent,
|
|
703
712
|
};
|
|
704
|
-
/** Asserts by structural equality that
|
|
705
|
-
*
|
|
713
|
+
/** Asserts by structural equality that the latest update-producing Scene step
|
|
714
|
+
* emitted exactly the expected OutMessage. */
|
|
706
715
|
export const expectOutMessage = (expected) => (simulation) => {
|
|
707
716
|
const internal = toInternal(simulation);
|
|
708
|
-
const
|
|
709
|
-
if (
|
|
710
|
-
throw new Error(`Expected OutMessage:\n\n ${JSON.stringify(expected)}\n\nBut got:\n\n
|
|
717
|
+
const maybeOutMessage = Array.head(internal.outMessages);
|
|
718
|
+
if (Option.isNone(maybeOutMessage)) {
|
|
719
|
+
throw new Error(`Expected OutMessage:\n\n ${JSON.stringify(expected)}\n\nBut got:\n\n undefined`);
|
|
720
|
+
}
|
|
721
|
+
if (Array.isReadonlyArrayNonEmpty(Array.drop(internal.outMessages, 1))) {
|
|
722
|
+
throw new Error(`Expected exactly one OutMessage but got multiple:\n\n ${JSON.stringify(internal.outMessages)}`);
|
|
723
|
+
}
|
|
724
|
+
if (!Equal.equals(maybeOutMessage.value, expected)) {
|
|
725
|
+
throw new Error(`Expected OutMessage:\n\n ${JSON.stringify(expected)}\n\nBut got:\n\n ${JSON.stringify(maybeOutMessage.value)}`);
|
|
726
|
+
}
|
|
727
|
+
return simulation;
|
|
728
|
+
};
|
|
729
|
+
/** Asserts by structural equality that the latest update-producing Scene
|
|
730
|
+
* step emitted two or more expected OutMessages in runtime order. */
|
|
731
|
+
export const expectOutMessages = (...expected) => (simulation) => {
|
|
732
|
+
const actual = toInternal(simulation).outMessages;
|
|
733
|
+
if (!Equal.equals(actual, expected)) {
|
|
734
|
+
throw new Error(`Expected OutMessages:\n\n ${JSON.stringify(expected)}\n\nBut got:\n\n ${JSON.stringify(actual)}`);
|
|
711
735
|
}
|
|
712
736
|
return simulation;
|
|
713
737
|
};
|
|
714
|
-
/** Asserts that update emitted no
|
|
738
|
+
/** Asserts that the latest update-producing Scene step emitted no OutMessages. */
|
|
715
739
|
export const expectNoOutMessage = () => (simulation) => {
|
|
716
740
|
const internal = toInternal(simulation);
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
741
|
+
if (Array.isReadonlyArrayNonEmpty(internal.outMessages)) {
|
|
742
|
+
const actual = Array.isReadonlyArrayEmpty(Array.drop(internal.outMessages, 1))
|
|
743
|
+
? Array.headNonEmpty(internal.outMessages)
|
|
744
|
+
: internal.outMessages;
|
|
745
|
+
throw new Error(`Expected no OutMessage but got:\n\n ${JSON.stringify(actual)}`);
|
|
720
746
|
}
|
|
721
747
|
return simulation;
|
|
722
748
|
};
|
|
@@ -792,7 +818,22 @@ export const tap = (f) => (simulation) => {
|
|
|
792
818
|
const runSteps = (seed, steps) =>
|
|
793
819
|
/* eslint-disable @typescript-eslint/consistent-type-assertions */
|
|
794
820
|
Array.reduce(steps, seed, (current, step) => {
|
|
795
|
-
const
|
|
821
|
+
const currentInternal = toInternal(current);
|
|
822
|
+
const outMessageCapture = createOutMessageCapture(currentInternal.updateFn);
|
|
823
|
+
const capturingSimulation = {
|
|
824
|
+
...currentInternal,
|
|
825
|
+
updateFn: outMessageCapture.updateFn,
|
|
826
|
+
};
|
|
827
|
+
const stepResult = step(capturingSimulation);
|
|
828
|
+
const restoredSimulation = {
|
|
829
|
+
...toInternal(stepResult),
|
|
830
|
+
updateFn: currentInternal.updateFn,
|
|
831
|
+
};
|
|
832
|
+
const isSequenceUpdatedByNestedSteps = toInternal(restoredSimulation).outMessageRevision !==
|
|
833
|
+
currentInternal.outMessageRevision;
|
|
834
|
+
const next = outMessageCapture.isUpdateApplied() && !isSequenceUpdatedByNestedSteps
|
|
835
|
+
? withOutMessages(restoredSimulation, outMessageCapture.getOutMessages())
|
|
836
|
+
: restoredSimulation;
|
|
796
837
|
const internal = toInternal(next);
|
|
797
838
|
if (internal.model !== UNINITIALIZED) {
|
|
798
839
|
const html = renderView(internal.viewFn, internal.model, internal.capturingDispatch.dispatch);
|
|
@@ -1377,6 +1418,8 @@ export const scene = (config, ...steps) => {
|
|
|
1377
1418
|
mounts: [],
|
|
1378
1419
|
mountSlots: [],
|
|
1379
1420
|
outMessage: undefined,
|
|
1421
|
+
outMessages: [],
|
|
1422
|
+
outMessageRevision: 0,
|
|
1380
1423
|
updateFn: config.update,
|
|
1381
1424
|
resolvers: [],
|
|
1382
1425
|
html: undefined,
|
package/dist/test/story.d.ts
CHANGED
|
@@ -25,8 +25,33 @@ export declare const given: <Model>(model: Model) => GivenStep<Model>;
|
|
|
25
25
|
/** Sends a Message through update. Commands stay pending until resolve or
|
|
26
26
|
* resolveAll. */
|
|
27
27
|
export declare const message: <MessageInput>(message_: MessageInput) => <Model, Message, OutMessage>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
28
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
29
|
+
* Commands the result produces. Each entry is consumed by exactly one
|
|
30
|
+
* matching dispatch in declaration order, so
|
|
31
|
+
* `[Def, m1], [Def, m2], [Def, m3]` reads as a sequence of three responses.
|
|
32
|
+
* For N identical responses, compose with
|
|
33
|
+
* `Array.makeBy(n, () => [Def, message])`. Resolvers carry across
|
|
34
|
+
* `resolveAll` calls: unused entries can match later dispatches, and a new
|
|
35
|
+
* entry replaces any leftover resolvers sharing its Definition or Instance
|
|
36
|
+
* shape (latest wins). */
|
|
37
|
+
declare const resolveAllCommands: <Matchers extends ReadonlyArray<ResolvableCommandMatcher>>(...resolvers: { [K in keyof Matchers]: Resolver<Matchers[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
38
|
+
/** Resolves listed Commands with their result Messages, cascading through any
|
|
39
|
+
* Commands the results produce. Every resolver must match one dispatch in
|
|
40
|
+
* this call, and no actual Commands may remain unresolved. Supplied resolvers
|
|
41
|
+
* do not carry forward. */
|
|
42
|
+
declare const resolveAllExactCommands: <Matchers extends ReadonlyArray<ResolvableCommandMatcher>>(...resolvers: { [K in keyof Matchers]: Resolver<Matchers[K]>; }) => <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
28
43
|
/** Runs an assertion function against the current Model. */
|
|
29
44
|
export declare const model: <Model>(f: (model: Model) => void) => ModelStep<Model>;
|
|
45
|
+
/** Asserts that every given matcher matches a pending Command. Definition
|
|
46
|
+
* matchers match by name only; Instance matchers match by name + args. */
|
|
47
|
+
declare const expectHasCommandsStep: (...matchers: ReadonlyArray<CommandMatcher>) => <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
48
|
+
/** Asserts that the pending Commands match the given matchers exactly
|
|
49
|
+
* (order-independent). Definition matchers compare by name; Instance
|
|
50
|
+
* matchers compare by name + args. Each matcher must consume exactly one
|
|
51
|
+
* pending Command. */
|
|
52
|
+
declare const expectExactCommandsStep: (...matchers: ReadonlyArray<CommandMatcher>) => <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
53
|
+
/** Asserts that there are no pending Commands. */
|
|
54
|
+
declare const expectNoCommandsStep: () => <Model, Message, OutMessage = undefined>(simulation: StorySimulation<Model, Message, OutMessage>) => StorySimulation<Model, Message, OutMessage>;
|
|
30
55
|
/** Steps that operate on the pending Commands of a story simulation.
|
|
31
56
|
* Destructure as `const { Command } = Story` for concise call sites. */
|
|
32
57
|
export declare const Command: {
|
|
@@ -40,17 +65,17 @@ export declare const Command: {
|
|
|
40
65
|
* dispatch in declaration order; compose with `Array.makeBy` for N
|
|
41
66
|
* identical responses. Resolvers carry across calls; a new entry replaces
|
|
42
67
|
* any leftovers sharing its Definition or Instance shape (latest wins). */
|
|
43
|
-
readonly resolveAll:
|
|
68
|
+
readonly resolveAll: typeof resolveAllCommands;
|
|
44
69
|
/** Resolves listed Commands and throws unless every resolver matches one
|
|
45
70
|
* dispatch and no actual Commands remain unresolved. Entries apply only to
|
|
46
71
|
* this call and never carry forward. */
|
|
47
|
-
readonly resolveAllExact:
|
|
72
|
+
readonly resolveAllExact: typeof resolveAllExactCommands;
|
|
48
73
|
/** Asserts that every given Command is among the pending Commands. */
|
|
49
|
-
readonly expectHas:
|
|
74
|
+
readonly expectHas: typeof expectHasCommandsStep;
|
|
50
75
|
/** Asserts that the pending Commands match the given definitions exactly (order-independent). */
|
|
51
|
-
readonly expectExact:
|
|
76
|
+
readonly expectExact: typeof expectExactCommandsStep;
|
|
52
77
|
/** Asserts that there are no pending Commands. */
|
|
53
|
-
readonly expectNone:
|
|
78
|
+
readonly expectNone: typeof expectNoCommandsStep;
|
|
54
79
|
};
|
|
55
80
|
/** Asserts by structural equality that update emitted the expected OutMessage,
|
|
56
81
|
* so callers can pass a freshly constructed expected value. */
|