项目文件夹

文件
wehub-resource-sync 98e40dac97
CLI Smoke Test / smoke-test-linux (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-linux (24) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (24) (push) Has been cancelled
Expo App TypeScript typecheck / typecheck (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:40:49 +08:00

32 行
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import {
clampContextSize,
getContextUsageLevel,
getContextUsagePercentage,
resolveStatusBarGitBranch,
} from './sessionStatusBar';
describe('session status bar helpers', () => {
it('clamps context values to the valid range', () => {
expect(clampContextSize(-10, 100)).toBe(0);
expect(clampContextSize(50, 100)).toBe(50);
expect(clampContextSize(120, 100)).toBe(100);
expect(clampContextSize(Number.NaN, 100)).toBe(0);
});
it('calculates context percentages and levels', () => {
expect(getContextUsagePercentage(45, 100)).toBe(45);
expect(getContextUsageLevel(89, 100)).toBe('normal');
expect(getContextUsageLevel(90, 100)).toBe('warning');
expect(getContextUsageLevel(95, 100)).toBe('critical');
});
it('falls back to metadata git branch when git status has no branch', () => {
expect(resolveStatusBarGitBranch('main', 'metadata-main')).toBe('main');
expect(resolveStatusBarGitBranch(null, 'fix/session')).toBe('fix/session');
expect(resolveStatusBarGitBranch('', 'fix/session')).toBe('fix/session');
expect(resolveStatusBarGitBranch(' ', 'fix/session')).toBe('fix/session');
expect(resolveStatusBarGitBranch(null, null)).toBe(null);
});
});