@effectionx/bdd 0.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 (40) hide show
  1. package/README.md +171 -0
  2. package/esm/_dnt.shims.d.ts +2 -0
  3. package/esm/_dnt.shims.d.ts.map +1 -0
  4. package/esm/_dnt.shims.js +57 -0
  5. package/esm/deps/jsr.io/@std/assert/1.0.14/assertion_error.d.ts +26 -0
  6. package/esm/deps/jsr.io/@std/assert/1.0.14/assertion_error.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@std/assert/1.0.14/assertion_error.js +30 -0
  8. package/esm/deps/jsr.io/@std/internal/1.0.10/assertion_state.d.ts +150 -0
  9. package/esm/deps/jsr.io/@std/internal/1.0.10/assertion_state.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@std/internal/1.0.10/assertion_state.js +237 -0
  11. package/esm/deps/jsr.io/@std/testing/1.0.15/_test_suite.d.ts +78 -0
  12. package/esm/deps/jsr.io/@std/testing/1.0.15/_test_suite.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@std/testing/1.0.15/_test_suite.js +385 -0
  14. package/esm/deps/jsr.io/@std/testing/1.0.15/bdd.d.ts +336 -0
  15. package/esm/deps/jsr.io/@std/testing/1.0.15/bdd.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@std/testing/1.0.15/bdd.js +1057 -0
  17. package/esm/mod.d.ts +13 -0
  18. package/esm/mod.d.ts.map +1 -0
  19. package/esm/mod.js +47 -0
  20. package/esm/package.json +3 -0
  21. package/package.json +31 -0
  22. package/script/_dnt.shims.d.ts +2 -0
  23. package/script/_dnt.shims.d.ts.map +1 -0
  24. package/script/_dnt.shims.js +60 -0
  25. package/script/deps/jsr.io/@std/assert/1.0.14/assertion_error.d.ts +26 -0
  26. package/script/deps/jsr.io/@std/assert/1.0.14/assertion_error.d.ts.map +1 -0
  27. package/script/deps/jsr.io/@std/assert/1.0.14/assertion_error.js +34 -0
  28. package/script/deps/jsr.io/@std/internal/1.0.10/assertion_state.d.ts +150 -0
  29. package/script/deps/jsr.io/@std/internal/1.0.10/assertion_state.d.ts.map +1 -0
  30. package/script/deps/jsr.io/@std/internal/1.0.10/assertion_state.js +275 -0
  31. package/script/deps/jsr.io/@std/testing/1.0.15/_test_suite.d.ts +78 -0
  32. package/script/deps/jsr.io/@std/testing/1.0.15/_test_suite.d.ts.map +1 -0
  33. package/script/deps/jsr.io/@std/testing/1.0.15/_test_suite.js +389 -0
  34. package/script/deps/jsr.io/@std/testing/1.0.15/bdd.d.ts +336 -0
  35. package/script/deps/jsr.io/@std/testing/1.0.15/bdd.d.ts.map +1 -0
  36. package/script/deps/jsr.io/@std/testing/1.0.15/bdd.js +1068 -0
  37. package/script/mod.d.ts +13 -0
  38. package/script/mod.d.ts.map +1 -0
  39. package/script/mod.js +52 -0
  40. package/script/package.json +3 -0
