public void BuildCommandFromParameters_ProducesCorrectCommand() { // Given var parameters = new PandocParameters() { SourcePath = "test.md", TargetPath = "test.pdf", HighlightTheme = true, HighlightThemeSource = "style.theme", NumberedHeader = true, CustomFont = true, CustomFontName = "Segoe UI", CustomMargin = true, CustomMarginValue = 1.3m, CustomPdfEngine = true, CustomPdfEngineValue = "xelatex", TableOfContents = true, LogToFile = true, LogFilePath = "logs.txt" }; var cli = new PandocCli(); // When var generator = cli.BuildGenerator(parameters); // Then Assert.Equal( "-f markdown \"test.md\" --highlight-style \"style.theme\" -N -V mainfont:\"Segoe UI\" -V geometry:a4paper -V geometry:margin=1.3cm --pdf-engine=xelatex --toc --log=\"logs.txt\"", generator.GetCommand("test.md")); }
public async Task ExecuteCommand_RendersPdf() { // Given IPandocCli cli = new PandocCli(); string[] lines = { "# First line", "## Second line", "### Third line" }; await File.WriteAllLinesAsync("test.md", lines); // When await cli.ExportPdfAsync(new PandocParameters() { SourcePath = "test.md", TargetPath = "test.pdf" }); // Then Assert.True(File.Exists("test.pdf")); File.Delete("test.md"); File.Delete("test.pdf"); }
public void ExecuteCommand_NotPdf_Throws() { // Given IPandocCli cli = new PandocCli(); // When Then Assert.ThrowsAsync <ArgumentException>(async() => await cli.ExportPdfAsync(new PandocParameters() { SourcePath = "test.md", TargetPath = "test.pdf" }) ); }