@gtkx/testing 0.20.0 → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +122 -55
- package/dist/act.d.ts +19 -0
- package/dist/act.d.ts.map +1 -0
- package/dist/act.js +48 -0
- package/dist/act.js.map +1 -0
- package/dist/bound-queries.d.ts +32 -0
- package/dist/bound-queries.d.ts.map +1 -0
- package/dist/bound-queries.js +2 -0
- package/dist/bound-queries.js.map +1 -0
- package/dist/build-queries.d.ts +16 -0
- package/dist/build-queries.d.ts.map +1 -0
- package/dist/build-queries.js +103 -0
- package/dist/build-queries.js.map +1 -0
- package/dist/cleanup-registry.d.ts +4 -0
- package/dist/cleanup-registry.d.ts.map +1 -0
- package/dist/cleanup-registry.js +11 -0
- package/dist/cleanup-registry.js.map +1 -0
- package/dist/config.d.ts +18 -51
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -40
- package/dist/config.js.map +1 -1
- package/dist/editable.d.ts +7 -0
- package/dist/editable.d.ts.map +1 -0
- package/dist/editable.js +24 -0
- package/dist/editable.js.map +1 -0
- package/dist/errors.d.ts +29 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +119 -0
- package/dist/errors.js.map +1 -0
- package/dist/fire-event.d.ts +7 -25
- package/dist/fire-event.d.ts.map +1 -1
- package/dist/fire-event.js +9 -29
- package/dist/fire-event.js.map +1 -1
- package/dist/frame-sync.d.ts +3 -0
- package/dist/frame-sync.d.ts.map +1 -0
- package/dist/frame-sync.js +30 -0
- package/dist/frame-sync.js.map +1 -0
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/matchers.d.ts +55 -0
- package/dist/matchers.d.ts.map +1 -0
- package/dist/matchers.js +103 -0
- package/dist/matchers.js.map +1 -0
- package/dist/pretty-widget.d.ts +21 -25
- package/dist/pretty-widget.d.ts.map +1 -1
- package/dist/pretty-widget.js +69 -115
- package/dist/pretty-widget.js.map +1 -1
- package/dist/queries.d.ts +130 -177
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +212 -325
- package/dist/queries.js.map +1 -1
- package/dist/register-test-hooks.d.ts +2 -0
- package/dist/register-test-hooks.d.ts.map +1 -0
- package/dist/register-test-hooks.js +15 -0
- package/dist/register-test-hooks.js.map +1 -0
- package/dist/render-hook.d.ts +14 -35
- package/dist/render-hook.d.ts.map +1 -1
- package/dist/render-hook.js +8 -45
- package/dist/render-hook.js.map +1 -1
- package/dist/render.d.ts +11 -41
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +129 -118
- package/dist/render.js.map +1 -1
- package/dist/role-helpers.d.ts +16 -51
- package/dist/role-helpers.d.ts.map +1 -1
- package/dist/role-helpers.js +39 -58
- package/dist/role-helpers.js.map +1 -1
- package/dist/screen.d.ts +6 -63
- package/dist/screen.d.ts.map +1 -1
- package/dist/screen.js +21 -109
- package/dist/screen.js.map +1 -1
- package/dist/screenshot.d.ts +20 -23
- package/dist/screenshot.d.ts.map +1 -1
- package/dist/screenshot.js +89 -48
- package/dist/screenshot.js.map +1 -1
- package/dist/suggestions.d.ts +22 -0
- package/dist/suggestions.d.ts.map +1 -0
- package/dist/suggestions.js +56 -0
- package/dist/suggestions.js.map +1 -0
- package/dist/traversal.d.ts +10 -8
- package/dist/traversal.d.ts.map +1 -1
- package/dist/traversal.js +28 -13
- package/dist/traversal.js.map +1 -1
- package/dist/types.d.ts +103 -172
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/user-event/adjustment.d.ts +8 -0
- package/dist/user-event/adjustment.d.ts.map +1 -0
- package/dist/user-event/adjustment.js +33 -0
- package/dist/user-event/adjustment.js.map +1 -0
- package/dist/user-event/click.d.ts +7 -0
- package/dist/user-event/click.d.ts.map +1 -0
- package/dist/user-event/click.js +65 -0
- package/dist/user-event/click.js.map +1 -0
- package/dist/user-event/controller.d.ts +7 -0
- package/dist/user-event/controller.d.ts.map +1 -0
- package/dist/user-event/controller.js +28 -0
- package/dist/user-event/controller.js.map +1 -0
- package/dist/user-event/dispatch.d.ts +7 -0
- package/dist/user-event/dispatch.d.ts.map +1 -0
- package/dist/user-event/dispatch.js +10 -0
- package/dist/user-event/dispatch.js.map +1 -0
- package/dist/user-event/event-wrapper.d.ts +3 -0
- package/dist/user-event/event-wrapper.d.ts.map +1 -0
- package/dist/user-event/event-wrapper.js +48 -0
- package/dist/user-event/event-wrapper.js.map +1 -0
- package/dist/user-event/gesture.d.ts +31 -0
- package/dist/user-event/gesture.d.ts.map +1 -0
- package/dist/user-event/gesture.js +105 -0
- package/dist/user-event/gesture.js.map +1 -0
- package/dist/user-event/index.d.ts +44 -0
- package/dist/user-event/index.d.ts.map +1 -0
- package/dist/user-event/index.js +38 -0
- package/dist/user-event/index.js.map +1 -0
- package/dist/user-event/keyboard.d.ts +9 -0
- package/dist/user-event/keyboard.d.ts.map +1 -0
- package/dist/user-event/keyboard.js +173 -0
- package/dist/user-event/keyboard.js.map +1 -0
- package/dist/user-event/pointer.d.ts +6 -0
- package/dist/user-event/pointer.d.ts.map +1 -0
- package/dist/user-event/pointer.js +27 -0
- package/dist/user-event/pointer.js.map +1 -0
- package/dist/user-event/selection.d.ts +4 -0
- package/dist/user-event/selection.d.ts.map +1 -0
- package/dist/user-event/selection.js +106 -0
- package/dist/user-event/selection.js.map +1 -0
- package/dist/user-event/state.d.ts +6 -0
- package/dist/user-event/state.d.ts.map +1 -0
- package/dist/user-event/state.js +2 -0
- package/dist/user-event/state.js.map +1 -0
- package/dist/user-event/text.d.ts +17 -0
- package/dist/user-event/text.d.ts.map +1 -0
- package/dist/user-event/text.js +107 -0
- package/dist/user-event/text.js.map +1 -0
- package/dist/wait-for.d.ts +13 -32
- package/dist/wait-for.d.ts.map +1 -1
- package/dist/wait-for.js +62 -73
- package/dist/wait-for.js.map +1 -1
- package/dist/widget-accessible-properties.d.ts +33 -0
- package/dist/widget-accessible-properties.d.ts.map +1 -0
- package/dist/widget-accessible-properties.js +215 -0
- package/dist/widget-accessible-properties.js.map +1 -0
- package/dist/within.d.ts +9 -26
- package/dist/within.d.ts.map +1 -1
- package/dist/within.js +15 -25
- package/dist/within.js.map +1 -1
- package/package.json +21 -12
- package/src/act.ts +68 -0
- package/src/bound-queries.ts +36 -0
- package/src/build-queries.ts +185 -0
- package/src/cleanup-registry.ts +14 -0
- package/src/config.ts +28 -59
- package/src/editable.ts +30 -0
- package/src/errors.ts +130 -0
- package/src/fire-event.ts +11 -38
- package/src/frame-sync.ts +34 -0
- package/src/index.ts +60 -18
- package/src/matchers.ts +200 -0
- package/src/pretty-widget.ts +99 -138
- package/src/queries.ts +321 -425
- package/src/register-test-hooks.ts +16 -0
- package/src/render-hook.tsx +31 -44
- package/src/render.tsx +161 -149
- package/src/role-helpers.ts +47 -67
- package/src/screen.ts +21 -114
- package/src/screenshot.ts +104 -55
- package/src/suggestions.ts +87 -0
- package/src/traversal.ts +32 -18
- package/src/types.ts +115 -176
- package/src/user-event/adjustment.ts +49 -0
- package/src/user-event/click.ts +70 -0
- package/src/user-event/controller.ts +44 -0
- package/src/user-event/dispatch.ts +23 -0
- package/src/user-event/event-wrapper.ts +54 -0
- package/src/user-event/gesture.ts +154 -0
- package/src/user-event/index.ts +74 -0
- package/src/user-event/keyboard.ts +204 -0
- package/src/user-event/pointer.ts +34 -0
- package/src/user-event/selection.ts +122 -0
- package/src/user-event/state.ts +6 -0
- package/src/user-event/text.ts +137 -0
- package/src/wait-for.ts +79 -80
- package/src/widget-accessible-properties.ts +244 -0
- package/src/within.ts +26 -27
- package/dist/bind-queries.d.ts +0 -14
- package/dist/bind-queries.d.ts.map +0 -1
- package/dist/bind-queries.js +0 -29
- package/dist/bind-queries.js.map +0 -1
- package/dist/error-builder.d.ts +0 -28
- package/dist/error-builder.d.ts.map +0 -1
- package/dist/error-builder.js +0 -81
- package/dist/error-builder.js.map +0 -1
- package/dist/timing.d.ts +0 -18
- package/dist/timing.d.ts.map +0 -1
- package/dist/timing.js +0 -18
- package/dist/timing.js.map +0 -1
- package/dist/user-event.d.ts +0 -138
- package/dist/user-event.d.ts.map +0 -1
- package/dist/user-event.js +0 -411
- package/dist/user-event.js.map +0 -1
- package/dist/widget-text.d.ts +0 -69
- package/dist/widget-text.d.ts.map +0 -1
- package/dist/widget-text.js +0 -177
- package/dist/widget-text.js.map +0 -1
- package/dist/widget.d.ts +0 -3
- package/dist/widget.d.ts.map +0 -1
- package/dist/widget.js +0 -13
- package/dist/widget.js.map +0 -1
- package/src/bind-queries.ts +0 -52
- package/src/error-builder.ts +0 -102
- package/src/timing.ts +0 -17
- package/src/user-event.ts +0 -492
- package/src/widget-text.ts +0 -202
- package/src/widget.ts +0 -15
package/dist/bind-queries.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bind-queries.js","sourceRoot":"","sources":["../src/bind-queries.ts"],"names":[],"mappings":"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"}
|
package/dist/error-builder.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type * as Gtk from "@gtkx/ffi/gtk";
|
|
2
|
-
import type { Container } from "./traversal.js";
|
|
3
|
-
import type { ByRoleOptions, TextMatch } from "./types.js";
|
|
4
|
-
type QueryType = "role" | "text" | "labelText" | "testId";
|
|
5
|
-
/**
|
|
6
|
-
* Builds an error for when no elements match a query.
|
|
7
|
-
*/
|
|
8
|
-
export declare const buildNotFoundError: (container: Container, queryType: QueryType, args: {
|
|
9
|
-
role?: Gtk.AccessibleRole;
|
|
10
|
-
text?: TextMatch;
|
|
11
|
-
testId?: TextMatch;
|
|
12
|
-
options?: ByRoleOptions;
|
|
13
|
-
}) => Error;
|
|
14
|
-
/**
|
|
15
|
-
* Builds an error for when multiple elements match a query but only one was expected.
|
|
16
|
-
*/
|
|
17
|
-
export declare const buildMultipleFoundError: (container: Container, queryType: QueryType, args: {
|
|
18
|
-
role?: Gtk.AccessibleRole;
|
|
19
|
-
text?: TextMatch;
|
|
20
|
-
testId?: TextMatch;
|
|
21
|
-
options?: ByRoleOptions;
|
|
22
|
-
}, count: number) => Error;
|
|
23
|
-
/**
|
|
24
|
-
* Builds a timeout error with the last query error message.
|
|
25
|
-
*/
|
|
26
|
-
export declare const buildTimeoutError: (timeout: number, lastError: Error | null) => Error;
|
|
27
|
-
export {};
|
|
28
|
-
//# sourceMappingURL=error-builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-builder.d.ts","sourceRoot":"","sources":["../src/error-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,eAAe,CAAC;AAI1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE3D,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAuC1D;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC3B,WAAW,SAAS,EACpB,WAAW,SAAS,EACpB,MAAM;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,aAAa,CAAA;CAAE,KACnG,KAiBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAChC,WAAW,SAAS,EACpB,WAAW,SAAS,EACpB,MAAM;IAAE,IAAI,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,aAAa,CAAA;CAAE,EAClG,OAAO,MAAM,KACd,KAUF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,EAAE,WAAW,KAAK,GAAG,IAAI,KAAG,KAM5E,CAAC"}
|
package/dist/error-builder.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { getConfig } from "./config.js";
|
|
2
|
-
import { prettyWidget } from "./pretty-widget.js";
|
|
3
|
-
import { formatRole, prettyRoles } from "./role-helpers.js";
|
|
4
|
-
const formatTextMatcher = (text) => {
|
|
5
|
-
if (typeof text === "function") {
|
|
6
|
-
return "custom function";
|
|
7
|
-
}
|
|
8
|
-
if (text instanceof RegExp) {
|
|
9
|
-
return text.toString();
|
|
10
|
-
}
|
|
11
|
-
return `'${text}'`;
|
|
12
|
-
};
|
|
13
|
-
const formatByRoleDescription = (role, options) => {
|
|
14
|
-
const parts = [`role '${formatRole(role).toUpperCase()}'`];
|
|
15
|
-
if (options?.name)
|
|
16
|
-
parts.push(`name ${formatTextMatcher(options.name)}`);
|
|
17
|
-
if (options?.checked !== undefined)
|
|
18
|
-
parts.push(`checked=${options.checked}`);
|
|
19
|
-
if (options?.pressed !== undefined)
|
|
20
|
-
parts.push(`pressed=${options.pressed}`);
|
|
21
|
-
if (options?.selected !== undefined)
|
|
22
|
-
parts.push(`selected=${options.selected}`);
|
|
23
|
-
if (options?.expanded !== undefined)
|
|
24
|
-
parts.push(`expanded=${options.expanded}`);
|
|
25
|
-
if (options?.level !== undefined)
|
|
26
|
-
parts.push(`level=${options.level}`);
|
|
27
|
-
return parts.join(" and ");
|
|
28
|
-
};
|
|
29
|
-
const formatQueryDescription = (queryType, args) => {
|
|
30
|
-
switch (queryType) {
|
|
31
|
-
case "role":
|
|
32
|
-
return formatByRoleDescription(args.role, args.options);
|
|
33
|
-
case "text":
|
|
34
|
-
return `text ${formatTextMatcher(args.text)}`;
|
|
35
|
-
case "labelText":
|
|
36
|
-
return `label text ${formatTextMatcher(args.text)}`;
|
|
37
|
-
case "testId":
|
|
38
|
-
return `test id ${formatTextMatcher(args.testId)}`;
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Builds an error for when no elements match a query.
|
|
43
|
-
*/
|
|
44
|
-
export const buildNotFoundError = (container, queryType, args) => {
|
|
45
|
-
const config = getConfig();
|
|
46
|
-
const description = formatQueryDescription(queryType, args);
|
|
47
|
-
const lines = [`Unable to find an element with ${description}`];
|
|
48
|
-
if (config.showSuggestions && queryType === "role") {
|
|
49
|
-
lines.push("");
|
|
50
|
-
lines.push("Here are the accessible roles:");
|
|
51
|
-
lines.push("");
|
|
52
|
-
lines.push(prettyRoles(container));
|
|
53
|
-
}
|
|
54
|
-
lines.push("");
|
|
55
|
-
lines.push(prettyWidget(container, { highlight: false }));
|
|
56
|
-
const message = lines.join("\n");
|
|
57
|
-
return config.getElementError(message, container);
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Builds an error for when multiple elements match a query but only one was expected.
|
|
61
|
-
*/
|
|
62
|
-
export const buildMultipleFoundError = (container, queryType, args, count) => {
|
|
63
|
-
const config = getConfig();
|
|
64
|
-
const description = formatQueryDescription(queryType, args);
|
|
65
|
-
const lines = [`Found ${count} elements with ${description}, but expected only one`];
|
|
66
|
-
lines.push("");
|
|
67
|
-
lines.push(prettyWidget(container, { highlight: false }));
|
|
68
|
-
const message = lines.join("\n");
|
|
69
|
-
return config.getElementError(message, container);
|
|
70
|
-
};
|
|
71
|
-
/**
|
|
72
|
-
* Builds a timeout error with the last query error message.
|
|
73
|
-
*/
|
|
74
|
-
export const buildTimeoutError = (timeout, lastError) => {
|
|
75
|
-
const baseMessage = `Timed out after ${timeout}ms`;
|
|
76
|
-
if (lastError) {
|
|
77
|
-
return new Error(`${baseMessage}.\n\n${lastError.message}`);
|
|
78
|
-
}
|
|
79
|
-
return new Error(baseMessage);
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=error-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-builder.js","sourceRoot":"","sources":["../src/error-builder.ts"],"names":[],"mappings":"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"}
|
package/dist/timing.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Yields to the event loop, allowing pending GTK events to process.
|
|
3
|
-
*
|
|
4
|
-
* Use this after actions that trigger async widget updates.
|
|
5
|
-
*
|
|
6
|
-
* @returns Promise that resolves on the next event loop tick
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```tsx
|
|
10
|
-
* import { tick } from "@gtkx/testing";
|
|
11
|
-
*
|
|
12
|
-
* widget.setSensitive(false);
|
|
13
|
-
* await tick(); // Wait for GTK to process the change
|
|
14
|
-
* expect(widget.getSensitive()).toBe(false);
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export declare const tick: () => Promise<void>;
|
|
18
|
-
//# sourceMappingURL=timing.d.ts.map
|
package/dist/timing.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,QAAO,OAAO,CAAC,IAAI,CAAqD,CAAC"}
|
package/dist/timing.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Yields to the event loop, allowing pending GTK events to process.
|
|
3
|
-
*
|
|
4
|
-
* Use this after actions that trigger async widget updates.
|
|
5
|
-
*
|
|
6
|
-
* @returns Promise that resolves on the next event loop tick
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```tsx
|
|
10
|
-
* import { tick } from "@gtkx/testing";
|
|
11
|
-
*
|
|
12
|
-
* widget.setSensitive(false);
|
|
13
|
-
* await tick(); // Wait for GTK to process the change
|
|
14
|
-
* expect(widget.getSensitive()).toBe(false);
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export const tick = () => new Promise((resolve) => setTimeout(resolve, 0));
|
|
18
|
-
//# sourceMappingURL=timing.js.map
|
package/dist/timing.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,GAAkB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/user-event.d.ts
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import * as Gtk from "@gtkx/ffi/gtk";
|
|
2
|
-
/**
|
|
3
|
-
* Options for tab navigation.
|
|
4
|
-
*/
|
|
5
|
-
export type TabOptions = {
|
|
6
|
-
/** Navigate backwards (Shift+Tab) instead of forwards */
|
|
7
|
-
shift?: boolean;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Pointer input actions for simulating mouse interactions.
|
|
11
|
-
*
|
|
12
|
-
* - `"click"` or `"[MouseLeft]"`: Full click (press + release)
|
|
13
|
-
* - `"down"` or `"[MouseLeft>]"`: Press and hold
|
|
14
|
-
* - `"up"` or `"[/MouseLeft]"`: Release
|
|
15
|
-
*/
|
|
16
|
-
export type PointerInput = "click" | "down" | "up" | "[MouseLeft]" | "[MouseLeft>]" | "[/MouseLeft]";
|
|
17
|
-
/**
|
|
18
|
-
* User interaction utilities for testing.
|
|
19
|
-
*
|
|
20
|
-
* Simulates user actions like clicking, typing, and selecting.
|
|
21
|
-
* All methods are async and wait for GTK event processing.
|
|
22
|
-
*
|
|
23
|
-
* @example
|
|
24
|
-
* ```tsx
|
|
25
|
-
* import { render, screen, userEvent } from "@gtkx/testing";
|
|
26
|
-
*
|
|
27
|
-
* test("form submission", async () => {
|
|
28
|
-
* await render(<LoginForm />);
|
|
29
|
-
*
|
|
30
|
-
* const input = await screen.findByRole(Gtk.AccessibleRole.TEXT_BOX);
|
|
31
|
-
* await userEvent.type(input, "username");
|
|
32
|
-
*
|
|
33
|
-
* const button = await screen.findByRole(Gtk.AccessibleRole.BUTTON);
|
|
34
|
-
* await userEvent.click(button);
|
|
35
|
-
* });
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export declare const userEvent: {
|
|
39
|
-
/**
|
|
40
|
-
* Activates a widget.
|
|
41
|
-
*
|
|
42
|
-
* Uses GTK's native {@link Gtk.Widget.activate} to trigger the widget's
|
|
43
|
-
* default action — clicking buttons, toggling checkboxes/switches, etc.
|
|
44
|
-
*/
|
|
45
|
-
click: (element: Gtk.Widget) => Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Double-clicks a widget.
|
|
48
|
-
*
|
|
49
|
-
* Emits pressed/released signals with n_press=1, then n_press=2.
|
|
50
|
-
*/
|
|
51
|
-
dblClick: (element: Gtk.Widget) => Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Triple-clicks a widget.
|
|
54
|
-
*
|
|
55
|
-
* Emits pressed/released signals with n_press=1, 2, then 3. Useful for text selection.
|
|
56
|
-
*/
|
|
57
|
-
tripleClick: (element: Gtk.Widget) => Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* Simulates Tab key navigation.
|
|
60
|
-
*
|
|
61
|
-
* @param element - Starting element
|
|
62
|
-
* @param options - Use `shift: true` for backwards navigation
|
|
63
|
-
*/
|
|
64
|
-
tab: (element: Gtk.Widget, options?: TabOptions) => Promise<void>;
|
|
65
|
-
/**
|
|
66
|
-
* Types text into an editable widget.
|
|
67
|
-
*
|
|
68
|
-
* Appends text to the current content. Works with Entry, SearchEntry,
|
|
69
|
-
* and SpinButton widgets.
|
|
70
|
-
*
|
|
71
|
-
* @param element - The editable widget
|
|
72
|
-
* @param text - Text to type
|
|
73
|
-
*/
|
|
74
|
-
type: (element: Gtk.Widget, text: string) => Promise<void>;
|
|
75
|
-
/**
|
|
76
|
-
* Clears an editable widget's content.
|
|
77
|
-
*
|
|
78
|
-
* Sets the text to empty string.
|
|
79
|
-
*/
|
|
80
|
-
clear: (element: Gtk.Widget) => Promise<void>;
|
|
81
|
-
/**
|
|
82
|
-
* Selects options in a dropdown or list.
|
|
83
|
-
*
|
|
84
|
-
* Works with DropDown, ComboBox, ListBox, ListView, GridView, and ColumnView.
|
|
85
|
-
*
|
|
86
|
-
* @param element - The selectable widget
|
|
87
|
-
* @param values - Index or array of indices to select
|
|
88
|
-
*/
|
|
89
|
-
selectOptions: (element: Gtk.Widget, values: number | number[]) => Promise<void>;
|
|
90
|
-
/**
|
|
91
|
-
* Deselects options in a list.
|
|
92
|
-
*
|
|
93
|
-
* Works with ListBox and multi-selection list views.
|
|
94
|
-
*
|
|
95
|
-
* @param element - The selectable widget
|
|
96
|
-
* @param values - Index or array of indices to deselect
|
|
97
|
-
*/
|
|
98
|
-
deselectOptions: (element: Gtk.Widget, values: number | number[]) => Promise<void>;
|
|
99
|
-
/**
|
|
100
|
-
* Simulates mouse entering a widget (hover).
|
|
101
|
-
*
|
|
102
|
-
* Triggers the "enter" signal on the widget's EventControllerMotion.
|
|
103
|
-
*/
|
|
104
|
-
hover: (element: Gtk.Widget) => Promise<void>;
|
|
105
|
-
/**
|
|
106
|
-
* Simulates mouse leaving a widget (unhover).
|
|
107
|
-
*
|
|
108
|
-
* Triggers the "leave" signal on the widget's EventControllerMotion.
|
|
109
|
-
*/
|
|
110
|
-
unhover: (element: Gtk.Widget) => Promise<void>;
|
|
111
|
-
/**
|
|
112
|
-
* Simulates keyboard input.
|
|
113
|
-
*
|
|
114
|
-
* Supports special keys in braces: `{Enter}`, `{Tab}`, `{Escape}`, etc.
|
|
115
|
-
* Use `{Key>}` to hold a key down, `{/Key}` to release.
|
|
116
|
-
*
|
|
117
|
-
* @example
|
|
118
|
-
* ```tsx
|
|
119
|
-
* await userEvent.keyboard(element, "hello");
|
|
120
|
-
* await userEvent.keyboard(element, "{Enter}");
|
|
121
|
-
* await userEvent.keyboard(element, "{Shift>}A{/Shift}");
|
|
122
|
-
* ```
|
|
123
|
-
*/
|
|
124
|
-
keyboard: (element: Gtk.Widget, input: string) => Promise<void>;
|
|
125
|
-
/**
|
|
126
|
-
* Simulates pointer (mouse) input.
|
|
127
|
-
*
|
|
128
|
-
* Supports: `"click"`, `"[MouseLeft]"`, `"down"`, `"up"`.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
* ```tsx
|
|
132
|
-
* await userEvent.pointer(element, "click");
|
|
133
|
-
* await userEvent.pointer(element, "[MouseLeft]");
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
pointer: (element: Gtk.Widget, input: PointerInput) => Promise<void>;
|
|
137
|
-
};
|
|
138
|
-
//# sourceMappingURL=user-event.d.ts.map
|
package/dist/user-event.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-event.d.ts","sourceRoot":"","sources":["../src/user-event.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AAKrC;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAkUF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;AA6BrG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,SAAS;IAClB;;;;;OAKG;qBA/XuB,GAAG,CAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAiYpD;;;;OAIG;wBA/W0B,GAAG,CAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAiXvD;;;;OAIG;2BAjX6B,GAAG,CAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAmX1D;;;;;OAKG;mBApXqB,GAAG,CAAC,MAAM,YAAY,UAAU,KAAG,OAAO,CAAC,IAAI,CAAC;IAsXxE;;;;;;;;OAQG;oBAnXsB,GAAG,CAAC,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAqXjE;;;;OAIG;qBA9WuB,GAAG,CAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAgXpD;;;;;;;OAOG;6BA5U+B,GAAG,CAAC,MAAM,UAAU,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;IA8UvF;;;;;;;OAOG;+BA3SiC,GAAG,CAAC,MAAM,UAAU,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;IA6SzF;;;;OAIG;qBA3PuB,GAAG,CAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IA6PpD;;;;OAIG;uBAvPyB,GAAG,CAAC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAyPtD;;;;;;;;;;;;OAYG;wBArL0B,GAAG,CAAC,MAAM,SAAS,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAuLtE;;;;;;;;;;OAUG;uBAjJyB,GAAG,CAAC,MAAM,SAAS,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC;CAmJ9E,CAAC"}
|