Initial import
This commit is contained in:
commit
02e421c1f1
1 changed files with 8130 additions and 0 deletions
35
src/shared/stdio.test.ts
Normal file
35
src/shared/stdio.test.ts
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import { JSONRPCMessage } from "../types/index.js";
|
||||
import { ReadBuffer } from "./stdio.js";
|
||||
|
||||
const testMessage: JSONRPCMessage = {
|
||||
jsonrpc: "2.0",
|
||||
method: "foobar",
|
||||
};
|
||||
|
||||
test("should have no messages after initialization", () => {
|
||||
const readBuffer = new ReadBuffer();
|
||||
expect(readBuffer.readMessage()).toBeNull();
|
||||
});
|
||||
|
||||
test("should only yield a message after a newline", () => {
|
||||
const readBuffer = new ReadBuffer();
|
||||
|
||||
readBuffer.append(Buffer.from(JSON.stringify(testMessage)));
|
||||
expect(readBuffer.readMessage()).toBeNull();
|
||||
|
||||
readBuffer.append(Buffer.from("\n"));
|
||||
expect(readBuffer.readMessage()).toEqual(testMessage);
|
||||
expect(readBuffer.readMessage()).toBeNull();
|
||||
});
|
||||
|
||||
test("should be reusable after clearing", () => {
|
||||
const readBuffer = new ReadBuffer();
|
||||
|
||||
readBuffer.append(Buffer.from("foobar"));
|
||||
readBuffer.clear();
|
||||
expect(readBuffer.readMessage()).toBeNull();
|
||||
|
||||
readBuffer.append(Buffer.from(JSON.stringify(testMessage)));
|
||||
readBuffer.append(Buffer.from("\n"));
|
||||
expect(readBuffer.readMessage()).toEqual(testMessage);
|
||||
});
|
||||
Loading…
Reference in a new issue