@oracle/oraclejet-dom-driver 17.1.8

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.
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DomDriver = void 0;
7
+ const user_event_1 = __importDefault(require("@testing-library/user-event"));
8
+ /**
9
+ * A DOM-based TestDriver. This works in environments where the DOM is directly
10
+ * available, such as Jest or Karma.
11
+ */
12
+ exports.DomDriver = {
13
+ executeScript(script, ...args) {
14
+ const ret = new Function(`
15
+ function execute() {
16
+ ${script}
17
+ }
18
+ return execute.call(undefined, ${args.map(JSON.stringify).join(', ')});
19
+ `)();
20
+ return Promise.resolve(ret);
21
+ },
22
+ findElement(query) {
23
+ const el = document.querySelector(query);
24
+ if (el) {
25
+ return Promise.resolve(wrapElement(el));
26
+ }
27
+ throw Error(`No element matching query "${query}"`);
28
+ },
29
+ findElements(query) {
30
+ return Promise.resolve(Array.from(document.querySelectorAll(query)).map(wrapElement));
31
+ },
32
+ click(element) {
33
+ return user_event_1.default.click(element.el);
34
+ },
35
+ sendKeys(element, text) {
36
+ return user_event_1.default.type(element.el, text);
37
+ }
38
+ };
39
+ function wrapElement(element) {
40
+ return new ElementWrapper(element);
41
+ }
42
+ class ElementWrapper {
43
+ constructor(element) {
44
+ this.el = element;
45
+ }
46
+ findElement(query) {
47
+ const el = this.el.querySelector(query);
48
+ if (el) {
49
+ return Promise.resolve(wrapElement(el));
50
+ }
51
+ throw Error(`No element matching query "${query}"`);
52
+ }
53
+ findElements(query) {
54
+ return Promise.resolve(Array.from(this.el.querySelectorAll(query)).map(wrapElement));
55
+ }
56
+ }
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@oracle/oraclejet-dom-driver",
3
+ "packageManager": "yarn@3.5.0",
4
+ "dependencies": {
5
+ "@oracle/oraclejet-testing": "17.1.8",
6
+ "@testing-library/user-event": "14.4.3"
7
+ },
8
+ "devDependencies": {
9
+ "@oracle/oraclejet-internal-ws-build": "workspace:^",
10
+ "copyfiles": "2.4.1",
11
+ "rimraf": "3.0.2",
12
+ "typescript": "5.4.5"
13
+ },
14
+ "scripts": {
15
+ "build": "yarn clean; tsc --outDir dist/UNSAFE_DomDriver --declarationDir dist/types && yarn copy-files",
16
+ "clean": "rimraf dist",
17
+ "copy-files": "mergeJson package.json src/package-overrides.json dist/package.json"
18
+ },
19
+ "exports": {
20
+ "./*": "./*/index.js"
21
+ },
22
+ "typesVersions": {
23
+ "*": {
24
+ "*": [
25
+ "./types/*/index.d.ts"
26
+ ]
27
+ }
28
+ },
29
+ "version": "17.1.8"
30
+ }
@@ -0,0 +1,6 @@
1
+ import { TestDriver } from '@oracle/oraclejet-testing/UNSAFE_driver';
2
+ /**
3
+ * A DOM-based TestDriver. This works in environments where the DOM is directly
4
+ * available, such as Jest or Karma.
5
+ */
6
+ export declare const DomDriver: TestDriver;