const expect = require("chai").expect; const Parse = require("../lib/index"); describe("Parser Checks", function () { it("Bold Test", function () { expect(Parse("**bold**")).to.eql([ { type: "bold", children: ["bold"], }, ]); }); it("Strikethrough Test", function () { expect(Parse("~~strikethrough~~")).to.eql([ { type: "strikethrough", children: ["strikethrough"], }, ]); }); it("Italics Test", function () { expect(Parse("_italics_")).to.eql([ { type: "italics", children: ["italics"], }, ]); }); it("Underline Test", function () { expect(Parse("==Underline==")).to.eql([ { type: "underline", children: ["Underline"], }, ]); }); it("url Test", function () { expect(Parse("[The Feathers](feathers.studio)")).to.eql([ { type: "url", children: ["The Feathers"], url: "feathers.studio", }, ]); }); it("Bold text inside the Bold text", function () { expect(Parse("**Outer**InnerBold**Bold**")).to.eql([ { type: "bold", children: ["Outer"] }, { type: "text", children: ["InnerBold"] }, { type: "bold", children: ["Bold"] }, ]); }); it("Nested Check 1", function () { expect( Parse( "**Bold_Italics~~strikethrough==underline==strikethrough~~Italics_Bold**", ),[ { type: 'underline', children: [ 'The', { type: 'bold', children: [ 'KING' ] }, 'Maker' ] } ] ).to.eql([ { type: "bold", children: [ "Bold", { type: "italics", children: [ "Italics", { type: "strikethrough", children: [ "strikethrough", { type: "underline", children: ["underline"] }, "strikethrough", ], }, "Italics", ], }, "Bold", ], }, ]); }); });