示例#1
0
        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"));
        }
示例#2
0
        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");
        }
示例#3
0
        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"
            })
                                                   );
        }