@mostajs/mjs-unit 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -1
- package/dist/index.js.map +1 -1
- package/llms.txt +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -22,14 +22,22 @@ export declare function ok(cond: unknown, message?: string): void;
|
|
|
22
22
|
export declare function equal(actual: unknown, expected: unknown, message?: string): void;
|
|
23
23
|
export declare function deepEqual(actual: unknown, expected: unknown, message?: string): void;
|
|
24
24
|
export declare function throwsAsync(fn: () => Promise<unknown>, message?: string): Promise<void>;
|
|
25
|
+
/** Assertion synchrone : `fn` doit lever ; `matcher` (RegExp ou sous-chaîne) valide le message. Renvoie l'erreur. */
|
|
26
|
+
export declare function throws(fn: () => unknown, matcher?: RegExp | string, message?: string): unknown;
|
|
25
27
|
export declare function doesNotThrowAsync(fn: () => Promise<unknown>, message?: string): Promise<void>;
|
|
26
|
-
/** API fluide : `expect(x).toBe(y)`, `.toEqual(obj)`, `.toBeTruthy()`, `.toContain(s)`. */
|
|
28
|
+
/** API fluide : `expect(x).toBe(y)`, `.toEqual(obj)`, `.toBeTruthy()`, `.toContain(s)`, `.toMatch(re)`. */
|
|
27
29
|
export declare function expect(actual: unknown): {
|
|
28
30
|
toBe: (e: unknown, m?: string) => void;
|
|
29
31
|
toEqual: (e: unknown, m?: string) => void;
|
|
30
32
|
toBeTruthy: (m?: string) => void;
|
|
31
33
|
toBeFalsy: (m?: string) => void;
|
|
32
34
|
toContain: (sub: string, m?: string) => void;
|
|
35
|
+
/** Chaîne matchée par une RegExp (ou incluant une sous-chaîne). */
|
|
36
|
+
toMatch: (re: RegExp | string, m?: string) => void;
|
|
37
|
+
/** Longueur d'une chaîne/tableau. */
|
|
38
|
+
toHaveLength: (n: number, m?: string) => void;
|
|
39
|
+
/** Nombre ≥ borne. */
|
|
40
|
+
toBeGreaterThanOrEqual: (n: number, m?: string) => void;
|
|
33
41
|
};
|
|
34
42
|
/** Issue d'un cas de test (consommé par les reporters, ex. `./report`). */
|
|
35
43
|
export interface TestResult {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,QAAQ;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAI1F,gDAAgD;AAChD,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEvE;yBAFe,IAAI;qBAID,MAAM,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI;;AAEhE,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAI9D;AAMD,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,SAAiB,GAAG,IAAI,CAEhE;AACD,wBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEhF;AACD,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpF;AACD,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,SAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrG;AACD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,SAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElH;AAED,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,QAAQ;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE;AAI1F,gDAAgD;AAChD,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAEvE;yBAFe,IAAI;qBAID,MAAM,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAG,IAAI;;AAEhE,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAI9D;AAMD,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,SAAiB,GAAG,IAAI,CAEhE;AACD,wBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEhF;AACD,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpF;AACD,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,SAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrG;AACD,qHAAqH;AACrH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAS9F;AACD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,SAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElH;AAED,2GAA2G;AAC3G,wBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO;cAExB,OAAO,MAAM,MAAM;iBAChB,OAAO,MAAM,MAAM;qBACf,MAAM;oBACP,MAAM;qBACL,MAAM,MAAM,MAAM;IACnC,mEAAmE;kBACrD,MAAM,GAAG,MAAM,MAAM,MAAM;IACzC,qCAAqC;sBACnB,MAAM,MAAM,MAAM;IACpC,sBAAsB;gCACM,MAAM,MAAM,MAAM;EAEjD;AAGD,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAClH,MAAM,WAAW,SAAS;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE;AAIpH,iGAAiG;AACjG,wBAAsB,GAAG,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAcxD;AAED,+CAA+C;AAC/C,wBAAgB,OAAO,IAAI,MAAM,CAA0B"}
|
package/dist/index.js
CHANGED
|
@@ -51,6 +51,26 @@ export async function throwsAsync(fn, message = "devait lever") {
|
|
|
51
51
|
}
|
|
52
52
|
throw new AssertionError(message);
|
|
53
53
|
}
|
|
54
|
+
/** Assertion synchrone : `fn` doit lever ; `matcher` (RegExp ou sous-chaîne) valide le message. Renvoie l'erreur. */
|
|
55
|
+
export function throws(fn, matcher, message) {
|
|
56
|
+
let threw = false;
|
|
57
|
+
let err;
|
|
58
|
+
try {
|
|
59
|
+
fn();
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
threw = true;
|
|
63
|
+
err = e;
|
|
64
|
+
}
|
|
65
|
+
if (!threw)
|
|
66
|
+
throw new AssertionError(message ?? "devait lever une exception");
|
|
67
|
+
const msg = err?.message ?? String(err);
|
|
68
|
+
if (matcher instanceof RegExp && !matcher.test(msg))
|
|
69
|
+
throw new AssertionError(message ?? `exception « ${msg} » ne matche pas ${matcher}`);
|
|
70
|
+
if (typeof matcher === "string" && !msg.includes(matcher))
|
|
71
|
+
throw new AssertionError(message ?? `exception « ${msg} » ne contient pas « ${matcher} »`);
|
|
72
|
+
return err;
|
|
73
|
+
}
|
|
54
74
|
export async function doesNotThrowAsync(fn, message = "ne devait pas lever") {
|
|
55
75
|
try {
|
|
56
76
|
await fn();
|
|
@@ -59,7 +79,7 @@ export async function doesNotThrowAsync(fn, message = "ne devait pas lever") {
|
|
|
59
79
|
throw new AssertionError(`${message} : ${e?.message}`);
|
|
60
80
|
}
|
|
61
81
|
}
|
|
62
|
-
/** API fluide : `expect(x).toBe(y)`, `.toEqual(obj)`, `.toBeTruthy()`, `.toContain(s)`. */
|
|
82
|
+
/** API fluide : `expect(x).toBe(y)`, `.toEqual(obj)`, `.toBeTruthy()`, `.toContain(s)`, `.toMatch(re)`. */
|
|
63
83
|
export function expect(actual) {
|
|
64
84
|
return {
|
|
65
85
|
toBe: (e, m) => equal(actual, e, m),
|
|
@@ -67,6 +87,12 @@ export function expect(actual) {
|
|
|
67
87
|
toBeTruthy: (m) => ok(actual, m),
|
|
68
88
|
toBeFalsy: (m) => ok(!actual, m ?? "attendu falsy"),
|
|
69
89
|
toContain: (sub, m) => ok(typeof actual === "string" && actual.includes(sub), m ?? `« ${fmt(actual)} » ne contient pas « ${sub} »`),
|
|
90
|
+
/** Chaîne matchée par une RegExp (ou incluant une sous-chaîne). */
|
|
91
|
+
toMatch: (re, m) => ok(typeof actual === "string" && (re instanceof RegExp ? re.test(actual) : actual.includes(re)), m ?? `« ${fmt(actual)} » ne matche pas ${re}`),
|
|
92
|
+
/** Longueur d'une chaîne/tableau. */
|
|
93
|
+
toHaveLength: (n, m) => ok(!!actual && typeof actual.length === "number" && actual.length === n, m ?? `longueur attendue ${n}, reçu ${fmt(actual?.length)}`),
|
|
94
|
+
/** Nombre ≥ borne. */
|
|
95
|
+
toBeGreaterThanOrEqual: (n, m) => ok(typeof actual === "number" && actual >= n, m ?? `attendu ≥ ${n}, reçu ${fmt(actual)}`),
|
|
70
96
|
};
|
|
71
97
|
}
|
|
72
98
|
const _now = () => (typeof performance !== "undefined" ? performance.now() : Date.now());
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,MAAM,GAAe,EAAE,CAAC;AAE9B,gDAAgD;AAChD,MAAM,UAAU,IAAI,CAAC,IAAY,EAAE,EAA8B;IAC/D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5B,CAAC;AACD,mCAAmC;AACnC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAY,EAAE,EAA8B,EAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/G,yCAAyC;AACzC,MAAM,UAAU,QAAQ,CAAC,KAAa,EAAE,IAAgB;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,CAAC;IACP,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9F,CAAC;AAED,gFAAgF;AAChF,MAAM,cAAe,SAAQ,KAAK;IAAG,YAAY,CAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,CAAC,CAAC;CAAE;AACzG,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,GAAG,IAAI,CAAC;IAAC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AAAC,CAAC,CAAC,CAAC,CAAC;AAE1H,MAAM,UAAU,EAAE,CAAC,IAAa,EAAE,OAAO,GAAG,cAAc;IACxD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AACD,MAAM,UAAU,KAAK,CAAC,MAAe,EAAE,QAAiB,EAAE,OAAgB;IACxE,IAAI,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,cAAc,CAAC,OAAO,IAAI,WAAW,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChH,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,MAAe,EAAE,QAAiB,EAAE,OAAgB;IAC5E,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,cAAc,CAAC,OAAO,IAAI,WAAW,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAA0B,EAAE,OAAO,GAAG,cAAc;IACpF,IAAI,CAAC;QAAC,MAAM,EAAE,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO;IAAC,CAAC;IACrC,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAA0B,EAAE,OAAO,GAAG,qBAAqB;IACjG,IAAI,CAAC;QAAC,MAAM,EAAE,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,MAAM,IAAI,cAAc,CAAC,GAAG,OAAO,MAAO,CAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;AACtG,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
CHANGED
|
@@ -33,7 +33,7 @@ réécrit `./x` → `./x.js` puis `./x/index.js`.
|
|
|
33
33
|
- test(name, fn): void // fn sync ou async ; enregistre un cas
|
|
34
34
|
- test.skip(name, fn): void
|
|
35
35
|
- describe(group, body): void // préfixe les noms
|
|
36
|
-
- expect(v): { toBe(e), toEqual(e), toBeTruthy(), toBeFalsy(), toContain(sub) }
|
|
36
|
+
- expect(v): { toBe(e), toEqual(e), toBeTruthy(), toBeFalsy(), toContain(sub), toMatch(re|sub), toHaveLength(n), toBeGreaterThanOrEqual(n) }
|
|
37
37
|
- ok(cond, msg?) · equal(a, e, msg?) · deepEqual(a, e, msg?)
|
|
38
38
|
- throwsAsync(fn, msg?) · doesNotThrowAsync(fn, msg?)
|
|
39
39
|
- run(label?): Promise<{passed, failed, skipped, label, results}> // exécute les cas ; exitCode=1 si échec
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mostajs/mjs-unit",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Micro-framework de test pour l'écosystème @mostajs/* : zéro dépendance, API minimale (test/expect/run), runner CLI (preuves HTML/JSON via --report), reporters réutilisables (./report), et un resolver ESM qui exécute sous Node les dist à imports sans extension (convention moduleResolution=bundler).",
|
|
5
5
|
"author": "Dr Hamid MADANI <drmdh@msn.com>",
|
|
6
6
|
"license": "AGPL-3.0-or-later",
|