Files
aryx/tests/shared/chatMessage.test.ts
T

27 lines
863 B
TypeScript

import { describe, expect, test } from 'bun:test';
import {
hasMeaningfulChatMessageContent,
normalizeChatMessageLineEndings,
prepareChatMessageContent,
} from '@shared/utils/chatMessage';
describe('chat message helpers', () => {
test('normalizes Windows line endings without trimming meaningful markdown', () => {
expect(
prepareChatMessageContent('```ts\r\n const answer = 42;\r\n```\r\n'),
).toBe('```ts\n const answer = 42;\n```\n');
});
test('treats whitespace-only input as empty', () => {
expect(hasMeaningfulChatMessageContent(' \r\n\t ')).toBe(false);
expect(prepareChatMessageContent(' \r\n\t ')).toBeUndefined();
});
test('normalizes mixed newline sequences consistently', () => {
expect(normalizeChatMessageLineEndings('line 1\r\nline 2\rline 3')).toBe(
'line 1\nline 2\nline 3',
);
});
});