expect-webdriverio 7.0.0 → 8.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -3
- package/jasmine-wdio-expect-async.d.ts +1 -1
- package/lib/constants.js +0 -6
- package/lib/index.js +1 -13
- package/lib/jasmineUtils.js +2 -2
- package/lib/matchers/asymmetrics/oneOf.js +2 -2
- package/lib/matchers/browser/toHaveClipboardText.js +7 -3
- package/lib/matchers/browser/toHaveLocalStorageItem.js +1 -11
- package/lib/matchers/element/toBeClickable.js +3 -2
- package/lib/matchers/element/toBeDisabled.js +3 -2
- package/lib/matchers/element/toBeDisplayed.js +3 -2
- package/lib/matchers/element/toBeDisplayedInViewport.js +3 -2
- package/lib/matchers/element/toBeEnabled.js +3 -2
- package/lib/matchers/element/toBeExisting.js +5 -2
- package/lib/matchers/element/toBeFocused.js +3 -2
- package/lib/matchers/element/toBeSelected.js +4 -4
- package/lib/matchers/element/toHaveAttribute.js +2 -14
- package/lib/matchers/element/toHaveChildren.js +7 -13
- package/lib/matchers/element/toHaveComputedLabel.js +0 -2
- package/lib/matchers/element/toHaveComputedRole.js +0 -2
- package/lib/matchers/element/toHaveElementClass.js +3 -8
- package/lib/matchers/element/toHaveElementProperty.js +0 -5
- package/lib/matchers/element/toHaveHTML.js +3 -5
- package/lib/matchers/element/toHaveHeight.js +4 -5
- package/lib/matchers/element/toHaveHref.js +6 -3
- package/lib/matchers/element/toHaveId.js +3 -2
- package/lib/matchers/element/toHaveSize.js +0 -1
- package/lib/matchers/element/toHaveStyle.js +0 -1
- package/lib/matchers/element/toHaveText.js +2 -5
- package/lib/matchers/element/toHaveValue.js +1 -1
- package/lib/matchers/element/toHaveWidth.js +4 -5
- package/lib/matchers/elements/toBeElementsArrayOfSize.js +9 -11
- package/lib/matchers/mock/toBeRequested.js +1 -1
- package/lib/matchers/mock/toBeRequestedTimes.js +6 -6
- package/lib/matchers/mock/toBeRequestedWith.js +0 -3
- package/lib/matchers.js +32 -32
- package/lib/snapshot.js +1 -8
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/lib/util/elementsUtil.js +3 -2
- package/lib/util/executeBrowserCommand.js +2 -2
- package/lib/util/executeCommand.js +2 -41
- package/lib/util/formatMessage.js +4 -4
- package/lib/util/multiRemoteUtils.js +9 -1
- package/lib/util/numberOptionsUtil.js +15 -26
- package/lib/utils.js +10 -110
- package/package.json +36 -39
- package/types/expect-global.d.ts +1 -2
- package/types/expect-webdriverio.d.ts +31 -222
|
@@ -18,7 +18,6 @@ export async function toHaveSize(received, expectedValue, options = DEFAULT_OPTI
|
|
|
18
18
|
expectedValues: expectedValue,
|
|
19
19
|
singleElementCompare: (element, expectedSize) => condition(element, expectedSize),
|
|
20
20
|
context: { isNot, iteration },
|
|
21
|
-
strategy: 'NewStrictMultipleElements',
|
|
22
21
|
strictConfiguration: { allowArrayWithSingleElement: false, allowObjectExpectedValue: true }
|
|
23
22
|
});
|
|
24
23
|
}, isNot, { wait: options.wait, interval: options.interval });
|
|
@@ -20,7 +20,6 @@ export async function toHaveStyle(received, expectedValue, options = DEFAULT_OPT
|
|
|
20
20
|
expectedValues: expectedValue,
|
|
21
21
|
singleElementCompare: (element, expectedValues) => condition(element, expectedValues, options),
|
|
22
22
|
context: { isNot, iteration },
|
|
23
|
-
strategy: 'NewStrictMultipleElements',
|
|
24
23
|
strictConfiguration: { allowArrayWithSingleElement: false, allowObjectExpectedValue: true }
|
|
25
24
|
});
|
|
26
25
|
}, isNot, { wait: options.wait, interval: options.interval });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DEFAULT_OPTIONS } from '../../constants.js';
|
|
2
|
-
import { compareTextOrOneOf, enhanceError,
|
|
2
|
+
import { compareTextOrOneOf, enhanceError, isArrayContainingMatcher, waitUntil, } from '../../utils.js';
|
|
3
3
|
import { executeCommandWithStrategy } from '../../util/executeCommand.js';
|
|
4
4
|
import { fillSingleExpectedForElementArray } from '../../util/elementsUtil.js';
|
|
5
5
|
import { buildWdioAsymmetricMatchersWithOptions } from '../asymmetrics/asymmetricsUtils.js';
|
|
@@ -15,8 +15,7 @@ export async function toHaveText(received, expectedValue, options = DEFAULT_OPTI
|
|
|
15
15
|
options,
|
|
16
16
|
});
|
|
17
17
|
expectedValue = buildWdioAsymmetricMatchersWithOptions(expectedValue, options);
|
|
18
|
-
const
|
|
19
|
-
const { success: pass, actual: actualText, subject: subject, context: { isSome } = {}, expected } = await waitUntil(async (iteration) => {
|
|
18
|
+
const { success: pass, actual: actualText, subject, context: { isSome } = {}, expected } = await waitUntil(async (iteration) => {
|
|
20
19
|
return await executeCommandWithStrategy({
|
|
21
20
|
unresolvedElements: received,
|
|
22
21
|
expectedValues: expectedValue,
|
|
@@ -25,8 +24,6 @@ export async function toHaveText(received, expectedValue, options = DEFAULT_OPTI
|
|
|
25
24
|
return compareElement(element, values, options);
|
|
26
25
|
},
|
|
27
26
|
context: { isNot, iteration },
|
|
28
|
-
strategy: isNewStrictCompare ? 'NewStrictMultipleElements' : 'LegacyLooseMultipleElements',
|
|
29
|
-
strictConfiguration: { allowArrayWithSingleElement: true }
|
|
30
27
|
});
|
|
31
28
|
}, isNot, { wait: options.wait, interval: options.interval });
|
|
32
29
|
if (isArrayContainingMatcher(expectedValue) && actualText === undefined) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toHaveElementProperty } from './toHaveElementProperty.js';
|
|
2
2
|
import { DEFAULT_OPTIONS } from '../../constants.js';
|
|
3
3
|
export function toHaveValue(el, value, options = DEFAULT_OPTIONS) {
|
|
4
|
-
return toHaveElementProperty.call({ ...this, allowObjectExpectedValue: false }, el, 'value', value, options);
|
|
4
|
+
return toHaveElementProperty.call({ matcherName: 'toHaveValue', ...this, allowObjectExpectedValue: false }, el, 'value', value, options);
|
|
5
5
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DEFAULT_OPTIONS } from '../../constants.js';
|
|
2
2
|
import { wrapExpectedWithArray } from '../../util/elementsUtil.js';
|
|
3
3
|
import { executeCommandWithStrategy } from '../../util/executeCommand.js';
|
|
4
|
-
import {
|
|
4
|
+
import { validateNumberMatcherArray } from '../../util/numberOptionsUtil.js';
|
|
5
5
|
import { enhanceError, waitUntil, } from '../../utils.js';
|
|
6
6
|
async function condition(el, expectedNumber) {
|
|
7
7
|
const actualWidth = await el.getSize('width');
|
|
@@ -17,19 +17,18 @@ export async function toHaveWidth(received, expectedValue, options = DEFAULT_OPT
|
|
|
17
17
|
expectedValue,
|
|
18
18
|
options,
|
|
19
19
|
});
|
|
20
|
-
const
|
|
20
|
+
const expectedNumber = validateNumberMatcherArray(expectedValue);
|
|
21
21
|
const { success: pass, actual: actualWidth, subject: elements, context: { isSome } = {}, expected } = await waitUntil(async (iteration) => {
|
|
22
22
|
return await executeCommandWithStrategy({
|
|
23
23
|
unresolvedElements: received,
|
|
24
24
|
expectedValues: expectedNumber,
|
|
25
25
|
singleElementCompare: (element, expectedNumber) => condition(element, expectedNumber),
|
|
26
26
|
context: { isNot, iteration },
|
|
27
|
-
strategy: 'NewStrictMultipleElements',
|
|
28
27
|
strictConfiguration: { allowArrayWithSingleElement: false }
|
|
29
28
|
});
|
|
30
|
-
}, isNot, { wait:
|
|
29
|
+
}, isNot, { wait: options.wait, interval: options.interval });
|
|
31
30
|
const expectedValues = expected ?? wrapExpectedWithArray(elements, actualWidth, expectedNumber);
|
|
32
|
-
const message = enhanceError(elements, expectedValues, actualWidth, { isNot, isSome }, verb, expectation, '',
|
|
31
|
+
const message = enhanceError(elements, expectedValues, actualWidth, { isNot, isSome }, verb, expectation, '', options);
|
|
33
32
|
const result = {
|
|
34
33
|
pass,
|
|
35
34
|
message: () => message
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { waitUntil, enhanceError, } from '../../utils.js';
|
|
2
2
|
import { refetchElements, synchronizeElementArray, syncronizeElements } from '../../util/refetchElements.js';
|
|
3
3
|
import { DEFAULT_OPTIONS } from '../../constants.js';
|
|
4
|
-
import {
|
|
4
|
+
import { validateNumberMatcher } from '../../util/numberOptionsUtil.js';
|
|
5
5
|
import { awaitElementArray, isMultiRemoteElementArray, isMultiRemoteElements, isMultiRemoteElementsLike, isStrictlyElementArray } from '../../util/elementsUtil.js';
|
|
6
6
|
import { getElementsPerInstance, getGlobalMultiRemoteInstanceNames, hasSameInstanceNames, isGlobalBrowserSingleRemote, isMultiRemoteMatcher } from '../../util/multiRemoteUtils.js';
|
|
7
7
|
export async function toBeElementsArrayOfSize(received, expectedValue, options = DEFAULT_OPTIONS) {
|
|
@@ -21,7 +21,7 @@ export async function toBeElementsArrayOfSize(received, expectedValue, options =
|
|
|
21
21
|
await options.afterAssertion?.({ matcherName, expectedValue, options, result });
|
|
22
22
|
return result;
|
|
23
23
|
}
|
|
24
|
-
const
|
|
24
|
+
const expectedNumber = validateNumberMatcher(expectedValue);
|
|
25
25
|
const originalLength = elements ? elements.length : undefined;
|
|
26
26
|
const { success: pass } = await waitUntil(async (iteration) => {
|
|
27
27
|
if (!elements) {
|
|
@@ -35,12 +35,12 @@ export async function toBeElementsArrayOfSize(received, expectedValue, options =
|
|
|
35
35
|
return { success: isPassing, subject: elements, actual: elements.length };
|
|
36
36
|
}
|
|
37
37
|
return { success: false, subject: elements, actual: elements.length };
|
|
38
|
-
}, isNot, { wait:
|
|
38
|
+
}, isNot, { wait: options.wait, interval: options.interval });
|
|
39
39
|
if (pass && originalLength !== undefined && elements !== received && (isStrictlyElementArray(received) || received instanceof Promise) && isStrictlyElementArray(elements)) {
|
|
40
40
|
await syncronizeElements(received, elements);
|
|
41
41
|
}
|
|
42
42
|
const actual = originalLength;
|
|
43
|
-
const message = enhanceError(elements ?? other, expectedNumber, actual, this, verb, expectation, '',
|
|
43
|
+
const message = enhanceError(elements ?? other, expectedNumber, actual, this, verb, expectation, '', options);
|
|
44
44
|
const result = {
|
|
45
45
|
pass,
|
|
46
46
|
message: () => message
|
|
@@ -59,17 +59,15 @@ const multiRemoteElementsArrayOfSize = async (received, expectedValue, options,
|
|
|
59
59
|
const instances = getMultiRemoteInstanceNames(received)
|
|
60
60
|
?? getGlobalMultiRemoteInstanceNames()
|
|
61
61
|
?? (perInstanceSizes ? Object.keys(perInstanceSizes) : []);
|
|
62
|
-
let commandOptions = options;
|
|
63
62
|
let expected;
|
|
64
63
|
let instanceMismatch = false;
|
|
65
64
|
if (perInstanceSizes) {
|
|
66
65
|
instanceMismatch = !hasSameInstanceNames(perInstanceSizes, instances);
|
|
67
|
-
expected = Object.fromEntries(Object.entries(perInstanceSizes).map(([name, value]) => [name,
|
|
66
|
+
expected = Object.fromEntries(Object.entries(perInstanceSizes).map(([name, value]) => [name, validateNumberMatcher(value)]));
|
|
68
67
|
}
|
|
69
68
|
else {
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
expected = Object.fromEntries(instances.map((name) => [name, validated.numberMatcher]));
|
|
69
|
+
const numberMatcher = validateNumberMatcher(expectedValue);
|
|
70
|
+
expected = Object.fromEntries(instances.map((name) => [name, numberMatcher]));
|
|
73
71
|
}
|
|
74
72
|
let refetchSource = received;
|
|
75
73
|
let elements = received;
|
|
@@ -88,11 +86,11 @@ const multiRemoteElementsArrayOfSize = async (received, expectedValue, options,
|
|
|
88
86
|
const matches = (name) => expected[name].asymmetricMatch(actual[name]);
|
|
89
87
|
const success = isNot ? instances.some(matches) : instances.every(matches);
|
|
90
88
|
return { success, subject: refetchSource, actual };
|
|
91
|
-
}, isNot, { wait:
|
|
89
|
+
}, isNot, { wait: options.wait, interval: options.interval });
|
|
92
90
|
if (pass && elements !== received) {
|
|
93
91
|
synchronizeElementArray(received, elements);
|
|
94
92
|
}
|
|
95
|
-
const message = enhanceError(refetchSource, expected, actual, { isNot }, verb, expectation, '',
|
|
93
|
+
const message = enhanceError(refetchSource, expected, actual, { isNot }, verb, expectation, '', options);
|
|
96
94
|
return { pass, message: () => message };
|
|
97
95
|
};
|
|
98
96
|
const getPerInstanceSizes = (value) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toBeRequestedTimes } from './toBeRequestedTimes.js';
|
|
2
2
|
import { DEFAULT_OPTIONS } from '../../constants.js';
|
|
3
3
|
export function toBeRequested(received, options = DEFAULT_OPTIONS) {
|
|
4
|
-
return toBeRequestedTimes.call({ ...(this || {}), expectation: 'called' }, received, { gte: 1 }, options);
|
|
4
|
+
return toBeRequestedTimes.call({ matcherName: 'toBeRequested', ...(this || {}), expectation: 'called' }, received, { gte: 1 }, options);
|
|
5
5
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { waitUntil, enhanceError } from '../../utils.js';
|
|
2
2
|
import { DEFAULT_OPTIONS } from '../../constants.js';
|
|
3
|
-
import {
|
|
3
|
+
import { validateNumberMatcher } from '../../util/numberOptionsUtil.js';
|
|
4
4
|
import { awaitMocks, getMockInstanceNames, isMockArray } from '../../util/multiRemoteUtils.js';
|
|
5
5
|
import { formatMultiRemoteMocks, labelMultiRemoteValues } from '../../util/formatMessage.js';
|
|
6
6
|
export async function toBeRequestedTimes(received, expectedValue, options = DEFAULT_OPTIONS) {
|
|
@@ -10,7 +10,7 @@ export async function toBeRequestedTimes(received, expectedValue, options = DEFA
|
|
|
10
10
|
expectedValue,
|
|
11
11
|
options,
|
|
12
12
|
});
|
|
13
|
-
const
|
|
13
|
+
const expectedNumber = validateNumberMatcher(expectedValue);
|
|
14
14
|
const mocks = await awaitMocks(received);
|
|
15
15
|
let message;
|
|
16
16
|
let pass;
|
|
@@ -23,19 +23,19 @@ export async function toBeRequestedTimes(received, expectedValue, options = DEFA
|
|
|
23
23
|
const matches = (name) => expectedNumber.asymmetricMatch(actual[name]);
|
|
24
24
|
const success = isNot ? names.some(matches) : names.every(matches);
|
|
25
25
|
return { success, subject: mocks, actual };
|
|
26
|
-
}, isNot, { wait:
|
|
26
|
+
}, isNot, { wait: options.wait, interval: options.interval });
|
|
27
27
|
pass = result.success;
|
|
28
28
|
const expected = Object.fromEntries(names.map((name) => [name, expectedNumber]));
|
|
29
|
-
message = enhanceError(formatMultiRemoteMocks(instanceNames), label(expected), label(result.actual), this, verb, expectation, '',
|
|
29
|
+
message = enhanceError(formatMultiRemoteMocks(instanceNames), label(expected), label(result.actual), this, verb, expectation, '', options);
|
|
30
30
|
}
|
|
31
31
|
else {
|
|
32
32
|
const mock = mocks;
|
|
33
33
|
const result = await waitUntil(async () => {
|
|
34
34
|
const actual = mock.calls.length;
|
|
35
35
|
return { success: expectedNumber.asymmetricMatch(actual), subject: mock, actual };
|
|
36
|
-
}, isNot, { wait:
|
|
36
|
+
}, isNot, { wait: options.wait, interval: options.interval });
|
|
37
37
|
pass = result.success;
|
|
38
|
-
message = enhanceError('mock', expectedNumber, result.actual, this, verb, expectation, '',
|
|
38
|
+
message = enhanceError('mock', expectedNumber, result.actual, this, verb, expectation, '', options);
|
|
39
39
|
}
|
|
40
40
|
const result = {
|
|
41
41
|
pass,
|
package/lib/matchers.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
1
|
+
export { toHaveClipboardText } from './matchers/browser/toHaveClipboardText.js';
|
|
2
|
+
export { toHaveLocalStorageItem } from './matchers/browser/toHaveLocalStorageItem.js';
|
|
3
|
+
export { toHaveTitle } from './matchers/browser/toHaveTitle.js';
|
|
4
|
+
export { toHaveUrl } from './matchers/browser/toHaveUrl.js';
|
|
5
|
+
export { toBeClickable } from './matchers/element/toBeClickable.js';
|
|
6
|
+
export { toBeDisabled } from './matchers/element/toBeDisabled.js';
|
|
7
|
+
export { toBeDisplayed } from './matchers/element/toBeDisplayed.js';
|
|
8
|
+
export { toBeDisplayedInViewport } from './matchers/element/toBeDisplayedInViewport.js';
|
|
9
|
+
export { toBeEnabled } from './matchers/element/toBeEnabled.js';
|
|
10
|
+
export { toExist, toBeExisting, toBePresent } from './matchers/element/toBeExisting.js';
|
|
11
|
+
export { toBeFocused } from './matchers/element/toBeFocused.js';
|
|
12
|
+
export { toBeSelected, toBeChecked } from './matchers/element/toBeSelected.js';
|
|
13
|
+
export { toHaveAttribute } from './matchers/element/toHaveAttribute.js';
|
|
14
|
+
export { toHaveChildren } from './matchers/element/toHaveChildren.js';
|
|
15
|
+
export { toHaveComputedLabel } from './matchers/element/toHaveComputedLabel.js';
|
|
16
|
+
export { toHaveComputedRole } from './matchers/element/toHaveComputedRole.js';
|
|
17
|
+
export { toHaveElementClass } from './matchers/element/toHaveElementClass.js';
|
|
18
|
+
export { toHaveElementProperty } from './matchers/element/toHaveElementProperty.js';
|
|
19
|
+
export { toHaveHeight } from './matchers/element/toHaveHeight.js';
|
|
20
|
+
export { toHaveHref, toHaveLink } from './matchers/element/toHaveHref.js';
|
|
21
|
+
export { toHaveHTML } from './matchers/element/toHaveHTML.js';
|
|
22
|
+
export { toHaveId } from './matchers/element/toHaveId.js';
|
|
23
|
+
export { toHaveSize } from './matchers/element/toHaveSize.js';
|
|
24
|
+
export { toHaveStyle } from './matchers/element/toHaveStyle.js';
|
|
25
|
+
export { toHaveText } from './matchers/element/toHaveText.js';
|
|
26
|
+
export { toHaveValue } from './matchers/element/toHaveValue.js';
|
|
27
|
+
export { toHaveWidth } from './matchers/element/toHaveWidth.js';
|
|
28
|
+
export { toBeElementsArrayOfSize } from './matchers/elements/toBeElementsArrayOfSize.js';
|
|
29
|
+
export { toBeRequested } from './matchers/mock/toBeRequested.js';
|
|
30
|
+
export { toBeRequestedTimes } from './matchers/mock/toBeRequestedTimes.js';
|
|
31
|
+
export { toBeRequestedWith } from './matchers/mock/toBeRequestedWith.js';
|
|
32
|
+
export { toMatchSnapshot, toMatchInlineSnapshot } from './matchers/snapshot.js';
|
package/lib/snapshot.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { expect } from '@wdio/globals';
|
|
2
1
|
import { SnapshotClient } from '@vitest/snapshot';
|
|
3
2
|
import { NodeSnapshotEnvironment } from '@vitest/snapshot/environment';
|
|
4
3
|
import { getGlobalSingleton } from './util/globalSingleton.js';
|
|
@@ -75,13 +74,7 @@ export class SnapshotService {
|
|
|
75
74
|
this.#snapshotResults.push(result);
|
|
76
75
|
}
|
|
77
76
|
#isEqual(received, expected) {
|
|
78
|
-
|
|
79
|
-
expect(received).toBe(expected);
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
77
|
+
return Object.is(received, expected);
|
|
85
78
|
}
|
|
86
79
|
static initiate(options) {
|
|
87
80
|
return getGlobalSingleton('snapshotService', () => new SnapshotService(options));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/constants.ts","../src/index.ts","../src/jasmineUtils.ts","../src/matchers.ts","../src/snapshot.ts","../src/softAssert.ts","../src/softAssertService.ts","../src/softExpect.ts","../src/types.ts","../src/utils.ts","../src/api/index.ts","../src/matchers/snapshot.ts","../src/matchers/asymmetrics/asymmetricsUtils.ts","../src/matchers/asymmetrics/multiRemote.ts","../src/matchers/asymmetrics/oneOf.ts","../src/matchers/browser/toHaveClipboardText.ts","../src/matchers/browser/toHaveLocalStorageItem.ts","../src/matchers/browser/toHaveTitle.ts","../src/matchers/browser/toHaveUrl.ts","../src/matchers/element/toBeClickable.ts","../src/matchers/element/toBeDisabled.ts","../src/matchers/element/toBeDisplayed.ts","../src/matchers/element/toBeDisplayedInViewport.ts","../src/matchers/element/toBeEnabled.ts","../src/matchers/element/toBeExisting.ts","../src/matchers/element/toBeFocused.ts","../src/matchers/element/toBeSelected.ts","../src/matchers/element/toHaveAttribute.ts","../src/matchers/element/toHaveChildren.ts","../src/matchers/element/toHaveComputedLabel.ts","../src/matchers/element/toHaveComputedRole.ts","../src/matchers/element/toHaveElementClass.ts","../src/matchers/element/toHaveElementProperty.ts","../src/matchers/element/toHaveHTML.ts","../src/matchers/element/toHaveHeight.ts","../src/matchers/element/toHaveHref.ts","../src/matchers/element/toHaveId.ts","../src/matchers/element/toHaveSize.ts","../src/matchers/element/toHaveStyle.ts","../src/matchers/element/toHaveText.ts","../src/matchers/element/toHaveValue.ts","../src/matchers/element/toHaveWidth.ts","../src/matchers/elements/toBeElementsArrayOfSize.ts","../src/matchers/mock/toBeRequested.ts","../src/matchers/mock/toBeRequestedTimes.ts","../src/matchers/mock/toBeRequestedWith.ts","../src/matchers/modifiers/some.ts","../src/util/commandOptionsUtils.ts","../src/util/elementsUtil.ts","../src/util/executeBrowserCommand.ts","../src/util/executeCommand.ts","../src/util/formatMessage.ts","../src/util/globalSingleton.ts","../src/util/multiRemoteUtils.ts","../src/util/numberOptionsUtil.ts","../src/util/refetchElements.ts","../src/util/stringUtil.ts","../src/util/waitUntil.ts"],"version":"5.9.3"}
|
|
1
|
+
{"version":"7.0.2","root":["../src/constants.ts","../src/index.ts","../src/jasmineUtils.ts","../src/matchers.ts","../src/snapshot.ts","../src/softAssert.ts","../src/softAssertService.ts","../src/softExpect.ts","../src/types.ts","../src/utils.ts","../src/api/index.ts","../src/matchers/snapshot.ts","../src/matchers/asymmetrics/asymmetricsUtils.ts","../src/matchers/asymmetrics/multiRemote.ts","../src/matchers/asymmetrics/oneOf.ts","../src/matchers/browser/toHaveClipboardText.ts","../src/matchers/browser/toHaveLocalStorageItem.ts","../src/matchers/browser/toHaveTitle.ts","../src/matchers/browser/toHaveUrl.ts","../src/matchers/element/toBeClickable.ts","../src/matchers/element/toBeDisabled.ts","../src/matchers/element/toBeDisplayed.ts","../src/matchers/element/toBeDisplayedInViewport.ts","../src/matchers/element/toBeEnabled.ts","../src/matchers/element/toBeExisting.ts","../src/matchers/element/toBeFocused.ts","../src/matchers/element/toBeSelected.ts","../src/matchers/element/toHaveAttribute.ts","../src/matchers/element/toHaveChildren.ts","../src/matchers/element/toHaveComputedLabel.ts","../src/matchers/element/toHaveComputedRole.ts","../src/matchers/element/toHaveElementClass.ts","../src/matchers/element/toHaveElementProperty.ts","../src/matchers/element/toHaveHTML.ts","../src/matchers/element/toHaveHeight.ts","../src/matchers/element/toHaveHref.ts","../src/matchers/element/toHaveId.ts","../src/matchers/element/toHaveSize.ts","../src/matchers/element/toHaveStyle.ts","../src/matchers/element/toHaveText.ts","../src/matchers/element/toHaveValue.ts","../src/matchers/element/toHaveWidth.ts","../src/matchers/elements/toBeElementsArrayOfSize.ts","../src/matchers/mock/toBeRequested.ts","../src/matchers/mock/toBeRequestedTimes.ts","../src/matchers/mock/toBeRequestedWith.ts","../src/matchers/modifiers/some.ts","../src/util/commandOptionsUtils.ts","../src/util/elementsUtil.ts","../src/util/executeBrowserCommand.ts","../src/util/executeCommand.ts","../src/util/formatMessage.ts","../src/util/globalSingleton.ts","../src/util/multiRemoteUtils.ts","../src/util/numberOptionsUtil.ts","../src/util/refetchElements.ts","../src/util/stringUtil.ts","../src/util/waitUntil.ts"],"packageJsons":["../node_modules/.pnpm/@jest+expect-utils@30.5.2/node_modules/@jest/expect-utils/package.json","../node_modules/.pnpm/@jest+schemas@30.5.0/node_modules/@jest/schemas/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/package.json","../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/package.json","../node_modules/.pnpm/@types+sinonjs__fake-timers@8.1.5/node_modules/@types/sinonjs__fake-timers/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/package.json","../node_modules/.pnpm/@vitest+pretty-format@5.0.2/node_modules/@vitest/pretty-format/package.json","../node_modules/.pnpm/@vitest+snapshot@5.0.2/node_modules/@vitest/snapshot/package.json","../node_modules/.pnpm/@vitest+utils@5.0.2/node_modules/@vitest/utils/package.json","../node_modules/.pnpm/@wdio+globals@9.31.3_expect-webdriverio@_webdriverio@9.32.0_supports-color@8.1.1_/node_modules/@wdio/globals/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/package.json","../node_modules/.pnpm/@wdio+types@9.32.0/node_modules/@wdio/types/package.json","../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/package.json","../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/package.json","../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/lib/esm/package.json","../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/dist/esm/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/package.json","../node_modules/.pnpm/deep-eql@5.0.2/node_modules/deep-eql/package.json","../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/package.json","../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/package.json","../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/package.json","../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/package.json","../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/package.json","../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/package.json","../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/package.json","../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/package.json","../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/dist/esm/package.json","../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/package.json","../node_modules/.pnpm/events@3.3.0/node_modules/events/package.json","../node_modules/.pnpm/expect@30.5.2/node_modules/expect/package.json","../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/package.json","../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/package.json","../node_modules/.pnpm/jest-diff@30.5.2/node_modules/jest-diff/package.json","../node_modules/.pnpm/jest-matcher-utils@30.5.2/node_modules/jest-matcher-utils/package.json","../node_modules/.pnpm/jest-mock@30.5.2/node_modules/jest-mock/package.json","../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/package.json","../node_modules/.pnpm/pretty-format@30.5.1/node_modules/pretty-format/package.json","../node_modules/.pnpm/process@0.11.10/node_modules/process/package.json","../node_modules/.pnpm/punycode@2.3.1/node_modules/punycode/package.json","../node_modules/.pnpm/string_decoder@1.1.1/node_modules/string_decoder/package.json","../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/package.json","../node_modules/.pnpm/undici@7.29.0/node_modules/undici/package.json","../node_modules/.pnpm/urlpattern-polyfill@10.1.0/node_modules/urlpattern-polyfill/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/package.json","../node_modules/.pnpm/ws@8.21.3/node_modules/ws/package.json","../package.json"],"missingPackageJsons":["../node_modules/.pnpm/@jest+expect-utils@30.5.2/node_modules/@jest/expect-utils/build/package.json","../node_modules/.pnpm/@jest+schemas@30.5.0/node_modules/@jest/schemas/build/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/any/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/argument/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/array/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/async-iterator/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/awaited/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/bigint/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/boolean/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/clone/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/composite/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/computed/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/const/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/constructor-parameters/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/constructor/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/create/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/date/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/enum/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/error/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/exclude/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/extends/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/extract/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/function/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/guard/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/helpers/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/indexed/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/instance-type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/instantiate/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/integer/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/intersect/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/iterator/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/keyof/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/literal/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/mapped/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/module/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/never/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/not/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/null/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/number/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/object/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/omit/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/optional/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/parameters/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/partial/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/patterns/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/pick/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/promise/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/readonly-optional/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/readonly/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/record/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/recursive/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/ref/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/regexp/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/registry/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/required/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/rest/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/return-type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/schema/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/sets/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/static/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/string/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/symbol/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/symbols/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/template-literal/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/transform/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/tuple/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/uint8array/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/undefined/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/union/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/unknown/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/unsafe/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/void/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/assert/strict/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/async_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/buffer/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/child_process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/cluster/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/console/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/constants/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/crypto/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dgram/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/diagnostics_channel/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dns/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/domain/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/fs/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/http/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/http2/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/https/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/inspector/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/inspector/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/module/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/net/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/compatibility/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/web-globals/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/os/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/posix/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/win32/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/perf_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/punycode/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/querystring/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/readline/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/repl/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/consumers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/web/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/string_decoder/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/timers/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/tls/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/trace_events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/tty/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/url/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/util/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/util/types/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/v8/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/vm/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/wasi/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/worker_threads/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/zlib/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/assert/strict/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/async_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/buffer/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/child_process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/cluster/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/console/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/constants/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/crypto/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dgram/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/diagnostics_channel/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dns/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/domain/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/fs/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/http/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/http2/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/https/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/inspector/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/inspector/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/module/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/net/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/os/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/posix/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/win32/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/perf_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/punycode/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/querystring/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/readline/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/repl/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/consumers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/web/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/string_decoder/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/timers/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/tls/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/trace_events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/tty/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/url/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/util/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/util/types/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/v8/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/vm/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/wasi/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/worker_threads/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/zlib/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/events/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/http/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/https/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/net/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/stream/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/tls/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/url/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/zlib/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/events/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/http/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/https/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/net/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/stream/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/tls/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/url/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/zlib/package.json","../node_modules/.pnpm/@vitest+pretty-format@5.0.2/node_modules/@vitest/pretty-format/dist/package.json","../node_modules/.pnpm/@vitest+snapshot@5.0.2/node_modules/@vitest/snapshot/dist/package.json","../node_modules/.pnpm/@vitest+utils@5.0.2/node_modules/@vitest/utils/dist/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/commands/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/protocols/package.json","../node_modules/.pnpm/@wdio+types@9.32.0/node_modules/@wdio/types/build/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/dist/esm/api/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/pseudo-selectors/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/es/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/package.json","../node_modules/.pnpm/expect@30.5.2/node_modules/expect/build/package.json","../node_modules/.pnpm/jest-diff@30.5.2/node_modules/jest-diff/build/package.json","../node_modules/.pnpm/jest-matcher-utils@30.5.2/node_modules/jest-matcher-utils/build/package.json","../node_modules/.pnpm/jest-mock@30.5.2/node_modules/jest-mock/build/package.json","../node_modules/.pnpm/node_modules/@types/assert/package.json","../node_modules/.pnpm/node_modules/@types/assert/strict/package.json","../node_modules/.pnpm/node_modules/@types/async_hooks/package.json","../node_modules/.pnpm/node_modules/@types/child_process/package.json","../node_modules/.pnpm/node_modules/@types/cluster/package.json","../node_modules/.pnpm/node_modules/@types/console/package.json","../node_modules/.pnpm/node_modules/@types/constants/package.json","../node_modules/.pnpm/node_modules/@types/crypto/package.json","../node_modules/.pnpm/node_modules/@types/dgram/package.json","../node_modules/.pnpm/node_modules/@types/diagnostics_channel/package.json","../node_modules/.pnpm/node_modules/@types/dns/package.json","../node_modules/.pnpm/node_modules/@types/dns/promises/package.json","../node_modules/.pnpm/node_modules/@types/domain/package.json","../node_modules/.pnpm/node_modules/@types/events/package.json","../node_modules/.pnpm/node_modules/@types/fs/package.json","../node_modules/.pnpm/node_modules/@types/fs/promises/package.json","../node_modules/.pnpm/node_modules/@types/http/package.json","../node_modules/.pnpm/node_modules/@types/http2/package.json","../node_modules/.pnpm/node_modules/@types/https/package.json","../node_modules/.pnpm/node_modules/@types/inspector/package.json","../node_modules/.pnpm/node_modules/@types/inspector/promises/package.json","../node_modules/.pnpm/node_modules/@types/module/package.json","../node_modules/.pnpm/node_modules/@types/net/package.json","../node_modules/.pnpm/node_modules/@types/os/package.json","../node_modules/.pnpm/node_modules/@types/path/package.json","../node_modules/.pnpm/node_modules/@types/path/posix/package.json","../node_modules/.pnpm/node_modules/@types/path/win32/package.json","../node_modules/.pnpm/node_modules/@types/perf_hooks/package.json","../node_modules/.pnpm/node_modules/@types/process/package.json","../node_modules/.pnpm/node_modules/@types/punycode/package.json","../node_modules/.pnpm/node_modules/@types/puppeteer-core/package.json","../node_modules/.pnpm/node_modules/@types/querystring/package.json","../node_modules/.pnpm/node_modules/@types/readline/package.json","../node_modules/.pnpm/node_modules/@types/readline/promises/package.json","../node_modules/.pnpm/node_modules/@types/repl/package.json","../node_modules/.pnpm/node_modules/@types/stream/consumers/package.json","../node_modules/.pnpm/node_modules/@types/stream/package.json","../node_modules/.pnpm/node_modules/@types/stream/promises/package.json","../node_modules/.pnpm/node_modules/@types/stream/web/package.json","../node_modules/.pnpm/node_modules/@types/string_decoder/package.json","../node_modules/.pnpm/node_modules/@types/timers/package.json","../node_modules/.pnpm/node_modules/@types/timers/promises/package.json","../node_modules/.pnpm/node_modules/@types/tls/package.json","../node_modules/.pnpm/node_modules/@types/trace_events/package.json","../node_modules/.pnpm/node_modules/@types/tty/package.json","../node_modules/.pnpm/node_modules/@types/url/package.json","../node_modules/.pnpm/node_modules/@types/util/package.json","../node_modules/.pnpm/node_modules/@types/util/types/package.json","../node_modules/.pnpm/node_modules/@types/v8/package.json","../node_modules/.pnpm/node_modules/@types/vm/package.json","../node_modules/.pnpm/node_modules/@types/wasi/package.json","../node_modules/.pnpm/node_modules/@types/worker_threads/package.json","../node_modules/.pnpm/node_modules/@types/zlib/package.json","../node_modules/.pnpm/node_modules/assert/package.json","../node_modules/.pnpm/node_modules/assert/strict/package.json","../node_modules/.pnpm/node_modules/async_hooks/package.json","../node_modules/.pnpm/node_modules/child_process/package.json","../node_modules/.pnpm/node_modules/cluster/package.json","../node_modules/.pnpm/node_modules/console/package.json","../node_modules/.pnpm/node_modules/constants/package.json","../node_modules/.pnpm/node_modules/crypto/package.json","../node_modules/.pnpm/node_modules/dgram/package.json","../node_modules/.pnpm/node_modules/diagnostics_channel/package.json","../node_modules/.pnpm/node_modules/dns/package.json","../node_modules/.pnpm/node_modules/dns/promises/package.json","../node_modules/.pnpm/node_modules/domain/package.json","../node_modules/.pnpm/node_modules/fs/package.json","../node_modules/.pnpm/node_modules/fs/promises/package.json","../node_modules/.pnpm/node_modules/http/package.json","../node_modules/.pnpm/node_modules/http2/package.json","../node_modules/.pnpm/node_modules/https/package.json","../node_modules/.pnpm/node_modules/inspector/package.json","../node_modules/.pnpm/node_modules/inspector/promises/package.json","../node_modules/.pnpm/node_modules/module/package.json","../node_modules/.pnpm/node_modules/net/package.json","../node_modules/.pnpm/node_modules/os/package.json","../node_modules/.pnpm/node_modules/path/package.json","../node_modules/.pnpm/node_modules/path/posix/package.json","../node_modules/.pnpm/node_modules/path/win32/package.json","../node_modules/.pnpm/node_modules/perf_hooks/package.json","../node_modules/.pnpm/node_modules/puppeteer-core/package.json","../node_modules/.pnpm/node_modules/querystring/package.json","../node_modules/.pnpm/node_modules/readline/package.json","../node_modules/.pnpm/node_modules/readline/promises/package.json","../node_modules/.pnpm/node_modules/repl/package.json","../node_modules/.pnpm/node_modules/stream/consumers/package.json","../node_modules/.pnpm/node_modules/stream/package.json","../node_modules/.pnpm/node_modules/stream/promises/package.json","../node_modules/.pnpm/node_modules/stream/web/package.json","../node_modules/.pnpm/node_modules/timers/package.json","../node_modules/.pnpm/node_modules/timers/promises/package.json","../node_modules/.pnpm/node_modules/tls/package.json","../node_modules/.pnpm/node_modules/trace_events/package.json","../node_modules/.pnpm/node_modules/tty/package.json","../node_modules/.pnpm/node_modules/url/package.json","../node_modules/.pnpm/node_modules/util/package.json","../node_modules/.pnpm/node_modules/util/types/package.json","../node_modules/.pnpm/node_modules/v8/package.json","../node_modules/.pnpm/node_modules/vm/package.json","../node_modules/.pnpm/node_modules/wasi/package.json","../node_modules/.pnpm/node_modules/worker_threads/package.json","../node_modules/.pnpm/node_modules/zlib/package.json","../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/dist/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/entities/decode/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/package.json","../node_modules/.pnpm/pretty-format@30.5.1/node_modules/pretty-format/build/package.json","../node_modules/.pnpm/undici@7.29.0/node_modules/undici/types/package.json","../node_modules/.pnpm/urlpattern-polyfill@10.1.0/node_modules/urlpattern-polyfill/dist/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/bidi/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/request/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/@sinonjs/fake-timers/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/@types/puppeteer-core/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/puppeteer-core/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/browser/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/element/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/mobile/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/session/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/actions/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/interception/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/package.json","../node_modules/types/expect-webdriverio.d.ts/package.json","../node_modules/@types/assert/package.json","../node_modules/@types/assert/strict/package.json","../node_modules/@types/async_hooks/package.json","../node_modules/@types/child_process/package.json","../node_modules/@types/cluster/package.json","../node_modules/@types/console/package.json","../node_modules/@types/constants/package.json","../node_modules/@types/crypto/package.json","../node_modules/@types/dgram/package.json","../node_modules/@types/diagnostics_channel/package.json","../node_modules/@types/dns/package.json","../node_modules/@types/dns/promises/package.json","../node_modules/@types/domain/package.json","../node_modules/@types/events/package.json","../node_modules/@types/fs/package.json","../node_modules/@types/fs/promises/package.json","../node_modules/@types/http/package.json","../node_modules/@types/http2/package.json","../node_modules/@types/https/package.json","../node_modules/@types/inspector/package.json","../node_modules/@types/inspector/promises/package.json","../node_modules/@types/module/package.json","../node_modules/@types/net/package.json","../node_modules/@types/os/package.json","../node_modules/@types/path/package.json","../node_modules/@types/path/posix/package.json","../node_modules/@types/path/win32/package.json","../node_modules/@types/perf_hooks/package.json","../node_modules/@types/process/package.json","../node_modules/@types/punycode/package.json","../node_modules/@types/puppeteer-core/package.json","../node_modules/@types/querystring/package.json","../node_modules/@types/readline/package.json","../node_modules/@types/readline/promises/package.json","../node_modules/@types/repl/package.json","../node_modules/@types/stream/consumers/package.json","../node_modules/@types/stream/package.json","../node_modules/@types/stream/promises/package.json","../node_modules/@types/stream/web/package.json","../node_modules/@types/string_decoder/package.json","../node_modules/@types/timers/package.json","../node_modules/@types/timers/promises/package.json","../node_modules/@types/tls/package.json","../node_modules/@types/trace_events/package.json","../node_modules/@types/tty/package.json","../node_modules/@types/url/package.json","../node_modules/@types/util/package.json","../node_modules/@types/util/types/package.json","../node_modules/@types/v8/package.json","../node_modules/@types/vm/package.json","../node_modules/@types/wasi/package.json","../node_modules/@types/wdio__globals/types/package.json","../node_modules/@types/worker_threads/package.json","../node_modules/@types/zlib/package.json","../node_modules/@vitest/snapshot/environment/package.json","../node_modules/@wdio/globals/types/package.json","../node_modules/assert/package.json","../node_modules/assert/strict/package.json","../node_modules/async_hooks/package.json","../node_modules/child_process/package.json","../node_modules/cluster/package.json","../node_modules/console/package.json","../node_modules/constants/package.json","../node_modules/crypto/package.json","../node_modules/dgram/package.json","../node_modules/diagnostics_channel/package.json","../node_modules/dns/package.json","../node_modules/dns/promises/package.json","../node_modules/domain/package.json","../node_modules/events/package.json","../node_modules/fs/package.json","../node_modules/fs/promises/package.json","../node_modules/http/package.json","../node_modules/http2/package.json","../node_modules/https/package.json","../node_modules/inspector/package.json","../node_modules/inspector/promises/package.json","../node_modules/module/package.json","../node_modules/net/package.json","../node_modules/os/package.json","../node_modules/path/package.json","../node_modules/path/posix/package.json","../node_modules/path/win32/package.json","../node_modules/perf_hooks/package.json","../node_modules/process/package.json","../node_modules/punycode/package.json","../node_modules/puppeteer-core/package.json","../node_modules/querystring/package.json","../node_modules/readline/package.json","../node_modules/readline/promises/package.json","../node_modules/repl/package.json","../node_modules/stream/consumers/package.json","../node_modules/stream/package.json","../node_modules/stream/promises/package.json","../node_modules/stream/web/package.json","../node_modules/string_decoder/package.json","../node_modules/timers/package.json","../node_modules/timers/promises/package.json","../node_modules/tls/package.json","../node_modules/trace_events/package.json","../node_modules/tty/package.json","../node_modules/url/package.json","../node_modules/util/package.json","../node_modules/util/types/package.json","../node_modules/v8/package.json","../node_modules/vm/package.json","../node_modules/wasi/package.json","../node_modules/worker_threads/package.json","../node_modules/zlib/package.json"]}
|
package/lib/util/elementsUtil.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isArrayContainingMatcher } from '../utils.js';
|
|
2
|
+
import { hasMultiRemoteFlag } from './multiRemoteUtils.js';
|
|
2
3
|
export const wrapExpectedWithArray = (elements, actual, expected) => {
|
|
3
4
|
if (Array.isArray(elements) && Array.isArray(actual) && !Array.isArray(expected) && !isArrayContainingMatcher(expected)) {
|
|
4
5
|
expected = Array(actual.length).fill(expected);
|
|
@@ -87,7 +88,7 @@ export const awaitElementArray = async (received) => {
|
|
|
87
88
|
return { elements: awaitedElements };
|
|
88
89
|
};
|
|
89
90
|
const isMultiRemote = (obj) => {
|
|
90
|
-
return
|
|
91
|
+
return hasMultiRemoteFlag(obj);
|
|
91
92
|
};
|
|
92
93
|
export const isMultiRemoteElement = (obj) => {
|
|
93
94
|
return isMultiRemote(obj) && !Array.isArray(obj) && 'selector' in obj;
|
|
@@ -97,7 +98,7 @@ export const isMultiRemoteElements = (obj) => {
|
|
|
97
98
|
&& Array.prototype.every.call(obj, isMultiRemoteElement);
|
|
98
99
|
};
|
|
99
100
|
export const isMultiRemoteElementArray = (obj) => {
|
|
100
|
-
return
|
|
101
|
+
return hasMultiRemoteFlag(obj) && 'parent' in obj && 'foundWith' in obj && 'selector' in obj;
|
|
101
102
|
};
|
|
102
103
|
export const isMultiRemoteElementLike = (obj) => {
|
|
103
104
|
return isMultiRemoteElement(obj) || isMultiRemoteElementsLike(obj);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getPerInstanceValues, hasSameInstanceNames } from './multiRemoteUtils.js';
|
|
1
|
+
import { getPerInstanceValues, hasSameInstanceNames, isMultiRemoteBrowser } from './multiRemoteUtils.js';
|
|
2
2
|
export async function executeBrowserCommand({ browser, expectedValue, compare, isNot = false, }) {
|
|
3
|
-
if (browser
|
|
3
|
+
if (isMultiRemoteBrowser(browser)) {
|
|
4
4
|
const { instances } = browser;
|
|
5
5
|
const perInstanceValues = getPerInstanceValues(expectedValue);
|
|
6
6
|
const expected = perInstanceValues ?? Object.fromEntries(instances.map((name) => [name, expectedValue]));
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { equals } from '../jasmineUtils.js';
|
|
2
2
|
import { isArrayContainingMatcher } from '../utils.js';
|
|
3
3
|
import { isSomeWrapper } from '../matchers/modifiers/some.js';
|
|
4
|
-
import { awaitElementOrArray, isElement, isMultiRemoteElement, isMultiRemoteElementArray,
|
|
4
|
+
import { awaitElementOrArray, isElement, isMultiRemoteElement, isMultiRemoteElementArray, isMultiRemoteElements, isMultiRemoteElementsLike, isStrictlyElementArray } from './elementsUtil.js';
|
|
5
5
|
import { getElementsPerInstance, getPerInstanceValues, hasSameInstanceNames } from './multiRemoteUtils.js';
|
|
6
6
|
import { refreshElementArray } from './refetchElements.js';
|
|
7
|
-
export async function executeCommandWithStrategy({ unresolvedElements, expectedValues, singleElementCompare, context: { isNot, iteration },
|
|
7
|
+
export async function executeCommandWithStrategy({ unresolvedElements, expectedValues, singleElementCompare, context: { isNot = false, iteration }, supportsArrayContaining = false, strictConfiguration = { allowEmptyElements: false, allowArrayWithSingleElement: false } }) {
|
|
8
8
|
const isSome = isSomeWrapper(unresolvedElements);
|
|
9
9
|
const actualReceived = isSome ? unresolvedElements.elements : unresolvedElements;
|
|
10
10
|
if (supportsArrayContaining && !isSome && isArrayContainingMatcher(expectedValues)) {
|
|
@@ -37,12 +37,6 @@ export async function executeCommandWithStrategy({ unresolvedElements, expectedV
|
|
|
37
37
|
}
|
|
38
38
|
return { subject: selector, ...await singleElementCompare(selector, expectedValues) };
|
|
39
39
|
}
|
|
40
|
-
if (strategy === 'LegacyLooseMultipleElements') {
|
|
41
|
-
if (isSome) {
|
|
42
|
-
throw new Error('some(elements) works only when enabling `useToHaveTextStrictMultiElementsCompareStrategy`');
|
|
43
|
-
}
|
|
44
|
-
return legacyMultipleElementResultsStrategy(actualReceived, expectedValues, singleElementCompare, isNot);
|
|
45
|
-
}
|
|
46
40
|
return multipleElementResultsStrategy(actualReceived, expectedValues, singleElementCompare, { isNot, isSome, iteration }, strictConfiguration);
|
|
47
41
|
}
|
|
48
42
|
const multiRemoteArrayContainingStrategy = async (elements, expectedValues, singleElementCompare, iteration) => {
|
|
@@ -64,39 +58,6 @@ const multiRemoteArrayContainingStrategy = async (elements, expectedValues, sing
|
|
|
64
58
|
expected: Object.fromEntries(instances.map((instance) => [instance, expectedValues])),
|
|
65
59
|
};
|
|
66
60
|
};
|
|
67
|
-
export const legacyMultipleElementResultsStrategy = async (unresolvedElements, expectedValues, singleElementCompare, _isNot) => {
|
|
68
|
-
const { selector, other, isEmptyElements } = await awaitElementOrArray(unresolvedElements);
|
|
69
|
-
if (isMultiRemoteElementLike(selector)) {
|
|
70
|
-
throw new Error('Multi-remote elements works only when enabling `useToHaveTextStrictMultiElementsCompareStrategy`');
|
|
71
|
-
}
|
|
72
|
-
const subject = selector ?? other;
|
|
73
|
-
if (!selector || isEmptyElements) {
|
|
74
|
-
return {
|
|
75
|
-
subject: subject,
|
|
76
|
-
success: false,
|
|
77
|
-
actual: undefined,
|
|
78
|
-
abort: true,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
if (isElement(selector)) {
|
|
82
|
-
const compareResult = await singleElementCompare(selector, expectedValues);
|
|
83
|
-
return {
|
|
84
|
-
subject,
|
|
85
|
-
...compareResult,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
const settled = await Promise.allSettled(Array.from(selector).map((element, index) => singleElementCompare(element, expectedValues, index)));
|
|
89
|
-
const firstRejection = settled.find((r) => r.status === 'rejected');
|
|
90
|
-
if (firstRejection) {
|
|
91
|
-
throw firstRejection.reason;
|
|
92
|
-
}
|
|
93
|
-
const results = settled.map((r) => r.value);
|
|
94
|
-
return {
|
|
95
|
-
subject,
|
|
96
|
-
success: results.length > 0 && results.every((res) => res.success === true),
|
|
97
|
-
actual: results.map(({ actual: value }) => value),
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
61
|
export const multipleElementResultsStrategy = async (unresolvedElements, expectedValues, singleElementCompare, { isNot, isSome, iteration }, { allowEmptyElements = false, allowArrayWithSingleElement = false, allowObjectExpectedValue = false } = {}) => {
|
|
101
62
|
const { selector, other, multiRemoteSelector } = await awaitElementOrArray(unresolvedElements);
|
|
102
63
|
const isRefetchable = isStrictlyElementArray(selector) || isMultiRemoteElementArray(selector) || isMultiRemoteElements(selector);
|
|
@@ -3,7 +3,7 @@ import { equals } from '../jasmineUtils.js';
|
|
|
3
3
|
import { isArrayOfElement, isElementArrayLike, isElementOrArrayLike, isElementOrArrayOrMultiRemoteElementLike, isMultiRemoteElement, isMultiRemoteElementArray, isMultiRemoteElementLike, isMultiRemoteElementsLike, isStrictlyElementArray } from './elementsUtil.js';
|
|
4
4
|
import { toJsonString } from './stringUtil.js';
|
|
5
5
|
import { isJasmineStringAsymmetricMatcher, toArray } from '../utils.js';
|
|
6
|
-
import { isBrowser } from './multiRemoteUtils.js';
|
|
6
|
+
import { isBrowser, isMultiRemoteBrowser } from './multiRemoteUtils.js';
|
|
7
7
|
export const isDefined = (value) => value !== null && value !== undefined;
|
|
8
8
|
export const getSelector = (el) => {
|
|
9
9
|
let result = typeof el.selector === 'string' ? el.selector : '<fn>';
|
|
@@ -49,12 +49,12 @@ export const getSelectors = (el) => {
|
|
|
49
49
|
const not = (isNot) => `${isNot ? 'not ' : ''}`;
|
|
50
50
|
export const enhanceError = (subject, expected, actual, context, verb, expectation, expectedValueArgument2 = '', { message = '', containing = false } = {}) => {
|
|
51
51
|
const { isNot, useNotInLabel = true } = context;
|
|
52
|
-
if ((isBrowser(subject) && subject
|
|
52
|
+
if ((isBrowser(subject) && isMultiRemoteBrowser(subject)) || isMultiRemoteElementLike(subject)) {
|
|
53
53
|
expected = labelMultiRemoteValues(expected);
|
|
54
54
|
actual = labelMultiRemoteValues(actual);
|
|
55
55
|
}
|
|
56
56
|
if (isBrowser(subject)) {
|
|
57
|
-
if (subject
|
|
57
|
+
if (isMultiRemoteBrowser(subject)) {
|
|
58
58
|
subject = formatMultiRemoteInstanceNames(subject.instances);
|
|
59
59
|
}
|
|
60
60
|
else if (subject.isMobile) {
|
|
@@ -142,7 +142,7 @@ const printArrayWithMatchingItemInRed = (expectedArray, actualArray) => {
|
|
|
142
142
|
return { expectedFormatted, receivedFormatted };
|
|
143
143
|
};
|
|
144
144
|
export const enhanceErrorBe = (subject, actuals, context, options) => {
|
|
145
|
-
const { isNot, verb, expectation } = context;
|
|
145
|
+
const { isNot = false, verb, expectation } = context;
|
|
146
146
|
let expected;
|
|
147
147
|
let actual;
|
|
148
148
|
const expectedValue = `${not(isNot)}${expectation}`;
|