@jterrazz/test 16.0.0 → 16.1.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.
Files changed (210) hide show
  1. package/dist/appium.adapter.js +59 -4
  2. package/dist/browser/index.js +88 -40
  3. package/dist/checker.js +272 -63
  4. package/dist/index.d.ts +33 -4
  5. package/dist/index.js +47 -24
  6. package/dist/oxlint.cjs +100 -27
  7. package/dist/oxlint.js +100 -27
  8. package/dist/playwright.adapter.js +14 -65
  9. package/dist/{ambiguity.js → substring-warning.js} +99 -1
  10. package/dist/vitest.js +71 -11
  11. package/docs/01-architecture.md +95 -0
  12. package/docs/02-developing.md +351 -0
  13. package/docs/03-testing.md +495 -0
  14. package/docs/04-operating.md +101 -0
  15. package/docs/05-module-tests.md +152 -0
  16. package/docs/06-integration.md +180 -0
  17. package/docs/07-component.md +246 -0
  18. package/docs/08-website.md +404 -0
  19. package/docs/09-mobile.md +270 -0
  20. package/docs/10-api.md +264 -0
  21. package/docs/11-jobs.md +157 -0
  22. package/docs/12-cli.md +677 -0
  23. package/docs/13-elements.md +242 -0
  24. package/docs/14-assertions.md +314 -0
  25. package/docs/15-tokens.md +253 -0
  26. package/docs/16-contracts.md +438 -0
  27. package/docs/17-services.md +188 -0
  28. package/docs/18-conventions.md +305 -0
  29. package/docs/19-linting.md +510 -0
  30. package/docs/README.md +36 -0
  31. package/docs/decisions/001-v9-conventions-on-three-channels.md +50 -0
  32. package/docs/decisions/002-the-statique-channel-holds-only-what-upstream-does-not.md +49 -0
  33. package/docs/decisions/003-a-rendered-component-is-a-facet-on-vitest-browser-mode.md +84 -0
  34. package/docs/decisions/004-a-module-against-real-services-or-a-golden-is-the-integration-facet.md +81 -0
  35. package/docs/decisions/005-the-doubles-ladder-is-closed.md +86 -0
  36. package/docs/decisions/006-the-catalogue-reaches-a-file-by-its-role.md +245 -0
  37. package/docs/decisions/007-compose-mode-leaves-the-package.md +53 -0
  38. package/docs/decisions/008-vitest-5-node-24-and-the-native-seams-as-optional-peers.md +75 -0
  39. package/docs/decisions/_template.md +22 -0
  40. package/docs/reference/classes/Matcher.md +120 -0
  41. package/docs/reference/classes/ProcessHandle.md +368 -0
  42. package/docs/reference/functions/defineContract.md +39 -0
  43. package/docs/reference/functions/defineContracts.md +36 -0
  44. package/docs/reference/functions/disabled.md +28 -0
  45. package/docs/reference/functions/enabled.md +20 -0
  46. package/docs/reference/functions/focused.md +26 -0
  47. package/docs/reference/functions/mockOf.md +79 -0
  48. package/docs/reference/functions/postgres.md +31 -0
  49. package/docs/reference/functions/process.md +33 -0
  50. package/docs/reference/functions/redis.md +28 -0
  51. package/docs/reference/functions/required.md +41 -0
  52. package/docs/reference/functions/selected.md +26 -0
  53. package/docs/reference/functions/sqlite.md +33 -0
  54. package/docs/reference/functions/testId.md +20 -0
  55. package/docs/reference/functions/text.md +40 -0
  56. package/docs/reference/functions/valued.md +28 -0
  57. package/docs/reference/functions/waitUntil.md +46 -0
  58. package/docs/reference/functions/within.md +29 -0
  59. package/docs/reference/index.md +196 -0
  60. package/docs/reference/interfaces/BaseResult.md +87 -0
  61. package/docs/reference/interfaces/CallResult.md +160 -0
  62. package/docs/reference/interfaces/CaptureScope.md +82 -0
  63. package/docs/reference/interfaces/CliResult.md +253 -0
  64. package/docs/reference/interfaces/ContainerAccessor.md +166 -0
  65. package/docs/reference/interfaces/DirectoryAccessor.md +33 -0
  66. package/docs/reference/interfaces/FetchResult.md +180 -0
  67. package/docs/reference/interfaces/FilesystemAccessor.md +46 -0
  68. package/docs/reference/interfaces/HttpResult.md +126 -0
  69. package/docs/reference/interfaces/JsonAccessor.md +46 -0
  70. package/docs/reference/interfaces/PageResult.md +356 -0
  71. package/docs/reference/interfaces/RenderResult.md +72 -0
  72. package/docs/reference/interfaces/RenderedText.md +110 -0
  73. package/docs/reference/interfaces/ResponseAccessor.md +47 -0
  74. package/docs/reference/interfaces/ScreenResult.md +128 -0
  75. package/docs/reference/interfaces/TableAccessor.md +26 -0
  76. package/docs/reference/interfaces/TextAccessor.md +96 -0
  77. package/docs/reference/type-aliases/ApiHandle.md +68 -0
  78. package/docs/reference/type-aliases/ApiSpecification.md +213 -0
  79. package/docs/reference/type-aliases/ApiSpecificationOptions.md +68 -0
  80. package/docs/reference/type-aliases/BrowserConsoleMessage.md +30 -0
  81. package/docs/reference/type-aliases/BrowserLinkElement.md +50 -0
  82. package/docs/reference/type-aliases/BrowserMetaElement.md +40 -0
  83. package/docs/reference/type-aliases/BrowserOpenOptions.md +87 -0
  84. package/docs/reference/type-aliases/BrowserPage.md +132 -0
  85. package/docs/reference/type-aliases/BrowserPort.md +51 -0
  86. package/docs/reference/type-aliases/CliEnv.md +11 -0
  87. package/docs/reference/type-aliases/CliHandle.md +80 -0
  88. package/docs/reference/type-aliases/CliInput.md +36 -0
  89. package/docs/reference/type-aliases/CliOutput.md +46 -0
  90. package/docs/reference/type-aliases/CliPort.md +58 -0
  91. package/docs/reference/type-aliases/CliSpecification.md +144 -0
  92. package/docs/reference/type-aliases/CliSpecificationOptions.md +134 -0
  93. package/docs/reference/type-aliases/ComponentChain.md +156 -0
  94. package/docs/reference/type-aliases/ComponentScenario.md +20 -0
  95. package/docs/reference/type-aliases/ComponentUi.md +47 -0
  96. package/docs/reference/type-aliases/ComponentVisitor.md +10 -0
  97. package/docs/reference/type-aliases/ContainerPort.md +113 -0
  98. package/docs/reference/type-aliases/Contract.md +68 -0
  99. package/docs/reference/type-aliases/ContractInput.md +13 -0
  100. package/docs/reference/type-aliases/ContractRequest.md +95 -0
  101. package/docs/reference/type-aliases/ContractResponder.md +23 -0
  102. package/docs/reference/type-aliases/ContractResponse.md +78 -0
  103. package/docs/reference/type-aliases/ContractResponseValue.md +13 -0
  104. package/docs/reference/type-aliases/Contracts.md +48 -0
  105. package/docs/reference/type-aliases/DatabaseKeys.md +16 -0
  106. package/docs/reference/type-aliases/DatabasePort.md +72 -0
  107. package/docs/reference/type-aliases/DeviceOpenOptions.md +46 -0
  108. package/docs/reference/type-aliases/DevicePort.md +51 -0
  109. package/docs/reference/type-aliases/DeviceScreen.md +32 -0
  110. package/docs/reference/type-aliases/DeviceTimeouts.md +39 -0
  111. package/docs/reference/type-aliases/DockerSpecConfig.md +43 -0
  112. package/docs/reference/type-aliases/DomMount.md +21 -0
  113. package/docs/reference/type-aliases/ElementKind.md +27 -0
  114. package/docs/reference/type-aliases/ElementMatch.md +74 -0
  115. package/docs/reference/type-aliases/ElementOptions.md +29 -0
  116. package/docs/reference/type-aliases/ElementRef.md +128 -0
  117. package/docs/reference/type-aliases/ExecOptions.md +37 -0
  118. package/docs/reference/type-aliases/FileAccessor.md +54 -0
  119. package/docs/reference/type-aliases/HonoApp.md +31 -0
  120. package/docs/reference/type-aliases/HttpContractFilter.md +49 -0
  121. package/docs/reference/type-aliases/HttpResponseInit.md +46 -0
  122. package/docs/reference/type-aliases/HttpStreamInit.md +58 -0
  123. package/docs/reference/type-aliases/IntegrationHandle.md +46 -0
  124. package/docs/reference/type-aliases/IntegrationSpecification.md +111 -0
  125. package/docs/reference/type-aliases/IntegrationSpecificationOptions.md +42 -0
  126. package/docs/reference/type-aliases/Intercept.md +19 -0
  127. package/docs/reference/type-aliases/InterceptOptions.md +28 -0
  128. package/docs/reference/type-aliases/InterceptScope.md +11 -0
  129. package/docs/reference/type-aliases/IsolationStrategy.md +75 -0
  130. package/docs/reference/type-aliases/JobHandle.md +34 -0
  131. package/docs/reference/type-aliases/JobsHandle.md +57 -0
  132. package/docs/reference/type-aliases/JobsResult.md +16 -0
  133. package/docs/reference/type-aliases/JobsSpecification.md +94 -0
  134. package/docs/reference/type-aliases/JobsSpecificationOptions.md +56 -0
  135. package/docs/reference/type-aliases/LandmarkKind.md +20 -0
  136. package/docs/reference/type-aliases/LiterateRunFlags.md +27 -0
  137. package/docs/reference/type-aliases/LiterateServeRegistration.md +70 -0
  138. package/docs/reference/type-aliases/MatchFixtureOptions.md +27 -0
  139. package/docs/reference/type-aliases/MatchableRequest.md +61 -0
  140. package/docs/reference/type-aliases/MatcherKind.md +34 -0
  141. package/docs/reference/type-aliases/MobileBackendOptions.md +28 -0
  142. package/docs/reference/type-aliases/MobileElementKind.md +14 -0
  143. package/docs/reference/type-aliases/MobileElementMatch.md +60 -0
  144. package/docs/reference/type-aliases/MobileElementRef.md +20 -0
  145. package/docs/reference/type-aliases/MobileHandle.md +65 -0
  146. package/docs/reference/type-aliases/MobileScenario.md +20 -0
  147. package/docs/reference/type-aliases/MobileSpecification.md +51 -0
  148. package/docs/reference/type-aliases/MobileSpecificationOptions.md +126 -0
  149. package/docs/reference/type-aliases/MobileVisitor.md +81 -0
  150. package/docs/reference/type-aliases/MockOfOptions.md +26 -0
  151. package/docs/reference/type-aliases/MockPort.md +10 -0
  152. package/docs/reference/type-aliases/PinnedClock.md +10 -0
  153. package/docs/reference/type-aliases/PostgresOptions.md +32 -0
  154. package/docs/reference/type-aliases/ProcessOptions.md +112 -0
  155. package/docs/reference/type-aliases/RedisOptions.md +20 -0
  156. package/docs/reference/type-aliases/RenderSubject.md +12 -0
  157. package/docs/reference/type-aliases/ScreenNode.md +67 -0
  158. package/docs/reference/type-aliases/ServerPort.md +36 -0
  159. package/docs/reference/type-aliases/ServerResponse.md +46 -0
  160. package/docs/reference/type-aliases/ServerSpec.md +21 -0
  161. package/docs/reference/type-aliases/ServiceHandle.md +216 -0
  162. package/docs/reference/type-aliases/ServiceRecord.md +12 -0
  163. package/docs/reference/type-aliases/SpecDocument.md +84 -0
  164. package/docs/reference/type-aliases/SpecEnvToken.md +21 -0
  165. package/docs/reference/type-aliases/SpecFileAssertion.md +27 -0
  166. package/docs/reference/type-aliases/SpecFixture.md +30 -0
  167. package/docs/reference/type-aliases/SpecKind.md +8 -0
  168. package/docs/reference/type-aliases/SpecRun.md +108 -0
  169. package/docs/reference/type-aliases/SpecServeEntry.md +40 -0
  170. package/docs/reference/type-aliases/SpecStream.md +32 -0
  171. package/docs/reference/type-aliases/SpecificationConfig.md +290 -0
  172. package/docs/reference/type-aliases/SqliteOptions.md +36 -0
  173. package/docs/reference/type-aliases/SseEvent.md +58 -0
  174. package/docs/reference/type-aliases/StreamBody.md +61 -0
  175. package/docs/reference/type-aliases/TextFilter.md +22 -0
  176. package/docs/reference/type-aliases/VisitScenario.md +20 -0
  177. package/docs/reference/type-aliases/Visitor.md +215 -0
  178. package/docs/reference/type-aliases/WaitUntilOptions.md +46 -0
  179. package/docs/reference/type-aliases/WebsiteBackendOptions.md +37 -0
  180. package/docs/reference/type-aliases/WebsiteHandle.md +51 -0
  181. package/docs/reference/type-aliases/WebsiteSpecification.md +118 -0
  182. package/docs/reference/type-aliases/WebsiteSpecificationOptions.md +40 -0
  183. package/docs/reference/variables/anthropic.md +19 -0
  184. package/docs/reference/variables/banner.md +10 -0
  185. package/docs/reference/variables/button.md +10 -0
  186. package/docs/reference/variables/clock.md +16 -0
  187. package/docs/reference/variables/complementary.md +10 -0
  188. package/docs/reference/variables/component.md +10 -0
  189. package/docs/reference/variables/content.md +10 -0
  190. package/docs/reference/variables/contentinfo.md +10 -0
  191. package/docs/reference/variables/dialog.md +10 -0
  192. package/docs/reference/variables/field.md +10 -0
  193. package/docs/reference/variables/form.md +10 -0
  194. package/docs/reference/variables/heading.md +10 -0
  195. package/docs/reference/variables/http.md +40 -0
  196. package/docs/reference/variables/intercept.md +11 -0
  197. package/docs/reference/variables/link.md +10 -0
  198. package/docs/reference/variables/listitem.md +10 -0
  199. package/docs/reference/variables/main.md +10 -0
  200. package/docs/reference/variables/match.md +8 -0
  201. package/docs/reference/variables/navigation.md +10 -0
  202. package/docs/reference/variables/openai.md +21 -0
  203. package/docs/reference/variables/option.md +17 -0
  204. package/docs/reference/variables/region.md +10 -0
  205. package/docs/reference/variables/row.md +10 -0
  206. package/docs/reference/variables/search.md +10 -0
  207. package/docs/reference/variables/specification.md +8 -0
  208. package/docs/reference/variables/status.md +10 -0
  209. package/docs/reference/variables/table.md +10 -0
  210. package/package.json +2 -1
