mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-17 22:05:50 +00:00
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
import { describe, expect, test } from 'bun:test'
|
|
|
|
import {
|
|
hasPendingBridgeMessages,
|
|
isTranscriptResetResultReady,
|
|
shouldDeferBridgeResult,
|
|
} from '../bridgeResultScheduling.js'
|
|
|
|
describe('bridgeResultScheduling', () => {
|
|
test('detects pending mirrored messages', () => {
|
|
expect(hasPendingBridgeMessages(2, 3)).toBe(true)
|
|
expect(hasPendingBridgeMessages(3, 3)).toBe(false)
|
|
})
|
|
|
|
test('defers when the bridge handle is unavailable', () => {
|
|
expect(
|
|
shouldDeferBridgeResult({
|
|
hasHandle: false,
|
|
isConnected: true,
|
|
lastWrittenIndex: 3,
|
|
messageCount: 3,
|
|
}),
|
|
).toBe(true)
|
|
})
|
|
|
|
test('defers when the bridge is connected but transcript flush is pending', () => {
|
|
expect(
|
|
shouldDeferBridgeResult({
|
|
hasHandle: true,
|
|
isConnected: true,
|
|
lastWrittenIndex: 1,
|
|
messageCount: 2,
|
|
}),
|
|
).toBe(true)
|
|
})
|
|
|
|
test('sends immediately once the latest transcript is already mirrored', () => {
|
|
expect(
|
|
shouldDeferBridgeResult({
|
|
hasHandle: true,
|
|
isConnected: true,
|
|
lastWrittenIndex: 2,
|
|
messageCount: 2,
|
|
}),
|
|
).toBe(false)
|
|
})
|
|
|
|
test('treats transcript reset as ready only after the transcript is empty', () => {
|
|
expect(isTranscriptResetResultReady(true, 0)).toBe(true)
|
|
expect(isTranscriptResetResultReady(true, 1)).toBe(false)
|
|
expect(isTranscriptResetResultReady(false, 0)).toBe(false)
|
|
})
|
|
})
|