@effectionx/bdd 0.3.0 → 0.4.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 (67) hide show
  1. package/bdd.test.ts +12 -0
  2. package/bdd.ts +124 -0
  3. package/dist/bdd.d.ts +41 -0
  4. package/dist/bdd.d.ts.map +1 -0
  5. package/dist/bdd.js +77 -0
  6. package/dist/mod.d.ts +2 -0
  7. package/dist/mod.d.ts.map +1 -0
  8. package/dist/mod.js +3 -0
  9. package/dist/mod.node.d.ts +10 -0
  10. package/dist/mod.node.d.ts.map +1 -0
  11. package/dist/mod.node.js +8 -0
  12. package/dist/tsconfig.tsbuildinfo +1 -0
  13. package/mod.deno.ts +128 -0
  14. package/mod.node.ts +10 -0
  15. package/mod.ts +3 -0
  16. package/package.json +20 -18
  17. package/tsconfig.json +14 -0
  18. package/esm/_dnt.shims.d.ts +0 -2
  19. package/esm/_dnt.shims.d.ts.map +0 -1
  20. package/esm/_dnt.shims.js +0 -57
  21. package/esm/deps/jsr.io/@effectionx/test-adapter/0.5.1/box.d.ts +0 -4
  22. package/esm/deps/jsr.io/@effectionx/test-adapter/0.5.1/box.d.ts.map +0 -1
  23. package/esm/deps/jsr.io/@effectionx/test-adapter/0.5.1/box.js +0 -15
  24. package/esm/deps/jsr.io/@effectionx/test-adapter/0.5.1/mod.d.ts +0 -77
  25. package/esm/deps/jsr.io/@effectionx/test-adapter/0.5.1/mod.d.ts.map +0 -1
  26. package/esm/deps/jsr.io/@effectionx/test-adapter/0.5.1/mod.js +0 -89
  27. package/esm/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts +0 -26
  28. package/esm/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts.map +0 -1
  29. package/esm/deps/jsr.io/@std/assert/1.0.16/assertion_error.js +0 -30
  30. package/esm/deps/jsr.io/@std/internal/1.0.12/assertion_state.d.ts +0 -150
  31. package/esm/deps/jsr.io/@std/internal/1.0.12/assertion_state.d.ts.map +0 -1
  32. package/esm/deps/jsr.io/@std/internal/1.0.12/assertion_state.js +0 -237
  33. package/esm/deps/jsr.io/@std/testing/1.0.16/_test_suite.d.ts +0 -78
  34. package/esm/deps/jsr.io/@std/testing/1.0.16/_test_suite.d.ts.map +0 -1
  35. package/esm/deps/jsr.io/@std/testing/1.0.16/_test_suite.js +0 -385
  36. package/esm/deps/jsr.io/@std/testing/1.0.16/bdd.d.ts +0 -336
  37. package/esm/deps/jsr.io/@std/testing/1.0.16/bdd.d.ts.map +0 -1
  38. package/esm/deps/jsr.io/@std/testing/1.0.16/bdd.js +0 -1057
  39. package/esm/mod.d.ts +0 -26
  40. package/esm/mod.d.ts.map +0 -1
  41. package/esm/mod.js +0 -78
  42. package/esm/package.json +0 -3
  43. package/script/_dnt.shims.d.ts +0 -2
  44. package/script/_dnt.shims.d.ts.map +0 -1
  45. package/script/_dnt.shims.js +0 -60
  46. package/script/deps/jsr.io/@effectionx/test-adapter/0.5.1/box.d.ts +0 -4
  47. package/script/deps/jsr.io/@effectionx/test-adapter/0.5.1/box.d.ts.map +0 -1
  48. package/script/deps/jsr.io/@effectionx/test-adapter/0.5.1/box.js +0 -19
  49. package/script/deps/jsr.io/@effectionx/test-adapter/0.5.1/mod.d.ts +0 -77
  50. package/script/deps/jsr.io/@effectionx/test-adapter/0.5.1/mod.d.ts.map +0 -1
  51. package/script/deps/jsr.io/@effectionx/test-adapter/0.5.1/mod.js +0 -92
  52. package/script/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts +0 -26
  53. package/script/deps/jsr.io/@std/assert/1.0.16/assertion_error.d.ts.map +0 -1
  54. package/script/deps/jsr.io/@std/assert/1.0.16/assertion_error.js +0 -34
  55. package/script/deps/jsr.io/@std/internal/1.0.12/assertion_state.d.ts +0 -150
  56. package/script/deps/jsr.io/@std/internal/1.0.12/assertion_state.d.ts.map +0 -1
  57. package/script/deps/jsr.io/@std/internal/1.0.12/assertion_state.js +0 -275
  58. package/script/deps/jsr.io/@std/testing/1.0.16/_test_suite.d.ts +0 -78
  59. package/script/deps/jsr.io/@std/testing/1.0.16/_test_suite.d.ts.map +0 -1
  60. package/script/deps/jsr.io/@std/testing/1.0.16/_test_suite.js +0 -389
  61. package/script/deps/jsr.io/@std/testing/1.0.16/bdd.d.ts +0 -336
  62. package/script/deps/jsr.io/@std/testing/1.0.16/bdd.d.ts.map +0 -1
  63. package/script/deps/jsr.io/@std/testing/1.0.16/bdd.js +0 -1068
  64. package/script/mod.d.ts +0 -26
  65. package/script/mod.d.ts.map +0 -1
  66. package/script/mod.js +0 -84
  67. package/script/package.json +0 -3
