Merge pull request #27 from Hoekstraa/main
Add tests for addLeadingSlash and messageTracker
This commit is contained in:
commit
861906334c
2 changed files with 55 additions and 0 deletions
|
@ -1,4 +1,5 @@
|
||||||
import { expect } from "chai";
|
import { expect } from "chai";
|
||||||
|
import { FileData } from "../../src/interfaces";
|
||||||
import {
|
import {
|
||||||
fileChangeEventToMsg,
|
fileChangeEventToMsg,
|
||||||
fileRemovalEventToMsg,
|
fileRemovalEventToMsg,
|
||||||
|
@ -30,4 +31,31 @@ describe("messageGenerators", () => {
|
||||||
expect(requestFilenames).to.exist;
|
expect(requestFilenames).to.exist;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("addLeadingSlash", () => {
|
||||||
|
it("should add a leading slash if a file in a folder is sent", () => {
|
||||||
|
const msg = fileRemovalEventToMsg({ path: "sub/test.js" });
|
||||||
|
const result = (msg?.params as FileData).filename;
|
||||||
|
|
||||||
|
if (result && result.hasOwnProperty("filename")) expect(result).to.eq("/sub/test.js");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("addLeadingSlash", () => {
|
||||||
|
it("should not add a leading slash if a file in the root folder is sent", () => {
|
||||||
|
const msg = fileRemovalEventToMsg({ path: "test.js" });
|
||||||
|
const result = (msg?.params as FileData).filename;
|
||||||
|
|
||||||
|
if (result && result.hasOwnProperty("filename")) expect(result).to.eq("test.js");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("addLeadingSlash", () => {
|
||||||
|
it("should return with one leading slash if a file in a folder is sent and file already is prefixed", () => {
|
||||||
|
const msg = fileRemovalEventToMsg({ path: "/sub/test.js" });
|
||||||
|
const result = (msg?.params as FileData).filename;
|
||||||
|
|
||||||
|
if (result && result.hasOwnProperty("filename")) expect(result).to.eq("/sub/test.js");
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,8 +1,35 @@
|
||||||
import { expect } from "chai";
|
import { expect } from "chai";
|
||||||
import { messageTracker } from "../../src/networking/messageTracker";
|
import { messageTracker } from "../../src/networking/messageTracker";
|
||||||
|
|
||||||
|
function* range(start: number, end: number) {
|
||||||
|
for (let i = start; i <= end; i++) {
|
||||||
|
yield i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
describe("messageTracker", () => {
|
describe("messageTracker", () => {
|
||||||
it("should exist", () => {
|
it("should exist", () => {
|
||||||
expect(messageTracker).to.exist;
|
expect(messageTracker).to.exist;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should return entered value at index", () => {
|
||||||
|
messageTracker.push({ jsonrpc: "2.0", id: 0, result: "testvalue0" });
|
||||||
|
const msg = messageTracker.get(0);
|
||||||
|
|
||||||
|
expect(msg?.result).to.eq("testvalue0");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should throw away values after entering more than it's max amount", () => {
|
||||||
|
for (const i of range(0, 200)) {
|
||||||
|
messageTracker.push({ jsonrpc: "2.0", id: i, result: `testvalue${i}` });
|
||||||
|
}
|
||||||
|
|
||||||
|
const msg0 = messageTracker.get(0);
|
||||||
|
const msg1 = messageTracker.get(1);
|
||||||
|
const msg200 = messageTracker.get(200);
|
||||||
|
|
||||||
|
expect(msg0).to.eq(undefined);
|
||||||
|
expect(msg1?.result).to.eq("testvalue1");
|
||||||
|
expect(msg200?.result).to.eq("testvalue200");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue