Files
orca/src/shared/git-status-limit.test.ts
T
OrcaWinandBrennan Benson e109e78ebf fix(source-control): keep huge change sets responsive (#9477)
* fix(source-control): keep huge change sets responsive

* Fix cancellation and retry handling for capped status

* Harden capped status for conflict-heavy repositories

* Harden capped status recovery and cancellation

* fix(source-control): preserve capped status correctness

* fix(source-control): translate submodule status at render time

---------

Co-authored-by: Brennan Benson <79079362+brennanb2025@users.noreply.github.com>
2026-07-20 14:50:12 -07:00

39 lines
1.2 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import {
DEFAULT_GIT_STATUS_LIMIT,
capGitStatusEntries,
resolveGitStatusLimit
} from './git-status-limit'
describe('resolveGitStatusLimit', () => {
it('accepts non-negative integers and rejects malformed limits', () => {
expect(resolveGitStatusLimit(0)).toBe(0)
expect(resolveGitStatusLimit(25)).toBe(25)
expect(resolveGitStatusLimit(1.5)).toBe(DEFAULT_GIT_STATUS_LIMIT)
expect(resolveGitStatusLimit(Number.NaN)).toBe(DEFAULT_GIT_STATUS_LIMIT)
expect(resolveGitStatusLimit(-1)).toBe(DEFAULT_GIT_STATUS_LIMIT)
})
})
describe('capGitStatusEntries', () => {
it('caps composed entries and reports the observed size', () => {
expect(capGitStatusEntries(['a', 'b', 'c'], 2)).toEqual({
entries: ['a', 'b'],
didHitLimit: true,
statusLength: 3
})
})
it('preserves an earlier incomplete-status signal after deduplication', () => {
expect(capGitStatusEntries(['a'], 2, { didHitLimit: true, statusLength: 3 })).toEqual({
entries: ['a'],
didHitLimit: true,
statusLength: 3
})
})
it('treats zero as an unlimited result', () => {
expect(capGitStatusEntries(['a', 'b'], 0)).toEqual({ entries: ['a', 'b'] })
})
})