25 lines
806 B
JavaScript
25 lines
806 B
JavaScript
import { describe, expect, it } from 'vitest';
|
|||
|
|
|
||
|
|
import { createHmrStateRuntime } from './hmr-state-runtime.js';
|
||
|
|
|
||
|
|
const createRuntime = (env = {}) => createHmrStateRuntime({
|
||
|
|
globalThisLike: {},
|
||
|
|
os: { homedir: () => '/Users/example' },
|
||
|
|
processLike: { env },
|
||
|
|
stateKey: '__testHmrState',
|
||
|
|
});
|
||
|
|
|
||
|
|
describe('hmr state runtime', () => {
|
||
|
|
it('uses configured OpenCode cwd when provided', () => {
|
||
|
|
const runtime = createRuntime({ OPENCHAMBER_OPENCODE_CWD: '/tmp/openchamber-data' });
|
||
|
|
|
||
|
|
expect(runtime.getOrCreateHmrState().openCodeWorkingDirectory).toBe('/tmp/openchamber-data');
|
||
|
|
});
|
||
|
|
|
||
|
|
it('falls back to home directory without configured OpenCode cwd', () => {
|
||
|
|
const runtime = createRuntime();
|
||
|
|
|
||
|
|
expect(runtime.getOrCreateHmrState().openCodeWorkingDirectory).toBe('/Users/example');
|
||
|
|
});
|
||
|
|
});
|