From 034d35f1d7deb6e838649dcb18d55f779fc9685c Mon Sep 17 00:00:00 2001 From: shinshin86 Date: Sun, 29 Sep 2024 21:01:25 +0900 Subject: [PATCH 1/2] fix problem disabled of opfs at e2e --- .gitignore | 5 +++++ e2e/index.html | 1 + e2e/neverchange.test.ts | 3 +-- package-lock.json | 8 ++++++++ package.json | 7 +++++-- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 76a6b0e..0a823e9 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,8 @@ test-results # mac .DS_Store + +# coi-serviceworker +# These files are included in the .gitignore because they are automatically generated during the build process. +# Run npm run build:e2e to generate the necessary files and place them in the correct location. +e2e/coi-serviceworker.js \ No newline at end of file diff --git a/e2e/index.html b/e2e/index.html index 5588937..5a0a10e 100644 --- a/e2e/index.html +++ b/e2e/index.html @@ -2,6 +2,7 @@ NeverChangeDB Test +

NeverChangeDB Test Page

diff --git a/e2e/neverchange.test.ts b/e2e/neverchange.test.ts index 198633e..96177cd 100644 --- a/e2e/neverchange.test.ts +++ b/e2e/neverchange.test.ts @@ -102,8 +102,7 @@ test.describe("NeverChangeDB", () => { expect(closed).toBe(true); }); - // if OPFS is disabled, this test will fail - test.skip("should persist data between connections", async ({ page }) => { + test("should persist data between connections", async ({ page }) => { await page.evaluate(async () => { const db1 = new (window as any).NeverChangeDB("persist-test-db"); await db1.init(); diff --git a/package-lock.json b/package-lock.json index 0ce091e..7fe48d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "@biomejs/biome": "1.8.3", "@playwright/test": "^1.46.1", "@types/node": "^22.5.2", + "coi-serviceworker": "^0.1.7", "playwright": "^1.46.1", "typescript": "^5.5.3", "vite": "^5.4.2" @@ -841,6 +842,13 @@ "undici-types": "~6.19.2" } }, + "node_modules/coi-serviceworker": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/coi-serviceworker/-/coi-serviceworker-0.1.7.tgz", + "integrity": "sha512-bjSUqEngCPOkErY2vbyWsaIGCNRODYzlNycaREVw5s12/C8SM+RnRUUeX6pZbTtov6C52ZLY/+tvHK+BDxuUuA==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", diff --git a/package.json b/package.json index 342c887..88ae382 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,10 @@ }, "scripts": { "build": "vite build && tsc", - "dev:e2e": "vite --mode e2e", - "e2e": "playwright test", + "e2e": "npm run build:e2e && playwright test", + "setupcoi:e2e": "cp node_modules/coi-serviceworker/coi-serviceworker.js e2e", + "build:e2e": "vite build && tsc && npm run setupcoi:e2e", + "dev:e2e": "npm run build:e2e && vite --mode e2e", "fmt": "biome format --write src e2e ", "prepublishOnly": "npm run build" }, @@ -53,6 +55,7 @@ "@biomejs/biome": "1.8.3", "@playwright/test": "^1.46.1", "@types/node": "^22.5.2", + "coi-serviceworker": "^0.1.7", "playwright": "^1.46.1", "typescript": "^5.5.3", "vite": "^5.4.2" From 22d7c9d81112bcd871896ec0b6127b789ac39157 Mon Sep 17 00:00:00 2001 From: shinshin86 Date: Tue, 1 Oct 2024 06:25:58 +0900 Subject: [PATCH 2/2] not support Safari until a solution is found issue: https://github.com/shinshin86/neverchange/issues/6 --- README.md | 2 +- playwright.config.ts | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index fcd3444..d30315b 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ All tests are tested only through Playwright. * Google Chrome * Microsoft Edge * Firefox -* Safari +* ~~Safari~~ (https://github.com/shinshin86/neverchange/issues/6) ### Requirements diff --git a/playwright.config.ts b/playwright.config.ts index 2fe8c56..30c524d 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -40,13 +40,6 @@ export default defineConfig({ headless: true, }, }, - { - name: 'webkit', - use: { - ...devices['Desktop Safari'], - headless: true, - }, - }, ], webServer: { command: 'npm run dev:e2e',