@plumile/ui 0.1.122 → 0.1.125
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/lib/esm/__tests__/reactDomTestUtils.js +48 -0
- package/lib/esm/__tests__/reactDomTestUtils.js.map +1 -0
- package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js +1 -0
- package/lib/esm/atomic/molecules/markdown/components/MarkdownTable.css.js +0 -1
- package/lib/esm/components/charts/MetricHistoryChart.js +17 -39
- package/lib/esm/components/charts/MetricHistoryChart.js.map +1 -1
- package/lib/esm/components/charts/TimeSeriesLineChart.js +20 -32
- package/lib/esm/components/charts/TimeSeriesLineChart.js.map +1 -1
- package/lib/esm/components/data-table/DataTable.js +33 -35
- package/lib/esm/components/data-table/DataTable.js.map +1 -1
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js +48 -60
- package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -1
- package/lib/esm/internal/charts/metricHistoryChartHelpers.js +24 -0
- package/lib/esm/internal/charts/metricHistoryChartHelpers.js.map +1 -0
- package/lib/esm/internal/charts/timeSeriesLineChartHelpers.js +18 -0
- package/lib/esm/internal/charts/timeSeriesLineChartHelpers.js.map +1 -0
- package/lib/esm/internal/data-table/layout.js +6 -0
- package/lib/esm/internal/data-table/layout.js.map +1 -0
- package/lib/esm/internal/data-table/virtualization.js +12 -0
- package/lib/esm/internal/data-table/virtualization.js.map +1 -0
- package/lib/esm/node_modules/@vitest/pretty-format/dist/index.js +614 -0
- package/lib/esm/node_modules/@vitest/pretty-format/dist/index.js.map +1 -0
- package/lib/esm/node_modules/@vitest/runner/dist/chunk-artifact.js +909 -0
- package/lib/esm/node_modules/@vitest/runner/dist/chunk-artifact.js.map +1 -0
- package/lib/esm/node_modules/@vitest/runner/dist/index.js +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +50 -0
- package/lib/esm/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/display.js +424 -0
- package/lib/esm/node_modules/@vitest/utils/dist/display.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/helpers.js +43 -0
- package/lib/esm/node_modules/@vitest/utils/dist/helpers.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/source-map.js +68 -0
- package/lib/esm/node_modules/@vitest/utils/dist/source-map.js.map +1 -0
- package/lib/esm/node_modules/@vitest/utils/dist/timers.js +19 -0
- package/lib/esm/node_modules/@vitest/utils/dist/timers.js.map +1 -0
- package/lib/esm/node_modules/tinyrainbow/dist/index.js +85 -0
- package/lib/esm/node_modules/tinyrainbow/dist/index.js.map +1 -0
- package/lib/types/components/charts/MetricHistoryChart.d.ts +0 -8
- package/lib/types/components/charts/MetricHistoryChart.d.ts.map +1 -1
- package/lib/types/components/charts/TimeSeriesLineChart.d.ts +0 -4
- package/lib/types/components/charts/TimeSeriesLineChart.d.ts.map +1 -1
- package/lib/types/components/data-table/DataTable.d.ts +1 -5
- package/lib/types/components/data-table/DataTable.d.ts.map +1 -1
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts +1 -34
- package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts.map +1 -1
- package/lib/types/internal/charts/metricHistoryChartHelpers.d.ts +4 -0
- package/lib/types/internal/charts/metricHistoryChartHelpers.d.ts.map +1 -0
- package/lib/types/internal/charts/timeSeriesLineChartHelpers.d.ts +9 -0
- package/lib/types/internal/charts/timeSeriesLineChartHelpers.d.ts.map +1 -0
- package/lib/types/internal/data-table/layout.d.ts +4 -0
- package/lib/types/internal/data-table/layout.d.ts.map +1 -0
- package/lib/types/internal/data-table/virtualization.d.ts +29 -0
- package/lib/types/internal/data-table/virtualization.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,909 @@
|
|
|
1
|
+
import { format as e, formatRegExp as t, objDisplay as n } from "../../utils/dist/display.js";
|
|
2
|
+
import { assertTypes as r, createDefer as i, filterOutComments as a, isNegativeNaN as o, isObject as s, objectAttr as c, ordinal as l, toArray as u, unique as d } from "../../utils/dist/helpers.js";
|
|
3
|
+
import { getSafeTimers as f } from "../../utils/dist/timers.js";
|
|
4
|
+
import { parseSingleStack as p } from "../../utils/dist/source-map.js";
|
|
5
|
+
//#region ../../node_modules/@vitest/runner/dist/chunk-artifact.js
|
|
6
|
+
var m = class extends Error {
|
|
7
|
+
code = "VITEST_PENDING";
|
|
8
|
+
taskId;
|
|
9
|
+
constructor(e, t, n) {
|
|
10
|
+
super(e), this.message = e, this.note = n, this.taskId = t.id;
|
|
11
|
+
}
|
|
12
|
+
}, h = class extends Error {
|
|
13
|
+
name = "FixtureDependencyError";
|
|
14
|
+
}, g = class extends Error {
|
|
15
|
+
name = "FixtureAccessError";
|
|
16
|
+
}, _ = class extends Error {
|
|
17
|
+
name = "FixtureParseError";
|
|
18
|
+
}, v = /* @__PURE__ */ new WeakMap(), ee = /* @__PURE__ */ new WeakMap(), te = /* @__PURE__ */ new WeakMap();
|
|
19
|
+
function ne(e, t) {
|
|
20
|
+
v.set(e, t);
|
|
21
|
+
}
|
|
22
|
+
function re(e, t) {
|
|
23
|
+
ee.set(e, t);
|
|
24
|
+
}
|
|
25
|
+
function ie(e) {
|
|
26
|
+
return ee.get(e);
|
|
27
|
+
}
|
|
28
|
+
function ae(e, t) {
|
|
29
|
+
te.set(e, t);
|
|
30
|
+
}
|
|
31
|
+
function oe(e) {
|
|
32
|
+
return te.get(e);
|
|
33
|
+
}
|
|
34
|
+
var y = Symbol.for("VITEST_FIXTURE_STACK_TRACE"), b = class e {
|
|
35
|
+
_suiteContexts;
|
|
36
|
+
_overrides = /* @__PURE__ */ new WeakMap();
|
|
37
|
+
_registrations;
|
|
38
|
+
static _definitions = [];
|
|
39
|
+
static _builtinFixtures = [
|
|
40
|
+
"task",
|
|
41
|
+
"signal",
|
|
42
|
+
"onTestFailed",
|
|
43
|
+
"onTestFinished",
|
|
44
|
+
"skip",
|
|
45
|
+
"annotate"
|
|
46
|
+
];
|
|
47
|
+
static _fixtureOptionKeys = [
|
|
48
|
+
"auto",
|
|
49
|
+
"injected",
|
|
50
|
+
"scope"
|
|
51
|
+
];
|
|
52
|
+
static _fixtureScopes = [
|
|
53
|
+
"test",
|
|
54
|
+
"file",
|
|
55
|
+
"worker"
|
|
56
|
+
];
|
|
57
|
+
static _workerContextSuite = { type: "worker" };
|
|
58
|
+
static clearDefinitions() {
|
|
59
|
+
e._definitions.length = 0;
|
|
60
|
+
}
|
|
61
|
+
static getWorkerContexts() {
|
|
62
|
+
return e._definitions.map((e) => e.getWorkerContext());
|
|
63
|
+
}
|
|
64
|
+
static getFileContexts(t) {
|
|
65
|
+
return e._definitions.map((e) => e.getFileContext(t));
|
|
66
|
+
}
|
|
67
|
+
static isFixtureOptions(t) {
|
|
68
|
+
return s(t) && Object.keys(t).some((t) => e._fixtureOptionKeys.includes(t));
|
|
69
|
+
}
|
|
70
|
+
constructor(t) {
|
|
71
|
+
this._registrations = t ?? /* @__PURE__ */ new Map(), this._suiteContexts = /* @__PURE__ */ new WeakMap(), e._definitions.push(this);
|
|
72
|
+
}
|
|
73
|
+
extend(t, n) {
|
|
74
|
+
let { suite: r } = B(), i = !r || r.file === r;
|
|
75
|
+
return new e(this.parseUserFixtures(t, n, i));
|
|
76
|
+
}
|
|
77
|
+
get(e) {
|
|
78
|
+
let t = e;
|
|
79
|
+
for (; t;) {
|
|
80
|
+
let e = this._overrides.get(t);
|
|
81
|
+
if (e) return e;
|
|
82
|
+
if (t === t.file) break;
|
|
83
|
+
t = t.suite || t.file;
|
|
84
|
+
}
|
|
85
|
+
return this._registrations;
|
|
86
|
+
}
|
|
87
|
+
override(e, t) {
|
|
88
|
+
let { suite: n, file: r } = B(), i = n || r, a = !n || n.file === n, o = new Map(this.get(i)), s = this.parseUserFixtures(e, t, a, o);
|
|
89
|
+
a ? this._registrations = s : this._overrides.set(i, s);
|
|
90
|
+
}
|
|
91
|
+
getFileContext(e) {
|
|
92
|
+
return this._suiteContexts.has(e) || this._suiteContexts.set(e, Object.create(null)), this._suiteContexts.get(e);
|
|
93
|
+
}
|
|
94
|
+
getWorkerContext() {
|
|
95
|
+
return this._suiteContexts.has(e._workerContextSuite) || this._suiteContexts.set(e._workerContextSuite, Object.create(null)), this._suiteContexts.get(e._workerContextSuite);
|
|
96
|
+
}
|
|
97
|
+
parseUserFixtures(t, n, r, i = new Map(this._registrations)) {
|
|
98
|
+
let a = [];
|
|
99
|
+
Object.entries(n).forEach(([n, o]) => {
|
|
100
|
+
let s, c, l;
|
|
101
|
+
Array.isArray(o) && o.length >= 2 && e.isFixtureOptions(o[1]) ? (l = o[1], s = {
|
|
102
|
+
auto: l.auto ?? !1,
|
|
103
|
+
scope: l.scope ?? "test",
|
|
104
|
+
injected: l.injected ?? !1
|
|
105
|
+
}, c = s.injected ? t.injectValue?.(n) ?? o[0] : o[0]) : c = o;
|
|
106
|
+
let u = i.get(n);
|
|
107
|
+
u && s ? (u.scope !== s.scope && a.push(new h(`The "${n}" fixture was already registered with a "${s.scope}" scope.`)), u.auto !== s.auto && a.push(new h(`The "${n}" fixture was already registered as { auto: ${s.auto} }.`))) : u ? s = {
|
|
108
|
+
auto: u.auto,
|
|
109
|
+
scope: u.scope,
|
|
110
|
+
injected: u.injected
|
|
111
|
+
} : s ||= {
|
|
112
|
+
auto: !1,
|
|
113
|
+
injected: !1,
|
|
114
|
+
scope: "test"
|
|
115
|
+
}, s.scope && !e._fixtureScopes.includes(s.scope) && a.push(new h(`The "${n}" fixture has unknown scope "${s.scope}".`)), !r && s.scope !== "test" && a.push(new h(`The "${n}" fixture cannot be defined with a ${s.scope} scope${!l?.scope && u?.scope ? " (inherited from the base fixture)" : ""} inside the describe block. Define it at the top level of the file instead.`));
|
|
116
|
+
let d = w(c) ? A(c) : /* @__PURE__ */ new Set(), f = {
|
|
117
|
+
name: n,
|
|
118
|
+
value: c,
|
|
119
|
+
auto: s.auto ?? !1,
|
|
120
|
+
injected: s.injected ?? !1,
|
|
121
|
+
scope: s.scope ?? "test",
|
|
122
|
+
deps: d,
|
|
123
|
+
parent: u
|
|
124
|
+
};
|
|
125
|
+
w(c) && Object.assign(c, { [y]: /* @__PURE__ */ Error("STACK_TRACE_ERROR") }), i.set(n, f), f.scope === "worker" && (t.pool === "vmThreads" || t.pool === "vmForks") && (f.scope = "file");
|
|
126
|
+
});
|
|
127
|
+
for (let t of i.values()) for (let n of t.deps) {
|
|
128
|
+
if (e._builtinFixtures.includes(n)) continue;
|
|
129
|
+
let r = i.get(n);
|
|
130
|
+
if (!r) {
|
|
131
|
+
a.push(new h(`The "${t.name}" fixture depends on unknown fixture "${n}".`));
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
if (n === t.name && !t.parent) {
|
|
135
|
+
a.push(new h(`The "${t.name}" fixture depends on itself, but does not have a base implementation.`));
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (e._fixtureScopes.indexOf(t.scope) > e._fixtureScopes.indexOf(r.scope)) {
|
|
139
|
+
a.push(new h(`The ${t.scope} "${t.name}" fixture cannot depend on a ${r.scope} fixture "${r.name}".`));
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (a.length === 1) throw a[0];
|
|
144
|
+
if (a.length > 1) throw AggregateError(a, "Cannot resolve user fixtures. See errors for more information.");
|
|
145
|
+
return i;
|
|
146
|
+
}
|
|
147
|
+
}, x = /* @__PURE__ */ new WeakMap(), S = /* @__PURE__ */ new WeakMap();
|
|
148
|
+
function C(e, t) {
|
|
149
|
+
let n = B(), r = t?.suite || n.suite || n.file;
|
|
150
|
+
return async (n) => {
|
|
151
|
+
let i = n || t?.context;
|
|
152
|
+
if (!i) return t?.suiteHook && fe(e, t.suiteHook, t.stackTraceError), e({});
|
|
153
|
+
let a = t?.fixtures || ie(i);
|
|
154
|
+
if (!a) return e(i);
|
|
155
|
+
let o = a.get(r);
|
|
156
|
+
if (!o.size) return e(i);
|
|
157
|
+
let s = [], c = A(e);
|
|
158
|
+
for (let e of o.values()) (se(e, t) || c.has(e.name)) && s.push(e);
|
|
159
|
+
if (!s.length) return e(i);
|
|
160
|
+
x.has(i) || x.set(i, []);
|
|
161
|
+
let l = x.get(i), u = de(s, o);
|
|
162
|
+
if (!u.length) return e(i);
|
|
163
|
+
if (t?.suiteHook) {
|
|
164
|
+
let e = u.filter((e) => e.scope === "test");
|
|
165
|
+
if (e.length > 0) {
|
|
166
|
+
let n = e.map((e) => `"${e.name}"`).join(", "), r = new h(`Test-scoped fixtures cannot be used inside ${t.suiteHook} hook. The following fixtures are test-scoped: ${n}. Use { scope: 'file' } or { scope: 'worker' } fixtures instead, or move the logic to ${{
|
|
167
|
+
aroundAll: "aroundEach",
|
|
168
|
+
beforeAll: "beforeEach",
|
|
169
|
+
afterAll: "afterEach"
|
|
170
|
+
}[t.suiteHook]} hook.`);
|
|
171
|
+
throw t.stackTraceError?.stack && (r.stack = r.message + t.stackTraceError.stack.replace(t.stackTraceError.message, "")), r;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
S.has(i) || S.set(i, /* @__PURE__ */ new WeakSet());
|
|
175
|
+
let d = S.get(i);
|
|
176
|
+
for (let e of u) if (e.scope === "test") {
|
|
177
|
+
if (d.has(e)) continue;
|
|
178
|
+
d.add(e);
|
|
179
|
+
let t = await ce(e, i, l);
|
|
180
|
+
i[e.name] = t, l.push(() => {
|
|
181
|
+
d.delete(e);
|
|
182
|
+
});
|
|
183
|
+
} else {
|
|
184
|
+
let t = await le(a, r, e);
|
|
185
|
+
i[e.name] = t;
|
|
186
|
+
}
|
|
187
|
+
return e(i);
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function se(e, t) {
|
|
191
|
+
return !(!e.auto || t?.suiteHook && e.scope === "test");
|
|
192
|
+
}
|
|
193
|
+
function w(e) {
|
|
194
|
+
return typeof e == "function";
|
|
195
|
+
}
|
|
196
|
+
function ce(e, t, n) {
|
|
197
|
+
return w(e.value) ? ue(e.value, e.name, t, n) : e.value;
|
|
198
|
+
}
|
|
199
|
+
var T = /* @__PURE__ */ new WeakMap();
|
|
200
|
+
async function le(e, t, n) {
|
|
201
|
+
let r = e.getWorkerContext(), i = e.getFileContext(t.file), a = n.scope === "worker" ? r : i;
|
|
202
|
+
if (!w(n.value)) return a[n.name] = n.value, n.value;
|
|
203
|
+
if (n.name in a) return a[n.name];
|
|
204
|
+
if (T.has(n)) return T.get(n);
|
|
205
|
+
x.has(a) || x.set(a, []);
|
|
206
|
+
let o = x.get(a), s = ue(n.value, n.name, n.scope === "file" ? {
|
|
207
|
+
...r,
|
|
208
|
+
...i
|
|
209
|
+
} : a, o).then((e) => (a[n.name] = e, T.delete(n), e));
|
|
210
|
+
return T.set(n, s), s;
|
|
211
|
+
}
|
|
212
|
+
async function ue(e, t, n, r) {
|
|
213
|
+
let a = i(), o = y in e && e[y] instanceof Error ? e[y] : void 0, s = !1, c = e(n, async (e) => {
|
|
214
|
+
s = !0, a.resolve(e);
|
|
215
|
+
let t = i();
|
|
216
|
+
r.push(async () => {
|
|
217
|
+
t.resolve(), await c;
|
|
218
|
+
}), await t;
|
|
219
|
+
}).then(() => {
|
|
220
|
+
if (!s) {
|
|
221
|
+
let e = /* @__PURE__ */ Error(`Fixture "${t}" returned without calling "use". Make sure to call "use" in every code path of the fixture function.`);
|
|
222
|
+
o?.stack && (e.stack = e.message + o.stack.replace(o.message, "")), a.reject(e);
|
|
223
|
+
}
|
|
224
|
+
}).catch((e) => {
|
|
225
|
+
if (!s) {
|
|
226
|
+
a.reject(e);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
throw e;
|
|
230
|
+
});
|
|
231
|
+
return a;
|
|
232
|
+
}
|
|
233
|
+
function de(e, t, n = /* @__PURE__ */ new Set(), r = []) {
|
|
234
|
+
return e.forEach((e) => {
|
|
235
|
+
if (!r.includes(e)) {
|
|
236
|
+
if (!w(e.value) || !e.deps) {
|
|
237
|
+
r.push(e);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
if (n.has(e)) if (e.parent) e = e.parent;
|
|
241
|
+
else throw Error(`Circular fixture dependency detected: ${e.name} <- ${[...n].reverse().map((e) => e.name).join(" <- ")}`);
|
|
242
|
+
n.add(e), de([...e.deps].map((n) => n === e.name ? e.parent : t.get(n)).filter((e) => !!e), t, n, r), r.push(e), n.clear();
|
|
243
|
+
}
|
|
244
|
+
}), r;
|
|
245
|
+
}
|
|
246
|
+
function fe(e, t, n) {
|
|
247
|
+
let r = A(e, {
|
|
248
|
+
sourceError: n,
|
|
249
|
+
suiteHook: t
|
|
250
|
+
});
|
|
251
|
+
if (r.size) {
|
|
252
|
+
let e = new g(`The ${t} hook uses fixtures "${[...r].join("\", \"")}", but has no access to context. Did you forget to call it as "test.${t}()" instead of "${t}()"?\nIf you used internal "suite" task as the first argument previously, access it in the second argument instead. See https://vitest.dev/guide/test-context#suite-level-hooks`);
|
|
253
|
+
throw n && (e.stack = n.stack?.replace(n.message, e.message)), e;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
var E = Symbol("$vitest:fixture-props"), D = Symbol("$vitest:fixture-prop-names");
|
|
257
|
+
function O(e, t) {
|
|
258
|
+
Object.defineProperty(e, E, {
|
|
259
|
+
value: t,
|
|
260
|
+
enumerable: !1
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
function k(e, t) {
|
|
264
|
+
return e[D] = t, t;
|
|
265
|
+
}
|
|
266
|
+
function A(e, { sourceError: t, suiteHook: n } = {}) {
|
|
267
|
+
if (D in e) return e[D];
|
|
268
|
+
let { index: r = 0, original: i = e } = E in e ? e[E] : {}, o = a(i.toString());
|
|
269
|
+
/__async\((?:this|null), (?:null|arguments|\[[_0-9, ]*\]), function\*/.test(o) && (o = o.split(/__async\((?:this|null),/)[1]);
|
|
270
|
+
let s = o.match(/[^(]*\(([^)]*)/);
|
|
271
|
+
if (!s) return k(e, /* @__PURE__ */ new Set());
|
|
272
|
+
let c = pe(s[1]);
|
|
273
|
+
if (!c.length) return k(e, /* @__PURE__ */ new Set());
|
|
274
|
+
let u = c[r];
|
|
275
|
+
if (!u) return k(e, /* @__PURE__ */ new Set());
|
|
276
|
+
if (!(u[0] === "{" && u.endsWith("}"))) {
|
|
277
|
+
let e = l(r + 1), i = new _(`The ${e} argument inside a fixture must use object destructuring pattern, e.g. ({ task } => {}). Instead, received "${u}".${n ? ` If you used internal "suite" task as the ${e} argument previously, access it in the ${l(r + 2)} argument instead.` : ""}`);
|
|
278
|
+
throw t && (i.stack = t.stack?.replace(t.message, i.message)), i;
|
|
279
|
+
}
|
|
280
|
+
let d = pe(u.slice(1, -1).replace(/\s/g, "")).map((e) => e.replace(/:.*|=.*/g, "")), f = d.at(-1);
|
|
281
|
+
if (f && f.startsWith("...")) {
|
|
282
|
+
let e = new _(`Rest parameters are not supported in fixtures, received "${f}".`);
|
|
283
|
+
throw t && (e.stack = t.stack?.replace(t.message, e.message)), e;
|
|
284
|
+
}
|
|
285
|
+
return k(e, new Set(d));
|
|
286
|
+
}
|
|
287
|
+
function pe(e) {
|
|
288
|
+
let t = [], n = [], r = 0;
|
|
289
|
+
for (let i = 0; i < e.length; i++) if (e[i] === "{" || e[i] === "[") n.push(e[i] === "{" ? "}" : "]");
|
|
290
|
+
else if (e[i] === n.at(-1)) n.pop();
|
|
291
|
+
else if (!n.length && e[i] === ",") {
|
|
292
|
+
let n = e.substring(r, i).trim();
|
|
293
|
+
n && t.push(n), r = i + 1;
|
|
294
|
+
}
|
|
295
|
+
let i = e.substring(r).trim();
|
|
296
|
+
return i && t.push(i), t;
|
|
297
|
+
}
|
|
298
|
+
var me;
|
|
299
|
+
function j() {
|
|
300
|
+
return me;
|
|
301
|
+
}
|
|
302
|
+
var he = Symbol("kChainableContext");
|
|
303
|
+
function M(e) {
|
|
304
|
+
return e?.[he];
|
|
305
|
+
}
|
|
306
|
+
function ge(e, t, n) {
|
|
307
|
+
function r(n) {
|
|
308
|
+
let i = function(...e) {
|
|
309
|
+
return t.apply(n, e);
|
|
310
|
+
};
|
|
311
|
+
Object.assign(i, t), Object.defineProperty(i, he, {
|
|
312
|
+
value: {
|
|
313
|
+
withContext: () => i.bind(n),
|
|
314
|
+
getFixtures: () => n.fixtures,
|
|
315
|
+
setContext: (e, t) => {
|
|
316
|
+
n[e] = t;
|
|
317
|
+
},
|
|
318
|
+
mergeContext: (e) => {
|
|
319
|
+
Object.assign(n, e);
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
enumerable: !1
|
|
323
|
+
});
|
|
324
|
+
for (let t of e) Object.defineProperty(i, t, { get() {
|
|
325
|
+
return r({
|
|
326
|
+
...n,
|
|
327
|
+
[t]: !0
|
|
328
|
+
});
|
|
329
|
+
} });
|
|
330
|
+
return i;
|
|
331
|
+
}
|
|
332
|
+
let i = r(n ?? {});
|
|
333
|
+
return Object.defineProperty(i, "fn", {
|
|
334
|
+
value: t,
|
|
335
|
+
enumerable: !1
|
|
336
|
+
}), i;
|
|
337
|
+
}
|
|
338
|
+
function N() {
|
|
339
|
+
return z().config.hookTimeout;
|
|
340
|
+
}
|
|
341
|
+
var _e = Symbol.for("VITEST_CLEANUP_TIMEOUT"), ve = Symbol.for("VITEST_CLEANUP_STACK_TRACE"), ye = Symbol.for("VITEST_AROUND_TIMEOUT"), be = Symbol.for("VITEST_AROUND_STACK_TRACE");
|
|
342
|
+
function xe(e, t = N()) {
|
|
343
|
+
r(e, "\"beforeAll\" callback", ["function"]);
|
|
344
|
+
let n = /* @__PURE__ */ Error("STACK_TRACE_ERROR"), i = M(this);
|
|
345
|
+
return B().on("beforeAll", Object.assign(q(P("beforeAll", e, i, n), t, !0, n), {
|
|
346
|
+
[_e]: t,
|
|
347
|
+
[ve]: n
|
|
348
|
+
}));
|
|
349
|
+
}
|
|
350
|
+
function Se(e, t) {
|
|
351
|
+
r(e, "\"afterAll\" callback", ["function"]);
|
|
352
|
+
let n = M(this), i = /* @__PURE__ */ Error("STACK_TRACE_ERROR");
|
|
353
|
+
return B().on("afterAll", q(P("afterAll", e, n, i), t ?? N(), !0, i));
|
|
354
|
+
}
|
|
355
|
+
function Ce(e, t = N()) {
|
|
356
|
+
r(e, "\"beforeEach\" callback", ["function"]);
|
|
357
|
+
let n = /* @__PURE__ */ Error("STACK_TRACE_ERROR");
|
|
358
|
+
return B().on("beforeEach", Object.assign(q((t, n) => C(e, { suite: n })(t), t ?? N(), !0, n, Y), {
|
|
359
|
+
[_e]: t,
|
|
360
|
+
[ve]: n
|
|
361
|
+
}));
|
|
362
|
+
}
|
|
363
|
+
function we(e, t) {
|
|
364
|
+
return r(e, "\"afterEach\" callback", ["function"]), B().on("afterEach", q((t, n) => C(e, { suite: n })(t), t ?? N(), !0, /* @__PURE__ */ Error("STACK_TRACE_ERROR"), Y));
|
|
365
|
+
}
|
|
366
|
+
function Te(e, t) {
|
|
367
|
+
r(e, "\"aroundAll\" callback", ["function"]);
|
|
368
|
+
let n = /* @__PURE__ */ Error("STACK_TRACE_ERROR"), i = t ?? N(), a = M(this);
|
|
369
|
+
return B().on("aroundAll", Object.assign(P("aroundAll", e, a, n, 1), {
|
|
370
|
+
[ye]: i,
|
|
371
|
+
[be]: n
|
|
372
|
+
}));
|
|
373
|
+
}
|
|
374
|
+
function Ee(e, t) {
|
|
375
|
+
r(e, "\"aroundEach\" callback", ["function"]);
|
|
376
|
+
let n = /* @__PURE__ */ Error("STACK_TRACE_ERROR"), i = t ?? N();
|
|
377
|
+
return B().on("aroundEach", Object.assign((t, n, r) => {
|
|
378
|
+
let i = (n) => e(t, n, r);
|
|
379
|
+
return O(i, {
|
|
380
|
+
index: 1,
|
|
381
|
+
original: e
|
|
382
|
+
}), C(i, { suite: r })(n);
|
|
383
|
+
}, {
|
|
384
|
+
[ye]: i,
|
|
385
|
+
[be]: n
|
|
386
|
+
}));
|
|
387
|
+
}
|
|
388
|
+
function P(e, t, n, r, i = 0) {
|
|
389
|
+
return (...a) => {
|
|
390
|
+
let o = a.at(-1), s = a.slice(0, -1), c = (e) => t(...s, e, o);
|
|
391
|
+
O(c, {
|
|
392
|
+
index: i,
|
|
393
|
+
original: t
|
|
394
|
+
});
|
|
395
|
+
let l = n?.getFixtures(), u = l?.getFileContext(o.file);
|
|
396
|
+
return C(c, {
|
|
397
|
+
suiteHook: e,
|
|
398
|
+
fixtures: l,
|
|
399
|
+
context: u,
|
|
400
|
+
stackTraceError: r
|
|
401
|
+
})();
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
function F(e, t) {
|
|
405
|
+
let n = t.split("\n").slice(1);
|
|
406
|
+
for (let t of n) {
|
|
407
|
+
let n = p(t);
|
|
408
|
+
if (n && n.file === e) return n;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
function De(e, t) {
|
|
412
|
+
if (!e.strictTags) return;
|
|
413
|
+
let n = new Set(e.tags.map((e) => e.name));
|
|
414
|
+
for (let r of t) if (!n.has(r)) throw Oe(e.tags, r);
|
|
415
|
+
}
|
|
416
|
+
function Oe(e, t, n = "tag") {
|
|
417
|
+
throw e.length ? Error(`The ${n} "${t}" is not defined in the configuration. Available tags are:\n${e.map((e) => `- ${e.name}${e.description ? `: ${e.description}` : ""}`).join("\n")}`) : Error(`The Vitest config does't define any "tags", cannot apply "${t}" ${n} for this test. See: https://vitest.dev/guide/test-tags`);
|
|
418
|
+
}
|
|
419
|
+
function I(e, t = " > ") {
|
|
420
|
+
return e.filter((e) => e !== void 0).join(t);
|
|
421
|
+
}
|
|
422
|
+
var L = Ie();
|
|
423
|
+
H(function(e, t, n) {
|
|
424
|
+
if (j()) throw Error("Calling the test function inside another test function is not allowed. Please put it inside \"describe\" or \"suite\" so it can be properly collected.");
|
|
425
|
+
B().test.fn.call(this, U(e), t, n);
|
|
426
|
+
});
|
|
427
|
+
var R, ke, Ae;
|
|
428
|
+
function je(e, t) {
|
|
429
|
+
if (!e) throw Error(`Vitest failed to find ${t}. One of the following is possible:
|
|
430
|
+
- "vitest" is imported directly without running "vitest" command
|
|
431
|
+
- "vitest" is imported inside "globalSetup" (to fix this, use "setupFiles" instead, because "globalSetup" runs in a different context)
|
|
432
|
+
- "vitest" is imported inside Vite / Vitest config file
|
|
433
|
+
- Otherwise, it might be a Vitest bug. Please report it to https://github.com/vitest-dev/vitest/issues
|
|
434
|
+
`);
|
|
435
|
+
}
|
|
436
|
+
function z() {
|
|
437
|
+
return je(R, "the runner"), R;
|
|
438
|
+
}
|
|
439
|
+
function B() {
|
|
440
|
+
let e = K.currentSuite || ke;
|
|
441
|
+
return je(e, "the current suite"), e;
|
|
442
|
+
}
|
|
443
|
+
function Me() {
|
|
444
|
+
return {
|
|
445
|
+
beforeAll: [],
|
|
446
|
+
afterAll: [],
|
|
447
|
+
beforeEach: [],
|
|
448
|
+
afterEach: [],
|
|
449
|
+
aroundEach: [],
|
|
450
|
+
aroundAll: []
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
var Ne = Infinity;
|
|
454
|
+
function V(e, t) {
|
|
455
|
+
if (typeof t == "object" && t) throw TypeError("Signature \"test(name, fn, { ... })\" was deprecated in Vitest 3 and removed in Vitest 4. Please, provide options as a second argument instead.");
|
|
456
|
+
let n = {}, r;
|
|
457
|
+
if (typeof t == "number" ? n = { timeout: t } : typeof e == "object" && (n = e), typeof e == "function") {
|
|
458
|
+
if (typeof t == "function") throw TypeError("Cannot use two functions as arguments. Please use the second argument for options.");
|
|
459
|
+
r = e;
|
|
460
|
+
} else typeof t == "function" && (r = t);
|
|
461
|
+
return {
|
|
462
|
+
options: n,
|
|
463
|
+
handler: r
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
function Pe(e, t = () => {}, n, r, i) {
|
|
467
|
+
let a = [], o;
|
|
468
|
+
p(!0);
|
|
469
|
+
let s = function(e = "", t = {}) {
|
|
470
|
+
let n = K.currentSuite?.suite, r = d([...(n ?? K.currentSuite?.file)?.tags || [], ...u(t.tags)]), o = r.map((e) => {
|
|
471
|
+
let t = R.config.tags?.find((t) => t.name === e);
|
|
472
|
+
if (!t && R.config.strictTags) throw Oe(R.config.tags, e);
|
|
473
|
+
return t;
|
|
474
|
+
}).filter((e) => e != null).sort((e, t) => (t.priority ?? Ne) - (e.priority ?? Ne)).reduce((e, t) => {
|
|
475
|
+
let { name: n, description: r, priority: i, meta: a, ...o } = t;
|
|
476
|
+
return Object.assign(e, o), a && (e.meta = Object.assign(e.meta ?? Object.create(null), a)), e;
|
|
477
|
+
}, {}), s = t.meta;
|
|
478
|
+
t = {
|
|
479
|
+
...o,
|
|
480
|
+
...t
|
|
481
|
+
};
|
|
482
|
+
let c = t.timeout ?? R.config.testTimeout, l = n?.meta, f = o.meta, p = Object.create(null);
|
|
483
|
+
f && Object.assign(p, f), l && Object.assign(p, l), s && Object.assign(p, s);
|
|
484
|
+
let m = {
|
|
485
|
+
id: "",
|
|
486
|
+
name: e,
|
|
487
|
+
fullName: I([n?.fullName ?? K.currentSuite?.file?.fullName, e]),
|
|
488
|
+
fullTestName: I([n?.fullTestName, e]),
|
|
489
|
+
suite: n,
|
|
490
|
+
each: t.each,
|
|
491
|
+
fails: t.fails,
|
|
492
|
+
context: void 0,
|
|
493
|
+
type: "test",
|
|
494
|
+
file: n?.file ?? K.currentSuite?.file,
|
|
495
|
+
timeout: c,
|
|
496
|
+
retry: t.retry ?? R.config.retry,
|
|
497
|
+
repeats: t.repeats,
|
|
498
|
+
mode: t.only ? "only" : t.skip ? "skip" : t.todo ? "todo" : "run",
|
|
499
|
+
meta: p,
|
|
500
|
+
annotations: [],
|
|
501
|
+
artifacts: [],
|
|
502
|
+
tags: r
|
|
503
|
+
}, h = t.handler;
|
|
504
|
+
m.mode === "run" && !h && (m.mode = "todo"), (t.concurrent ?? (!t.sequential && R.config.sequence.concurrent)) && (m.concurrent = !0), m.shuffle = i?.shuffle;
|
|
505
|
+
let g = We(m, R);
|
|
506
|
+
Object.defineProperty(m, "context", {
|
|
507
|
+
value: g,
|
|
508
|
+
enumerable: !1
|
|
509
|
+
}), re(g, t.fixtures ?? new b());
|
|
510
|
+
let _ = Error.stackTraceLimit;
|
|
511
|
+
Error.stackTraceLimit = 10;
|
|
512
|
+
let v = /* @__PURE__ */ Error("STACK_TRACE_ERROR");
|
|
513
|
+
if (Error.stackTraceLimit = _, h && ne(m, q(He(Fe(C(h, { context: g }), m), m.context.signal), c, !1, v, (e, t) => Y([g], t))), R.config.includeTaskLocation) {
|
|
514
|
+
let e = v.stack, t = F(Ae, e);
|
|
515
|
+
t && (m.location = {
|
|
516
|
+
line: t.line,
|
|
517
|
+
column: t.column
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
return a.push(m), m;
|
|
521
|
+
}, c = H(function(e, t, n) {
|
|
522
|
+
let { options: r, handler: a } = V(t, n);
|
|
523
|
+
typeof i == "object" && (r = Object.assign({}, i, r));
|
|
524
|
+
let o = this.concurrent ?? (!this.sequential && r?.concurrent);
|
|
525
|
+
r.concurrent != null && o != null && (r.concurrent = o);
|
|
526
|
+
let c = this.sequential ?? (!this.concurrent && r?.sequential);
|
|
527
|
+
r.sequential != null && c != null && (r.sequential = c);
|
|
528
|
+
let l = s(U(e), {
|
|
529
|
+
...this,
|
|
530
|
+
...r,
|
|
531
|
+
handler: a
|
|
532
|
+
});
|
|
533
|
+
l.type = "test";
|
|
534
|
+
}), l = {
|
|
535
|
+
type: "collector",
|
|
536
|
+
name: e,
|
|
537
|
+
mode: n,
|
|
538
|
+
suite: o,
|
|
539
|
+
options: i,
|
|
540
|
+
test: c,
|
|
541
|
+
file: o.file,
|
|
542
|
+
tasks: a,
|
|
543
|
+
collect: h,
|
|
544
|
+
task: s,
|
|
545
|
+
clear: m,
|
|
546
|
+
on: f
|
|
547
|
+
};
|
|
548
|
+
function f(e, ...t) {
|
|
549
|
+
oe(o)[e].push(...t);
|
|
550
|
+
}
|
|
551
|
+
function p(t) {
|
|
552
|
+
typeof i == "number" && (i = { timeout: i });
|
|
553
|
+
let a = K.currentSuite?.suite, s = a ?? K.currentSuite?.file, c = u(i?.tags);
|
|
554
|
+
if (De(R.config, c), o = {
|
|
555
|
+
id: "",
|
|
556
|
+
type: "suite",
|
|
557
|
+
name: e,
|
|
558
|
+
fullName: I([a?.fullName ?? K.currentSuite?.file?.fullName, e]),
|
|
559
|
+
fullTestName: I([a?.fullTestName, e]),
|
|
560
|
+
suite: a,
|
|
561
|
+
mode: n,
|
|
562
|
+
each: r,
|
|
563
|
+
file: a?.file ?? K.currentSuite?.file,
|
|
564
|
+
shuffle: i?.shuffle,
|
|
565
|
+
tasks: [],
|
|
566
|
+
meta: i?.meta ?? Object.create(null),
|
|
567
|
+
concurrent: i?.concurrent,
|
|
568
|
+
tags: d([...s?.tags || [], ...c])
|
|
569
|
+
}, R && t && R.config.includeTaskLocation) {
|
|
570
|
+
let e = Error.stackTraceLimit;
|
|
571
|
+
Error.stackTraceLimit = 15;
|
|
572
|
+
let t = (/* @__PURE__ */ Error("stacktrace")).stack;
|
|
573
|
+
Error.stackTraceLimit = e;
|
|
574
|
+
let n = F(Ae, t);
|
|
575
|
+
n && (o.location = {
|
|
576
|
+
line: n.line,
|
|
577
|
+
column: n.column
|
|
578
|
+
});
|
|
579
|
+
}
|
|
580
|
+
ae(o, Me());
|
|
581
|
+
}
|
|
582
|
+
function m() {
|
|
583
|
+
a.length = 0, p(!1);
|
|
584
|
+
}
|
|
585
|
+
async function h(e) {
|
|
586
|
+
if (!e) throw TypeError("File is required to collect tasks.");
|
|
587
|
+
t && await Ve(l, () => t(c));
|
|
588
|
+
let n = [];
|
|
589
|
+
for (let t of a) n.push(t.type === "collector" ? await t.collect(e) : t);
|
|
590
|
+
return o.tasks = n, o;
|
|
591
|
+
}
|
|
592
|
+
return Be(l), l;
|
|
593
|
+
}
|
|
594
|
+
function Fe(e, t) {
|
|
595
|
+
return (async (...n) => {
|
|
596
|
+
let r = await e(...n);
|
|
597
|
+
if (t.promises) {
|
|
598
|
+
let e = (await Promise.allSettled(t.promises)).map((e) => e.status === "rejected" ? e.reason : void 0).filter(Boolean);
|
|
599
|
+
if (e.length) throw e;
|
|
600
|
+
}
|
|
601
|
+
return r;
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
function Ie() {
|
|
605
|
+
function e(e, t, n) {
|
|
606
|
+
if (j()) throw Error("Calling the suite function inside test function is not allowed. It can be only called at the top level or inside another suite function.");
|
|
607
|
+
let r = K.currentSuite || ke, { options: i, handler: a } = V(t, n), o = i.concurrent || this.concurrent || i.sequential === !1, s = i.sequential || this.sequential || i.concurrent === !1, { meta: c, ...l } = r?.options || {};
|
|
608
|
+
i = {
|
|
609
|
+
...l,
|
|
610
|
+
...i
|
|
611
|
+
};
|
|
612
|
+
let u = this.shuffle ?? i.shuffle ?? r?.options?.shuffle ?? R?.config.sequence.shuffle;
|
|
613
|
+
u != null && (i.shuffle = u);
|
|
614
|
+
let d = this.only ?? i.only ? "only" : this.skip ?? i.skip ? "skip" : this.todo ?? i.todo ? "todo" : "run";
|
|
615
|
+
d === "run" && !a && (d = "todo");
|
|
616
|
+
let f = o || i.concurrent && !s, p = s || i.sequential && !o;
|
|
617
|
+
return f != null && (i.concurrent = f && !p), p != null && (i.sequential = p && !f), c && (i.meta = Object.assign(Object.create(null), c, i.meta)), Pe(U(e), a, d, this.each, i);
|
|
618
|
+
}
|
|
619
|
+
return e.each = function(e, ...t) {
|
|
620
|
+
let n = M(this), r = n.withContext();
|
|
621
|
+
return n.setContext("each", !0), Array.isArray(e) && t.length && (e = G(e, t)), (t, i, a) => {
|
|
622
|
+
let o = U(t), s = e.every(Array.isArray), { options: c, handler: l } = V(i, a), u = typeof i == "function";
|
|
623
|
+
e.forEach((e, t) => {
|
|
624
|
+
let n = Array.isArray(e) ? e : [e];
|
|
625
|
+
u ? s ? r(W(o, n, t), l ? () => l(...n) : void 0, c.timeout) : r(W(o, n, t), l ? () => l(e) : void 0, c.timeout) : s ? r(W(o, n, t), c, l ? () => l(...n) : void 0) : r(W(o, n, t), c, l ? () => l(e) : void 0);
|
|
626
|
+
}), n.setContext("each", void 0);
|
|
627
|
+
};
|
|
628
|
+
}, e.for = function(e, ...t) {
|
|
629
|
+
return Array.isArray(e) && t.length && (e = G(e, t)), (t, n, r) => {
|
|
630
|
+
let i = U(t), { options: a, handler: o } = V(n, r);
|
|
631
|
+
e.forEach((e, t) => {
|
|
632
|
+
L(W(i, u(e), t), a, o ? () => o(e) : void 0);
|
|
633
|
+
});
|
|
634
|
+
};
|
|
635
|
+
}, e.skipIf = (e) => e ? L.skip : L, e.runIf = (e) => e ? L : L.skip, ge([
|
|
636
|
+
"concurrent",
|
|
637
|
+
"sequential",
|
|
638
|
+
"shuffle",
|
|
639
|
+
"skip",
|
|
640
|
+
"only",
|
|
641
|
+
"todo"
|
|
642
|
+
], e);
|
|
643
|
+
}
|
|
644
|
+
function Le(e) {
|
|
645
|
+
let t = e;
|
|
646
|
+
t.each = function(e, ...t) {
|
|
647
|
+
let n = M(this), r = n.withContext();
|
|
648
|
+
return n.setContext("each", !0), Array.isArray(e) && t.length && (e = G(e, t)), (t, i, a) => {
|
|
649
|
+
let o = U(t), s = e.every(Array.isArray), { options: c, handler: l } = V(i, a), u = typeof i == "function";
|
|
650
|
+
e.forEach((e, t) => {
|
|
651
|
+
let n = Array.isArray(e) ? e : [e];
|
|
652
|
+
u ? s ? r(W(o, n, t), l ? () => l(...n) : void 0, c.timeout) : r(W(o, n, t), l ? () => l(e) : void 0, c.timeout) : s ? r(W(o, n, t), c, l ? () => l(...n) : void 0) : r(W(o, n, t), c, l ? () => l(e) : void 0);
|
|
653
|
+
}), n.setContext("each", void 0);
|
|
654
|
+
};
|
|
655
|
+
}, t.for = function(e, ...t) {
|
|
656
|
+
let n = M(this).withContext();
|
|
657
|
+
return Array.isArray(e) && t.length && (e = G(e, t)), (t, r, i) => {
|
|
658
|
+
let a = U(t), { options: o, handler: s } = V(r, i);
|
|
659
|
+
e.forEach((e, t) => {
|
|
660
|
+
let r = s ? (t) => s(e, t) : void 0;
|
|
661
|
+
r && O(r, {
|
|
662
|
+
index: 1,
|
|
663
|
+
original: s
|
|
664
|
+
}), n(W(a, u(e), t), o, r);
|
|
665
|
+
});
|
|
666
|
+
};
|
|
667
|
+
}, t.skipIf = function(e) {
|
|
668
|
+
return e ? this.skip : this;
|
|
669
|
+
}, t.runIf = function(e) {
|
|
670
|
+
return e ? this : this.skip;
|
|
671
|
+
};
|
|
672
|
+
function n(e, t, n) {
|
|
673
|
+
if (typeof e != "string") return e;
|
|
674
|
+
let r = e, i, a;
|
|
675
|
+
if (n === void 0 ? typeof t == "object" && t && !Array.isArray(t) && b.isFixtureOptions(t) ? (i = t, a = {}) : (i = void 0, a = t) : (i = t, a = n), typeof a == "function") {
|
|
676
|
+
let e = a, t = async (t, n) => {
|
|
677
|
+
let r;
|
|
678
|
+
await n(await e(t, { onCleanup: (e) => {
|
|
679
|
+
if (r !== void 0) throw Error("onCleanup can only be called once per fixture. Define separate fixtures if you need multiple cleanup functions.");
|
|
680
|
+
r = e;
|
|
681
|
+
} })), r && await r();
|
|
682
|
+
};
|
|
683
|
+
return O(t, { original: e }), i ? { [r]: [t, i] } : { [r]: t };
|
|
684
|
+
}
|
|
685
|
+
return i ? { [r]: [a, i] } : { [r]: a };
|
|
686
|
+
}
|
|
687
|
+
return t.override = function(e, t, r) {
|
|
688
|
+
let i = n(e, t, r);
|
|
689
|
+
return M(this).getFixtures().override(R, i), this;
|
|
690
|
+
}, t.scoped = function(e) {
|
|
691
|
+
return console.warn("test.scoped() is deprecated and will be removed in future versions. Please use test.override() instead."), this.override(e);
|
|
692
|
+
}, t.extend = function(t, r, i) {
|
|
693
|
+
let a = n(t, r, i), o = M(this).getFixtures().extend(R, a), s = H(function(t, n, r) {
|
|
694
|
+
e.call(this, U(t), n, r);
|
|
695
|
+
});
|
|
696
|
+
return M(s).mergeContext({ fixtures: o }), s;
|
|
697
|
+
}, t.describe = L, t.suite = L, t.beforeEach = Ce, t.afterEach = we, t.beforeAll = xe, t.afterAll = Se, t.aroundEach = Ee, t.aroundAll = Te, ge([
|
|
698
|
+
"concurrent",
|
|
699
|
+
"sequential",
|
|
700
|
+
"skip",
|
|
701
|
+
"only",
|
|
702
|
+
"todo",
|
|
703
|
+
"fails"
|
|
704
|
+
], t, { fixtures: new b() });
|
|
705
|
+
}
|
|
706
|
+
function H(e) {
|
|
707
|
+
return Le(e);
|
|
708
|
+
}
|
|
709
|
+
function U(e) {
|
|
710
|
+
return typeof e == "string" ? e : typeof e == "function" ? e.name || "<anonymous>" : String(e);
|
|
711
|
+
}
|
|
712
|
+
function W(r, i, a) {
|
|
713
|
+
(r.includes("%#") || r.includes("%$")) && (r = r.replace(/%%/g, "__vitest_escaped_%__").replace(/%#/g, `${a}`).replace(/%\$/g, `${a + 1}`).replace(/__vitest_escaped_%__/g, "%%"));
|
|
714
|
+
let l = r.split("%").length - 1;
|
|
715
|
+
r.includes("%f") && (r.match(/%f/g) || []).forEach((e, t) => {
|
|
716
|
+
if (o(i[t]) || Object.is(i[t], -0)) {
|
|
717
|
+
let e = 0;
|
|
718
|
+
r = r.replace(/%f/g, (n) => (e++, e === t + 1 ? "-%f" : n));
|
|
719
|
+
}
|
|
720
|
+
});
|
|
721
|
+
let u = s(i[0]);
|
|
722
|
+
function d(e) {
|
|
723
|
+
return e.replace(/\$([$\w.]+)/g, (e, t) => {
|
|
724
|
+
let r = /^\d+$/.test(t);
|
|
725
|
+
if (!u && !r) return `$${t}`;
|
|
726
|
+
let a = r ? c(i, t) : void 0;
|
|
727
|
+
return n(u ? c(i[0], t, a) : a, { truncate: R?.config?.chaiConfig?.truncateThreshold });
|
|
728
|
+
});
|
|
729
|
+
}
|
|
730
|
+
let f = "", p = 0;
|
|
731
|
+
return Re(r, t, (t) => {
|
|
732
|
+
p < l ? f += e(t[0], i[p++]) : f += t[0];
|
|
733
|
+
}, (e) => {
|
|
734
|
+
f += d(e);
|
|
735
|
+
}), f;
|
|
736
|
+
}
|
|
737
|
+
function Re(e, t, n, r) {
|
|
738
|
+
let i = 0;
|
|
739
|
+
for (let a of e.matchAll(t)) i < a.index && r(e.slice(i, a.index)), n(a), i = a.index + a[0].length;
|
|
740
|
+
i < e.length && r(e.slice(i));
|
|
741
|
+
}
|
|
742
|
+
function G(e, t) {
|
|
743
|
+
let n = e.join("").trim().replace(/ /g, "").split("\n").map((e) => e.split("|"))[0], r = [];
|
|
744
|
+
for (let e = 0; e < Math.floor(t.length / n.length); e++) {
|
|
745
|
+
let i = {};
|
|
746
|
+
for (let r = 0; r < n.length; r++) i[n[r]] = t[e * n.length + r];
|
|
747
|
+
r.push(i);
|
|
748
|
+
}
|
|
749
|
+
return r;
|
|
750
|
+
}
|
|
751
|
+
var ze = globalThis.performance ? globalThis.performance.now.bind(globalThis.performance) : Date.now, K = {
|
|
752
|
+
tasks: [],
|
|
753
|
+
currentSuite: null
|
|
754
|
+
};
|
|
755
|
+
function Be(e) {
|
|
756
|
+
K.currentSuite?.tasks.push(e);
|
|
757
|
+
}
|
|
758
|
+
async function Ve(e, t) {
|
|
759
|
+
let n = K.currentSuite;
|
|
760
|
+
K.currentSuite = e, await t(), K.currentSuite = n;
|
|
761
|
+
}
|
|
762
|
+
function q(e, t, n = !1, r, i) {
|
|
763
|
+
if (t <= 0 || t === Infinity) return e;
|
|
764
|
+
let { setTimeout: a, clearTimeout: o } = f();
|
|
765
|
+
return (function(...s) {
|
|
766
|
+
let c = ze(), l = z();
|
|
767
|
+
return l._currentTaskStartTime = c, l._currentTaskTimeout = t, new Promise((u, d) => {
|
|
768
|
+
let f = a(() => {
|
|
769
|
+
o(f), p();
|
|
770
|
+
}, t);
|
|
771
|
+
f.unref?.();
|
|
772
|
+
function p() {
|
|
773
|
+
let e = Ge(n, t, r);
|
|
774
|
+
i?.(s, e), d(e);
|
|
775
|
+
}
|
|
776
|
+
function m(e) {
|
|
777
|
+
if (l._currentTaskStartTime = void 0, l._currentTaskTimeout = void 0, o(f), ze() - c >= t) {
|
|
778
|
+
p();
|
|
779
|
+
return;
|
|
780
|
+
}
|
|
781
|
+
u(e);
|
|
782
|
+
}
|
|
783
|
+
function h(e) {
|
|
784
|
+
l._currentTaskStartTime = void 0, l._currentTaskTimeout = void 0, o(f), d(e);
|
|
785
|
+
}
|
|
786
|
+
try {
|
|
787
|
+
let t = e(...s);
|
|
788
|
+
typeof t == "object" && t && typeof t.then == "function" ? t.then(m, h) : m(t);
|
|
789
|
+
} catch (e) {
|
|
790
|
+
h(e);
|
|
791
|
+
}
|
|
792
|
+
});
|
|
793
|
+
});
|
|
794
|
+
}
|
|
795
|
+
function He(e, t) {
|
|
796
|
+
return (function(...n) {
|
|
797
|
+
return new Promise((r, i) => {
|
|
798
|
+
t.addEventListener("abort", () => i(t.reason));
|
|
799
|
+
try {
|
|
800
|
+
let t = e(...n);
|
|
801
|
+
typeof t == "object" && t && typeof t.then == "function" ? t.then(r, i) : r(t);
|
|
802
|
+
} catch (e) {
|
|
803
|
+
i(e);
|
|
804
|
+
}
|
|
805
|
+
});
|
|
806
|
+
});
|
|
807
|
+
}
|
|
808
|
+
var J = /* @__PURE__ */ new WeakMap();
|
|
809
|
+
function Y([e], t) {
|
|
810
|
+
e && Ue(e, t);
|
|
811
|
+
}
|
|
812
|
+
function Ue(e, t) {
|
|
813
|
+
J.get(e)?.abort(t);
|
|
814
|
+
}
|
|
815
|
+
function We(e, t) {
|
|
816
|
+
let n = function() {
|
|
817
|
+
throw Error("done() callback is deprecated, use promise instead");
|
|
818
|
+
}, r = J.get(n);
|
|
819
|
+
return r || (r = new AbortController(), J.set(n, r)), n.signal = r.signal, n.task = e, n.skip = (t, n) => {
|
|
820
|
+
if (t !== !1) throw e.result ??= { state: "skip" }, e.result.pending = !0, new m("test is skipped; abort execution", e, typeof t == "string" ? t : n);
|
|
821
|
+
}, n.annotate = ((n, r, i) => {
|
|
822
|
+
if (e.result && e.result.state !== "run") throw Error(`Cannot annotate tests outside of the test run. The test "${e.name}" finished running with the "${e.result.state}" state already.`);
|
|
823
|
+
let a = {
|
|
824
|
+
message: n,
|
|
825
|
+
type: typeof r == "object" || r === void 0 ? "notice" : r
|
|
826
|
+
}, o = typeof r == "object" ? r : i;
|
|
827
|
+
return o && (a.attachment = o, $e(a.attachment)), Qe(e, Xe(e, {
|
|
828
|
+
type: "internal:annotation",
|
|
829
|
+
annotation: a
|
|
830
|
+
}).then(async ({ annotation: n }) => {
|
|
831
|
+
if (!t.onTestAnnotate) throw Error("Test runner doesn't support test annotations.");
|
|
832
|
+
await Ye(t);
|
|
833
|
+
let r = await t.onTestAnnotate(e, n);
|
|
834
|
+
return e.annotations.push(r), r;
|
|
835
|
+
}));
|
|
836
|
+
}), n.onTestFailed = (n, i) => {
|
|
837
|
+
e.onFailed ||= [], e.onFailed.push(q(n, i ?? t.config.hookTimeout, !0, /* @__PURE__ */ Error("STACK_TRACE_ERROR"), (e, t) => r.abort(t)));
|
|
838
|
+
}, n.onTestFinished = (n, i) => {
|
|
839
|
+
e.onFinished ||= [], e.onFinished.push(q(n, i ?? t.config.hookTimeout, !0, /* @__PURE__ */ Error("STACK_TRACE_ERROR"), (e, t) => r.abort(t)));
|
|
840
|
+
}, t.extendTaskContext?.(n) || n;
|
|
841
|
+
}
|
|
842
|
+
function Ge(e, t, n) {
|
|
843
|
+
let r = `${e ? "Hook" : "Test"} timed out in ${t}ms.\nIf this is a long-running ${e ? "hook" : "test"}, pass a timeout value as the last argument or configure it globally with "${e ? "hookTimeout" : "testTimeout"}".`, i = Error(r);
|
|
844
|
+
return n?.stack && (i.stack = n.stack.replace(i.message, n.message)), i;
|
|
845
|
+
}
|
|
846
|
+
globalThis.performance ? globalThis.performance.now.bind(globalThis.performance) : Date.now, globalThis.performance ? globalThis.performance.now.bind(globalThis.performance) : Date.now, Date.now;
|
|
847
|
+
var { clearTimeout: Ke, setTimeout: qe } = f(), X = /* @__PURE__ */ new Map(), Z = [], Q = [];
|
|
848
|
+
function Je(e) {
|
|
849
|
+
if (X.size) {
|
|
850
|
+
let t = Array.from(X).map(([e, t]) => [
|
|
851
|
+
e,
|
|
852
|
+
t[0],
|
|
853
|
+
t[1]
|
|
854
|
+
]), n = e.onTaskUpdate?.(t, Z);
|
|
855
|
+
n && (Q.push(n), n.then(() => Q.splice(Q.indexOf(n), 1), () => {})), Z.length = 0, X.clear();
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
async function Ye(e) {
|
|
859
|
+
Je(e), await Promise.all(Q);
|
|
860
|
+
}
|
|
861
|
+
async function Xe(e, t) {
|
|
862
|
+
let n = z(), r = F(e.file.filepath, (/* @__PURE__ */ Error("STACK_TRACE")).stack);
|
|
863
|
+
if (r && (t.location = {
|
|
864
|
+
file: r.file,
|
|
865
|
+
line: r.line,
|
|
866
|
+
column: r.column
|
|
867
|
+
}, t.type === "internal:annotation" && (t.annotation.location = t.location)), Array.isArray(t.attachments)) for (let e of t.attachments) $e(e);
|
|
868
|
+
if (t.type === "internal:annotation") return t;
|
|
869
|
+
if (!n.onTestArtifactRecord) throw Error("Test runner doesn't support test artifacts.");
|
|
870
|
+
await Ye(n);
|
|
871
|
+
let i = await n.onTestArtifactRecord(e, t);
|
|
872
|
+
return e.artifacts.push(i), i;
|
|
873
|
+
}
|
|
874
|
+
var $ = [];
|
|
875
|
+
for (let e = 65; e < 91; e++) $.push(String.fromCharCode(e));
|
|
876
|
+
for (let e = 97; e < 123; e++) $.push(String.fromCharCode(e));
|
|
877
|
+
for (let e = 0; e < 10; e++) $.push(e.toString(10));
|
|
878
|
+
$.push("+", "/");
|
|
879
|
+
function Ze(e) {
|
|
880
|
+
let t = "", n = e.byteLength;
|
|
881
|
+
for (let r = 0; r < n; r += 3) if (n === r + 1) {
|
|
882
|
+
let n = (e[r] & 252) >> 2, i = (e[r] & 3) << 4;
|
|
883
|
+
t += $[n], t += $[i], t += "==";
|
|
884
|
+
} else if (n === r + 2) {
|
|
885
|
+
let n = (e[r] & 252) >> 2, i = (e[r] & 3) << 4 | (e[r + 1] & 240) >> 4, a = (e[r + 1] & 15) << 2;
|
|
886
|
+
t += $[n], t += $[i], t += $[a], t += "=";
|
|
887
|
+
} else {
|
|
888
|
+
let n = (e[r] & 252) >> 2, i = (e[r] & 3) << 4 | (e[r + 1] & 240) >> 4, a = (e[r + 1] & 15) << 2 | (e[r + 2] & 192) >> 6, o = e[r + 2] & 63;
|
|
889
|
+
t += $[n], t += $[i], t += $[a], t += $[o];
|
|
890
|
+
}
|
|
891
|
+
return t;
|
|
892
|
+
}
|
|
893
|
+
function Qe(e, t) {
|
|
894
|
+
return t = t.finally(() => {
|
|
895
|
+
if (!e.promises) return;
|
|
896
|
+
let n = e.promises.indexOf(t);
|
|
897
|
+
n !== -1 && e.promises.splice(n, 1);
|
|
898
|
+
}), e.promises ||= [], e.promises.push(t), t;
|
|
899
|
+
}
|
|
900
|
+
function $e(e) {
|
|
901
|
+
if (e.body == null && !e.path) throw TypeError("Test attachment requires \"body\" or \"path\" to be set. Both are missing.");
|
|
902
|
+
if (e.body && e.path) throw TypeError("Test attachment requires only one of \"body\" or \"path\" to be set. Both are specified.");
|
|
903
|
+
if (e.path && e.bodyEncoding) throw TypeError("Test attachment with \"path\" should not have \"bodyEncoding\" specified.");
|
|
904
|
+
e.body instanceof Uint8Array && (e.body = Ze(e.body)), e.body != null && (e.bodyEncoding ??= "base64");
|
|
905
|
+
}
|
|
906
|
+
//#endregion
|
|
907
|
+
export { Se as afterAll, we as afterEach, Te as aroundAll, Ee as aroundEach, xe as beforeAll, Ce as beforeEach, Le as createTaskCollector, B as getCurrentSuite, j as getCurrentTest, oe as getHooks, Xe as recordArtifact, ne as setFn, ae as setHooks, L as suite };
|
|
908
|
+
|
|
909
|
+
//# sourceMappingURL=chunk-artifact.js.map
|