@mobilewright/core 0.0.40 → 0.0.42
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/device.d.ts +4 -0
- package/dist/device.d.ts.map +1 -1
- package/dist/device.js +13 -2
- package/dist/device.js.map +1 -1
- package/dist/expect.d.ts +82 -11
- package/dist/expect.d.ts.map +1 -1
- package/dist/expect.js +181 -22
- package/dist/expect.js.map +1 -1
- package/dist/expect.test.js +17 -0
- package/dist/expect.test.js.map +1 -1
- package/dist/fake-webview-session.d.ts +14 -0
- package/dist/fake-webview-session.d.ts.map +1 -0
- package/dist/fake-webview-session.js +26 -0
- package/dist/fake-webview-session.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/locator.d.ts +8 -5
- package/dist/locator.d.ts.map +1 -1
- package/dist/locator.js +5 -6
- package/dist/locator.js.map +1 -1
- package/dist/locator.test.js +178 -0
- package/dist/locator.test.js.map +1 -1
- package/dist/page.d.ts +52 -0
- package/dist/page.d.ts.map +1 -0
- package/dist/page.js +226 -0
- package/dist/page.js.map +1 -0
- package/dist/page.test.d.ts +2 -0
- package/dist/page.test.d.ts.map +1 -0
- package/dist/page.test.js +263 -0
- package/dist/page.test.js.map +1 -0
- package/dist/playwright-engine.d.ts +23 -0
- package/dist/playwright-engine.d.ts.map +1 -0
- package/dist/playwright-engine.js +79 -0
- package/dist/playwright-engine.js.map +1 -0
- package/dist/playwright-engine.test.d.ts +2 -0
- package/dist/playwright-engine.test.d.ts.map +1 -0
- package/dist/playwright-engine.test.js +45 -0
- package/dist/playwright-engine.test.js.map +1 -0
- package/dist/query-engine.d.ts +4 -0
- package/dist/query-engine.d.ts.map +1 -1
- package/dist/query-engine.js +15 -0
- package/dist/query-engine.js.map +1 -1
- package/dist/query-engine.test.js +64 -1
- package/dist/query-engine.test.js.map +1 -1
- package/dist/screen.d.ts +7 -0
- package/dist/screen.d.ts.map +1 -1
- package/dist/screen.js +7 -0
- package/dist/screen.js.map +1 -1
- package/dist/stackTrace.d.ts +3 -0
- package/dist/stackTrace.d.ts.map +1 -1
- package/dist/stackTrace.js +10 -0
- package/dist/stackTrace.js.map +1 -1
- package/dist/stackTrace.test.d.ts +2 -0
- package/dist/stackTrace.test.d.ts.map +1 -0
- package/dist/stackTrace.test.js +43 -0
- package/dist/stackTrace.test.js.map +1 -0
- package/dist/web-expect-matcher.d.ts +29 -0
- package/dist/web-expect-matcher.d.ts.map +1 -0
- package/dist/web-expect-matcher.js +23 -0
- package/dist/web-expect-matcher.js.map +1 -0
- package/dist/web-expect-matcher.test.d.ts +2 -0
- package/dist/web-expect-matcher.test.d.ts.map +1 -0
- package/dist/web-expect-matcher.test.js +21 -0
- package/dist/web-expect-matcher.test.js.map +1 -0
- package/dist/web-expect.test.d.ts +2 -0
- package/dist/web-expect.test.d.ts.map +1 -0
- package/dist/web-expect.test.js +93 -0
- package/dist/web-expect.test.js.map +1 -0
- package/dist/web-locator-pwexpect.test.d.ts +2 -0
- package/dist/web-locator-pwexpect.test.d.ts.map +1 -0
- package/dist/web-locator-pwexpect.test.js +36 -0
- package/dist/web-locator-pwexpect.test.js.map +1 -0
- package/dist/web-locator-reinjection.test.d.ts +2 -0
- package/dist/web-locator-reinjection.test.d.ts.map +1 -0
- package/dist/web-locator-reinjection.test.js +83 -0
- package/dist/web-locator-reinjection.test.js.map +1 -0
- package/dist/web-locator.d.ts +120 -0
- package/dist/web-locator.d.ts.map +1 -0
- package/dist/web-locator.js +332 -0
- package/dist/web-locator.js.map +1 -0
- package/dist/web-locator.test.d.ts +2 -0
- package/dist/web-locator.test.d.ts.map +1 -0
- package/dist/web-locator.test.js +424 -0
- package/dist/web-locator.test.js.map +1 -0
- package/dist/webview-locator.d.ts +14 -0
- package/dist/webview-locator.d.ts.map +1 -0
- package/dist/webview-locator.js +95 -0
- package/dist/webview-locator.js.map +1 -0
- package/dist/webview-locator.test.d.ts +2 -0
- package/dist/webview-locator.test.d.ts.map +1 -0
- package/dist/webview-locator.test.js +203 -0
- package/dist/webview-locator.test.js.map +1 -0
- package/package.json +3 -2
package/dist/device.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ import { Screen } from './screen.js';
|
|
|
3
3
|
import type { LocatorOptions } from './locator.js';
|
|
4
4
|
export interface DeviceOptions {
|
|
5
5
|
locatorDefaults?: LocatorOptions;
|
|
6
|
+
/** Timeout waiting for app to reach foreground after launch, in ms. Default: 20000. */
|
|
7
|
+
appLaunchTimeout?: number;
|
|
8
|
+
/** Timeout for app installation in ms. Default: none (no limit). */
|
|
9
|
+
installTimeout?: number;
|
|
6
10
|
}
|
|
7
11
|
export declare class Device {
|
|
8
12
|
readonly driver: MobilewrightDriver;
|
package/dist/device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,OAAO,EACR,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAOnD,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,OAAO,EACR,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAOnD,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD,qBAAa,MAAM;IACjB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAEzB,MAAM,EAAE,kBAAkB,EAAE,IAAI,GAAE,aAAkB;IAKhE,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAMtC,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAInD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,uEAAuE;IACjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,IAAI,MAAM,IAAI,MAAM,CAGnB;IAIK,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAItC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,4DAA4D;IACtD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BhE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAI9B,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIpC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,cAAc,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,aAAa,IAAI,OAAO,CAAC,eAAe,CAAC;CAGhD"}
|
package/dist/device.js
CHANGED
|
@@ -3,6 +3,12 @@ import { Screen } from './screen.js';
|
|
|
3
3
|
import { retryUntil } from './poll.js';
|
|
4
4
|
const debug = createDebug('mw:device');
|
|
5
5
|
const LAUNCH_APP_TIMEOUT = 20_000;
|
|
6
|
+
function raceWithTimeout(promise, ms, message) {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
const timer = setTimeout(() => reject(new Error(message)), ms);
|
|
9
|
+
promise.then((value) => { clearTimeout(timer); resolve(value); }, (err) => { clearTimeout(timer); reject(err); });
|
|
10
|
+
});
|
|
11
|
+
}
|
|
6
12
|
export class Device {
|
|
7
13
|
constructor(driver, opts = {}) {
|
|
8
14
|
this.cleanupCallbacks = [];
|
|
@@ -53,9 +59,10 @@ export class Device {
|
|
|
53
59
|
if (opts?.noWaitAfter) {
|
|
54
60
|
return;
|
|
55
61
|
}
|
|
62
|
+
const timeout = this.opts.appLaunchTimeout ?? LAUNCH_APP_TIMEOUT;
|
|
56
63
|
debug('waiting for %s to reach foreground', bundleId);
|
|
57
64
|
try {
|
|
58
|
-
await retryUntil(() => this.getForegroundApp(), (app) => app.bundleId === bundleId,
|
|
65
|
+
await retryUntil(() => this.getForegroundApp(), (app) => app.bundleId === bundleId, timeout, `launchApp: timed out waiting for "${bundleId}" to be in foreground`);
|
|
59
66
|
debug('%s is in foreground', bundleId);
|
|
60
67
|
}
|
|
61
68
|
catch (err) {
|
|
@@ -80,7 +87,11 @@ export class Device {
|
|
|
80
87
|
return this.driver.getForegroundApp();
|
|
81
88
|
}
|
|
82
89
|
async installApp(path) {
|
|
83
|
-
|
|
90
|
+
const { installTimeout } = this.opts;
|
|
91
|
+
if (installTimeout === undefined) {
|
|
92
|
+
return this.driver.installApp(path);
|
|
93
|
+
}
|
|
94
|
+
return raceWithTimeout(this.driver.installApp(path), installTimeout, `installApp timed out after ${installTimeout}ms`);
|
|
84
95
|
}
|
|
85
96
|
async uninstallApp(bundleId) {
|
|
86
97
|
return this.driver.uninstallApp(bundleId);
|
package/dist/device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,OAAO,CAAC;AAWhC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAEvC,MAAM,kBAAkB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../src/device.ts"],"names":[],"mappings":"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"}
|
package/dist/expect.d.ts
CHANGED
|
@@ -1,24 +1,55 @@
|
|
|
1
|
-
import type { Locator } from './locator.js';
|
|
1
|
+
import type { Locator, StepFn } from './locator.js';
|
|
2
|
+
import { Page } from './page.js';
|
|
3
|
+
import { WebLocator } from './web-locator.js';
|
|
2
4
|
export interface ExpectOptions {
|
|
3
5
|
timeout?: number;
|
|
4
6
|
}
|
|
5
7
|
/**
|
|
6
|
-
* Playwright-style expect for mobile locators and plain values.
|
|
8
|
+
* Playwright-style expect for mobile locators, web locators, pages, and plain values.
|
|
7
9
|
*
|
|
8
10
|
* Usage:
|
|
9
11
|
* expect(locator).toBeVisible()
|
|
10
|
-
* expect(
|
|
11
|
-
* expect(
|
|
12
|
+
* expect(page).toHaveURL(/dashboard/)
|
|
13
|
+
* expect(webLocator).toHaveText('Hello')
|
|
12
14
|
* expect(42).toBe(42)
|
|
13
15
|
*/
|
|
16
|
+
export declare function expect(actual: Page): PageAssertions;
|
|
17
|
+
export declare function expect(actual: WebLocator): WebLocatorAssertions;
|
|
14
18
|
export declare function expect(actual: Locator): LocatorAssertions;
|
|
15
19
|
export declare function expect<T>(actual: T): ValueAssertions<T>;
|
|
20
|
+
interface LocatorLike {
|
|
21
|
+
isVisible(opts?: {
|
|
22
|
+
timeout?: number;
|
|
23
|
+
}): Promise<boolean>;
|
|
24
|
+
isEnabled(opts?: {
|
|
25
|
+
timeout?: number;
|
|
26
|
+
}): Promise<boolean>;
|
|
27
|
+
isChecked(opts?: {
|
|
28
|
+
timeout?: number;
|
|
29
|
+
}): Promise<boolean>;
|
|
30
|
+
isSelected?(opts?: {
|
|
31
|
+
timeout?: number;
|
|
32
|
+
}): Promise<boolean>;
|
|
33
|
+
isFocused?(opts?: {
|
|
34
|
+
timeout?: number;
|
|
35
|
+
}): Promise<boolean>;
|
|
36
|
+
getText(opts?: {
|
|
37
|
+
timeout?: number;
|
|
38
|
+
}): Promise<string>;
|
|
39
|
+
getValue(opts?: {
|
|
40
|
+
timeout?: number;
|
|
41
|
+
}): Promise<string>;
|
|
42
|
+
count(): Promise<number>;
|
|
43
|
+
expectTimeout?: number;
|
|
44
|
+
_stepFn?: StepFn | null;
|
|
45
|
+
}
|
|
16
46
|
declare class LocatorAssertions {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
constructor(locator:
|
|
47
|
+
protected readonly locator: LocatorLike;
|
|
48
|
+
protected readonly negated: boolean;
|
|
49
|
+
constructor(locator: LocatorLike, negated: boolean);
|
|
20
50
|
get not(): LocatorAssertions;
|
|
21
|
-
private
|
|
51
|
+
private assertionTimeout;
|
|
52
|
+
protected _wrapAssertion<T>(method: string, fn: () => Promise<T>): Promise<T>;
|
|
22
53
|
toBeVisible(opts?: ExpectOptions): Promise<void>;
|
|
23
54
|
toBeHidden(opts?: ExpectOptions): Promise<void>;
|
|
24
55
|
toBeEnabled(opts?: ExpectOptions): Promise<void>;
|
|
@@ -31,9 +62,9 @@ declare class LocatorAssertions {
|
|
|
31
62
|
toHaveCount(expected: number, opts?: ExpectOptions): Promise<void>;
|
|
32
63
|
toBeEmpty(opts?: ExpectOptions): Promise<void>;
|
|
33
64
|
toHaveValue(expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
65
|
+
protected assertBoolean(name: string, poll: () => Promise<boolean>, opts?: ExpectOptions): Promise<void>;
|
|
66
|
+
protected assertText(predicate: (text: string) => boolean, expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
67
|
+
protected retryAssertion<T>(poll: () => Promise<T>, predicate: (value: T) => boolean, timeout: number, failMessage: string | (() => string)): Promise<void>;
|
|
37
68
|
}
|
|
38
69
|
declare class ValueAssertions<T> {
|
|
39
70
|
private readonly actual;
|
|
@@ -64,6 +95,46 @@ declare class ValueAssertions<T> {
|
|
|
64
95
|
toThrow(expected?: string | RegExp): void;
|
|
65
96
|
private assert;
|
|
66
97
|
}
|
|
98
|
+
declare class PageAssertions {
|
|
99
|
+
private readonly page;
|
|
100
|
+
private readonly negated;
|
|
101
|
+
constructor(page: Page, negated: boolean);
|
|
102
|
+
get not(): PageAssertions;
|
|
103
|
+
private _wrapAssertion;
|
|
104
|
+
private matches;
|
|
105
|
+
toHaveURL(url: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
106
|
+
toHaveTitle(title: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
107
|
+
}
|
|
108
|
+
declare class WebLocatorAssertions {
|
|
109
|
+
private readonly webLocator;
|
|
110
|
+
private readonly negated;
|
|
111
|
+
constructor(webLocator: WebLocator, negated: boolean);
|
|
112
|
+
get not(): WebLocatorAssertions;
|
|
113
|
+
private assertionTimeout;
|
|
114
|
+
private runMatcher;
|
|
115
|
+
toBeVisible(opts?: ExpectOptions): Promise<void>;
|
|
116
|
+
toBeHidden(opts?: ExpectOptions): Promise<void>;
|
|
117
|
+
toBeEnabled(opts?: ExpectOptions): Promise<void>;
|
|
118
|
+
toBeDisabled(opts?: ExpectOptions): Promise<void>;
|
|
119
|
+
toBeEditable(opts?: ExpectOptions): Promise<void>;
|
|
120
|
+
toBeFocused(opts?: ExpectOptions): Promise<void>;
|
|
121
|
+
toBeAttached(opts?: ExpectOptions): Promise<void>;
|
|
122
|
+
toBeInViewport(opts?: ExpectOptions & {
|
|
123
|
+
ratio?: number;
|
|
124
|
+
}): Promise<void>;
|
|
125
|
+
toBeChecked(opts?: ExpectOptions): Promise<void>;
|
|
126
|
+
toBeEmpty(opts?: ExpectOptions): Promise<void>;
|
|
127
|
+
toHaveText(expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
128
|
+
toContainText(expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
129
|
+
toHaveValue(expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
130
|
+
toHaveCount(expected: number, opts?: ExpectOptions): Promise<void>;
|
|
131
|
+
toHaveAttribute(name: string, expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
132
|
+
toHaveClass(expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
133
|
+
toContainClass(expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
134
|
+
toHaveCSS(name: string, expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
135
|
+
toHaveId(expected: string | RegExp, opts?: ExpectOptions): Promise<void>;
|
|
136
|
+
toHaveJSProperty(name: string, expected: unknown, opts?: ExpectOptions): Promise<void>;
|
|
137
|
+
}
|
|
67
138
|
export declare class ExpectError extends Error {
|
|
68
139
|
constructor(message: string);
|
|
69
140
|
}
|
package/dist/expect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"expect.d.ts","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"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"}
|
package/dist/expect.js
CHANGED
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
import { LocatorError } from './locator.js';
|
|
2
|
+
import { Page } from './page.js';
|
|
3
|
+
import { WebLocator } from './web-locator.js';
|
|
2
4
|
import { retryUntil } from './poll.js';
|
|
3
|
-
import { filterStack,
|
|
5
|
+
import { filterStack, runStep } from './stackTrace.js';
|
|
6
|
+
import { textValue } from './web-expect-matcher.js';
|
|
4
7
|
const DEFAULT_TIMEOUT = 5_000;
|
|
5
8
|
export function expect(actual) {
|
|
9
|
+
if (actual instanceof Page) {
|
|
10
|
+
return new PageAssertions(actual, false);
|
|
11
|
+
}
|
|
12
|
+
if (actual instanceof WebLocator) {
|
|
13
|
+
return new WebLocatorAssertions(actual, false);
|
|
14
|
+
}
|
|
6
15
|
if (actual && typeof actual === 'object' && 'tap' in actual && 'getText' in actual) {
|
|
7
16
|
return new LocatorAssertions(actual, false);
|
|
8
17
|
}
|
|
9
18
|
return new ValueAssertions(actual, false);
|
|
10
19
|
}
|
|
20
|
+
// Wrap an assertion body as a reporter step titled after the matcher, shared by
|
|
21
|
+
// all assertion classes so the title/negation convention lives in one place.
|
|
22
|
+
function wrapAssertion(stepFn, negated, method, fn) {
|
|
23
|
+
const title = negated ? `expect.not.${method}()` : `expect.${method}()`;
|
|
24
|
+
return runStep(stepFn, title, fn);
|
|
25
|
+
}
|
|
26
|
+
// Poll until `predicate` holds (or the timeout elapses), re-raising any failure
|
|
27
|
+
// as an ExpectError. The predicate must already account for negation.
|
|
28
|
+
async function retryAssertion(poll, predicate, timeout, failMessage) {
|
|
29
|
+
try {
|
|
30
|
+
await retryUntil(poll, predicate, timeout, failMessage);
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
throw new ExpectError(e instanceof Error ? e.message : String(e));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
11
36
|
class LocatorAssertions {
|
|
12
37
|
constructor(locator, negated) {
|
|
13
38
|
this.locator = locator;
|
|
@@ -16,14 +41,11 @@ class LocatorAssertions {
|
|
|
16
41
|
get not() {
|
|
17
42
|
return new LocatorAssertions(this.locator, !this.negated);
|
|
18
43
|
}
|
|
44
|
+
assertionTimeout(opts) {
|
|
45
|
+
return opts?.timeout ?? this.locator.expectTimeout ?? DEFAULT_TIMEOUT;
|
|
46
|
+
}
|
|
19
47
|
_wrapAssertion(method, fn) {
|
|
20
|
-
|
|
21
|
-
const title = this.negated ? `expect.not.${method}()` : `expect.${method}()`;
|
|
22
|
-
if (stepFn) {
|
|
23
|
-
const location = captureLocation();
|
|
24
|
-
return stepFn(title, fn, location);
|
|
25
|
-
}
|
|
26
|
-
return fn();
|
|
48
|
+
return wrapAssertion(this.locator._stepFn, this.negated, method, fn);
|
|
27
49
|
}
|
|
28
50
|
async toBeVisible(opts) {
|
|
29
51
|
return this._wrapAssertion('toBeVisible', async () => {
|
|
@@ -53,12 +75,20 @@ class LocatorAssertions {
|
|
|
53
75
|
}
|
|
54
76
|
async toBeSelected(opts) {
|
|
55
77
|
return this._wrapAssertion('toBeSelected', async () => {
|
|
56
|
-
|
|
78
|
+
const isSelected = this.locator.isSelected?.bind(this.locator);
|
|
79
|
+
if (!isSelected) {
|
|
80
|
+
throw new ExpectError('toBeSelected() is not supported for this locator');
|
|
81
|
+
}
|
|
82
|
+
await this.assertBoolean('selected', () => isSelected({ timeout: 0 }), opts);
|
|
57
83
|
});
|
|
58
84
|
}
|
|
59
85
|
async toBeFocused(opts) {
|
|
60
86
|
return this._wrapAssertion('toBeFocused', async () => {
|
|
61
|
-
|
|
87
|
+
const isFocused = this.locator.isFocused?.bind(this.locator);
|
|
88
|
+
if (!isFocused) {
|
|
89
|
+
throw new ExpectError('toBeFocused() is not supported for this locator');
|
|
90
|
+
}
|
|
91
|
+
await this.assertBoolean('focused', () => isFocused({ timeout: 0 }), opts);
|
|
62
92
|
});
|
|
63
93
|
}
|
|
64
94
|
async toBeChecked(opts) {
|
|
@@ -82,7 +112,7 @@ class LocatorAssertions {
|
|
|
82
112
|
await this.retryAssertion(async () => { lastCount = await this.locator.count(); return lastCount; }, (count) => {
|
|
83
113
|
const matches = count === expected;
|
|
84
114
|
return this.negated ? !matches : matches;
|
|
85
|
-
}, opts
|
|
115
|
+
}, this.assertionTimeout(opts), () => this.negated
|
|
86
116
|
? `Expected element count NOT to be ${expected}, but got ${lastCount}`
|
|
87
117
|
: `Expected element count to be ${expected}, but got ${lastCount}`);
|
|
88
118
|
});
|
|
@@ -107,7 +137,7 @@ class LocatorAssertions {
|
|
|
107
137
|
}
|
|
108
138
|
const isEmpty = value === '';
|
|
109
139
|
return this.negated ? !isEmpty : isEmpty;
|
|
110
|
-
}, opts
|
|
140
|
+
}, this.assertionTimeout(opts), () => this.negated
|
|
111
141
|
? 'Expected element NOT to be empty, but it was'
|
|
112
142
|
: `Expected element to be empty, but got "${lastValue}"`);
|
|
113
143
|
});
|
|
@@ -132,13 +162,13 @@ class LocatorAssertions {
|
|
|
132
162
|
}
|
|
133
163
|
const matches = expected instanceof RegExp ? expected.test(value) : value === expected;
|
|
134
164
|
return this.negated ? !matches : matches;
|
|
135
|
-
}, opts
|
|
165
|
+
}, this.assertionTimeout(opts), () => this.negated
|
|
136
166
|
? `Expected element NOT to have value "${expected}", but got "${lastValue}"`
|
|
137
167
|
: `Expected element to have value "${expected}", but got "${lastValue}"`);
|
|
138
168
|
});
|
|
139
169
|
}
|
|
140
170
|
async assertBoolean(name, poll, opts) {
|
|
141
|
-
await this.retryAssertion(poll, (result) => (this.negated ? !result : result), opts
|
|
171
|
+
await this.retryAssertion(poll, (result) => (this.negated ? !result : result), this.assertionTimeout(opts), this.negated
|
|
142
172
|
? `Expected element to NOT be ${name}, but it was`
|
|
143
173
|
: `Expected element to be ${name}, but it was not`);
|
|
144
174
|
}
|
|
@@ -161,17 +191,12 @@ class LocatorAssertions {
|
|
|
161
191
|
}
|
|
162
192
|
const matches = predicate(text);
|
|
163
193
|
return this.negated ? !matches : matches;
|
|
164
|
-
}, opts
|
|
194
|
+
}, this.assertionTimeout(opts), () => this.negated
|
|
165
195
|
? `Expected element NOT to have text "${expected}", but got "${lastText}"`
|
|
166
196
|
: `Expected element to have text "${expected}", but got "${lastText}"`);
|
|
167
197
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
await retryUntil(poll, predicate, timeout, failMessage);
|
|
171
|
-
}
|
|
172
|
-
catch (e) {
|
|
173
|
-
throw new ExpectError(e instanceof Error ? e.message : String(e));
|
|
174
|
-
}
|
|
198
|
+
retryAssertion(poll, predicate, timeout, failMessage) {
|
|
199
|
+
return retryAssertion(poll, predicate, timeout, failMessage);
|
|
175
200
|
}
|
|
176
201
|
}
|
|
177
202
|
class ValueAssertions {
|
|
@@ -297,6 +322,140 @@ class ValueAssertions {
|
|
|
297
322
|
}
|
|
298
323
|
}
|
|
299
324
|
}
|
|
325
|
+
// ─── PageAssertions ───────────────────────────────────────────
|
|
326
|
+
class PageAssertions {
|
|
327
|
+
constructor(page, negated) {
|
|
328
|
+
this.page = page;
|
|
329
|
+
this.negated = negated;
|
|
330
|
+
}
|
|
331
|
+
get not() {
|
|
332
|
+
return new PageAssertions(this.page, !this.negated);
|
|
333
|
+
}
|
|
334
|
+
_wrapAssertion(method, fn) {
|
|
335
|
+
return wrapAssertion(this.page._stepFn, this.negated, method, fn);
|
|
336
|
+
}
|
|
337
|
+
// Applies negation so callers pass the plain "does it match?" predicate.
|
|
338
|
+
matches(pass) {
|
|
339
|
+
return this.negated ? !pass : pass;
|
|
340
|
+
}
|
|
341
|
+
async toHaveURL(url, opts) {
|
|
342
|
+
return this._wrapAssertion('toHaveURL', async () => {
|
|
343
|
+
let last = '';
|
|
344
|
+
await retryAssertion(async () => { try {
|
|
345
|
+
last = await this.page.url();
|
|
346
|
+
}
|
|
347
|
+
catch {
|
|
348
|
+
last = '';
|
|
349
|
+
} return last; }, (current) => this.matches(url instanceof RegExp ? url.test(current) : current === url), opts?.timeout ?? DEFAULT_TIMEOUT, () => `Expected page URL to ${this.negated ? 'not ' : ''}match "${url}", but got "${last}"`);
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
async toHaveTitle(title, opts) {
|
|
353
|
+
return this._wrapAssertion('toHaveTitle', async () => {
|
|
354
|
+
let last = '';
|
|
355
|
+
await retryAssertion(async () => { try {
|
|
356
|
+
last = await this.page.title();
|
|
357
|
+
}
|
|
358
|
+
catch {
|
|
359
|
+
last = '';
|
|
360
|
+
} return last; }, (current) => this.matches(title instanceof RegExp ? title.test(current) : current === title), opts?.timeout ?? DEFAULT_TIMEOUT, () => `Expected page title to ${this.negated ? 'not ' : ''}match "${title}", but got "${last}"`);
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
// ─── WebLocatorAssertions ─────────────────────────────────────
|
|
365
|
+
// Standalone: every web matcher routes through Playwright's injected expect()
|
|
366
|
+
// (window.__mwInjected.expect) for byte-exact matcher semantics. Native
|
|
367
|
+
// LocatorAssertions and PageAssertions are unaffected.
|
|
368
|
+
class WebLocatorAssertions {
|
|
369
|
+
constructor(webLocator, negated) {
|
|
370
|
+
this.webLocator = webLocator;
|
|
371
|
+
this.negated = negated;
|
|
372
|
+
}
|
|
373
|
+
get not() {
|
|
374
|
+
return new WebLocatorAssertions(this.webLocator, !this.negated);
|
|
375
|
+
}
|
|
376
|
+
assertionTimeout(opts) {
|
|
377
|
+
return opts?.timeout ?? this.webLocator.expectTimeout ?? DEFAULT_TIMEOUT;
|
|
378
|
+
}
|
|
379
|
+
// Poll the injected matcher until matches !== isNot, or throw ExpectError.
|
|
380
|
+
runMatcher(method, params, opts) {
|
|
381
|
+
return wrapAssertion(this.webLocator._stepFn, this.negated, method, async () => {
|
|
382
|
+
const isNot = this.negated;
|
|
383
|
+
let received;
|
|
384
|
+
let missingReceived = false;
|
|
385
|
+
await retryAssertion(async () => {
|
|
386
|
+
const result = await this.webLocator._runInjectedExpect({ ...params, isNot, timeout: 0 });
|
|
387
|
+
received = result.received;
|
|
388
|
+
missingReceived = result.missingReceived ?? false;
|
|
389
|
+
return result.matches;
|
|
390
|
+
}, (matches) => matches !== isNot, this.assertionTimeout(opts), () => {
|
|
391
|
+
const got = missingReceived ? 'no element' : fmt(received);
|
|
392
|
+
return isNot
|
|
393
|
+
? `Expected ${method} NOT to match, but it did (received ${got})`
|
|
394
|
+
: `Expected ${method} to match, but it did not (received ${got})`;
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
toBeVisible(opts) {
|
|
399
|
+
return this.runMatcher('toBeVisible', { expression: 'to.be.visible' }, opts);
|
|
400
|
+
}
|
|
401
|
+
toBeHidden(opts) {
|
|
402
|
+
return this.runMatcher('toBeHidden', { expression: 'to.be.hidden' }, opts);
|
|
403
|
+
}
|
|
404
|
+
toBeEnabled(opts) {
|
|
405
|
+
return this.runMatcher('toBeEnabled', { expression: 'to.be.enabled' }, opts);
|
|
406
|
+
}
|
|
407
|
+
toBeDisabled(opts) {
|
|
408
|
+
return this.runMatcher('toBeDisabled', { expression: 'to.be.disabled' }, opts);
|
|
409
|
+
}
|
|
410
|
+
toBeEditable(opts) {
|
|
411
|
+
return this.runMatcher('toBeEditable', { expression: 'to.be.editable' }, opts);
|
|
412
|
+
}
|
|
413
|
+
toBeFocused(opts) {
|
|
414
|
+
return this.runMatcher('toBeFocused', { expression: 'to.be.focused' }, opts);
|
|
415
|
+
}
|
|
416
|
+
toBeAttached(opts) {
|
|
417
|
+
return this.runMatcher('toBeAttached', { expression: 'to.be.attached' }, opts);
|
|
418
|
+
}
|
|
419
|
+
toBeInViewport(opts) {
|
|
420
|
+
return this.runMatcher('toBeInViewport', { expression: 'to.be.in.viewport', expectedNumber: opts?.ratio }, opts);
|
|
421
|
+
}
|
|
422
|
+
toBeChecked(opts) {
|
|
423
|
+
return this.runMatcher('toBeChecked', { expression: 'to.be.checked', expectedValue: { checked: true, indeterminate: false } }, opts);
|
|
424
|
+
}
|
|
425
|
+
toBeEmpty(opts) {
|
|
426
|
+
return this.runMatcher('toBeEmpty', { expression: 'to.be.empty' }, opts);
|
|
427
|
+
}
|
|
428
|
+
toHaveText(expected, opts) {
|
|
429
|
+
return this.runMatcher('toHaveText', { expression: 'to.have.text', expectedText: [textValue(expected, { normalizeWhiteSpace: true })] }, opts);
|
|
430
|
+
}
|
|
431
|
+
toContainText(expected, opts) {
|
|
432
|
+
return this.runMatcher('toContainText', { expression: 'to.have.text', expectedText: [textValue(expected, { normalizeWhiteSpace: true, matchSubstring: true })] }, opts);
|
|
433
|
+
}
|
|
434
|
+
toHaveValue(expected, opts) {
|
|
435
|
+
return this.runMatcher('toHaveValue', { expression: 'to.have.value', expectedText: [textValue(expected)] }, opts);
|
|
436
|
+
}
|
|
437
|
+
toHaveCount(expected, opts) {
|
|
438
|
+
return this.runMatcher('toHaveCount', { expression: 'to.have.count', expectedNumber: expected }, opts);
|
|
439
|
+
}
|
|
440
|
+
toHaveAttribute(name, expected, opts) {
|
|
441
|
+
return this.runMatcher('toHaveAttribute', { expression: 'to.have.attribute.value', expressionArg: name, expectedText: [textValue(expected)] }, opts);
|
|
442
|
+
}
|
|
443
|
+
toHaveClass(expected, opts) {
|
|
444
|
+
return this.runMatcher('toHaveClass', { expression: 'to.have.class', expectedText: [textValue(expected)] }, opts);
|
|
445
|
+
}
|
|
446
|
+
toContainClass(expected, opts) {
|
|
447
|
+
return this.runMatcher('toContainClass', { expression: 'to.contain.class', expectedText: [textValue(expected)] }, opts);
|
|
448
|
+
}
|
|
449
|
+
toHaveCSS(name, expected, opts) {
|
|
450
|
+
return this.runMatcher('toHaveCSS', { expression: 'to.have.css', expressionArg: name, expectedText: [textValue(expected)] }, opts);
|
|
451
|
+
}
|
|
452
|
+
toHaveId(expected, opts) {
|
|
453
|
+
return this.runMatcher('toHaveId', { expression: 'to.have.id', expectedText: [textValue(expected)] }, opts);
|
|
454
|
+
}
|
|
455
|
+
toHaveJSProperty(name, expected, opts) {
|
|
456
|
+
return this.runMatcher('toHaveJSProperty', { expression: 'to.have.property', expressionArg: name, expectedValue: expected }, opts);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
300
459
|
function fmt(value) {
|
|
301
460
|
return typeof value === 'string' ? `"${value}"` : String(value);
|
|
302
461
|
}
|
package/dist/expect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expect.js","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expect.js","sourceRoot":"","sources":["../src/expect.ts"],"names":[],"mappings":"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"}
|
package/dist/expect.test.js
CHANGED
|
@@ -628,4 +628,21 @@ test.describe('expect', () => {
|
|
|
628
628
|
});
|
|
629
629
|
});
|
|
630
630
|
});
|
|
631
|
+
test('toBeVisible uses expectTimeout from locator options as default', async () => {
|
|
632
|
+
const driver = createMockDriver([node({ type: 'Button', label: 'Submit', isVisible: false })]);
|
|
633
|
+
const locator = Locator.root(driver, { expectTimeout: 100 }).getByLabel('Submit');
|
|
634
|
+
const start = Date.now();
|
|
635
|
+
await expect(mwExpect(locator).toBeVisible()).rejects.toThrow();
|
|
636
|
+
const elapsed = Date.now() - start;
|
|
637
|
+
expect(elapsed).toBeGreaterThanOrEqual(90);
|
|
638
|
+
expect(elapsed).toBeLessThan(1_000);
|
|
639
|
+
});
|
|
640
|
+
test('per-call timeout overrides expectTimeout from locator options', async () => {
|
|
641
|
+
const driver = createMockDriver([node({ type: 'Button', label: 'Submit', isVisible: false })]);
|
|
642
|
+
const locator = Locator.root(driver, { expectTimeout: 5_000 }).getByLabel('Submit');
|
|
643
|
+
const start = Date.now();
|
|
644
|
+
await expect(mwExpect(locator).toBeVisible({ timeout: 100 })).rejects.toThrow();
|
|
645
|
+
const elapsed = Date.now() - start;
|
|
646
|
+
expect(elapsed).toBeLessThan(1_000);
|
|
647
|
+
});
|
|
631
648
|
//# sourceMappingURL=expect.test.js.map
|