Ultimate hacky test success

This commit is contained in:
00Fjongl 2024-07-10 21:51:50 -05:00
parent 9e01004564
commit 0da152131f

37
test.js
View file

@ -105,7 +105,8 @@ async function testCommonJSOnPage() {
await page.goto("http://localhost:8080/?q"); await page.goto("http://localhost:8080/?q");
const testResults = await page.evaluate(async () => { const testResults = await page.evaluate(async () => {
const results = {}; const results = [{}, {}];
await new Promise((resolve) => { await new Promise((resolve) => {
const waitForDocument = () => document.readyState === "complete" const waitForDocument = () => document.readyState === "complete"
@ -114,7 +115,11 @@ async function testCommonJSOnPage() {
// Wait until a service worker is registered before continuing. // Wait until a service worker is registered before continuing.
// Also make sure the document is loaded. // Also make sure the document is loaded.
const waitForWorker = async () => setTimeout(async () => (await navigator.serviceWorker.getRegistrations()).length >= 1 ? waitForDocument() : waitForWorker(), 1000); const waitForWorker = async () => setTimeout(async () => {
(await navigator.serviceWorker.getRegistrations()).length >= 1
? waitForDocument()
: waitForWorker()
}, 1000);
waitForWorker(); waitForWorker();
}); });
@ -126,21 +131,37 @@ async function testCommonJSOnPage() {
false false
); );
console.log("Generated Ultraviolet URL:", generatedUrl); console.log("Generated Ultraviolet URL:", generatedUrl);
results.ultraviolet = generatedUrl ? generatedUrl : "failure"; results[0].ultraviolet = generatedUrl ? generatedUrl : "failure";
const testGeneratedUrlHacky = async (url) => {
let result = false;
const exampleIFrame = document.createElement("iframe");
const waitForDocument = new Promise(resolve => exampleIFrame.addEventListener("load", () => {
result = exampleIFrame.contentWindow.document.title === "Example Domain";
resolve();
}));
exampleIFrame.src = url;
exampleIFrame.style.display = "none";
document.documentElement.appendChild(exampleIFrame);
await waitForDocument;
return result;
};
results[1].uvTestPassed = await testGeneratedUrlHacky(results[0].ultraviolet);
} catch (e) { } catch (e) {
results.ultraviolet = "failure: " + e.message; results[0].ultraviolet = "failure: " + e.message;
} }
} else { } else {
results.goProx = "not defined"; results[0].goProx = "not defined";
} }
return results; return results;
}); });
console.log("Ultraviolet test results:", testResults); console.log("Ultraviolet test results:", testResults[0]);
if (testResults.ultraviolet && testResults.ultraviolet !== "failure") { if (testResults[0].ultraviolet && testResults[0].ultraviolet !== "failure") {
const uvTestPassed = await testGeneratedUrl(testResults.ultraviolet); const uvTestPassed = testResults[1].uvTestPassed;
console.log( console.log(
`Ultraviolet test result: ${uvTestPassed ? "success" : "failure"}` `Ultraviolet test result: ${uvTestPassed ? "success" : "failure"}`
); );