summaryrefslogtreecommitdiffstats
path: root/tests/auto/wasm/selenium/tst_qwasmwindow_harness.html
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/wasm/selenium/tst_qwasmwindow_harness.html')
-rw-r--r--tests/auto/wasm/selenium/tst_qwasmwindow_harness.html80
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/auto/wasm/selenium/tst_qwasmwindow_harness.html b/tests/auto/wasm/selenium/tst_qwasmwindow_harness.html
new file mode 100644
index 0000000000..8c2457f302
--- /dev/null
+++ b/tests/auto/wasm/selenium/tst_qwasmwindow_harness.html
@@ -0,0 +1,80 @@
+<!doctype html>
+
+<head>
+ <script type="text/javascript" src="tst_qwasmwindow_harness.js"></script>
+ <script>
+ (async () => {
+ const instance = await tst_qwasmwindow_harness_entry({});
+ window.instance = instance;
+
+ const testSandbox = document.createElement('div');
+ testSandbox.id = 'test-sandbox';
+ let nextScreenId = 1;
+ document.body.appendChild(testSandbox);
+
+ const eventList = [];
+
+ const makeSizedDiv = (left, top, width, height) => {
+ const screenDiv = document.createElement('div');
+
+ screenDiv.style.left = `${left}px`;
+ screenDiv.style.top = `${top}px`;
+ screenDiv.style.width = `${width}px`;
+ screenDiv.style.height = `${height}px`;
+ screenDiv.style.backgroundColor = 'lightblue';
+ screenDiv.id = `test-screen-${nextScreenId++}`;
+
+ return screenDiv;
+ };
+
+ window.testSupport = {
+ initializeScreenWithFixedPosition: (left, top, width, height) => {
+ const screenDiv = makeSizedDiv(left, top, width, height);
+ testSandbox.appendChild(screenDiv);
+
+ screenDiv.style.position = 'fixed';
+ instance.qtAddContainerElement(screenDiv);
+
+ return screenDiv;
+ },
+ initializeScreenWithRelativePosition: (left, top, width, height) => {
+ const screenDiv = makeSizedDiv(left, top, width, height);
+ testSandbox.appendChild(screenDiv);
+
+ screenDiv.style.position = 'relative';
+ instance.qtAddContainerElement(screenDiv);
+
+ return screenDiv;
+ },
+ initializeScreenInScrollContainer:
+ (scrollWidth, scrollHeight, left, top, width, height) => {
+ const scrollContainer = document.createElement('div');
+ scrollContainer.style.height = `${scrollHeight}px`;
+ scrollContainer.style.width = `${scrollWidth}px`;
+ testSandbox.appendChild(scrollContainer);
+
+ const screenDiv = makeSizedDiv(left, top, width, height);
+ scrollContainer.appendChild(screenDiv);
+ screenDiv.style.position = 'relative';
+
+ instance.qtAddContainerElement(screenDiv);
+
+ return [scrollContainer, screenDiv];
+ },
+ reportEvent: event => {
+ eventList.push(event);
+ },
+ events: () => eventList,
+ hitTestPoint: (x, y, screenId) => {
+ return document
+ .querySelector(`#${screenId}`)
+ .querySelector('#qt-shadow-container')
+ .shadowRoot.elementsFromPoint(x, y);
+ }
+ };
+ })();
+ </script>
+</head>
+
+<body>
+</body>