summaryrefslogtreecommitdiff
path: root/tests/browser-driver.js
diff options
context:
space:
mode:
Diffstat (limited to 'tests/browser-driver.js')
-rw-r--r--tests/browser-driver.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/browser-driver.js b/tests/browser-driver.js
new file mode 100644
index 0000000..529d824
--- /dev/null
+++ b/tests/browser-driver.js
@@ -0,0 +1,54 @@
+import { runTests } from "./driver.js";
+
+
+
+class AssertionError extends Error {}
+
+
+
+const panel = document.querySelector("#panel");
+const err = s => panel.innerHTML += s;
+
+const assert = {
+ equal: (given, expected) => {
+ if (given !== expected) {
+ throw new AssertionError(
+ `given ${given}; expected ${expected}`
+ );
+ }
+ },
+ deepEqual: (x, y) => {
+ },
+};
+
+// FIXME
+const escape = s => s;
+
+const red = s => `<span class="red" >${escape(s)}</span>`;
+const green = s => `<span class="green" >${escape(s)}</span>`;
+const yellow = s => `<span class="yellow">${escape(s)}</span>`;
+
+const conf = {
+ err,
+ assert,
+ colors: {
+ red,
+ green,
+ yellow,
+ },
+};
+
+const TEST_PATHS = [
+ "tests/papo.js",
+ "tests/sw.js",
+];
+export const main = (paths = TEST_PATHS) => {
+ document.addEventListener("DOMContentLoaded", async _ => {
+ for (const path of paths) {
+ const module = await import("../" + path);
+ conf.err(path + "\n");
+ await runTests(conf, module.allTests);
+ conf.err("\n");
+ }
+ });
+};