@interactors/core 0.3.0 → 1.0.0-effection.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/cjs/constructor.js +66 -143
- package/dist/cjs/constructor.js.map +1 -1
- package/dist/cjs/converge.js +3 -5
- package/dist/cjs/converge.js.map +1 -1
- package/dist/cjs/format.js +50 -0
- package/dist/cjs/format.js.map +1 -0
- package/dist/cjs/index.js +1 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/inspector.js +3 -2
- package/dist/cjs/inspector.js.map +1 -1
- package/dist/cjs/interaction.js +43 -35
- package/dist/cjs/interaction.js.map +1 -1
- package/dist/cjs/match.js +17 -7
- package/dist/cjs/match.js.map +1 -1
- package/dist/cjs/matcher.js +13 -1
- package/dist/cjs/matcher.js.map +1 -1
- package/dist/cjs/matchers/and.js +3 -0
- package/dist/cjs/matchers/and.js.map +1 -1
- package/dist/cjs/matchers/every.js +3 -0
- package/dist/cjs/matchers/every.js.map +1 -1
- package/dist/cjs/matchers/including.js +4 -0
- package/dist/cjs/matchers/including.js.map +1 -1
- package/dist/cjs/matchers/matching.js +4 -0
- package/dist/cjs/matchers/matching.js.map +1 -1
- package/dist/cjs/matchers/not.js +3 -0
- package/dist/cjs/matchers/not.js.map +1 -1
- package/dist/cjs/matchers/or.js +3 -0
- package/dist/cjs/matchers/or.js.map +1 -1
- package/dist/cjs/matchers/some.js +3 -0
- package/dist/cjs/matchers/some.js.map +1 -1
- package/dist/cjs/resolvers.js +98 -0
- package/dist/cjs/resolvers.js.map +1 -0
- package/dist/cjs/serialize.js +48 -0
- package/dist/cjs/serialize.js.map +1 -0
- package/dist/constructor.d.ts +3 -10
- package/dist/constructor.d.ts.map +1 -1
- package/dist/converge.d.ts +2 -1
- package/dist/converge.d.ts.map +1 -1
- package/dist/esm/constructor.js +64 -134
- package/dist/esm/constructor.js.map +1 -1
- package/dist/esm/converge.js +3 -5
- package/dist/esm/converge.js.map +1 -1
- package/dist/esm/{format-table.js → format.js} +19 -1
- package/dist/esm/format.js.map +1 -0
- package/dist/esm/index.js +0 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/inspector.js +3 -2
- package/dist/esm/inspector.js.map +1 -1
- package/dist/esm/interaction.js +40 -29
- package/dist/esm/interaction.js.map +1 -1
- package/dist/esm/match.js +17 -7
- package/dist/esm/match.js.map +1 -1
- package/dist/esm/matcher.js +11 -0
- package/dist/esm/matcher.js.map +1 -1
- package/dist/esm/matchers/and.js +4 -1
- package/dist/esm/matchers/and.js.map +1 -1
- package/dist/esm/matchers/every.js +4 -1
- package/dist/esm/matchers/every.js.map +1 -1
- package/dist/esm/matchers/including.js +4 -0
- package/dist/esm/matchers/including.js.map +1 -1
- package/dist/esm/matchers/matching.js +4 -0
- package/dist/esm/matchers/matching.js.map +1 -1
- package/dist/esm/matchers/not.js +4 -1
- package/dist/esm/matchers/not.js.map +1 -1
- package/dist/esm/matchers/or.js +4 -1
- package/dist/esm/matchers/or.js.map +1 -1
- package/dist/esm/matchers/some.js +4 -1
- package/dist/esm/matchers/some.js.map +1 -1
- package/dist/esm/resolvers.js +88 -0
- package/dist/esm/resolvers.js.map +1 -0
- package/dist/esm/serialize.js +43 -0
- package/dist/esm/serialize.js.map +1 -0
- package/dist/format.d.ts +10 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/index.d.ts +4 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/inspector.d.ts +2 -2
- package/dist/inspector.d.ts.map +1 -1
- package/dist/interaction.d.ts +38 -10
- package/dist/interaction.d.ts.map +1 -1
- package/dist/match.d.ts +5 -5
- package/dist/match.d.ts.map +1 -1
- package/dist/matcher.d.ts +2 -0
- package/dist/matcher.d.ts.map +1 -1
- package/dist/matchers/and.d.ts.map +1 -1
- package/dist/matchers/every.d.ts.map +1 -1
- package/dist/matchers/including.d.ts.map +1 -1
- package/dist/matchers/matching.d.ts.map +1 -1
- package/dist/matchers/not.d.ts.map +1 -1
- package/dist/matchers/or.d.ts.map +1 -1
- package/dist/matchers/some.d.ts.map +1 -1
- package/dist/resolvers.d.ts +9 -0
- package/dist/resolvers.d.ts.map +1 -0
- package/dist/serialize.d.ts +13 -0
- package/dist/serialize.d.ts.map +1 -0
- package/dist/specification.d.ts +49 -51
- package/dist/specification.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/constructor.ts +76 -160
- package/src/converge.ts +3 -6
- package/src/format.ts +58 -0
- package/src/index.ts +4 -6
- package/src/inspector.ts +5 -4
- package/src/interaction.ts +85 -36
- package/src/match.ts +23 -15
- package/src/matcher.ts +11 -0
- package/src/matchers/and.ts +4 -1
- package/src/matchers/every.ts +4 -1
- package/src/matchers/including.ts +4 -1
- package/src/matchers/matching.ts +4 -1
- package/src/matchers/not.ts +4 -1
- package/src/matchers/or.ts +4 -1
- package/src/matchers/some.ts +4 -1
- package/src/resolvers.ts +100 -0
- package/src/serialize.ts +54 -0
- package/src/specification.ts +58 -61
- package/CHANGELOG.md +0 -14
- package/dist/cjs/dispatch.js +0 -34
- package/dist/cjs/dispatch.js.map +0 -1
- package/dist/cjs/element/fill-in.js +0 -71
- package/dist/cjs/element/fill-in.js.map +0 -1
- package/dist/cjs/focused.js +0 -47
- package/dist/cjs/focused.js.map +0 -1
- package/dist/cjs/format-table.js +0 -30
- package/dist/cjs/format-table.js.map +0 -1
- package/dist/cjs/perform.js +0 -13
- package/dist/cjs/perform.js.map +0 -1
- package/dist/dispatch.d.ts +0 -6
- package/dist/dispatch.d.ts.map +0 -1
- package/dist/element/fill-in.d.ts +0 -12
- package/dist/element/fill-in.d.ts.map +0 -1
- package/dist/esm/dispatch.js +0 -26
- package/dist/esm/dispatch.js.map +0 -1
- package/dist/esm/element/fill-in.js +0 -67
- package/dist/esm/element/fill-in.js.map +0 -1
- package/dist/esm/focused.js +0 -41
- package/dist/esm/focused.js.map +0 -1
- package/dist/esm/format-table.js.map +0 -1
- package/dist/esm/perform.js +0 -9
- package/dist/esm/perform.js.map +0 -1
- package/dist/focused.d.ts +0 -30
- package/dist/focused.d.ts.map +0 -1
- package/dist/format-table.d.ts +0 -6
- package/dist/format-table.d.ts.map +0 -1
- package/dist/perform.d.ts +0 -3
- package/dist/perform.d.ts.map +0 -1
- package/src/dispatch.ts +0 -24
- package/src/element/fill-in.ts +0 -76
- package/src/focused.ts +0 -43
- package/src/format-table.ts +0 -34
- package/src/perform.ts +0 -11
package/dist/esm/matchers/and.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherDescription, applyMatcher } from '../matcher';
|
|
1
|
+
import { matcherDescription, applyMatcher, matcherCode } from '../matcher';
|
|
2
2
|
export function and(...args) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -7,6 +7,9 @@ export function and(...args) {
|
|
|
7
7
|
description() {
|
|
8
8
|
return args.map(matcherDescription).join(' and ');
|
|
9
9
|
},
|
|
10
|
+
code() {
|
|
11
|
+
return `and(${args.map(arg => matcherCode(arg)).join(', ')})`;
|
|
12
|
+
}
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=and.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/matchers/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/matchers/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElG,MAAM,UAAU,GAAG,CAAI,GAAG,IAAuB;IAC/C,OAAO;QACL,KAAK,CAAC,MAAS;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,WAAW;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,IAAI;YACF,OAAO,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC/D,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyMatcher, matcherDescription } from '../matcher';
|
|
1
|
+
import { applyMatcher, matcherDescription, matcherCode } from '../matcher';
|
|
2
2
|
export function every(expected) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -7,6 +7,9 @@ export function every(expected) {
|
|
|
7
7
|
description() {
|
|
8
8
|
return `every item ${matcherDescription(expected)}`;
|
|
9
9
|
},
|
|
10
|
+
code() {
|
|
11
|
+
return `every(${matcherCode(expected)})`;
|
|
12
|
+
}
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=every.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"every.js","sourceRoot":"","sources":["../../../src/matchers/every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"every.js","sourceRoot":"","sources":["../../../src/matchers/every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElG,MAAM,UAAU,KAAK,CAAI,QAAyB;IAChD,OAAO;QACL,KAAK,CAAC,MAAmB;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,WAAW;YACT,OAAO,cAAc,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,CAAC;QACD,IAAI;YACF,OAAO,SAAS,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { matcherCode } from '../matcher';
|
|
1
2
|
export function including(subString) {
|
|
2
3
|
return {
|
|
3
4
|
match(actual) {
|
|
@@ -6,6 +7,9 @@ export function including(subString) {
|
|
|
6
7
|
description() {
|
|
7
8
|
return `including ${JSON.stringify(subString)}`;
|
|
8
9
|
},
|
|
10
|
+
code() {
|
|
11
|
+
return `including(${matcherCode(subString)})`;
|
|
12
|
+
}
|
|
9
13
|
};
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=including.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"including.js","sourceRoot":"","sources":["../../../src/matchers/including.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"including.js","sourceRoot":"","sources":["../../../src/matchers/including.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAC,MAAM,YAAY,CAAC;AAEjD,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO;QACL,KAAK,CAAC,MAAc;YAClB,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD,WAAW;YACT,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,CAAC;QACD,IAAI;YACF,OAAO,aAAa,WAAW,CAAC,SAAS,CAAC,GAAG,CAAA;QAC/C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { matcherCode } from '../matcher';
|
|
1
2
|
export function matching(regexp) {
|
|
2
3
|
return {
|
|
3
4
|
match(actual) {
|
|
@@ -6,6 +7,9 @@ export function matching(regexp) {
|
|
|
6
7
|
description() {
|
|
7
8
|
return `matching ${regexp}`;
|
|
8
9
|
},
|
|
10
|
+
code() {
|
|
11
|
+
return `matching(${matcherCode(regexp)})`;
|
|
12
|
+
}
|
|
9
13
|
};
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=matching.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matching.js","sourceRoot":"","sources":["../../../src/matchers/matching.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"matching.js","sourceRoot":"","sources":["../../../src/matchers/matching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO;QACL,KAAK,CAAC,MAAc;YAClB,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACtC,CAAC;QACD,WAAW;YACT,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI;YACF,OAAO,YAAY,WAAW,CAAC,MAAM,CAAC,GAAG,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/esm/matchers/not.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherDescription, applyMatcher } from '../matcher';
|
|
1
|
+
import { matcherDescription, applyMatcher, matcherCode } from '../matcher';
|
|
2
2
|
export function not(matcher) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -7,6 +7,9 @@ export function not(matcher) {
|
|
|
7
7
|
description() {
|
|
8
8
|
return `not ${matcherDescription(matcher)}`;
|
|
9
9
|
},
|
|
10
|
+
code() {
|
|
11
|
+
return `not(${matcherCode(matcher)})`;
|
|
12
|
+
}
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=not.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not.js","sourceRoot":"","sources":["../../../src/matchers/not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"not.js","sourceRoot":"","sources":["../../../src/matchers/not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElG,MAAM,UAAU,GAAG,CAAI,OAAwB;IAC7C,OAAO;QACL,KAAK,CAAC,MAAS;YACb,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,WAAW;YACT,OAAO,OAAO,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI;YACF,OAAO,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAA;QACvC,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/esm/matchers/or.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherDescription, applyMatcher } from '../matcher';
|
|
1
|
+
import { matcherDescription, applyMatcher, matcherCode } from '../matcher';
|
|
2
2
|
export function or(...args) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -7,6 +7,9 @@ export function or(...args) {
|
|
|
7
7
|
description() {
|
|
8
8
|
return args.map(matcherDescription).join(' or ');
|
|
9
9
|
},
|
|
10
|
+
code() {
|
|
11
|
+
return `or(${args.map(arg => matcherCode(arg)).join(', ')})`;
|
|
12
|
+
}
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=or.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"or.js","sourceRoot":"","sources":["../../../src/matchers/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"or.js","sourceRoot":"","sources":["../../../src/matchers/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElG,MAAM,UAAU,EAAE,CAAI,GAAG,IAAuB;IAC9C,OAAO;QACL,KAAK,CAAC,MAAS;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,WAAW;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC9D,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyMatcher, matcherDescription } from '../matcher';
|
|
1
|
+
import { applyMatcher, matcherDescription, matcherCode } from '../matcher';
|
|
2
2
|
export function some(expected) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -7,6 +7,9 @@ export function some(expected) {
|
|
|
7
7
|
description() {
|
|
8
8
|
return `some item ${matcherDescription(expected)}`;
|
|
9
9
|
},
|
|
10
|
+
code() {
|
|
11
|
+
return `some(${matcherCode(expected)})`;
|
|
12
|
+
}
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
15
|
//# sourceMappingURL=some.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"some.js","sourceRoot":"","sources":["../../../src/matchers/some.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"some.js","sourceRoot":"","sources":["../../../src/matchers/some.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElG,MAAM,UAAU,IAAI,CAAI,QAAyB;IAC/C,OAAO;QACL,KAAK,CAAC,MAAmB;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,WAAW;YACT,OAAO,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,IAAI;YACF,OAAO,QAAQ,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAA;QACzC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { globals } from '@interactors/globals';
|
|
3
|
+
import { Match } from './match';
|
|
4
|
+
import { NoSuchElementError, NotAbsentError, AmbiguousElementError } from './errors';
|
|
5
|
+
import { formatDescription, formatMatchesTable } from './format';
|
|
6
|
+
const defaultSelector = 'div';
|
|
7
|
+
export function findElements(parentElement, interactor) {
|
|
8
|
+
if (!interactor.name) {
|
|
9
|
+
throw new Error('One of your interactors was created without a name. Please provide a label for your interactor:\n\tHTML.extend(\'my interactor\') || createInteractor(\'my interactor\')');
|
|
10
|
+
}
|
|
11
|
+
if (typeof interactor.specification.selector === 'function') {
|
|
12
|
+
return interactor.specification.selector(parentElement);
|
|
13
|
+
}
|
|
14
|
+
else if (interactor.specification.selector === ':root') {
|
|
15
|
+
// this is a bit of a hack, because otherwise there isn't a good way of selecting the root element
|
|
16
|
+
return [parentElement.ownerDocument.querySelector(':root')];
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return Array.from(parentElement.querySelectorAll(interactor.specification.selector || defaultSelector));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function findMatches(parentElement, interactor) {
|
|
23
|
+
return findElements(parentElement, interactor).map((e) => new Match(e, interactor.filter, interactor.locator));
|
|
24
|
+
}
|
|
25
|
+
function throwNoSuchElementError(matches, interactor) {
|
|
26
|
+
if (matches.length === 0) {
|
|
27
|
+
throw new NoSuchElementError(`did not find ${formatDescription(interactor)}`);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
throw new NoSuchElementError(`did not find ${formatDescription(interactor)}, did you mean one of:\n\n${formatMatchesTable(interactor, matches)}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function findFirstMatch(parentElement, interactor) {
|
|
34
|
+
let matches = [];
|
|
35
|
+
for (let element of findElements(parentElement, interactor)) {
|
|
36
|
+
let match = new Match(element, interactor.filter, interactor.locator);
|
|
37
|
+
matches.push(match);
|
|
38
|
+
if (match.matches) {
|
|
39
|
+
return match;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
throwNoSuchElementError(matches, interactor);
|
|
43
|
+
}
|
|
44
|
+
export function hasMatchMatching(parentElement, interactor) {
|
|
45
|
+
return findElements(parentElement, interactor).some(element => new Match(element, interactor.filter, interactor.locator).matches);
|
|
46
|
+
}
|
|
47
|
+
function findMatchesNonEmpty(parentElement, interactor) {
|
|
48
|
+
let matches = findMatches(parentElement, interactor);
|
|
49
|
+
let matching = matches.filter((m) => m.matches);
|
|
50
|
+
if (matching.length > 0) {
|
|
51
|
+
return matching;
|
|
52
|
+
}
|
|
53
|
+
throwNoSuchElementError(matches, interactor);
|
|
54
|
+
}
|
|
55
|
+
// Given a parent element, and an interactor, find exactly one matching element
|
|
56
|
+
// and return it. If no elements match, raise an error. If more than one
|
|
57
|
+
// element matches, raise an error.
|
|
58
|
+
export function resolveUnique(parentElement, interactor) {
|
|
59
|
+
let matching = findMatchesNonEmpty(parentElement, interactor);
|
|
60
|
+
if (matching.length === 1) {
|
|
61
|
+
return matching[0].element;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
let alternatives = matching.map((m) => '- ' + m.elementDescription());
|
|
65
|
+
throw new AmbiguousElementError(`${formatDescription(interactor)} matches multiple elements:\n\n${alternatives.join('\n')}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Given a parent element, and an interactor, find the first matching element and
|
|
69
|
+
// return it. If no elements match, raise an error.
|
|
70
|
+
export function resolveFirst(parentElement, interactor) {
|
|
71
|
+
return findFirstMatch(parentElement, interactor).element;
|
|
72
|
+
}
|
|
73
|
+
// Given a parent element, and an interactor, check if there are any matching
|
|
74
|
+
// elements, and throw an error if there are. Otherwise return undefined.
|
|
75
|
+
export function resolveEmpty(parentElement, interactor) {
|
|
76
|
+
let matching = findMatches(parentElement, interactor).filter((m) => m.matches);
|
|
77
|
+
if (matching.length !== 0) {
|
|
78
|
+
let alternatives = matching.map((m) => '- ' + m.elementDescription());
|
|
79
|
+
throw new NotAbsentError(`${formatDescription(interactor)} exists but should not:\n\n${alternatives.join('\n')}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export function unsafeSyncResolveParent(options) {
|
|
83
|
+
return options.ancestors.reduce(resolveUnique, globals.document.documentElement);
|
|
84
|
+
}
|
|
85
|
+
export function unsafeSyncResolveUnique(options) {
|
|
86
|
+
return resolveUnique(unsafeSyncResolveParent(options), options);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=resolvers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../src/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { pascalCase } from "change-case";
|
|
2
|
+
import { matcherCode } from "./matcher";
|
|
3
|
+
export function serializeInteractorOptions(options) {
|
|
4
|
+
var _a;
|
|
5
|
+
let locator = matcherCode((_a = options.locator) === null || _a === void 0 ? void 0 : _a.value);
|
|
6
|
+
return {
|
|
7
|
+
interactor: options.name,
|
|
8
|
+
filter: options.filter.all,
|
|
9
|
+
locator,
|
|
10
|
+
code() {
|
|
11
|
+
let interactorName = pascalCase(options.name);
|
|
12
|
+
let filters = Object.entries(options.filter.all).map(([name, filter]) => `"${name}": ${matcherCode(filter)}`);
|
|
13
|
+
return `${interactorName}(${[locator, filters.length && `{ ${filters.join(", ")} }`]
|
|
14
|
+
.filter(Boolean)
|
|
15
|
+
.join(", ")})`;
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function serializeInteractionOptions(type, { name, interactor: { options }, args, filters }) {
|
|
20
|
+
let interactor = serializeInteractorOptions(options);
|
|
21
|
+
let ancestors = options.ancestors.map((ancestor) => serializeInteractorOptions(ancestor));
|
|
22
|
+
return {
|
|
23
|
+
...interactor,
|
|
24
|
+
ancestors,
|
|
25
|
+
name,
|
|
26
|
+
type,
|
|
27
|
+
args: filters ? [filters] : args ? args : undefined,
|
|
28
|
+
code() {
|
|
29
|
+
let serializedArgs = "";
|
|
30
|
+
if (filters) {
|
|
31
|
+
let serializedFilters = Object.entries(filters).map(([name, filter]) => `"${name}": ${matcherCode(filter)}`);
|
|
32
|
+
serializedArgs = `{ ${serializedFilters.join(", ")} }`;
|
|
33
|
+
}
|
|
34
|
+
else if (args) {
|
|
35
|
+
serializedArgs = args.map((arg) => JSON.stringify(arg)).join(", ");
|
|
36
|
+
}
|
|
37
|
+
return `${[...ancestors, interactor]
|
|
38
|
+
.map(({ code }, index) => (index == 0 ? code() : `${code()})`))
|
|
39
|
+
.join(".find(")}.${name}(${serializedArgs})`;
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,MAAM,UAAU,0BAA0B,CAAC,OAAyC;;IAMlF,IAAI,OAAO,GAAG,WAAW,CAAC,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;IAClD,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,IAAI;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAC1B,OAAO;QACP,IAAI;YACF,IAAI,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9G,OAAO,GAAG,cAAc,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBACjF,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAAqB,EACrB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAA4B;IAE1E,IAAI,UAAU,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,OAAO;QACL,GAAG,UAAU;QACb,SAAS;QACT,IAAI;QACJ,IAAI;QACJ,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACnD,IAAI;YACF,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,OAAO,EAAE;gBACX,IAAI,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7G,cAAc,GAAG,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACxD;iBAAM,IAAI,IAAI,EAAE;gBACf,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpE;YACD,OAAO,GAAG,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC;iBACjC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;iBAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,cAAc,GAAG,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/format.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Match } from "./match";
|
|
2
|
+
import { InteractorOptions } from "./specification";
|
|
3
|
+
export interface TableOptions {
|
|
4
|
+
headers: string[];
|
|
5
|
+
rows: string[][];
|
|
6
|
+
}
|
|
7
|
+
export declare function formatTable(options: TableOptions): string;
|
|
8
|
+
export declare function formatDescription(options: InteractorOptions<any, any, any>): string;
|
|
9
|
+
export declare function formatMatchesTable(interactor: InteractorOptions<any, any, any>, matches: Match<Element, any>[]): string;
|
|
10
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;CAClB;AAYD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAkBzD;AAUD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAGnF;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAKvH"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
export { Interactor, InteractorConstructor, InteractorSpecification } from './specification';
|
|
2
|
-
export { Interaction,
|
|
1
|
+
export { Interactor, InteractorConstructor, InteractorSpecification, EmptyObject, FilterMethods, ActionMethods } from './specification';
|
|
2
|
+
export { Interaction, ActionInteraction, AssertionInteraction, isInteraction } from './interaction';
|
|
3
3
|
export { createInteractor } from './create-interactor';
|
|
4
4
|
export { createInspector } from './inspector';
|
|
5
|
-
export { perform } from './perform';
|
|
6
|
-
export { focused, focus, blur } from './focused';
|
|
7
5
|
export { isVisible } from 'element-is-visible';
|
|
8
6
|
export { Matcher } from './matcher';
|
|
9
|
-
export * from './dispatch';
|
|
10
7
|
export { including } from './matchers/including';
|
|
11
8
|
export { matching } from './matchers/matching';
|
|
12
9
|
export { and } from './matchers/and';
|
|
@@ -14,6 +11,7 @@ export { or } from './matchers/or';
|
|
|
14
11
|
export { not } from './matchers/not';
|
|
15
12
|
export { some } from './matchers/some';
|
|
16
13
|
export { every } from './matchers/every';
|
|
17
|
-
export { fillIn } from './element/fill-in';
|
|
18
14
|
export { click } from './element/click';
|
|
15
|
+
export { MergeObjects } from './merge-objects';
|
|
16
|
+
export { MaybeMatcher } from './matcher';
|
|
19
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxI,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
|
package/dist/inspector.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Interactor, InteractorConstructor, FilterParams } from "./specification";
|
|
2
2
|
declare type GetElement<I extends InteractorConstructor<any, any, any, any>> = I extends InteractorConstructor<infer E, any, any, any> ? E : never;
|
|
3
3
|
declare type GetFilters<I extends InteractorConstructor<any, any, any, any>> = I extends InteractorConstructor<any, infer F, any, any> ? F : never;
|
|
4
4
|
declare type GetActions<I extends InteractorConstructor<any, any, any, any>> = I extends InteractorConstructor<any, any, any, infer A> ? A : never;
|
|
5
|
-
export interface InteractorInspector<E extends Element, FP extends FilterParams<any, any>> extends
|
|
5
|
+
export interface InteractorInspector<E extends Element, FP extends FilterParams<any, any>> extends Omit<Interactor<E, FP>, 'find'> {
|
|
6
6
|
element: E;
|
|
7
7
|
find<T extends InteractorConstructor<any, any, any, any>>(interactor: T): Inspector<T>;
|
|
8
8
|
}
|
package/dist/inspector.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inspector.d.ts","sourceRoot":"","sources":["../src/inspector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAW,qBAAqB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE3F,aAAK,UAAU,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC1I,aAAK,UAAU,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAC1I,aAAK,UAAU,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAE1I,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAE,SAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAChI,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;CACvF;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC5E;;OAEG;IACF,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;CAC9E;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAClF,WAAW,EAAE,EAAE,EACf,aAAa,CAAC,EAAE,OAAO,GACtB,SAAS,CAAC,EAAE,CAAC,CAiBf"}
|
package/dist/interaction.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Operation, Task } from '@effection/core';
|
|
2
|
+
import { InteractionOptions as SerializedInteractionOptions, InteractionType } from '@interactors/globals';
|
|
3
|
+
import type { Interactor, FilterObject, FilterFn, FilterParams } from './specification';
|
|
2
4
|
declare const interactionSymbol: unique symbol;
|
|
3
|
-
export declare function isInteraction(x: unknown): x is Interaction<unknown>;
|
|
5
|
+
export declare function isInteraction(x: unknown): x is Interaction<Element, unknown>;
|
|
4
6
|
/**
|
|
5
7
|
* An interaction represents some type of action or assertion that can be
|
|
6
8
|
* taken on an {@link Interactor}.
|
|
@@ -12,31 +14,57 @@ export declare function isInteraction(x: unknown): x is Interaction<unknown>;
|
|
|
12
14
|
*
|
|
13
15
|
* @typeParam T the return value of the promise that this interaction evaluates to.
|
|
14
16
|
*/
|
|
15
|
-
export interface Interaction<T> extends Promise<T> {
|
|
17
|
+
export interface Interaction<E extends Element, T = void> extends Promise<T> {
|
|
18
|
+
type: InteractionType;
|
|
19
|
+
interactor: Interactor<E, any>;
|
|
20
|
+
run: (interactor: Interactor<E, any>) => Operation<T>;
|
|
16
21
|
/**
|
|
17
22
|
* Return a description of the interaction
|
|
18
23
|
*/
|
|
19
24
|
description: string;
|
|
25
|
+
/**
|
|
26
|
+
* Return a code representation of the interaction
|
|
27
|
+
*/
|
|
28
|
+
code: () => string;
|
|
29
|
+
/**
|
|
30
|
+
* Return a serialized options of the interaction
|
|
31
|
+
*/
|
|
32
|
+
options: SerializedInteractionOptions;
|
|
20
33
|
/**
|
|
21
34
|
* Perform the interaction
|
|
22
35
|
*/
|
|
23
|
-
action: () =>
|
|
36
|
+
action: () => Task<T>;
|
|
37
|
+
check?: () => Task<T>;
|
|
38
|
+
halt: () => Promise<void>;
|
|
24
39
|
[interactionSymbol]: true;
|
|
25
40
|
}
|
|
41
|
+
export interface ActionInteraction<E extends Element, T = void> extends Interaction<E, T> {
|
|
42
|
+
type: "action";
|
|
43
|
+
check: undefined;
|
|
44
|
+
}
|
|
26
45
|
/**
|
|
27
46
|
* Like {@link Interaction}, except that it is used for assertions only.
|
|
28
47
|
*
|
|
29
48
|
* @typeParam T the return value of the promise that this interaction evaluates to.
|
|
30
49
|
*/
|
|
31
|
-
export interface
|
|
50
|
+
export interface AssertionInteraction<E extends Element, T = void> extends Interaction<E, T> {
|
|
51
|
+
type: "assertion";
|
|
32
52
|
/**
|
|
33
53
|
* Perform the check
|
|
34
54
|
*/
|
|
35
|
-
check: () =>
|
|
55
|
+
check: () => Task<T>;
|
|
36
56
|
}
|
|
37
|
-
export declare
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
57
|
+
export declare type InteractionOptions<E extends Element, T> = {
|
|
58
|
+
name: string;
|
|
59
|
+
description: string;
|
|
60
|
+
filters?: FilterParams<any, any>;
|
|
61
|
+
args?: unknown[];
|
|
62
|
+
interactor: Interactor<E, any>;
|
|
63
|
+
run: (interactor: Interactor<E, any>) => Operation<T>;
|
|
64
|
+
};
|
|
65
|
+
export declare function createInteraction<E extends Element, T>(type: 'action', options: InteractionOptions<E, T>): ActionInteraction<E, T>;
|
|
66
|
+
export declare function createInteraction<E extends Element, T>(type: 'assertion', options: InteractionOptions<E, T>): AssertionInteraction<E, T>;
|
|
67
|
+
export declare function createInteraction<E extends Element, T, Q>(type: 'action', options: InteractionOptions<E, T>, apply: FilterFn<Q, Element>): ActionInteraction<E, T> & FilterObject<Q, Element>;
|
|
68
|
+
export declare function createInteraction<E extends Element, T, Q>(type: 'assertion', options: InteractionOptions<E, T>, apply: FilterFn<Q, Element>): AssertionInteraction<E, T> & FilterObject<Q, Element>;
|
|
41
69
|
export {};
|
|
42
70
|
//# sourceMappingURL=interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"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"}
|
package/dist/match.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ export declare class Match<E extends Element, F extends Filters<E>> {
|
|
|
8
8
|
locator?: Locator<E> | undefined;
|
|
9
9
|
matchLocator?: MatchLocator<E>;
|
|
10
10
|
matchFilter: MatchFilter<E, F>;
|
|
11
|
-
matches: boolean;
|
|
12
11
|
constructor(element: E, filterSet: FilterSet<E, F>, locator?: Locator<E> | undefined);
|
|
12
|
+
get matches(): boolean;
|
|
13
13
|
asTableHeader(name: string): string[];
|
|
14
14
|
asTableRow(): string[];
|
|
15
15
|
get sortWeight(): number;
|
|
@@ -18,10 +18,10 @@ export declare class Match<E extends Element, F extends Filters<E>> {
|
|
|
18
18
|
export declare class MatchLocator<E extends Element> {
|
|
19
19
|
element: E;
|
|
20
20
|
locator: Locator<E>;
|
|
21
|
-
matches: boolean;
|
|
22
21
|
expected: MaybeMatcher<string> | null;
|
|
23
22
|
actual: string | null;
|
|
24
23
|
constructor(element: E, locator: Locator<E>);
|
|
24
|
+
get matches(): boolean;
|
|
25
25
|
formatActual(): string;
|
|
26
26
|
description(): string;
|
|
27
27
|
get sortWeight(): number;
|
|
@@ -29,9 +29,9 @@ export declare class MatchLocator<E extends Element> {
|
|
|
29
29
|
export declare class MatchFilter<E extends Element, F extends Filters<E>> {
|
|
30
30
|
element: E;
|
|
31
31
|
filter: FilterSet<E, F>;
|
|
32
|
-
matches: boolean;
|
|
33
32
|
items: MatchFilterItem<unknown, E, F>[];
|
|
34
33
|
constructor(element: E, filter: FilterSet<E, F>);
|
|
34
|
+
get matches(): boolean;
|
|
35
35
|
asTableRow(): string[];
|
|
36
36
|
get sortWeight(): number;
|
|
37
37
|
formatAsExpectations(): string;
|
|
@@ -42,9 +42,9 @@ export declare class MatchFilterItem<T, E extends Element, F extends Filters<E>>
|
|
|
42
42
|
filter: FilterSet<E, F>;
|
|
43
43
|
key: string;
|
|
44
44
|
expected: MaybeMatcher<T>;
|
|
45
|
-
actual: T;
|
|
46
|
-
matches: boolean;
|
|
47
45
|
constructor(element: E, filter: FilterSet<E, F>, key: string, expected: MaybeMatcher<T>);
|
|
46
|
+
get matches(): boolean;
|
|
47
|
+
get actual(): T;
|
|
48
48
|
formatActual(): string;
|
|
49
49
|
formatExpected(): string;
|
|
50
50
|
description(): string;
|
package/dist/match.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAoC,MAAM,WAAW,CAAC;AAI3E,qBAAa,KAAK,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"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"}
|
package/dist/matcher.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export interface Matcher<T> {
|
|
2
2
|
match(actual: T): boolean;
|
|
3
3
|
description(): string;
|
|
4
|
+
code?(): string;
|
|
4
5
|
}
|
|
5
6
|
export declare type MaybeMatcher<T> = Matcher<T> | T;
|
|
6
7
|
export declare function isMatcher<T>(value: MaybeMatcher<T>): value is Matcher<T>;
|
|
7
8
|
export declare function matcherDescription<T>(value: MaybeMatcher<T>): string;
|
|
8
9
|
export declare function applyMatcher<T>(value: MaybeMatcher<T>, actual: T): boolean;
|
|
10
|
+
export declare function matcherCode<T>(value: MaybeMatcher<T>): string;
|
|
9
11
|
//# sourceMappingURL=matcher.d.ts.map
|
package/dist/matcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../src/matcher.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC;IAC1B,WAAW,IAAI,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../src/matcher.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC;IAC1B,WAAW,IAAI,MAAM,CAAC;IACtB,IAAI,CAAC,IAAI,MAAM,CAAC;CACjB;AAED,oBAAY,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAE7C,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAExE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAMpE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAM1E;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAQ7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"and.d.ts","sourceRoot":"","sources":["../../src/matchers/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"and.d.ts","sourceRoot":"","sources":["../../src/matchers/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAiD,MAAM,YAAY,CAAC;AAElG,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAY7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"every.d.ts","sourceRoot":"","sources":["../../src/matchers/every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"every.d.ts","sourceRoot":"","sources":["../../src/matchers/every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAiD,MAAM,YAAY,CAAC;AAElG,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAYxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"including.d.ts","sourceRoot":"","sources":["../../src/matchers/including.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"including.d.ts","sourceRoot":"","sources":["../../src/matchers/including.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,YAAY,CAAC;AAEjD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matching.d.ts","sourceRoot":"","sources":["../../src/matchers/matching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"matching.d.ts","sourceRoot":"","sources":["../../src/matchers/matching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAElD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"not.d.ts","sourceRoot":"","sources":["../../src/matchers/not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"not.d.ts","sourceRoot":"","sources":["../../src/matchers/not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAiD,MAAM,YAAY,CAAC;AAElG,wBAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAY3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"or.d.ts","sourceRoot":"","sources":["../../src/matchers/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"or.d.ts","sourceRoot":"","sources":["../../src/matchers/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAiD,MAAM,YAAY,CAAC;AAElG,wBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAY5D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"some.d.ts","sourceRoot":"","sources":["../../src/matchers/some.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"some.d.ts","sourceRoot":"","sources":["../../src/matchers/some.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAiD,MAAM,YAAY,CAAC;AAElG,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAYvE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InteractorOptions } from './specification';
|
|
2
|
+
export declare function findElements<E extends Element>(parentElement: Element, interactor: InteractorOptions<any, any, any>): E[];
|
|
3
|
+
export declare function hasMatchMatching(parentElement: Element, interactor: InteractorOptions<any, any, any>): boolean;
|
|
4
|
+
export declare function resolveUnique(parentElement: Element, interactor: InteractorOptions<any, any, any>): Element;
|
|
5
|
+
export declare function resolveFirst(parentElement: Element, interactor: InteractorOptions<any, any, any>): Element;
|
|
6
|
+
export declare function resolveEmpty(parentElement: Element, interactor: InteractorOptions<any, any, any>): void;
|
|
7
|
+
export declare function unsafeSyncResolveParent(options: InteractorOptions<any, any, any>): Element;
|
|
8
|
+
export declare function unsafeSyncResolveUnique<E extends Element>(options: InteractorOptions<E, any, any>): E;
|
|
9
|
+
//# sourceMappingURL=resolvers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAYzH;AA0BD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAE9G;AAcD,wBAAgB,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAS3G;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAE1G;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAOvG;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAE1F;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAErG"}
|