返回 ViMax
workspaceMeta.test.ts
根目录 / ui / src / workspaceMeta.test.ts
1 import assert from 'node:assert/strict';
2 import {compactionBar, compactionLabel, compactTargetFromEnv, resolveWorkspacePath} from './workspaceMeta.js';
3
4 assert.equal(compactTargetFromEnv({}), 160000);
5 assert.equal(compactTargetFromEnv({VIMAX_AUTO_COMPACT_TOKEN_THRESHOLD: '100', VIMAX_AUTO_COMPACT_BUFFER_TOKENS: '30'}), 70);
6 assert.equal(compactTargetFromEnv({VIMAX_CONTEXT_WINDOW_TOKENS: '400000', VIMAX_AUTO_COMPACT_RATIO: '0.9', VIMAX_AUTO_COMPACT_BUFFER_TOKENS: '30000'}), 330000);
7 assert.equal(compactionBar(0, 100, 4), '░░░░');
8 assert.equal(compactionBar(50, 100, 4), '██░░');
9 assert.equal(compactionBar(200, 100, 4), '████');
10 assert.equal(compactionLabel(50, 100), 'Compaction [█████████░░░░░░░░░] 50/100 (50%)');
11 assert.equal(resolveWorkspacePath('/repo', '.working_dir/s1'), '.working_dir/s1');
12 assert.equal(resolveWorkspacePath('/repo', '/repo/.working_dir/s1'), '.working_dir/s1');
13 assert.equal(resolveWorkspacePath('/repo'), '.working_dir');
14 assert.equal(resolveWorkspacePath('/repo', '20260608-vimax'), '.working_dir/20260608-vimax');
15
16 console.log('workspaceMeta tests passed');
17
17 lines TYPESCRIPT