import { lastSegmentPreview, splitMessageParts, splitStreamingSegments, } from '@/features/conversation/message-split'; describe('message-split', () => { it('splitMessageParts is case-insensitive on delimiter', () => { expect(splitMessageParts('a [SPLIT] b')).toEqual(['a', 'b']); expect(splitMessageParts('a [split] b')).toEqual(['a', 'b']); expect(splitMessageParts('a [Split] b')).toEqual(['a', 'b']); }); it('splitMessageParts trims and drops empty segments', () => { expect(splitMessageParts(' x [SPLIT] y ')).toEqual(['x', 'y']); expect(splitMessageParts('[SPLIT]only')).toEqual(['only']); }); it('splitStreamingSegments keeps empty tail after delimiter', () => { expect(splitStreamingSegments('first [SPLIT]')).toEqual(['first', '']); }); it('lastSegmentPreview uses last non-empty part', () => { expect(lastSegmentPreview('a [SPLIT] b', 10)).toBe('b'); expect(lastSegmentPreview('hello', 3)).toBe('hel'); }); });