import KeymapRepository, { KeymapRepositoryImpl, } from "../../../src/content/repositories/KeymapRepository"; import { expect } from "chai"; import Key from "../../../src/shared/settings/Key"; describe("KeymapRepositoryImpl", () => { let sut: KeymapRepository; before(() => { sut = new KeymapRepositoryImpl(); }); describe("#enqueueKey()", () => { it("enqueues keys", () => { sut.enqueueKey(Key.fromMapKey("a")); sut.enqueueKey(Key.fromMapKey("b")); const sequence = sut.enqueueKey(Key.fromMapKey("c")); const keys = sequence.keys; expect(keys[0].equals(Key.fromMapKey("a"))).to.be.true; expect(keys[1].equals(Key.fromMapKey("b"))).to.be.true; expect(keys[2].equals(Key.fromMapKey("c"))).to.be.true; }); }); describe("#clear()", () => { it("clears keys", () => { sut.enqueueKey(Key.fromMapKey("a")); sut.enqueueKey(Key.fromMapKey("b")); sut.enqueueKey(Key.fromMapKey("c")); sut.clear(); const sequence = sut.enqueueKey(Key.fromMapKey("a")); expect(sequence.length()).to.equal(1); }); }); });