@@ -0,0 +1,336 @@
1
+ import { type DescribeDefinition, type ItDefinition, type TestSuite } from "./_test_suite.js";
2
+ export type { DescribeDefinition, ItDefinition, TestSuite };
3
+ /** The arguments for an ItFunction. */
4
+ export type ItArgs<T> = [options: ItDefinition<T>] | [
5
+ name: string,
6
+ options: Omit<ItDefinition<T>, "name">
7
+ ] | [
8
+ name: string,
9
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
10
+ ] | [fn: (this: T, t: Deno.TestContext) => void | Promise<void>] | [
11
+ name: string,
12
+ options: Omit<ItDefinition<T>, "fn" | "name">,
13
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
14
+ ] | [
15
+ options: Omit<ItDefinition<T>, "fn">,
16
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
17
+ ] | [
18
+ options: Omit<ItDefinition<T>, "fn" | "name">,
19
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
20
+ ] | [
21
+ suite: TestSuite<T>,
22
+ name: string,
23
+ options: Omit<ItDefinition<T>, "name" | "suite">
24
+ ] | [
25
+ suite: TestSuite<T>,
26
+ name: string,
27
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
28
+ ] | [
29
+ suite: TestSuite<T>,
30
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
31
+ ] | [
32
+ suite: TestSuite<T>,
33
+ name: string,
34
+ options: Omit<ItDefinition<T>, "fn" | "name" | "suite">,
35
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
36
+ ] | [
37
+ suite: TestSuite<T>,
38
+ options: Omit<ItDefinition<T>, "fn" | "suite">,
39
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
40
+ ] | [
41
+ suite: TestSuite<T>,
42
+ options: Omit<ItDefinition<T>, "fn" | "name" | "suite">,
43
+ fn: (this: T, t: Deno.TestContext) => void | Promise<void>
44
+ ];
45
+ /** Registers an individual test case. */
46
+ export interface it {
47
+ <T>(...args: ItArgs<T>): void;
48
+ /** Registers an individual test case with only set to true. */
49
+ only<T>(...args: ItArgs<T>): void;
50
+ /** Registers an individual test case with ignore set to true. */
51
+ ignore<T>(...args: ItArgs<T>): void;
52
+ /**
53
+ * Registers an individual test case with ignore set to true. Alias of
54
+ * `.ignore()`.
55
+ */
56
+ skip<T>(...args: ItArgs<T>): void;
57
+ }
58
+ /**
59
+ * Registers an individual test case.
60
+ *
61
+ * @example Usage
62
+ * ```ts
63
+ * import { describe, it } from "@std/testing/bdd";
64
+ * import { assertEquals } from "@std/assert";
65
+ *
66
+ * describe("example", () => {
67
+ * it("should pass", () => {
68
+ * // test case
69
+ * assertEquals(2 + 2, 4);
70
+ * });
71
+ * });
72
+ * ```
73
+ *
74
+ * @typeParam T The self type of the function to implement the test case
75
+ * @param args The test case
76
+ */
77
+ export declare function it<T>(...args: ItArgs<T>): void;
78
+ export declare namespace it {
79
+ var only: <T>(...args: ItArgs<T>) => void;
80
+ var ignore: <T>(...args: ItArgs<T>) => void;
81
+ var skip: <T>(...args: ItArgs<T>) => void;
82
+ }
83
+ /**
84
+ * Alias of {@linkcode it}
85
+ *
86
+ * Registers an individual test case.
87
+ *
88
+ * @example Usage
89
+ * ```ts
90
+ * import { test } from "@std/testing/bdd";
91
+ * import { assertEquals } from "@std/assert";
92
+ *
93
+ * test("a test case", () => {
94
+ * // test case
95
+ * assertEquals(2 + 2, 4);
96
+ * });
97
+ * ```
98
+ *
99
+ * @typeParam T The self type of the function to implement the test case
100
+ * @param args The test case
101
+ */
102
+ export declare function test<T>(...args: ItArgs<T>): void;
103
+ export declare namespace test {
104
+ var only: <T>(...args: ItArgs<T>) => void;
105
+ var ignore: <T>(...args: ItArgs<T>) => void;
106
+ var skip: <T>(...args: ItArgs<T>) => void;
107
+ }
108
+ /**
109
+ * Run some shared setup before all of the tests in the group.
110
+ * Useful for async setup in `describe` blocks. Outside them,
111
+ * top-level initialization code should be used instead.
112
+ *
113
+ * @example Usage
114
+ * ```ts
115
+ * import { describe, it, beforeAll } from "@std/testing/bdd";
116
+ * import { assertEquals } from "@std/assert";
117
+ *
118
+ * beforeAll(() => {
119
+ * console.log("beforeAll");
120
+ * });
121
+ *
122
+ * describe("example", () => {
123
+ * it("should pass", () => {
124
+ * // test case
125
+ * assertEquals(2 + 2, 4);
126
+ * });
127
+ * });
128
+ * ```
129
+ *
130
+ * @typeParam T The self type of the function
131
+ * @param fn The function to implement the setup behavior.
132
+ */
133
+ export declare function beforeAll<T>(fn: (this: T) => void | Promise<void>): void;
134
+ /**
135
+ * Alias of {@linkcode beforeAll}
136
+ *
137
+ * Run some shared setup before all of the tests in the suite.
138
+ *
139
+ * @example Usage
140
+ * ```ts
141
+ * import { describe, it, before } from "@std/testing/bdd";
142
+ * import { assertEquals } from "@std/assert";
143
+ *
144
+ * before(() => {
145
+ * console.log("before");
146
+ * });
147
+ *
148
+ * describe("example", () => {
149
+ * it("should pass", () => {
150
+ * // test case
151
+ * assertEquals(2 + 2, 4);
152
+ * });
153
+ * });
154
+ * ```
155
+ *
156
+ * @typeParam T The self type of the function
157
+ * @param fn The function to implement the setup behavior.
158
+ */
159
+ export declare function before<T>(fn: (this: T) => void | Promise<void>): void;
160
+ /**
161
+ * Run some shared teardown after all of the tests in the suite.
162
+ *
163
+ * @example Usage
164
+ * ```ts
165
+ * import { describe, it, afterAll } from "@std/testing/bdd";
166
+ * import { assertEquals } from "@std/assert";
167
+ *
168
+ * afterAll(() => {
169
+ * console.log("afterAll");
170
+ * });
171
+ *
172
+ * describe("example", () => {
173
+ * it("should pass", () => {
174
+ * // test case
175
+ * assertEquals(2 + 2, 4);
176
+ * });
177
+ * });
178
+ * ```
179
+ *
180
+ * @typeParam T The self type of the function
181
+ * @param fn The function to implement the teardown behavior.
182
+ */
183
+ export declare function afterAll<T>(fn: (this: T) => void | Promise<void>): void;
184
+ /**
185
+ * Alias of {@linkcode afterAll}.
186
+ *
187
+ * Run some shared teardown after all of the tests in the suite.
188
+ *
189
+ * @example Usage
190
+ * ```ts
191
+ * import { describe, it, after } from "@std/testing/bdd";
192
+ * import { assertEquals } from "@std/assert";
193
+ *
194
+ * after(() => {
195
+ * console.log("after");
196
+ * });
197
+ *
198
+ * describe("example", () => {
199
+ * it("should pass", () => {
200
+ * // test case
201
+ * assertEquals(2 + 2, 4);
202
+ * });
203
+ * });
204
+ * ```
205
+ *
206
+ * @typeParam T The self type of the function
207
+ * @param fn The function to implement the teardown behavior.
208
+ */
209
+ export declare function after<T>(fn: (this: T) => void | Promise<void>): void;
210
+ /**
211
+ * Run some shared setup before each test in the suite.
212
+ *
213
+ * @example Usage
214
+ * ```ts
215
+ * import { describe, it, beforeEach } from "@std/testing/bdd";
216
+ * import { assertEquals } from "@std/assert";
217
+ *
218
+ * beforeEach(() => {
219
+ * console.log("beforeEach");
220
+ * });
221
+ *
222
+ * describe("example", () => {
223
+ * it("should pass", () => {
224
+ * // test case
225
+ * assertEquals(2 + 2, 4);
226
+ * });
227
+ * });
228
+ * ```
229
+ *
230
+ * @typeParam T The self type of the function
231
+ * @param fn The function to implement the shared setup behavior
232
+ */
233
+ export declare function beforeEach<T>(fn: (this: T) => void | Promise<void>): void;
234
+ /**
235
+ * Run some shared teardown after each test in the suite.
236
+ *
237
+ * @example Usage
238
+ * ```ts
239
+ * import { describe, it, afterEach } from "@std/testing/bdd";
240
+ * import { assertEquals } from "@std/assert";
241
+ *
242
+ * afterEach(() => {
243
+ * console.log("afterEach");
244
+ * });
245
+ *
246
+ * describe("example", () => {
247
+ * it("should pass", () => {
248
+ * // test case
249
+ * assertEquals(2 + 2, 4);
250
+ * });
251
+ * });
252
+ * ```
253
+ *
254
+ * @typeParam T The self type of the function
255
+ * @param fn The function to implement the shared teardown behavior
256
+ */
257
+ export declare function afterEach<T>(fn: (this: T) => void | Promise<void>): void;
258
+ /** The arguments for a DescribeFunction. */
259
+ export type DescribeArgs<T> = [options: DescribeDefinition<T>] | [name: string] | [
260
+ name: string,
261
+ options: Omit<DescribeDefinition<T>, "name">
262
+ ] | [name: string, fn: () => void | undefined] | [fn: () => void | undefined] | [
263
+ name: string,
264
+ options: Omit<DescribeDefinition<T>, "fn" | "name">,
265
+ fn: () => void | undefined
266
+ ] | [
267
+ options: Omit<DescribeDefinition<T>, "fn">,
268
+ fn: () => void | undefined
269
+ ] | [
270
+ options: Omit<DescribeDefinition<T>, "fn" | "name">,
271
+ fn: () => void | undefined
272
+ ] | [
273
+ suite: TestSuite<T>,
274
+ name: string
275
+ ] | [
276
+ suite: TestSuite<T>,
277
+ name: string,
278
+ options: Omit<DescribeDefinition<T>, "name" | "suite">
279
+ ] | [
280
+ suite: TestSuite<T>,
281
+ name: string,
282
+ fn: () => void | undefined
283
+ ] | [
284
+ suite: TestSuite<T>,
285
+ fn: () => void | undefined
286
+ ] | [
287
+ suite: TestSuite<T>,
288
+ name: string,
289
+ options: Omit<DescribeDefinition<T>, "fn" | "name" | "suite">,
290
+ fn: () => void | undefined
291
+ ] | [
292
+ suite: TestSuite<T>,
293
+ options: Omit<DescribeDefinition<T>, "fn" | "suite">,
294
+ fn: () => void | undefined
295
+ ] | [
296
+ suite: TestSuite<T>,
297
+ options: Omit<DescribeDefinition<T>, "fn" | "name" | "suite">,
298
+ fn: () => void | undefined
299
+ ];
300
+ /** Registers a test suite. */
301
+ export interface describe {
302
+ <T>(...args: DescribeArgs<T>): TestSuite<T>;
303
+ /** Registers a test suite with only set to true. */
304
+ only<T>(...args: DescribeArgs<T>): TestSuite<T>;
305
+ /** Registers a test suite with ignore set to true. */
306
+ ignore<T>(...args: DescribeArgs<T>): TestSuite<T>;
307
+ /** Registers a test suite with ignore set to true. Alias of `.ignore()`. */
308
+ skip<T>(...args: ItArgs<T>): void;
309
+ }
310
+ /**
311
+ * Registers a test suite.
312
+ *
313
+ * @example Usage
314
+ * ```ts
315
+ * import { describe, it } from "@std/testing/bdd";
316
+ * import { assertEquals } from "@std/assert";
317
+ *
318
+ * describe("example", () => {
319
+ * it("should pass", () => {
320
+ * // test case
321
+ * assertEquals(2 + 2, 4);
322
+ * });
323
+ * });
324
+ * ```
325
+ *
326
+ * @typeParam T The self type of the test suite body.
327
+ * @param args The test suite body.
328
+ * @returns The test suite
329
+ */
330
+ export declare function describe<T>(...args: DescribeArgs<T>): TestSuite<T>;
331
+ export declare namespace describe {
332
+ var only: <T>(...args: DescribeArgs<T>) => TestSuite<T>;
333
+ var ignore: <T>(...args: DescribeArgs<T>) => TestSuite<T>;
334
+ var skip: <T>(...args: DescribeArgs<T>) => TestSuite<T>;
335
+ }
336
+ //# sourceMappingURL=bdd.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bdd.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/testing/1.0.15/bdd.ts"],"names":[],"mappings":"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"}