import CommandLineParser, { InputPhase, } from "../../../src/console/commandline/CommandLineParser"; import { Command } from "../../../src/shared/Command"; import { expect } from "chai"; describe("CommandLineParser", () => { describe("#inputPhase", () => { it("returns parsed command-line", () => { const sut = new CommandLineParser(); expect(sut.inputPhase("")).to.equal(InputPhase.OnCommand); expect(sut.inputPhase("op")).to.equal(InputPhase.OnCommand); expect(sut.inputPhase("open ")).to.equal(InputPhase.OnArgs); expect(sut.inputPhase("open apple")).to.equal(InputPhase.OnArgs); }); }); describe("#parse", () => { it("returns parsed command-line", () => { const sut = new CommandLineParser(); expect(sut.parse("open google apple")).to.deep.equal({ command: Command.Open, args: "google apple", }); expect(sut.parse("qa")).to.deep.equal({ command: Command.QuitAll, args: "", }); }); }); });