mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-16 14:53:19 -07:00
75 lines
2.3 KiB
TypeScript
75 lines
2.3 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2026 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
import { describe, it, expect } from 'vitest';
|
|
import { ContextEnvironmentImpl } from './environmentImpl.js';
|
|
import { ContextTracer } from '../tracer.js';
|
|
import { ContextEventBus } from '../eventBus.js';
|
|
import { InMemoryFileSystem } from '../system/InMemoryFileSystem.js';
|
|
import { DeterministicIdGenerator } from '../system/DeterministicIdGenerator.js';
|
|
|
|
|
|
import { createMockLlmClient } from '../testing/contextTestUtils.js';
|
|
|
|
describe('ContextEnvironmentImpl', () => {
|
|
it('should initialize with defaults correctly', () => {
|
|
const tracer = new ContextTracer({ targetDir: '/tmp', sessionId: 'mock' });
|
|
const eventBus = new ContextEventBus();
|
|
const mockLlmClient = createMockLlmClient();
|
|
|
|
const env = new ContextEnvironmentImpl(
|
|
mockLlmClient,
|
|
'mock-session',
|
|
'mock-prompt',
|
|
'/tmp/trace',
|
|
'/tmp/temp',
|
|
tracer,
|
|
4,
|
|
eventBus,
|
|
);
|
|
|
|
expect(env.llmClient).toBe(mockLlmClient);
|
|
expect(env.sessionId).toBe('mock-session');
|
|
expect(env.promptId).toBe('mock-prompt');
|
|
expect(env.traceDir).toBe('/tmp/trace');
|
|
expect(env.projectTempDir).toBe('/tmp/temp');
|
|
expect(env.tracer).toBe(tracer);
|
|
expect(env.charsPerToken).toBe(4);
|
|
expect(env.eventBus).toBe(eventBus);
|
|
|
|
// Default internals
|
|
expect(env.behaviorRegistry).toBeDefined();
|
|
expect(env.tokenCalculator).toBeDefined();
|
|
expect(env.fileSystem).toBeDefined();
|
|
expect(env.idGenerator).toBeDefined();
|
|
expect(env.inbox).toBeDefined();
|
|
expect(env.irMapper).toBeDefined();
|
|
});
|
|
|
|
it('should initialize with provided overrides', () => {
|
|
const tracer = new ContextTracer({ targetDir: '/tmp', sessionId: 'mock' });
|
|
const eventBus = new ContextEventBus();
|
|
const mockLlmClient = createMockLlmClient();
|
|
const fileSystem = new InMemoryFileSystem();
|
|
const idGenerator = new DeterministicIdGenerator('test-');
|
|
|
|
const env = new ContextEnvironmentImpl(
|
|
mockLlmClient,
|
|
'mock-session',
|
|
'mock-prompt',
|
|
'/tmp/trace',
|
|
'/tmp/temp',
|
|
tracer,
|
|
4,
|
|
eventBus,
|
|
fileSystem,
|
|
idGenerator,
|
|
);
|
|
|
|
expect(env.fileSystem).toBe(fileSystem);
|
|
expect(env.idGenerator).toBe(idGenerator);
|
|
});
|
|
});
|