webpack/test/Queue.unittest.js

57 lines
1.0 KiB
JavaScript
Raw Normal View History

2024-11-20 09:54:25 +08:00
const Queue = require("../lib/util/Queue");
describe("Queue", () => {
it("constructor", () => {
2024-11-20 21:50:44 +08:00
const q = new Queue();
2024-11-20 09:54:25 +08:00
q.enqueue("item1");
2024-11-20 21:50:44 +08:00
q.enqueue("item2");
q.enqueue("item3");
2024-11-20 09:54:25 +08:00
expect(q.dequeue()).toBe("item1");
expect(q.dequeue()).toBe("item2");
expect(q.dequeue()).toBe("item3");
expect(q.dequeue()).toBeUndefined();
q.enqueue("item2");
q.enqueue("item3");
expect(q.dequeue()).toBe("item2");
expect(q.dequeue()).toBe("item3");
expect(q.dequeue()).toBeUndefined();
});
it("enqueue and dequeue", () => {
const q = new Queue();
q.enqueue("item1");
expect(q.dequeue()).toBe("item1");
expect(q.dequeue()).toBeUndefined();
q.enqueue("item2");
q.enqueue("item3");
expect(q.dequeue()).toBe("item2");
expect(q.dequeue()).toBe("item3");
expect(q.dequeue()).toBeUndefined();
});
it("length", () => {
const q = new Queue();
q.enqueue("item1");
q.enqueue("item2");
expect(q).toHaveLength(2);
2024-11-20 09:54:25 +08:00
q.dequeue();
expect(q).toHaveLength(1);
2024-11-20 09:54:25 +08:00
q.dequeue();
expect(q).toHaveLength(0);
2024-11-20 09:54:25 +08:00
});
});