import { expect } from "chai"; const chai = require("chai"); chai.use(require("chai-fs")); import { describe, it } from "mocha"; import { argdown } from "../src/index"; import { IArgdownRequest } from "@argdown/core"; import path from "path"; import rimraf from "rimraf"; const rimrafPromise = function(path: string) { return new Promise((resolve, reject) => { rimraf(path, {}, function(err: Error | null | undefined) { if (err) { reject(err); } resolve(); }); }); }; describe("SvgToPdfExportPlugin", () => { it("can generate pdf from svg (sanity test)", async () => { const input = ` [B]: test : test - [B] + : test `; const request: IArgdownRequest = { input, svgToPdf: { fileName: "test", outputDir: "test/pdf" }, process: [ "parse-input", "build-model", "build-map", "colorize", "export-dot", "export-svg", "save-svg-as-pdf" ], logLevel: "error" }; await argdown.runAsync(request); const filePathToPdf = path.resolve(__dirname, "pdf/test.pdf"); (expect(filePathToPdf).to.be.a).file(); await rimrafPromise(path.resolve(__dirname, "pdf/")); }); it("can load custom font (sanity test)", async () => { const input = ` === svgToPdf: fonts: - {name: "arial", path: "./DejaVuSans.ttf"} - {name: "arial Bold", path: "./DejaVuSans-Bold.ttf"} - {name: "Times,serif", path: "./DejaVuSans.ttf"} === [B]: ДҖЛ̕ : ДҖЛ̕ - [B] + : ДҖЛ̕ `; const request: IArgdownRequest = { input, inputPath: path.resolve(__dirname, "test-font.argdown"), svgToPdf: { fileName: "test-font", outputDir: "test/pdf" }, process: [ "parse-input", "build-model", "build-map", "colorize", "export-dot", "export-svg", "save-svg-as-pdf" ], logLevel: "error" }; await argdown.runAsync(request); const filePathToPdf = path.resolve(__dirname, "pdf/test-font.pdf"); (expect(filePathToPdf).to.be.a).file(); await rimrafPromise(path.resolve(__dirname, "pdf/")); }); });