openclaw/src/plugin-sdk/text-chunking.test.ts

28 lines
722 B
TypeScript

import { describe, expect, it } from "vitest";
import { chunkTextForOutbound } from "./text-chunking.js";
describe("chunkTextForOutbound", () => {
it.each([
{
name: "returns empty for empty input",
text: "",
maxLen: 10,
expected: [],
},
{
name: "splits on newline or whitespace boundaries",
text: "alpha\nbeta gamma",
maxLen: 8,
expected: ["alpha", "beta", "gamma"],
},
{
name: "falls back to hard limit when no separator exists",
text: "abcdefghij",
maxLen: 4,
expected: ["abcd", "efgh", "ij"],
},
])("$name", ({ text, maxLen, expected }) => {
expect(chunkTextForOutbound(text, maxLen)).toEqual(expected);
});
});