@fncts/test 0.0.20 → 0.0.21
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/_cjs/api.cjs +39 -31
- package/_cjs/api.cjs.map +1 -1
- package/_cjs/control/AbstractRunnableSpec.cjs +1 -1
- package/_cjs/control/AbstractRunnableSpec.cjs.map +1 -1
- package/_cjs/control/Annotations/live.cjs +10 -12
- package/_cjs/control/Annotations/live.cjs.map +1 -1
- package/_cjs/control/Assertion/api.cjs +45 -33
- package/_cjs/control/Assertion/api.cjs.map +1 -1
- package/_cjs/control/AssertionIO/api.cjs +20 -14
- package/_cjs/control/AssertionIO/api.cjs.map +1 -1
- package/_cjs/control/DefaultTestReporter/render.cjs +50 -50
- package/_cjs/control/DefaultTestReporter/render.cjs.map +1 -1
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs +20 -16
- package/_cjs/control/FreeBooleanAlgebraIO/api.cjs.map +1 -1
- package/_cjs/control/Gen/api/array.cjs +23 -17
- package/_cjs/control/Gen/api/array.cjs.map +1 -1
- package/_cjs/control/Gen/api/char.cjs +2 -2
- package/_cjs/control/Gen/api/char.cjs.map +1 -1
- package/_cjs/control/Gen/api/conc.cjs +35 -26
- package/_cjs/control/Gen/api/conc.cjs.map +1 -1
- package/_cjs/control/Gen/api/double.cjs +8 -8
- package/_cjs/control/Gen/api/double.cjs.map +1 -1
- package/_cjs/control/Gen/api/float.cjs +6 -6
- package/_cjs/control/Gen/api/float.cjs.map +1 -1
- package/_cjs/control/Gen/api/string.cjs +18 -14
- package/_cjs/control/Gen/api/string.cjs.map +1 -1
- package/_cjs/control/Gen/api/struct.cjs +4 -4
- package/_cjs/control/Gen/api/struct.cjs.map +1 -1
- package/_cjs/control/Gen/api.cjs +78 -65
- package/_cjs/control/Gen/api.cjs.map +1 -1
- package/_cjs/control/Gen.cjs.map +1 -1
- package/_cjs/control/Live/definition.cjs +5 -5
- package/_cjs/control/Live/definition.cjs.map +1 -1
- package/_cjs/control/RunnableSpec.cjs +8 -8
- package/_cjs/control/RunnableSpec.cjs.map +1 -1
- package/_cjs/control/Sample/api.cjs +66 -52
- package/_cjs/control/Sample/api.cjs.map +1 -1
- package/_cjs/control/Sized/live.cjs +3 -3
- package/_cjs/control/Sized/live.cjs.map +1 -1
- package/_cjs/control/Spec/api.cjs +322 -286
- package/_cjs/control/Spec/api.cjs.map +1 -1
- package/_cjs/control/Spec/definition.cjs.map +1 -1
- package/_cjs/control/SummaryBuilder.cjs +10 -10
- package/_cjs/control/SummaryBuilder.cjs.map +1 -1
- package/_cjs/control/Test.cjs +1 -1
- package/_cjs/control/Test.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/api.cjs +28 -26
- package/_cjs/control/TestAnnotationRenderer/api.cjs.map +1 -1
- package/_cjs/control/TestAnnotationRenderer/definition.cjs +2 -2
- package/_cjs/control/TestAnnotationRenderer/definition.cjs.map +1 -1
- package/_cjs/control/TestAspect/api.cjs +14 -14
- package/_cjs/control/TestAspect/api.cjs.map +1 -1
- package/_cjs/control/TestClock/api.cjs +9 -11
- package/_cjs/control/TestClock/api.cjs.map +1 -1
- package/_cjs/control/TestClock/definition.cjs +65 -75
- package/_cjs/control/TestClock/definition.cjs.map +1 -1
- package/_cjs/control/TestConsole/api.cjs +3 -3
- package/_cjs/control/TestConsole/api.cjs.map +1 -1
- package/_cjs/control/TestConsole/definition.cjs +20 -24
- package/_cjs/control/TestConsole/definition.cjs.map +1 -1
- package/_cjs/control/TestEnvironment.cjs +3 -3
- package/_cjs/control/TestEnvironment.cjs.map +1 -1
- package/_cjs/control/TestExecutor.cjs +3 -3
- package/_cjs/control/TestExecutor.cjs.map +1 -1
- package/_cjs/control/TestLogger.cjs +2 -2
- package/_cjs/control/TestLogger.cjs.map +1 -1
- package/_cjs/control/TestRandom/api.cjs +9 -9
- package/_cjs/control/TestRandom/api.cjs.map +1 -1
- package/_cjs/control/TestRandom/definition.cjs +65 -71
- package/_cjs/control/TestRandom/definition.cjs.map +1 -1
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs +11 -11
- package/_cjs/control/TestRenderer/ConsoleRenderer.cjs.map +1 -1
- package/_cjs/control/TestRunner.cjs +1 -1
- package/_cjs/control/TestRunner.cjs.map +1 -1
- package/_cjs/data/AssertionValue/api.cjs +22 -14
- package/_cjs/data/AssertionValue/api.cjs.map +1 -1
- package/_cjs/data/AssertionValue/definition.cjs.map +1 -1
- package/_cjs/data/ExecutedSpec/api.cjs +61 -53
- package/_cjs/data/ExecutedSpec/api.cjs.map +1 -1
- package/_cjs/data/ExecutionResult.cjs +42 -38
- package/_cjs/data/ExecutionResult.cjs.map +1 -1
- package/_cjs/data/FreeBooleanAlgebra/api.cjs +93 -77
- package/_cjs/data/FreeBooleanAlgebra/api.cjs.map +1 -1
- package/_cjs/data/LogLine/Fragment.cjs +2 -2
- package/_cjs/data/LogLine/Fragment.cjs.map +1 -1
- package/_cjs/data/LogLine/Line.cjs +11 -9
- package/_cjs/data/LogLine/Line.cjs.map +1 -1
- package/_cjs/data/LogLine/Message.cjs +32 -24
- package/_cjs/data/LogLine/Message.cjs.map +1 -1
- package/_cjs/data/LogLine/Style.cjs.map +1 -1
- package/_cjs/data/Render/definition.cjs +1 -1
- package/_cjs/data/Render/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/api.cjs +2 -2
- package/_cjs/data/TestAnnotation/api.cjs.map +1 -1
- package/_cjs/data/TestAnnotation/definition.cjs.map +1 -1
- package/_cjs/data/TestAnnotationMap.cjs +3 -3
- package/_cjs/data/TestAnnotationMap.cjs.map +1 -1
- package/_cjs/demo.cjs +5 -5
- package/_cjs/demo.cjs.map +1 -1
- package/_cjs/util/math.cjs +6 -6
- package/_cjs/util/math.cjs.map +1 -1
- package/_mjs/api.mjs +37 -29
- package/_mjs/api.mjs.map +1 -1
- package/_mjs/control/AbstractRunnableSpec.mjs +1 -1
- package/_mjs/control/AbstractRunnableSpec.mjs.map +1 -1
- package/_mjs/control/Annotations/live.mjs +10 -11
- package/_mjs/control/Annotations/live.mjs.map +1 -1
- package/_mjs/control/Assertion/api.mjs +40 -28
- package/_mjs/control/Assertion/api.mjs.map +1 -1
- package/_mjs/control/AssertionIO/api.mjs +17 -11
- package/_mjs/control/AssertionIO/api.mjs.map +1 -1
- package/_mjs/control/DefaultTestReporter/render.mjs +50 -50
- package/_mjs/control/DefaultTestReporter/render.mjs.map +1 -1
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs +18 -14
- package/_mjs/control/FreeBooleanAlgebraIO/api.mjs.map +1 -1
- package/_mjs/control/Gen/api/array.mjs +20 -14
- package/_mjs/control/Gen/api/array.mjs.map +1 -1
- package/_mjs/control/Gen/api/char.mjs +2 -2
- package/_mjs/control/Gen/api/char.mjs.map +1 -1
- package/_mjs/control/Gen/api/conc.mjs +30 -22
- package/_mjs/control/Gen/api/conc.mjs.map +1 -1
- package/_mjs/control/Gen/api/double.mjs +8 -8
- package/_mjs/control/Gen/api/double.mjs.map +1 -1
- package/_mjs/control/Gen/api/float.mjs +6 -6
- package/_mjs/control/Gen/api/float.mjs.map +1 -1
- package/_mjs/control/Gen/api/string.mjs +18 -14
- package/_mjs/control/Gen/api/string.mjs.map +1 -1
- package/_mjs/control/Gen/api/struct.mjs +4 -4
- package/_mjs/control/Gen/api/struct.mjs.map +1 -1
- package/_mjs/control/Gen/api.mjs +68 -54
- package/_mjs/control/Gen/api.mjs.map +1 -1
- package/_mjs/control/Gen.mjs.map +1 -1
- package/_mjs/control/Live/definition.mjs +5 -5
- package/_mjs/control/Live/definition.mjs.map +1 -1
- package/_mjs/control/RunnableSpec.mjs +8 -8
- package/_mjs/control/RunnableSpec.mjs.map +1 -1
- package/_mjs/control/Sample/api.mjs +57 -43
- package/_mjs/control/Sample/api.mjs.map +1 -1
- package/_mjs/control/Sized/live.mjs +3 -3
- package/_mjs/control/Sized/live.mjs.map +1 -1
- package/_mjs/control/Spec/api.mjs +300 -265
- package/_mjs/control/Spec/api.mjs.map +1 -1
- package/_mjs/control/Spec/definition.mjs.map +1 -1
- package/_mjs/control/SummaryBuilder.mjs +10 -10
- package/_mjs/control/SummaryBuilder.mjs.map +1 -1
- package/_mjs/control/Test.mjs +1 -1
- package/_mjs/control/Test.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/api.mjs +27 -25
- package/_mjs/control/TestAnnotationRenderer/api.mjs.map +1 -1
- package/_mjs/control/TestAnnotationRenderer/definition.mjs +2 -2
- package/_mjs/control/TestAnnotationRenderer/definition.mjs.map +1 -1
- package/_mjs/control/TestAspect/api.mjs +14 -14
- package/_mjs/control/TestAspect/api.mjs.map +1 -1
- package/_mjs/control/TestClock/api.mjs +9 -10
- package/_mjs/control/TestClock/api.mjs.map +1 -1
- package/_mjs/control/TestClock/definition.mjs +65 -72
- package/_mjs/control/TestClock/definition.mjs.map +1 -1
- package/_mjs/control/TestConsole/api.mjs +3 -3
- package/_mjs/control/TestConsole/api.mjs.map +1 -1
- package/_mjs/control/TestConsole/definition.mjs +20 -22
- package/_mjs/control/TestConsole/definition.mjs.map +1 -1
- package/_mjs/control/TestEnvironment.mjs +3 -3
- package/_mjs/control/TestEnvironment.mjs.map +1 -1
- package/_mjs/control/TestExecutor.mjs +3 -3
- package/_mjs/control/TestExecutor.mjs.map +1 -1
- package/_mjs/control/TestLogger.mjs +2 -2
- package/_mjs/control/TestLogger.mjs.map +1 -1
- package/_mjs/control/TestRandom/api.mjs +9 -9
- package/_mjs/control/TestRandom/api.mjs.map +1 -1
- package/_mjs/control/TestRandom/definition.mjs +65 -68
- package/_mjs/control/TestRandom/definition.mjs.map +1 -1
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs +11 -11
- package/_mjs/control/TestRenderer/ConsoleRenderer.mjs.map +1 -1
- package/_mjs/control/TestRunner.mjs +1 -1
- package/_mjs/control/TestRunner.mjs.map +1 -1
- package/_mjs/data/AssertionValue/api.mjs +22 -14
- package/_mjs/data/AssertionValue/api.mjs.map +1 -1
- package/_mjs/data/AssertionValue/definition.mjs.map +1 -1
- package/_mjs/data/ExecutedSpec/api.mjs +55 -47
- package/_mjs/data/ExecutedSpec/api.mjs.map +1 -1
- package/_mjs/data/ExecutionResult.mjs +40 -36
- package/_mjs/data/ExecutionResult.mjs.map +1 -1
- package/_mjs/data/FreeBooleanAlgebra/api.mjs +81 -65
- package/_mjs/data/FreeBooleanAlgebra/api.mjs.map +1 -1
- package/_mjs/data/LogLine/Fragment.mjs +2 -2
- package/_mjs/data/LogLine/Fragment.mjs.map +1 -1
- package/_mjs/data/LogLine/Line.mjs +11 -9
- package/_mjs/data/LogLine/Line.mjs.map +1 -1
- package/_mjs/data/LogLine/Message.mjs +26 -18
- package/_mjs/data/LogLine/Message.mjs.map +1 -1
- package/_mjs/data/LogLine/Style.mjs.map +1 -1
- package/_mjs/data/Render/definition.mjs +1 -1
- package/_mjs/data/Render/definition.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/api.mjs +2 -2
- package/_mjs/data/TestAnnotation/api.mjs.map +1 -1
- package/_mjs/data/TestAnnotation/definition.mjs.map +1 -1
- package/_mjs/data/TestAnnotationMap.mjs +3 -3
- package/_mjs/data/TestAnnotationMap.mjs.map +1 -1
- package/_mjs/demo.mjs +5 -5
- package/_mjs/demo.mjs.map +1 -1
- package/_mjs/util/math.mjs +6 -6
- package/_mjs/util/math.mjs.map +1 -1
- package/_src/api.ts +36 -35
- package/_src/control/AbstractRunnableSpec.ts +0 -3
- package/_src/control/Annotations/live.ts +0 -4
- package/_src/control/Assertion/api.ts +31 -20
- package/_src/control/AssertionIO/api.ts +23 -17
- package/_src/control/DefaultTestReporter/render.ts +1 -11
- package/_src/control/FreeBooleanAlgebraIO/api.ts +12 -14
- package/_src/control/Gen/api/array.ts +18 -15
- package/_src/control/Gen/api/conc.ts +31 -26
- package/_src/control/Gen/api/string.ts +13 -9
- package/_src/control/Gen/api/struct.ts +12 -2
- package/_src/control/Gen/api.ts +56 -40
- package/_src/control/Gen.ts +0 -1
- package/_src/control/Live/definition.ts +0 -4
- package/_src/control/Sample/api.ts +77 -66
- package/_src/control/Spec/api.ts +235 -222
- package/_src/control/Spec/definition.ts +0 -2
- package/_src/control/SummaryBuilder.ts +0 -1
- package/_src/control/TestAnnotationRenderer/api.ts +17 -15
- package/_src/control/TestAnnotationRenderer/definition.ts +0 -2
- package/_src/control/TestAspect/api.ts +0 -1
- package/_src/control/TestClock/definition.ts +4 -17
- package/_src/control/TestConsole/definition.ts +0 -1
- package/_src/control/TestLogger.ts +0 -2
- package/_src/control/TestRandom/api.ts +5 -0
- package/_src/control/TestRandom/definition.ts +3 -37
- package/_src/control/TestRenderer/ConsoleRenderer.ts +0 -1
- package/_src/data/AssertionValue/api.ts +26 -22
- package/_src/data/AssertionValue/definition.ts +0 -1
- package/_src/data/ExecutedSpec/api.ts +41 -36
- package/_src/data/ExecutionResult.ts +54 -51
- package/_src/data/FreeBooleanAlgebra/api.ts +68 -58
- package/_src/data/LogLine/Line.ts +5 -3
- package/_src/data/LogLine/Message.ts +26 -18
- package/_src/data/LogLine/Style.ts +0 -1
- package/_src/data/Render/definition.ts +0 -2
- package/_src/data/TestAnnotation/api.ts +3 -1
- package/_src/data/TestAnnotation/definition.ts +0 -3
- package/_src/data/TestAnnotationMap.ts +0 -6
- package/_src/demo.ts +3 -4
- package/_src/util/math.ts +31 -17
- package/api.d.ts +12 -12
- package/control/Assertion/api.d.ts +14 -10
- package/control/AssertionIO/api.d.ts +8 -8
- package/control/FreeBooleanAlgebraIO/api.d.ts +6 -6
- package/control/Gen/api/array.d.ts +6 -6
- package/control/Gen/api/conc.d.ts +8 -8
- package/control/Gen/api/string.d.ts +4 -4
- package/control/Gen/api.d.ts +15 -15
- package/control/Sample/api.d.ts +14 -14
- package/control/Spec/api.d.ts +38 -41
- package/control/TestAnnotationRenderer/api.d.ts +3 -3
- package/control/TestConsole/definition.d.ts +2 -2
- package/data/AssertionValue/api.d.ts +8 -8
- package/data/ExecutedSpec/api.d.ts +8 -8
- package/data/ExecutionResult.d.ts +4 -4
- package/data/FreeBooleanAlgebra/api.d.ts +20 -20
- package/data/LogLine/Line.d.ts +2 -2
- package/data/LogLine/Message.d.ts +10 -10
- package/package.json +3 -3
@@ -19,21 +19,21 @@ import * as tsplus_module_17 from "@fncts/io/IO/api/foreachExec";
|
|
19
19
|
import * as tsplus_module_18 from "@fncts/io/Layer/api";
|
20
20
|
import * as tsplus_module_19 from "@fncts/io/IO/api/provideLayer";
|
21
21
|
import * as tsplus_module_20 from "@fncts/test/data/TestSuccess";
|
22
|
-
export const
|
22
|
+
export const contramapEnvironment = contramapEnvironment_1;
|
23
23
|
export const exec = exec_1;
|
24
|
-
export const
|
25
|
-
export const
|
26
|
-
export const
|
27
|
-
export const
|
28
|
-
export const
|
29
|
-
export const
|
24
|
+
export const filterAnnotations = filterAnnotations_1;
|
25
|
+
export const filterLabels = filterLabels_1;
|
26
|
+
export const filterTags = filterTags_1;
|
27
|
+
export const fold = fold_1;
|
28
|
+
export const foldScoped = foldScoped_1;
|
29
|
+
export const foreachExec = foreachExec_1;
|
30
30
|
export const labeledCase = labeledCase_1;
|
31
31
|
export const scoped = scoped_1;
|
32
32
|
export const multipleCase = multipleCase_1;
|
33
|
-
export const
|
33
|
+
export const provideEnvironment = provideEnvironment_1;
|
34
34
|
export const testCase = testCase_1;
|
35
|
-
export const
|
36
|
-
export const
|
35
|
+
export const transform = transform_1;
|
36
|
+
export const whenIO = whenIO_1;
|
37
37
|
import { identity, tuple } from "@fncts/base/data/function";
|
38
38
|
import { matchTag, matchTag_ } from "@fncts/base/util/pattern";
|
39
39
|
import { TestAnnotationMap } from "../../data/TestAnnotationMap.mjs";
|
@@ -43,73 +43,79 @@ import { ExecCase, LabeledCase, MultipleCase, PSpec, ScopedCase, TestCase } from
|
|
43
43
|
*/
|
44
44
|
|
45
45
|
export function annotated(spec) {
|
46
|
-
return transform_1(
|
46
|
+
return transform_1(matchTag({
|
47
47
|
Scoped: ({
|
48
48
|
scoped
|
49
|
-
}) => new ScopedCase(tsplus_module_1.
|
49
|
+
}) => new ScopedCase(tsplus_module_1.mapError(e => tuple(e, TestAnnotationMap.empty), fileName_1 + ":24:63")(scoped)),
|
50
50
|
Test: ({
|
51
51
|
test,
|
52
52
|
annotations
|
53
53
|
}) => new TestCase(tsplus_module_2.withAnnotation(test), annotations)
|
54
|
-
}, identity));
|
54
|
+
}, identity))(spec);
|
55
55
|
}
|
56
56
|
/**
|
57
|
-
* @tsplus
|
57
|
+
* @tsplus pipeable fncts.test.PSpec combine
|
58
58
|
*/
|
59
59
|
|
60
|
-
export function
|
61
|
-
|
62
|
-
|
63
|
-
|
60
|
+
export function combine(that) {
|
61
|
+
return self => {
|
62
|
+
if (tsplus_module_3.isMultiple(self.caseValue) && tsplus_module_3.isMultiple(that.caseValue)) {
|
63
|
+
return multipleCase_1(tsplus_module_4.concat(that.caseValue.specs)(self.caseValue.specs));
|
64
|
+
}
|
64
65
|
|
65
|
-
|
66
|
-
|
67
|
-
|
66
|
+
if (tsplus_module_3.isMultiple(self.caseValue)) {
|
67
|
+
return multipleCase_1(tsplus_module_4.append(that)(self.caseValue.specs));
|
68
|
+
}
|
68
69
|
|
69
|
-
|
70
|
-
|
71
|
-
|
70
|
+
if (tsplus_module_3.isMultiple(that.caseValue)) {
|
71
|
+
return multipleCase_1(tsplus_module_4.prepend(self)(that.caseValue.specs));
|
72
|
+
}
|
72
73
|
|
73
|
-
|
74
|
+
return multipleCase_1(tsplus_module_5.make(self, that));
|
75
|
+
};
|
74
76
|
}
|
75
77
|
/**
|
76
|
-
* @tsplus
|
78
|
+
* @tsplus pipeable fncts.test.PSpec contramapEnvironment
|
77
79
|
*/
|
78
80
|
|
79
|
-
function contramapEnvironment_1(
|
80
|
-
return
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
81
|
+
function contramapEnvironment_1(f) {
|
82
|
+
return self => {
|
83
|
+
return transform_1(matchTag({
|
84
|
+
Scoped: ({
|
85
|
+
scoped
|
86
|
+
}) => new ScopedCase(tsplus_module_8.contramapEnvironment(r => tsplus_module_7.union(f(r))(tsplus_module_7.add(tsplus_module_7.get(tsplus_module_6.ScopeTag)(r), tsplus_module_6.ScopeTag)(tsplus_module_7.empty)), fileName_1 + ":60:42")(scoped)),
|
87
|
+
Test: ({
|
88
|
+
test,
|
89
|
+
annotations
|
90
|
+
}) => new TestCase(tsplus_module_8.contramapEnvironment(f, fileName_1 + ":64:82")(test), annotations)
|
91
|
+
}, identity))(self);
|
92
|
+
};
|
89
93
|
}
|
90
94
|
/**
|
91
|
-
* @tsplus
|
95
|
+
* @tsplus pipeable fncts.test.PSpec countTests
|
92
96
|
*/
|
93
97
|
|
94
98
|
|
95
|
-
export function
|
96
|
-
return
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
99
|
+
export function countTests(f) {
|
100
|
+
return spec => {
|
101
|
+
return fold_1(matchTag({
|
102
|
+
Exec: ({
|
103
|
+
spec
|
104
|
+
}) => spec,
|
105
|
+
Labeled: ({
|
106
|
+
spec
|
107
|
+
}) => spec,
|
108
|
+
Scoped: ({
|
109
|
+
scoped
|
110
|
+
}) => tsplus_module_1.flatten(scoped, fileName_1 + ":81:39"),
|
111
|
+
Multiple: ({
|
112
|
+
specs
|
113
|
+
}) => tsplus_module_1.map(specs => tsplus_module_4.foldLeft(0, (b, a) => b + a)(specs), fileName_1 + ":82:64")(tsplus_module_1.sequenceIterable(specs, fileName_1 + ":82:53")),
|
114
|
+
Test: ({
|
115
|
+
test
|
116
|
+
}) => tsplus_module_1.map(t => f(t) ? 1 : 0, fileName_1 + ":83:37")(test)
|
117
|
+
}))(spec);
|
118
|
+
};
|
113
119
|
}
|
114
120
|
/**
|
115
121
|
* @tsplus static fncts.test.PSpecOps empty
|
@@ -126,158 +132,174 @@ function exec_1(spec, exec) {
|
|
126
132
|
return new PSpec(new ExecCase(exec, spec));
|
127
133
|
}
|
128
134
|
/**
|
129
|
-
* @tsplus
|
135
|
+
* @tsplus pipeable fncts.test.PSpec execute
|
130
136
|
*/
|
131
137
|
|
132
138
|
|
133
|
-
export function execute(
|
134
|
-
return
|
139
|
+
export function execute(defExec) {
|
140
|
+
return self => {
|
141
|
+
return tsplus_module_8.environmentWithIO(r => foreachExec_1(tsplus_module_1.failCauseNow, tsplus_module_1.succeedNow, defExec)(provideEnvironment_1(r)(self)), fileName_1 + ":107:32");
|
142
|
+
};
|
135
143
|
}
|
136
144
|
/**
|
137
|
-
* @tsplus
|
145
|
+
* @tsplus pipeable fncts.test.PSpec filterAnnotations
|
138
146
|
*/
|
139
147
|
|
140
|
-
function filterAnnotations_1(
|
141
|
-
return
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
148
|
+
function filterAnnotations_1(key, f) {
|
149
|
+
return spec => {
|
150
|
+
return matchTag_(spec.caseValue, {
|
151
|
+
Exec: ({
|
152
|
+
spec,
|
153
|
+
exec
|
154
|
+
}) => tsplus_module_10.map(spec => exec_1(spec, exec))(filterAnnotations_1(key, f)(spec)),
|
155
|
+
Labeled: ({
|
156
|
+
label,
|
157
|
+
spec
|
158
|
+
}) => tsplus_module_10.map(spec => labeledCase_1(spec, label))(filterAnnotations_1(key, f)(spec)),
|
159
|
+
Scoped: ({
|
160
|
+
scoped
|
161
|
+
}) => tsplus_module_11.just(scoped_1(tsplus_module_1.map(spec => tsplus_module_10.getOrElse(() => empty_1)(filterAnnotations_1(key, f)(spec)), fileName_1 + ":122:35")(scoped))),
|
162
|
+
Multiple: ({
|
163
|
+
specs
|
164
|
+
}) => {
|
165
|
+
const filtered = tsplus_module_4.filterMap(spec => filterAnnotations_1(key, f)(spec))(specs);
|
166
|
+
return tsplus_module_4.isEmpty(filtered) ? tsplus_module_11.nothing() : tsplus_module_11.just(multipleCase_1(filtered));
|
167
|
+
},
|
168
|
+
Test: ({
|
169
|
+
test,
|
170
|
+
annotations
|
171
|
+
}) => f(annotations.get(key)) ? tsplus_module_11.just(testCase_1(test, annotations)) : tsplus_module_11.nothing()
|
172
|
+
});
|
173
|
+
};
|
164
174
|
}
|
165
175
|
/**
|
166
|
-
* @tsplus
|
176
|
+
* @tsplus pipeable fncts.test.PSpec filterLabels
|
167
177
|
*/
|
168
178
|
|
169
179
|
|
170
|
-
function filterLabels_1(
|
171
|
-
return
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
180
|
+
function filterLabels_1(f) {
|
181
|
+
return spec => {
|
182
|
+
return matchTag_(spec.caseValue, {
|
183
|
+
Exec: ({
|
184
|
+
spec,
|
185
|
+
exec
|
186
|
+
}) => tsplus_module_10.map(spec => exec_1(spec, exec))(filterLabels_1(f)(spec)),
|
187
|
+
Labeled: ({
|
188
|
+
label,
|
189
|
+
spec
|
190
|
+
}) => f(label) ? tsplus_module_11.just(labeledCase_1(spec, label)) : tsplus_module_10.map(spec => labeledCase_1(spec, label))(filterLabels_1(f)(spec)),
|
191
|
+
Scoped: ({
|
192
|
+
scoped
|
193
|
+
}) => tsplus_module_11.just(scoped_1(tsplus_module_1.map(spec => tsplus_module_10.getOrElse(() => empty_1)(filterLabels_1(f)(spec)), fileName_1 + ":141:57")(scoped))),
|
194
|
+
Multiple: ({
|
195
|
+
specs
|
196
|
+
}) => {
|
197
|
+
const filtered = tsplus_module_4.filterMap(spec => filterLabels_1(f)(spec))(specs);
|
198
|
+
return tsplus_module_4.isEmpty(filtered) ? tsplus_module_11.nothing() : tsplus_module_11.just(multipleCase_1(filtered));
|
199
|
+
},
|
200
|
+
Test: () => tsplus_module_11.nothing()
|
201
|
+
});
|
202
|
+
};
|
191
203
|
}
|
192
204
|
/**
|
193
|
-
* @tsplus
|
205
|
+
* @tsplus pipeable fncts.test.PSpec filterTags
|
194
206
|
*/
|
195
207
|
|
196
208
|
|
197
|
-
function filterTags_1(
|
198
|
-
return
|
209
|
+
function filterTags_1(f) {
|
210
|
+
return spec => {
|
211
|
+
return filterAnnotations_1(tsplus_module_12.Tagged, v => tsplus_module_13.exists(f)(v))(spec);
|
212
|
+
};
|
199
213
|
}
|
200
214
|
/**
|
201
|
-
* @tsplus
|
215
|
+
* @tsplus pipeable fncts.test.PSpec filterByArgs
|
202
216
|
*/
|
203
217
|
|
204
218
|
|
205
|
-
export function filterByArgs(
|
206
|
-
return
|
219
|
+
export function filterByArgs(args) {
|
220
|
+
return spec => {
|
221
|
+
return tsplus_module_10.getOrElse(() => spec)(tsplus_module_10.flatMap(spec => filterLabels_1(label => args.testSearchTerms.findIndex(term => term.includes(label)) === -1)(spec))(filterTags_1(tsplus_module_15.elem(args.tagSearchTerms)(tsplus_module_14.Eq))(spec)));
|
222
|
+
};
|
207
223
|
}
|
208
224
|
/**
|
209
|
-
* @tsplus
|
225
|
+
* @tsplus pipeable fncts.test.PSpec fold
|
210
226
|
*/
|
211
227
|
|
212
|
-
function fold_1(
|
213
|
-
return
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
228
|
+
function fold_1(f) {
|
229
|
+
return spec => {
|
230
|
+
return matchTag_(spec.caseValue, {
|
231
|
+
Exec: ({
|
232
|
+
exec,
|
233
|
+
spec
|
234
|
+
}) => f(new ExecCase(exec, fold_1(f)(spec))),
|
235
|
+
Labeled: ({
|
236
|
+
label,
|
237
|
+
spec
|
238
|
+
}) => f(new LabeledCase(label, fold_1(f)(spec))),
|
239
|
+
Scoped: ({
|
240
|
+
scoped
|
241
|
+
}) => f(new ScopedCase(tsplus_module_1.map(spec => fold_1(f)(spec), fileName_1 + ":182:58")(scoped))),
|
242
|
+
Multiple: ({
|
243
|
+
specs
|
244
|
+
}) => f(new MultipleCase(tsplus_module_4.map(spec => fold_1(f)(spec))(specs))),
|
245
|
+
Test: t => f(t)
|
246
|
+
});
|
247
|
+
};
|
230
248
|
}
|
231
249
|
/**
|
232
|
-
* @tsplus
|
250
|
+
* @tsplus pipeable fncts.test.PSpec foldScoped
|
233
251
|
*/
|
234
252
|
|
235
253
|
|
236
|
-
function foldScoped_1(
|
237
|
-
return
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
+
function foldScoped_1(f, defExec) {
|
255
|
+
return spec => {
|
256
|
+
return matchTag_(spec.caseValue, {
|
257
|
+
Exec: ({
|
258
|
+
exec,
|
259
|
+
spec
|
260
|
+
}) => tsplus_module_1.flatMap(z => f(new ExecCase(exec, z)), fileName_1 + ":198:65")(foldScoped_1(f, exec)(spec)),
|
261
|
+
Labeled: ({
|
262
|
+
label,
|
263
|
+
spec
|
264
|
+
}) => tsplus_module_1.flatMap(z => f(new LabeledCase(label, z)), fileName_1 + ":199:72")(foldScoped_1(f, defExec)(spec)),
|
265
|
+
Scoped: ({
|
266
|
+
scoped
|
267
|
+
}) => tsplus_module_1.matchCauseIO(cause => f(new ScopedCase(tsplus_module_1.haltNow(cause, fileName_1 + ":202:49"))), spec => tsplus_module_1.flatMap(z => f(new ScopedCase(tsplus_module_1.succeedNow(z, fileName_1 + ":203:94"))), fileName_1 + ":203:56")(foldScoped_1(f, defExec)(spec)), fileName_1 + ":201:28")(scoped),
|
268
|
+
Multiple: ({
|
269
|
+
specs
|
270
|
+
}) => tsplus_module_1.flatMap(zs => f(new MultipleCase(zs)), fileName_1 + ":206:93")(tsplus_module_17.foreachExec(specs, defExec, spec => tsplus_module_16.scoped(foldScoped_1(f, defExec)(spec), fileName_1 + ":206:77"), fileName_1 + ":206:23")),
|
271
|
+
Test: f
|
272
|
+
});
|
273
|
+
};
|
254
274
|
}
|
255
275
|
/**
|
256
|
-
* @tsplus
|
276
|
+
* @tsplus pipeable fncts.test.PSpec foreachExec
|
257
277
|
*/
|
258
278
|
|
259
279
|
|
260
|
-
function foreachExec_1(
|
261
|
-
return
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
280
|
+
function foreachExec_1(failure, success, defExec) {
|
281
|
+
return spec => {
|
282
|
+
return foldScoped_1(matchTag({
|
283
|
+
Exec: ({
|
284
|
+
exec,
|
285
|
+
spec
|
286
|
+
}) => tsplus_module_1.succeedNow(exec_1(spec, exec), fileName_1 + ":225:48"),
|
287
|
+
Labeled: ({
|
288
|
+
label,
|
289
|
+
spec
|
290
|
+
}) => tsplus_module_1.succeedNow(labeledCase_1(spec, label), fileName_1 + ":226:52"),
|
291
|
+
Scoped: ({
|
292
|
+
scoped
|
293
|
+
}) => tsplus_module_1.matchCause(cause => testCase_1(failure(cause), TestAnnotationMap.empty), t => scoped_1(tsplus_module_1.succeedNow(t, fileName_1 + ":230:44")), fileName_1 + ":228:28")(scoped),
|
294
|
+
Multiple: ({
|
295
|
+
specs
|
296
|
+
}) => tsplus_module_1.succeedNow(multipleCase_1(specs), fileName_1 + ":232:47"),
|
297
|
+
Test: ({
|
298
|
+
test,
|
299
|
+
annotations
|
300
|
+
}) => tsplus_module_1.matchCause(cause => testCase_1(failure(cause), annotations), t => testCase_1(success(t), annotations), fileName_1 + ":234:26")(test)
|
301
|
+
}), defExec)(spec);
|
302
|
+
};
|
281
303
|
}
|
282
304
|
/**
|
283
305
|
* @tsplus fluent fncts.test.PSpec labeled
|
@@ -290,7 +312,6 @@ function labeledCase_1(spec, label) {
|
|
290
312
|
return new PSpec(new LabeledCase(label, spec));
|
291
313
|
}
|
292
314
|
/**
|
293
|
-
* @tsplus fluent fncts.test.PSpec scoped
|
294
315
|
* @tsplus static fncts.test.PSpecOps scoped
|
295
316
|
* @tsplus static fncts.test.PSpec.ScopedCaseOps __call
|
296
317
|
*/
|
@@ -300,49 +321,52 @@ function scoped_1(managed) {
|
|
300
321
|
return new PSpec(new ScopedCase(managed));
|
301
322
|
}
|
302
323
|
/**
|
303
|
-
* @tsplus
|
324
|
+
* @tsplus pipeable fncts.test.SpecCase mapError
|
304
325
|
*/
|
305
326
|
|
306
327
|
|
307
|
-
export function mapError(
|
308
|
-
return
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
328
|
+
export function mapError(f) {
|
329
|
+
return self => {
|
330
|
+
return transform_1(matchTag({
|
331
|
+
Scoped: ({
|
332
|
+
scoped
|
333
|
+
}) => new ScopedCase(tsplus_module_1.mapError(f, fileName_1 + ":269:65")(scoped)),
|
334
|
+
Test: ({
|
335
|
+
test,
|
336
|
+
annotations
|
337
|
+
}) => new TestCase(tsplus_module_1.mapError(f, fileName_1 + ":270:70")(test), annotations)
|
338
|
+
}, identity))(self);
|
339
|
+
};
|
317
340
|
}
|
318
341
|
/**
|
319
|
-
* @tsplus
|
342
|
+
* @tsplus pipeable fncts.test.SpecCase map
|
320
343
|
*/
|
321
344
|
|
322
|
-
export function
|
323
|
-
return
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
345
|
+
export function mapSpecCase(f) {
|
346
|
+
return fa => {
|
347
|
+
return matchTag_(fa, {
|
348
|
+
Exec: ({
|
349
|
+
exec,
|
350
|
+
spec
|
351
|
+
}) => new ExecCase(exec, f(spec)),
|
352
|
+
Labeled: ({
|
353
|
+
label,
|
354
|
+
spec
|
355
|
+
}) => new LabeledCase(label, f(spec)),
|
356
|
+
Scoped: ({
|
357
|
+
scoped
|
358
|
+
}) => new ScopedCase(tsplus_module_1.map(f, fileName_1 + ":286:56")(scoped)),
|
359
|
+
Multiple: ({
|
360
|
+
specs
|
361
|
+
}) => new MultipleCase(tsplus_module_4.map(f)(specs)),
|
362
|
+
Test: ({
|
363
|
+
test,
|
364
|
+
annotations
|
365
|
+
}) => new TestCase(test, annotations)
|
366
|
+
});
|
367
|
+
};
|
343
368
|
}
|
344
369
|
/**
|
345
|
-
* @tsplus fluent fncts.test.PSpec multiple
|
346
370
|
* @tsplus static fncts.test.PSpecOps multiple
|
347
371
|
* @tsplus static fncts.test.PSpec.MultipleCaseOps __call
|
348
372
|
*/
|
@@ -351,31 +375,34 @@ function multipleCase_1(specs) {
|
|
351
375
|
return new PSpec(new MultipleCase(specs));
|
352
376
|
}
|
353
377
|
/**
|
354
|
-
* @tsplus
|
378
|
+
* @tsplus pipeable fncts.test.PSpec provideEnvironment
|
355
379
|
*/
|
356
380
|
|
357
381
|
|
358
|
-
function provideEnvironment_1(
|
359
|
-
return
|
382
|
+
function provideEnvironment_1(r) {
|
383
|
+
return self => {
|
384
|
+
return contramapEnvironment_1(() => r)(self);
|
385
|
+
};
|
360
386
|
}
|
361
387
|
/**
|
362
|
-
* @tsplus
|
388
|
+
* @tsplus pipeable fncts.test.PSpec provideLayer
|
363
389
|
*/
|
364
390
|
|
365
391
|
|
366
|
-
export function
|
367
|
-
return
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
392
|
+
export function provideLayer(layer) {
|
393
|
+
return self => {
|
394
|
+
return transform_1(matchTag({
|
395
|
+
Scoped: ({
|
396
|
+
scoped
|
397
|
+
}) => new ScopedCase(tsplus_module_19.provideLayer(tsplus_module_18.and(layer, fileName_1 + ":318:100")(tsplus_module_18.environment(fileName_1 + ":318:87")), fileName_1 + ":318:69")(scoped)),
|
398
|
+
Test: ({
|
399
|
+
test,
|
400
|
+
annotations
|
401
|
+
}) => new TestCase(tsplus_module_19.provideLayer(layer, fileName_1 + ":319:74")(test), annotations)
|
402
|
+
}, identity))(self);
|
403
|
+
};
|
376
404
|
}
|
377
405
|
/**
|
378
|
-
* @tsplus fluent fncts.test.PSpec test
|
379
406
|
* @tsplus static fncts.test.PSpecOps test
|
380
407
|
* @tsplus static fncts.test.PSpec.TestCaseOps __call
|
381
408
|
*/
|
@@ -384,66 +411,74 @@ function testCase_1(test, annotations) {
|
|
384
411
|
return new PSpec(new TestCase(test, annotations));
|
385
412
|
}
|
386
413
|
/**
|
387
|
-
* @tsplus
|
414
|
+
* @tsplus pipeable fncts.test.PSpec transform
|
388
415
|
*/
|
389
416
|
|
390
417
|
|
391
|
-
function transform_1(
|
392
|
-
return
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
418
|
+
function transform_1(f) {
|
419
|
+
return spec => {
|
420
|
+
return matchTag_(spec.caseValue, {
|
421
|
+
Exec: ({
|
422
|
+
exec,
|
423
|
+
spec
|
424
|
+
}) => new PSpec(f(new ExecCase(exec, transform_1(f)(spec)))),
|
425
|
+
Labeled: ({
|
426
|
+
label,
|
427
|
+
spec
|
428
|
+
}) => new PSpec(f(new LabeledCase(label, transform_1(f)(spec)))),
|
429
|
+
Scoped: ({
|
430
|
+
scoped
|
431
|
+
}) => new PSpec(f(new ScopedCase(tsplus_module_1.map(spec => transform_1(f)(spec), fileName_1 + ":345:68")(scoped)))),
|
432
|
+
Multiple: ({
|
433
|
+
specs
|
434
|
+
}) => new PSpec(f(new MultipleCase(tsplus_module_4.map(spec => transform_1(f)(spec))(specs)))),
|
435
|
+
Test: t => new PSpec(f(t))
|
436
|
+
});
|
437
|
+
};
|
409
438
|
}
|
410
439
|
/**
|
411
|
-
* @tsplus
|
440
|
+
* @tsplus pipeable fncts.test.PSpec annotate
|
412
441
|
*/
|
413
442
|
|
414
443
|
|
415
|
-
export function
|
416
|
-
return
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
444
|
+
export function annotate(key, value) {
|
445
|
+
return self => {
|
446
|
+
return transform_1(matchTag({
|
447
|
+
Test: ({
|
448
|
+
test,
|
449
|
+
annotations
|
450
|
+
}) => new TestCase(test, annotations.annotate(key, value))
|
451
|
+
}, identity))(self);
|
452
|
+
};
|
422
453
|
}
|
423
454
|
/**
|
424
|
-
* @tsplus
|
455
|
+
* @tsplus pipeable fncts.test.PSpec whenIO
|
425
456
|
*/
|
426
457
|
|
427
|
-
function whenIO_1(
|
428
|
-
return
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
458
|
+
function whenIO_1(b) {
|
459
|
+
return self => {
|
460
|
+
return matchTag_(self.caseValue, {
|
461
|
+
Exec: c => exec_1(whenIO_1(b)(c.spec), c.exec),
|
462
|
+
Labeled: ({
|
463
|
+
label,
|
464
|
+
spec
|
465
|
+
}) => labeledCase_1(whenIO_1(b)(spec), label),
|
466
|
+
Scoped: c => scoped_1(tsplus_module_1.flatMap(b => b ? c.scoped : tsplus_module_1.succeedNow(empty_1, fileName_1 + ":376:80"), fileName_1 + ":376:43")(b)),
|
467
|
+
Multiple: ({
|
468
|
+
specs
|
469
|
+
}) => multipleCase_1(tsplus_module_4.map(_ => whenIO_1(b)(_))(specs)),
|
470
|
+
Test: c => testCase_1(tsplus_module_1.flatMap(b => tsplus_module_1.as(() => tsplus_module_20.ignored, fileName_1 + ":380:96")(tsplus_module_1.cond(b, () => c.test, () => tsplus_module_2.annotate(tsplus_module_12.Ignored, 1), fileName_1 + ":380:33")), fileName_1 + ":380:20")(b), c.annotations)
|
471
|
+
});
|
472
|
+
};
|
440
473
|
}
|
441
474
|
/**
|
442
|
-
* @tsplus
|
475
|
+
* @tsplus pipeable fncts.test.PSpec when
|
443
476
|
*/
|
444
477
|
|
445
478
|
|
446
|
-
export function
|
447
|
-
return
|
479
|
+
export function when(b) {
|
480
|
+
return self => {
|
481
|
+
return whenIO_1(tsplus_module_1.succeed(b, fileName_1 + ":392:34"))(self);
|
482
|
+
};
|
448
483
|
}
|
449
484
|
//# sourceMappingURL=api.mjs.map
|