From be7ee2fc3839652e5d26ab2599d00759f6d239ec Mon Sep 17 00:00:00 2001 From: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com> Date: Sat, 18 Apr 2026 00:31:39 -0400 Subject: [PATCH] fix: update tests for Safari/Firefox browser detection and ZDOTDIR (#788) --- src/main/browser/browser-cookie-import.test.ts | 9 ++++++--- src/main/ipc/pty.test.ts | 7 +++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/browser/browser-cookie-import.test.ts b/src/main/browser/browser-cookie-import.test.ts index 8a61bf7e..73698fbc 100644 --- a/src/main/browser/browser-cookie-import.test.ts +++ b/src/main/browser/browser-cookie-import.test.ts @@ -217,14 +217,17 @@ describe('detectInstalledBrowsers', () => { expect(browser).toHaveProperty('family') expect(browser).toHaveProperty('label') expect(browser).toHaveProperty('cookiesPath') - expect(browser).toHaveProperty('keychainService') - expect(browser).toHaveProperty('keychainAccount') + // keychainService/keychainAccount are only present for Chromium-based browsers + if (['chrome', 'edge', 'arc', 'chromium'].includes(browser.family)) { + expect(browser).toHaveProperty('keychainService') + expect(browser).toHaveProperty('keychainAccount') + } } }) it('each detected browser has a valid family', () => { const browsers = detectInstalledBrowsers() - const validFamilies = ['chrome', 'edge', 'arc', 'chromium'] + const validFamilies = ['chrome', 'edge', 'arc', 'chromium', 'firefox', 'safari'] for (const browser of browsers) { expect(validFamilies).toContain(browser.family) } diff --git a/src/main/ipc/pty.test.ts b/src/main/ipc/pty.test.ts index 5bf883ca..8a3c1961 100644 --- a/src/main/ipc/pty.test.ts +++ b/src/main/ipc/pty.test.ts @@ -493,12 +493,14 @@ describe('registerPtyHandlers', () => { it('spawns a plain POSIX login shell and queues startup commands for the live session', () => { const originalPlatform = process.platform const originalShell = process.env.SHELL + const originalZdotdir = process.env.ZDOTDIR Object.defineProperty(process, 'platform', { configurable: true, value: 'darwin' }) process.env.SHELL = '/bin/zsh' + delete process.env.ZDOTDIR try { const [shell, args, options] = spawnAndGetCall({ cwd: '/tmp', command: 'printf "hello"' }) @@ -516,6 +518,11 @@ describe('registerPtyHandlers', () => { } else { process.env.SHELL = originalShell } + if (originalZdotdir === undefined) { + delete process.env.ZDOTDIR + } else { + process.env.ZDOTDIR = originalZdotdir + } } })