Merge branch 'gemini/jitter-tests': seq_before + buffer overflow unit tests

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 05:50:14 -04:00
co-authored by Claude Opus 4.8
+34
View File
@@ -189,4 +189,38 @@ mod tests {
jb.insert(5, frame(&mut enc, 600));
assert_eq!(jb.packets.len(), 1); // only seq 7 remains buffered
}
#[test]
fn test_seq_before_ordering() {
// Basic ordering
assert!(seq_before(0, 1));
assert!(!seq_before(1, 0));
assert!(!seq_before(5, 5));
assert!(seq_before(100, 101));
assert!(!seq_before(101, 100));
// Wraparound
assert!(seq_before(u32::MAX, 0));
assert!(!seq_before(0, u32::MAX));
// Half-range boundary
assert!(seq_before(0, 0x7FFF_FFFF));
assert!(!seq_before(0, 0x8000_0000));
}
#[test]
fn test_jitter_buffer_overflow_resync() {
let mut jb = JitterBuffer::new().unwrap();
assert!(jb.next_seq.is_none());
let count = MAX_BUFFERED_FRAMES + 1;
for seq in 0..count {
jb.insert(seq as u32, vec![0u8]);
}
assert_eq!(jb.packets.len(), MAX_BUFFERED_FRAMES);
assert!(!jb.packets.contains_key(&0));
assert_eq!(jb.next_seq, Some(1));
}
}