@@ -0,0 +1,356 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: PageResult
3
+
4
+ Defined in: [src/facets/website/website.result.ts:77](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L77)
5
+
6
+ Result from a rendered `.visit()` action — the page as a browser saw it.
7
+
8
+ ## Extends
9
+
10
+ - [`BaseResult`](BaseResult.md)
11
+
12
+ ## Accessors
13
+
14
+ ### alternates
15
+
16
+ #### Get Signature
17
+
18
+ ```ts
19
+ get alternates(): Record<string, string>;
20
+ ```
21
+
22
+ Defined in: [src/facets/website/website.result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L86)
23
+
24
+ Hreflang alternates declared in the head, keyed by language code.
25
+
26
+ ##### Returns
27
+
28
+ `Record`\<`string`, `string`\>
29
+
30
+ ***
31
+
32
+ ### canonical
33
+
34
+ #### Get Signature
35
+
36
+ ```ts
37
+ get canonical(): string | null;
38
+ ```
39
+
40
+ Defined in: [src/facets/website/website.result.ts:97](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L97)
41
+
42
+ The canonical URL declared in the head, or null.
43
+
44
+ ##### Returns
45
+
46
+ `string` \| `null`
47
+
48
+ ***
49
+
50
+ ### console
51
+
52
+ #### Get Signature
53
+
54
+ ```ts
55
+ get console(): TextAccessor;
56
+ ```
57
+
58
+ Defined in: [src/facets/website/website.result.ts:106](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L106)
59
+
60
+ The browser console as a stream — one message per line, prefixed by
61
+ its type — same shape as `stdout` on a cli result. Assert emptiness
62
+ with `toBeEmpty()`, or snapshot with `toMatch('home.console.txt')`.
63
+
64
+ ##### Returns
65
+
66
+ [`TextAccessor`](TextAccessor.md)
67
+
68
+ ***
69
+
70
+ ### content
71
+
72
+ #### Get Signature
73
+
74
+ ```ts
75
+ get content(): TextAccessor;
76
+ ```
77
+
78
+ Defined in: [src/facets/website/website.result.ts:183](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L183)
79
+
80
+ Rendered body text as a text accessor.
81
+
82
+ ##### Returns
83
+
84
+ [`TextAccessor`](TextAccessor.md)
85
+
86
+ ***
87
+
88
+ ### errors
89
+
90
+ #### Get Signature
91
+
92
+ ```ts
93
+ get errors(): TextAccessor;
94
+ ```
95
+
96
+ Defined in: [src/facets/website/website.result.ts:119](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L119)
97
+
98
+ Console messages of type `error` only — the stream you usually want
99
+ empty: `expect(result.errors).toBeEmpty()`. Same shape as `stderr` on
100
+ a cli result.
101
+
102
+ ##### Returns
103
+
104
+ [`TextAccessor`](TextAccessor.md)
105
+
106
+ ***
107
+
108
+ ### head
109
+
110
+ #### Get Signature
111
+
112
+ ```ts
113
+ get head(): JsonAccessor;
114
+ ```
115
+
116
+ Defined in: [src/facets/website/website.result.ts:135](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L135)
117
+
118
+ The document-head projection as a JSON accessor — title, canonical,
119
+ hreflang alternates, and named metas — for one golden per page:
120
+ `expect(result.head).toMatch('home.head.json')`.
121
+
122
+ ##### Returns
123
+
124
+ [`JsonAccessor`](JsonAccessor.md)
125
+
126
+ ***
127
+
128
+ ### html
129
+
130
+ #### Get Signature
131
+
132
+ ```ts
133
+ get html(): TextAccessor;
134
+ ```
135
+
136
+ Defined in: [src/facets/website/website.result.ts:151](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L151)
137
+
138
+ The rendered DOM serialization as a text accessor.
139
+
140
+ ##### Returns
141
+
142
+ [`TextAccessor`](TextAccessor.md)
143
+
144
+ ***
145
+
146
+ ### jsonLd
147
+
148
+ #### Get Signature
149
+
150
+ ```ts
151
+ get jsonLd(): JsonAccessor;
152
+ ```
153
+
154
+ Defined in: [src/facets/website/website.result.ts:162](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L162)
155
+
156
+ Every `application/ld+json` block of the page, parsed, as one JSON
157
+ array — `expect(result.jsonLd).toMatch('article.jsonld.json')`.
158
+
159
+ ##### Returns
160
+
161
+ [`JsonAccessor`](JsonAccessor.md)
162
+
163
+ ***
164
+
165
+ ### links
166
+
167
+ #### Get Signature
168
+
169
+ ```ts
170
+ get links(): BrowserLinkElement[];
171
+ ```
172
+
173
+ Defined in: [src/facets/website/website.result.ts:168](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L168)
174
+
175
+ `<link>` elements of the head, in DOM order.
176
+
177
+ ##### Returns
178
+
179
+ [`BrowserLinkElement`](../type-aliases/BrowserLinkElement.md)[]
180
+
181
+ ***
182
+
183
+ ### status
184
+
185
+ #### Get Signature
186
+
187
+ ```ts
188
+ get status(): number;
189
+ ```
190
+
191
+ Defined in: [src/facets/website/website.result.ts:178](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L178)
192
+
193
+ HTTP status of the main document response.
194
+
195
+ ##### Returns
196
+
197
+ `number`
198
+
199
+ ***
200
+
201
+ ### title
202
+
203
+ #### Get Signature
204
+
205
+ ```ts
206
+ get title(): TextAccessor;
207
+ ```
208
+
209
+ Defined in: [src/facets/website/website.result.ts:203](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L203)
210
+
211
+ The document title as a text accessor.
212
+
213
+ ##### Returns
214
+
215
+ [`TextAccessor`](TextAccessor.md)
216
+
217
+ ***
218
+
219
+ ### tree
220
+
221
+ #### Get Signature
222
+
223
+ ```ts
224
+ get tree(): TextAccessor;
225
+ ```
226
+
227
+ Defined in: [src/facets/website/website.result.ts:196](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L196)
228
+
229
+ The ARIA snapshot of the rendered `<body>` — the page's outline, as the
230
+ accessibility tree draws it, and the one golden a rendered surface pins.
231
+ Deterministic where a screenshot is not, and the SAME dialect a component
232
+ spec asserts, so a page and the components inside it read alike.
233
+
234
+ ##### Returns
235
+
236
+ [`TextAccessor`](TextAccessor.md)
237
+
238
+ ***
239
+
240
+ ### url
241
+
242
+ #### Get Signature
243
+
244
+ ```ts
245
+ get url(): string;
246
+ ```
247
+
248
+ Defined in: [src/facets/website/website.result.ts:210](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L210)
249
+
250
+ Final URL after redirects.
251
+
252
+ ##### Returns
253
+
254
+ `string`
255
+
256
+ ## Methods
257
+
258
+ ### directory()
259
+
260
+ ```ts
261
+ directory(path?): DirectoryAccessor;
262
+ ```
263
+
264
+ Defined in: [src/model/result/result.ts:55](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L55)
265
+
266
+ Access a directory (relative to the working directory) for snapshot assertions.
267
+
268
+ #### Parameters
269
+
270
+ | Parameter | Type | Default value |
271
+ | ------ | ------ | ------ |
272
+ | `path` | `string` | `'.'` |
273
+
274
+ #### Returns
275
+
276
+ [`DirectoryAccessor`](DirectoryAccessor.md)
277
+
278
+ #### Inherited from
279
+
280
+ [`BaseResult`](BaseResult.md).[`directory`](BaseResult.md#directory)
281
+
282
+ ***
283
+
284
+ ### file()
285
+
286
+ ```ts
287
+ file(path): FileAccessor;
288
+ ```
289
+
290
+ Defined in: [src/model/result/result.ts:61](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L61)
291
+
292
+ Access a single file (relative to the working directory) for content assertions.
293
+
294
+ #### Parameters
295
+
296
+ | Parameter | Type |
297
+ | ------ | ------ |
298
+ | `path` | `string` |
299
+
300
+ #### Returns
301
+
302
+ [`FileAccessor`](../type-aliases/FileAccessor.md)
303
+
304
+ #### Inherited from
305
+
306
+ [`BaseResult`](BaseResult.md).[`file`](BaseResult.md#file)
307
+
308
+ ***
309
+
310
+ ### meta()
311
+
312
+ ```ts
313
+ meta(name): string | undefined;
314
+ ```
315
+
316
+ Defined in: [src/facets/website/website.result.ts:173](https://github.com/jterrazz/package-test/blob/main/src/facets/website/website.result.ts#L173)
317
+
318
+ The content of a named meta — `meta('description')`, `meta('og:image')`.
319
+
320
+ #### Parameters
321
+
322
+ | Parameter | Type |
323
+ | ------ | ------ |
324
+ | `name` | `string` |
325
+
326
+ #### Returns
327
+
328
+ `string` \| `undefined`
329
+
330
+ ***
331
+
332
+ ### table()
333
+
334
+ ```ts
335
+ table(tableName, options?): TableAccessor;
336
+ ```
337
+
338
+ Defined in: [src/model/result/result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L86)
339
+
340
+ Access a database table for row-level assertions via expect() matchers.
341
+
342
+ #### Parameters
343
+
344
+ | Parameter | Type |
345
+ | ------ | ------ |
346
+ | `tableName` | `string` |
347
+ | `options?` | \{ `database?`: `string`; \} |
348
+ | `options.database?` | `string` |
349
+
350
+ #### Returns
351
+
352
+ [`TableAccessor`](TableAccessor.md)
353
+
354
+ #### Inherited from
355
+
356
+ [`BaseResult`](BaseResult.md).[`table`](BaseResult.md#table)
@@ -0,0 +1,72 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: RenderResult
3
+
4
+ Defined in: [src/facets/component/component.result.ts:12](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L12)
5
+
6
+ What a render resolves to — the component as the page saw it, after the
7
+ scenario ran.
8
+
9
+ Five accessors and no more: the ARIA outline a golden pins, the two
10
+ renderings a probe reads, and the two streams a spec wants silent. Nothing
11
+ here reaches back into React — a spec that needs the component's internals
12
+ is asserting the implementation, not the surface a user meets.
13
+
14
+ ## Properties
15
+
16
+ ### console
17
+
18
+ ```ts
19
+ readonly console: RenderedText;
20
+ ```
21
+
22
+ Defined in: [src/facets/component/component.result.ts:14](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L14)
23
+
24
+ The browser console as a stream — one `[type] text` line per message.
25
+
26
+ ***
27
+
28
+ ### content
29
+
30
+ ```ts
31
+ readonly content: RenderedText;
32
+ ```
33
+
34
+ Defined in: [src/facets/component/component.result.ts:16](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L16)
35
+
36
+ Rendered text of the whole document body (`innerText`).
37
+
38
+ ***
39
+
40
+ ### errors
41
+
42
+ ```ts
43
+ readonly errors: RenderedText;
44
+ ```
45
+
46
+ Defined in: [src/facets/component/component.result.ts:18](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L18)
47
+
48
+ Console messages of type `error` only, plus any uncaught page error.
49
+
50
+ ***
51
+
52
+ ### html
53
+
54
+ ```ts
55
+ readonly html: RenderedText;
56
+ ```
57
+
58
+ Defined in: [src/facets/component/component.result.ts:20](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L20)
59
+
60
+ The mounted markup, serialised — the escape hatch for a class or an attribute.
61
+
62
+ ***
63
+
64
+ ### tree
65
+
66
+ ```ts
67
+ readonly tree: RenderedText;
68
+ ```
69
+
70
+ Defined in: [src/facets/component/component.result.ts:22](https://github.com/jterrazz/package-test/blob/main/src/facets/component/component.result.ts#L22)
71
+
72
+ The ARIA snapshot of the rendered body — the outline a golden pins.
@@ -0,0 +1,110 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: RenderedText
3
+
4
+ Defined in: [src/facets/component/rendered-text.ts:12](https://github.com/jterrazz/package-test/blob/main/src/facets/component/rendered-text.ts#L12)
5
+
6
+ A stream captured INSIDE the page.
7
+
8
+ Structurally identical to any other [TextAccessor](TextAccessor.md) — the same
9
+ `{{token}}` grammar, the same ANSI stripping, the same `.grep()` — and
10
+ marked so the matcher augmentation can say the one thing that differs: its
11
+ golden lives on the server, so `toMatch` is awaited here where it is
12
+ synchronous everywhere else.
13
+
14
+ ## Extends
15
+
16
+ - [`TextAccessor`](TextAccessor.md)
17
+
18
+ ## Properties
19
+
20
+ ### capturedInPage
21
+
22
+ ```ts
23
+ readonly capturedInPage: true;
24
+ ```
25
+
26
+ Defined in: [src/facets/component/rendered-text.ts:14](https://github.com/jterrazz/package-test/blob/main/src/facets/component/rendered-text.ts#L14)
27
+
28
+ The marker the `toMatch` overload reads. Never asserted on directly.
29
+
30
+ ***
31
+
32
+ ### text
33
+
34
+ ```ts
35
+ readonly text: string;
36
+ ```
37
+
38
+ Defined in: [src/model/result/text.ts:43](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L43)
39
+
40
+ The raw captured text (never transformed, ANSI preserved).
41
+
42
+ #### Inherited from
43
+
44
+ [`TextAccessor`](TextAccessor.md).[`text`](TextAccessor.md#text)
45
+
46
+ ## Methods
47
+
48
+ ### grep()
49
+
50
+ ```ts
51
+ grep(pattern): TextAccessor;
52
+ ```
53
+
54
+ Defined in: [src/model/result/text.ts:76](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L76)
55
+
56
+ Keep only the blank-line-separated blocks of the text that contain
57
+ `pattern` (how linter/compiler output is structured), returned as a new
58
+ `TextAccessor` — the same subject type, so the result is chainable and
59
+ snapshot-able. The scalpel for probing large tool outputs; snapshot the
60
+ whole surface by default, reach for `.grep()` for targeted checks.
61
+
62
+ #### Parameters
63
+
64
+ | Parameter | Type |
65
+ | ------ | ------ |
66
+ | `pattern` | `string` |
67
+
68
+ #### Returns
69
+
70
+ [`TextAccessor`](TextAccessor.md)
71
+
72
+ #### Inherited from
73
+
74
+ [`TextAccessor`](TextAccessor.md).[`grep`](TextAccessor.md#grep)
75
+
76
+ ***
77
+
78
+ ### toString()
79
+
80
+ ```ts
81
+ toString(): string;
82
+ ```
83
+
84
+ Defined in: [src/model/result/text.ts:83](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L83)
85
+
86
+ #### Returns
87
+
88
+ `string`
89
+
90
+ #### Inherited from
91
+
92
+ [`TextAccessor`](TextAccessor.md).[`toString`](TextAccessor.md#tostring)
93
+
94
+ ***
95
+
96
+ ### valueOf()
97
+
98
+ ```ts
99
+ valueOf(): string;
100
+ ```
101
+
102
+ Defined in: [src/model/result/text.ts:87](https://github.com/jterrazz/package-test/blob/main/src/model/result/text.ts#L87)
103
+
104
+ #### Returns
105
+
106
+ `string`
107
+
108
+ #### Inherited from
109
+
110
+ [`TextAccessor`](TextAccessor.md).[`valueOf`](TextAccessor.md#valueof)
@@ -0,0 +1,47 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: ResponseAccessor
3
+
4
+ Defined in: [src/model/result/response.ts:12](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L12)
5
+
6
+ Read-only accessor for an HTTP response.
7
+
8
+ Assertions go through `expect()`:
9
+ `expect(result.response).toMatch('created.http')` compares status,
10
+ a subset of headers, and the JSON body against `_expected/<name>` —
11
+ with `{{placeholder}}` support in all three.
12
+
13
+ ## Properties
14
+
15
+ ### body
16
+
17
+ ```ts
18
+ readonly body: unknown;
19
+ ```
20
+
21
+ Defined in: [src/model/result/response.ts:14](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L14)
22
+
23
+ The parsed JSON response body (null when parsing failed).
24
+
25
+ ***
26
+
27
+ ### headers
28
+
29
+ ```ts
30
+ readonly headers: Record<string, string>;
31
+ ```
32
+
33
+ Defined in: [src/model/result/response.ts:18](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L18)
34
+
35
+ Response headers as a flat, lower-cased key-value map.
36
+
37
+ ***
38
+
39
+ ### status
40
+
41
+ ```ts
42
+ readonly status: number;
43
+ ```
44
+
45
+ Defined in: [src/model/result/response.ts:20](https://github.com/jterrazz/package-test/blob/main/src/model/result/response.ts#L20)
46
+
47
+ The HTTP response status code.
@@ -0,0 +1,128 @@
1
+ <!-- GENERATED by `typescript docs` — DO NOT EDIT -->
2
+ # Interface: ScreenResult
3
+
4
+ Defined in: [src/facets/mobile/mobile.result.ts:8](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.result.ts#L8)
5
+
6
+ Result from a `.open()` action — the screen as the device saw it, final state.
7
+
8
+ ## Extends
9
+
10
+ - [`BaseResult`](BaseResult.md)
11
+
12
+ ## Accessors
13
+
14
+ ### content
15
+
16
+ #### Get Signature
17
+
18
+ ```ts
19
+ get content(): TextAccessor;
20
+ ```
21
+
22
+ Defined in: [src/facets/mobile/mobile.result.ts:20](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.result.ts#L20)
23
+
24
+ The visible screen texts as one stream, in reading order — the scalpel
25
+ for a targeted probe: `expect(result.content).toContain('Bookmarked')`.
26
+
27
+ ##### Returns
28
+
29
+ [`TextAccessor`](TextAccessor.md)
30
+
31
+ ***
32
+
33
+ ### screen
34
+
35
+ #### Get Signature
36
+
37
+ ```ts
38
+ get screen(): JsonAccessor;
39
+ ```
40
+
41
+ Defined in: [src/facets/mobile/mobile.result.ts:30](https://github.com/jterrazz/package-test/blob/main/src/facets/mobile/mobile.result.ts#L30)
42
+
43
+ The projected accessibility tree as a JSON accessor — the one golden
44
+ per screen: `expect(result.screen).toMatch('events.screen.json')`.
45
+
46
+ ##### Returns
47
+
48
+ [`JsonAccessor`](JsonAccessor.md)
49
+
50
+ ## Methods
51
+
52
+ ### directory()
53
+
54
+ ```ts
55
+ directory(path?): DirectoryAccessor;
56
+ ```
57
+
58
+ Defined in: [src/model/result/result.ts:55](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L55)
59
+
60
+ Access a directory (relative to the working directory) for snapshot assertions.
61
+
62
+ #### Parameters
63
+
64
+ | Parameter | Type | Default value |
65
+ | ------ | ------ | ------ |
66
+ | `path` | `string` | `'.'` |
67
+
68
+ #### Returns
69
+
70
+ [`DirectoryAccessor`](DirectoryAccessor.md)
71
+
72
+ #### Inherited from
73
+
74
+ [`BaseResult`](BaseResult.md).[`directory`](BaseResult.md#directory)
75
+
76
+ ***
77
+
78
+ ### file()
79
+
80
+ ```ts
81
+ file(path): FileAccessor;
82
+ ```
83
+
84
+ Defined in: [src/model/result/result.ts:61](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L61)
85
+
86
+ Access a single file (relative to the working directory) for content assertions.
87
+
88
+ #### Parameters
89
+
90
+ | Parameter | Type |
91
+ | ------ | ------ |
92
+ | `path` | `string` |
93
+
94
+ #### Returns
95
+
96
+ [`FileAccessor`](../type-aliases/FileAccessor.md)
97
+
98
+ #### Inherited from
99
+
100
+ [`BaseResult`](BaseResult.md).[`file`](BaseResult.md#file)
101
+
102
+ ***
103
+
104
+ ### table()
105
+
106
+ ```ts
107
+ table(tableName, options?): TableAccessor;
108
+ ```
109
+
110
+ Defined in: [src/model/result/result.ts:86](https://github.com/jterrazz/package-test/blob/main/src/model/result/result.ts#L86)
111
+
112
+ Access a database table for row-level assertions via expect() matchers.
113
+
114
+ #### Parameters
115
+
116
+ | Parameter | Type |
117
+ | ------ | ------ |
118
+ | `tableName` | `string` |
119
+ | `options?` | \{ `database?`: `string`; \} |
120
+ | `options.database?` | `string` |
121
+
122
+ #### Returns
123
+
124
+ [`TableAccessor`](TableAccessor.md)
125
+
126
+ #### Inherited from
127
+
128
+ [`BaseResult`](BaseResult.md).[`table`](BaseResult.md#table)