diff options
Diffstat (limited to 'packages/cli/src/ndjson.test.ts')
| -rw-r--r-- | packages/cli/src/ndjson.test.ts | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/packages/cli/src/ndjson.test.ts b/packages/cli/src/ndjson.test.ts index 8ed3bff..5c74dfb 100644 --- a/packages/cli/src/ndjson.test.ts +++ b/packages/cli/src/ndjson.test.ts @@ -2,47 +2,47 @@ import { describe, expect, it } from "vitest"; import { splitNdjsonLines } from "./ndjson.js"; describe("splitNdjsonLines", () => { - it("splits complete lines", () => { - const result = splitNdjsonLines('{"a":1}\n{"b":2}\n'); - expect(result.lines).toEqual(['{"a":1}', '{"b":2}']); - expect(result.rest).toBe(""); - }); - - it("keeps incomplete trailing line in rest", () => { - const result = splitNdjsonLines('{"a":1}\n{"b":2'); - expect(result.lines).toEqual(['{"a":1}']); - expect(result.rest).toBe('{"b":2'); - }); - - it("returns empty lines array for single incomplete line", () => { - const result = splitNdjsonLines('{"a":1'); - expect(result.lines).toEqual([]); - expect(result.rest).toBe('{"a":1'); - }); - - it("filters out empty lines", () => { - const result = splitNdjsonLines('{"a":1}\n\n{"b":2}\n'); - expect(result.lines).toEqual(['{"a":1}', '{"b":2}']); - expect(result.rest).toBe(""); - }); - - it("handles a line split across two buffers", () => { - const buf1 = '{"a":1}\n{"b":'; - const buf2 = '2}\n{"c":3}\n'; - - const r1 = splitNdjsonLines(buf1); - expect(r1.lines).toEqual(['{"a":1}']); - expect(r1.rest).toBe('{"b":'); - - const combined = r1.rest + buf2; - const r2 = splitNdjsonLines(combined); - expect(r2.lines).toEqual(['{"b":2}', '{"c":3}']); - expect(r2.rest).toBe(""); - }); - - it("handles empty buffer", () => { - const result = splitNdjsonLines(""); - expect(result.lines).toEqual([]); - expect(result.rest).toBe(""); - }); + it("splits complete lines", () => { + const result = splitNdjsonLines('{"a":1}\n{"b":2}\n'); + expect(result.lines).toEqual(['{"a":1}', '{"b":2}']); + expect(result.rest).toBe(""); + }); + + it("keeps incomplete trailing line in rest", () => { + const result = splitNdjsonLines('{"a":1}\n{"b":2'); + expect(result.lines).toEqual(['{"a":1}']); + expect(result.rest).toBe('{"b":2'); + }); + + it("returns empty lines array for single incomplete line", () => { + const result = splitNdjsonLines('{"a":1'); + expect(result.lines).toEqual([]); + expect(result.rest).toBe('{"a":1'); + }); + + it("filters out empty lines", () => { + const result = splitNdjsonLines('{"a":1}\n\n{"b":2}\n'); + expect(result.lines).toEqual(['{"a":1}', '{"b":2}']); + expect(result.rest).toBe(""); + }); + + it("handles a line split across two buffers", () => { + const buf1 = '{"a":1}\n{"b":'; + const buf2 = '2}\n{"c":3}\n'; + + const r1 = splitNdjsonLines(buf1); + expect(r1.lines).toEqual(['{"a":1}']); + expect(r1.rest).toBe('{"b":'); + + const combined = r1.rest + buf2; + const r2 = splitNdjsonLines(combined); + expect(r2.lines).toEqual(['{"b":2}', '{"c":3}']); + expect(r2.rest).toBe(""); + }); + + it("handles empty buffer", () => { + const result = splitNdjsonLines(""); + expect(result.lines).toEqual([]); + expect(result.rest).toBe(""); + }); }); |