@@ -1,275 +0,0 @@
1
- "use strict";
2
- // Copyright 2018-2025 the Deno authors. MIT license.
3
- // This module is browser compatible.
4
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
- if (k2 === undefined) k2 = k;
6
- var desc = Object.getOwnPropertyDescriptor(m, k);
7
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
- desc = { enumerable: true, get: function() { return m[k]; } };
9
- }
10
- Object.defineProperty(o, k2, desc);
11
- }) : (function(o, m, k, k2) {
12
- if (k2 === undefined) k2 = k;
13
- o[k2] = m[k];
14
- }));
15
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
- Object.defineProperty(o, "default", { enumerable: true, value: v });
17
- }) : function(o, v) {
18
- o["default"] = v;
19
- });
20
- var __importStar = (this && this.__importStar) || (function () {
21
- var ownKeys = function(o) {
22
- ownKeys = Object.getOwnPropertyNames || function (o) {
23
- var ar = [];
24
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
- return ar;
26
- };
27
- return ownKeys(o);
28
- };
29
- return function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- })();
37
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
38
- if (kind === "m") throw new TypeError("Private method is not writable");
39
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
40
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
41
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
42
- };
43
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
44
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
45
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
46
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
47
- };
48
- var _AssertionState_instances, _AssertionState_state, _AssertionState_ensureCleanedUp;
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.AssertionState = void 0;
51
- exports.getAssertionState = getAssertionState;
52
- /**
53
- * Check the test suite internal state
54
- *
55
- * @example Usage
56
- * ```ts ignore
57
- * import { AssertionState } from "@std/internal";
58
- *
59
- * const assertionState = new AssertionState();
60
- * ```
61
- */
62
- const dntShim = __importStar(require("../../../../../_dnt.shims.js"));
63
- class AssertionState {
64
- constructor() {
65
- _AssertionState_instances.add(this);
66
- _AssertionState_state.set(this, void 0);
67
- __classPrivateFieldSet(this, _AssertionState_state, {
68
- assertionCount: undefined,
69
- assertionCheck: false,
70
- assertionTriggered: false,
71
- assertionTriggeredCount: 0,
72
- }, "f");
73
- if (typeof globalThis?.addEventListener === "function") {
74
- globalThis.addEventListener("unload", () => {
75
- __classPrivateFieldGet(this, _AssertionState_instances, "m", _AssertionState_ensureCleanedUp).call(this);
76
- });
77
- }
78
- else if (
79
- // deno-lint-ignore no-explicit-any
80
- typeof dntShim.dntGlobalThis?.process?.on === "function") {
81
- // deno-lint-ignore no-explicit-any
82
- dntShim.dntGlobalThis.process.on("exit", () => {
83
- __classPrivateFieldGet(this, _AssertionState_instances, "m", _AssertionState_ensureCleanedUp).call(this);
84
- });
85
- }
86
- else {
87
- // deno-lint-ignore no-console
88
- console.warn("AssertionCounter cleanup step was not registered");
89
- }
90
- }
91
- /**
92
- * Get the number that through `expect.assertions` api set.
93
- *
94
- * @returns the number that through `expect.assertions` api set.
95
- *
96
- * @example Usage
97
- * ```ts ignore
98
- * import { AssertionState } from "@std/internal";
99
- *
100
- * const assertionState = new AssertionState();
101
- * assertionState.assertionCount;
102
- * ```
103
- */
104
- get assertionCount() {
105
- return __classPrivateFieldGet(this, _AssertionState_state, "f").assertionCount;
106
- }
107
- /**
108
- * Get a certain number that assertions were called before.
109
- *
110
- * @returns return a certain number that assertions were called before.
111
- *
112
- * @example Usage
113
- * ```ts ignore
114
- * import { AssertionState } from "@std/internal";
115
- *
116
- * const assertionState = new AssertionState();
117
- * assertionState.assertionTriggeredCount;
118
- * ```
119
- */
120
- get assertionTriggeredCount() {
121
- return __classPrivateFieldGet(this, _AssertionState_state, "f").assertionTriggeredCount;
122
- }
123
- /**
124
- * If `expect.hasAssertions` called, then through this method to update #state.assertionCheck value.
125
- *
126
- * @param val Set #state.assertionCheck's value
127
- *
128
- * @example Usage
129
- * ```ts ignore
130
- * import { AssertionState } from "@std/internal";
131
- *
132
- * const assertionState = new AssertionState();
133
- * assertionState.setAssertionCheck(true);
134
- * ```
135
- */
136
- setAssertionCheck(val) {
137
- __classPrivateFieldGet(this, _AssertionState_state, "f").assertionCheck = val;
138
- }
139
- /**
140
- * If any matchers was called, `#state.assertionTriggered` will be set through this method.
141
- *
142
- * @param val Set #state.assertionTriggered's value
143
- *
144
- * @example Usage
145
- * ```ts ignore
146
- * import { AssertionState } from "@std/internal";
147
- *
148
- * const assertionState = new AssertionState();
149
- * assertionState.setAssertionTriggered(true);
150
- * ```
151
- */
152
- setAssertionTriggered(val) {
153
- __classPrivateFieldGet(this, _AssertionState_state, "f").assertionTriggered = val;
154
- }
155
- /**
156
- * If `expect.assertions` called, then through this method to update #state.assertionCheck value.
157
- *
158
- * @param num Set #state.assertionCount's value, for example if the value is set 2, that means
159
- * you must have two assertion matchers call in your test suite.
160
- *
161
- * @example Usage
162
- * ```ts ignore
163
- * import { AssertionState } from "@std/internal";
164
- *
165
- * const assertionState = new AssertionState();
166
- * assertionState.setAssertionCount(2);
167
- * ```
168
- */
169
- setAssertionCount(num) {
170
- __classPrivateFieldGet(this, _AssertionState_state, "f").assertionCount = num;
171
- }
172
- /**
173
- * If any matchers was called, `#state.assertionTriggeredCount` value will plus one internally.
174
- *
175
- * @example Usage
176
- * ```ts ignore
177
- * import { AssertionState } from "@std/internal";
178
- *
179
- * const assertionState = new AssertionState();
180
- * assertionState.updateAssertionTriggerCount();
181
- * ```
182
- */
183
- updateAssertionTriggerCount() {
184
- if (__classPrivateFieldGet(this, _AssertionState_state, "f").assertionCount !== undefined) {
185
- __classPrivateFieldGet(this, _AssertionState_state, "f").assertionTriggeredCount += 1;
186
- }
187
- }
188
- /**
189
- * Check Assertion internal state, if `#state.assertionCheck` is set true, but
190
- * `#state.assertionTriggered` is still false, then should throw an Assertion Error.
191
- *
192
- * @returns a boolean value, that the test suite is satisfied with the check. If not,
193
- * it should throw an AssertionError.
194
- *
195
- * @example Usage
196
- * ```ts ignore
197
- * import { AssertionState } from "@std/internal";
198
- *
199
- * const assertionState = new AssertionState();
200
- * if (assertionState.checkAssertionErrorState()) {
201
- * // throw AssertionError("");
202
- * }
203
- * ```
204
- */
205
- checkAssertionErrorState() {
206
- return __classPrivateFieldGet(this, _AssertionState_state, "f").assertionCheck && !__classPrivateFieldGet(this, _AssertionState_state, "f").assertionTriggered;
207
- }
208
- /**
209
- * Reset all assertion state when every test suite function ran completely.
210
- *
211
- * @example Usage
212
- * ```ts ignore
213
- * import { AssertionState } from "@std/internal";
214
- *
215
- * const assertionState = new AssertionState();
216
- * assertionState.resetAssertionState();
217
- * ```
218
- */
219
- resetAssertionState() {
220
- __classPrivateFieldSet(this, _AssertionState_state, {
221
- assertionCount: undefined,
222
- assertionCheck: false,
223
- assertionTriggered: false,
224
- assertionTriggeredCount: 0,
225
- }, "f");
226
- }
227
- /**
228
- * Check Assertion called state, if `#state.assertionCount` is set to a number value, but
229
- * `#state.assertionTriggeredCount` is less then it, then should throw an assertion error.
230
- *
231
- * @returns a boolean value, that the test suite is satisfied with the check. If not,
232
- * it should throw an AssertionError.
233
- *
234
- * @example Usage
235
- * ```ts ignore
236
- * import { AssertionState } from "@std/internal";
237
- *
238
- * const assertionState = new AssertionState();
239
- * if (assertionState.checkAssertionCountSatisfied()) {
240
- * // throw AssertionError("");
241
- * }
242
- * ```
243
- */
244
- checkAssertionCountSatisfied() {
245
- return __classPrivateFieldGet(this, _AssertionState_state, "f").assertionCount !== undefined &&
246
- __classPrivateFieldGet(this, _AssertionState_state, "f").assertionCount !== __classPrivateFieldGet(this, _AssertionState_state, "f").assertionTriggeredCount;
247
- }
248
- }
249
- exports.AssertionState = AssertionState;
250
- _AssertionState_state = new WeakMap(), _AssertionState_instances = new WeakSet(), _AssertionState_ensureCleanedUp = function _AssertionState_ensureCleanedUp() {
251
- // If any checks were registered, after the test suite runs the checks,
252
- // `resetAssertionState` should also have been called. If it was not,
253
- // then the test suite did not run the checks.
254
- if (__classPrivateFieldGet(this, _AssertionState_state, "f").assertionCheck ||
255
- __classPrivateFieldGet(this, _AssertionState_state, "f").assertionCount !== undefined) {
256
- throw new Error("AssertionCounter was not cleaned up: If tests are not otherwise failing, ensure `expect.hasAssertion` and `expect.assertions` are only run in bdd tests");
257
- }
258
- };
259
- const assertionState = new AssertionState();
260
- /**
261
- * return an instance of AssertionState
262
- *
263
- * @returns AssertionState
264
- *
265
- * @example Usage
266
- * ```ts ignore
267
- * import { getAssertionState } from "@std/internal";
268
- *
269
- * const assertionState = getAssertionState();
270
- * assertionState.setAssertionTriggered(true);
271
- * ```
272
- */
273
- function getAssertionState() {
274
- return assertionState;
275
- }
@@ -1,78 +0,0 @@
1
- export declare const globalSanitizersState: {
2
- sanitizeExit: boolean | undefined;
3
- sanitizeOps: boolean | undefined;
4
- sanitizeResources: boolean | undefined;
5
- };
6
- /** The options for creating a test suite with the describe function. */
7
- export interface DescribeDefinition<T> extends Omit<Deno.TestDefinition, "fn"> {
8
- /** The body of the test suite */
9
- fn?: () => void | undefined;
10
- /**
11
- * The `describe` function returns a `TestSuite` representing the group of tests.
12
- * If `describe` is called within another `describe` calls `fn`, the suite will default to that parent `describe` calls returned `TestSuite`.
13
- * If `describe` is not called within another `describe` calls `fn`, the suite will default to the `TestSuite` representing the global group of tests.
14
- */
15
- suite?: TestSuite<T>;
16
- /** Run some shared setup before all of the tests in the suite. */
17
- beforeAll?: ((this: T) => void | Promise<void>) | ((this: T) => void | Promise<void>)[];
18
- /** Run some shared teardown after all of the tests in the suite. */
19
- afterAll?: ((this: T) => void | Promise<void>) | ((this: T) => void | Promise<void>)[];
20
- /** Run some shared setup before each test in the suite. */
21
- beforeEach?: ((this: T) => void | Promise<void>) | ((this: T) => void | Promise<void>)[];
22
- /** Run some shared teardown after each test in the suite. */
23
- afterEach?: ((this: T) => void | Promise<void>) | ((this: T) => void | Promise<void>)[];
24
- }
25
- /** The options for creating an individual test case with the it function. */
26
- export interface ItDefinition<T> extends Omit<Deno.TestDefinition, "fn"> {
27
- /** The body of the test case */
28
- fn: (this: T, t: Deno.TestContext) => void | Promise<void>;
29
- /**
30
- * The `describe` function returns a `TestSuite` representing the group of tests.
31
- * If `it` is called within a `describe` calls `fn`, the suite will default to that parent `describe` calls returned `TestSuite`.
32
- * If `it` is not called within a `describe` calls `fn`, the suite will default to the `TestSuite` representing the global group of tests.
33
- */
34
- suite?: TestSuite<T>;
35
- }
36
- /** The names of all the different types of hooks. */
37
- export type HookNames = "beforeAll" | "afterAll" | "beforeEach" | "afterEach";
38
- /**
39
- * A group of tests.
40
- */
41
- export interface TestSuite<T> {
42
- /** The symbol to use for grouping the test suite */
43
- symbol: symbol;
44
- }
45
- /**
46
- * An internal representation of a group of tests.
47
- */
48
- export declare class TestSuiteInternal<T> implements TestSuite<T> {
49
- symbol: symbol;
50
- protected describe: DescribeDefinition<T>;
51
- protected steps: (TestSuiteInternal<T> | ItDefinition<T>)[];
52
- protected hasOnlyStep: boolean;
53
- constructor(describe: DescribeDefinition<T>);
54
- /** Stores how many test suites are executing. */
55
- static runningCount: number;
56
- /** If a test has been registered yet. Block adding global hooks if a test has been registered. */
57
- static started: boolean;
58
- /** A map of all test suites by symbol. */
59
- static suites: Map<symbol, TestSuiteInternal<any>>;
60
- /** The current test suite being registered. */
61
- static current: TestSuiteInternal<any> | null;
62
- /** The stack of tests that are actively running. */
63
- static active: symbol[];
64
- /** This is used internally for testing this module. */
65
- static reset(): void;
66
- /** This is used internally to register tests. */
67
- static registerTest(options: Deno.TestDefinition): void;
68
- /** Updates all steps within top level suite to have ignore set to true if only is not set to true on step. */
69
- static addingOnlyStep<T>(suite: TestSuiteInternal<T>): void;
70
- /** This is used internally to add steps to a test suite. */
71
- static addStep<T>(suite: TestSuiteInternal<T>, step: TestSuiteInternal<T> | ItDefinition<T>): void;
72
- /** This is used internally to add hooks to a test suite. */
73
- static setHook<T>(suite: TestSuiteInternal<T>, name: HookNames, fn: (this: T) => void | Promise<void>): void;
74
- /** This is used internally to run all steps for a test suite. */
75
- static run<T>(suite: TestSuiteInternal<T>, context: T, t: Deno.TestContext): Promise<void>;
76
- static runTest<T>(t: Deno.TestContext, fn: (this: T, t: Deno.TestContext) => void | Promise<void>, context: T, activeIndex?: number): Promise<void>;
77
- }
78
- //# sourceMappingURL=_test_suite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_test_suite.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/testing/1.0.16/_test_suite.ts"],"names":[],"mappings":"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"}