@@ -5,6 +5,7 @@ import { makeDefaultConnStatus } from "@/app/store/global";
55import { TabModel } from "@/app/store/tab-model" ;
66import { RpcApiType } from "@/app/store/wshclientapi" ;
77import { WaveEnv } from "@/app/waveenv/waveenv" ;
8+ import { PlatformMacOS , PlatformWindows } from "@/util/platformutil" ;
89import { Atom , atom , PrimitiveAtom } from "jotai" ;
910import { DefaultFullConfig } from "./defaultconfig" ;
1011import { previewElectronApi } from "./preview-electron-api" ;
@@ -16,6 +17,7 @@ type RpcOverrides = {
1617export type MockEnv = {
1718 isDev ?: boolean ;
1819 tabId ?: string ;
20+ platform ?: NodeJS . Platform ;
1921 settings ?: Partial < SettingsType > ;
2022 rpc ?: RpcOverrides ;
2123 atoms ?: Partial < GlobalAtomsType > ;
@@ -39,6 +41,7 @@ export function mergeMockEnv(base: MockEnv, overrides: MockEnv): MockEnv {
3941 return {
4042 isDev : overrides . isDev ?? base . isDev ,
4143 tabId : overrides . tabId ?? base . tabId ,
44+ platform : overrides . platform ?? base . platform ,
4245 settings : mergeRecords ( base . settings , overrides . settings ) ,
4346 rpc : mergeRecords ( base . rpc as any , overrides . rpc as any ) as RpcOverrides ,
4447 atoms : overrides . atoms != null || base . atoms != null ? { ...base . atoms , ...overrides . atoms } : undefined ,
@@ -149,18 +152,26 @@ export function applyMockEnvOverrides(env: WaveEnv, newOverrides: MockEnv): Mock
149152
150153export function makeMockWaveEnv ( mockEnv ?: MockEnv ) : MockWaveEnv {
151154 const overrides : MockEnv = mockEnv ?? { } ;
155+ const platform = overrides . platform ?? PlatformMacOS ;
152156 const connStatusAtomCache = new Map < string , PrimitiveAtom < ConnStatus > > ( ) ;
153157 const waveObjectAtomCache = new Map < string , Atom < any > > ( ) ;
154158 const blockMetaKeyAtomCache = new Map < string , Atom < any > > ( ) ;
155159 const connConfigKeyAtomCache = new Map < string , Atom < any > > ( ) ;
156160 const atoms = makeMockGlobalAtoms ( overrides . settings , overrides . atoms , overrides . tabId ) ;
157161 const env = {
158162 mockEnv : overrides ,
159- electron : overrides . electron ? { ...previewElectronApi , ...overrides . electron } : previewElectronApi ,
163+ electron : {
164+ ...previewElectronApi ,
165+ getPlatform : ( ) => platform ,
166+ ...overrides . electron ,
167+ } ,
160168 rpc : makeMockRpc ( overrides . rpc ) ,
161169 atoms,
162170 getSettingsKeyAtom : makeMockSettingsKeyAtom ( atoms . settingsAtom , overrides . settings ) ,
171+ platform,
163172 isDev : ( ) => overrides . isDev ?? true ,
173+ isWindows : ( ) => platform === PlatformWindows ,
174+ isMacOS : ( ) => platform === PlatformMacOS ,
164175 createBlock :
165176 overrides . createBlock ??
166177 ( ( blockDef : BlockDef , magnified ?: boolean , ephemeral ?: boolean ) => {
0 commit comments