static Serialize() { Data = new TheoryData <HtmlToPdfConverterOptions, string>(); var data1 = new HtmlToPdfConverterOptions(); data1.PaperSize.Margins = Margins.Normal; data1.PaperSize.Orientation = Orientation.Portrait; Data.Add(data1, "{\\\"paperSize\\\":{\\\"format\\\":\\\"Letter\\\",\\\"orientation\\\":\\\"portrait\\\",\\\"margin\\\":{\\\"top\\\":\\\"1in\\\",\\\"right\\\":\\\"1in\\\",\\\"bottom\\\":\\\"1in\\\",\\\"left\\\":\\\"1in\\\"}},\\\"viewportSize\\\":{\\\"width\\\":600,\\\"height\\\":600},\\\"zoomFactor\\\":1}"); var data2 = new HtmlToPdfConverterOptions { PaperSize = new PaperSizeMeasurements(new Size(10, Unit.Centimeter), new Size(11, Unit.Centimeter)), ZoomFactor = 2, ViewportSize = new ViewportSize { Width = 1, Height = 2 }, ClipRectangle = new ClipRectangle { Top = 1, Left = 2, Width = 3, Height = 4 } }; data2.PaperSize.Margins = new Margins(new Size(1, Unit.Inch), new Size(2, Unit.Inch), new Size(3, Unit.Inch), new Size(4, Unit.Inch)); data2.PaperSize.Orientation = Orientation.Landscape; Data.Add(data2, "{\\\"paperSize\\\":{\\\"width\\\":\\\"10cm\\\",\\\"height\\\":\\\"11cm\\\",\\\"orientation\\\":\\\"landscape\\\",\\\"margin\\\":{\\\"top\\\":\\\"1in\\\",\\\"right\\\":\\\"2in\\\",\\\"bottom\\\":\\\"3in\\\",\\\"left\\\":\\\"4in\\\"}},\\\"viewportSize\\\":{\\\"width\\\":1,\\\"height\\\":2},\\\"zoomFactor\\\":2,\\\"clipRect\\\":{\\\"top\\\":1,\\\"left\\\":2,\\\"width\\\":3,\\\"height\\\":4}}"); }
public void Should_convert_options_to_json(HtmlToPdfConverterOptions optionsToSerialize, string expectedJson) { // Act var result = sut.Serialize(optionsToSerialize); // Assert Assert.Equal(expectedJson, result); }
private static void AssertDefaults(HtmlToPdfConverterOptions sut) { var paperSizeFormat = Assert.IsType <PaperSizeFormat>(sut.PaperSize); Assert.Equal(PaperSizeFormat.Letter.Format, paperSizeFormat.Format); Assert.Equal(Orientation.Portrait, sut.PaperSize.Orientation); Assert.Equal(Margins.Normal, sut.PaperSize.Margins); Assert.Equal(ViewportSize.Default, sut.ViewportSize); Assert.Equal(1, sut.ZoomFactor); Assert.Equal(ClipRectangle.Null, sut.ClipRectangle); }
public void Should_set_the_PhantomRootDirectory() { // Arrange var currentDirectory = Directory.GetCurrentDirectory(); var expectedRoot = Path.Combine(currentDirectory, "PhantomJs", "TestRoot"); // Act var sut = new HtmlToPdfConverterOptions(expectedRoot); // Assert Assert.Equal(expectedRoot, sut.PhantomRootDirectory); AssertDefaults(sut); }
public string Serialize(HtmlToPdfConverterOptions options) { var settings = new Dictionary <string, object> { { "paperSize", options.PaperSize.SerializeTo(new Dictionary <string, object>()) }, { "viewportSize", options.ViewportSize.SerializeTo(new Dictionary <string, object>()) }, { "zoomFactor", options.ZoomFactor } }; if (!options.ClipRectangle.Equals(ClipRectangle.Null)) { settings.Add("clipRect", options.ClipRectangle.SerializeTo(new Dictionary <string, object>())); } var json = JsonSerializer.Serialize(settings); return(json.Replace("\"", "\\\"")); }
public HtmlToPdfConverterTest() { _options = new HtmlToPdfConverterOptions(); _executableNameFinderMock = new Mock <IExecutableNameFinder>(); _executableNameFinderMock .Setup(x => x.Find()) .Returns("ArgsLoggerConsole.exe"); _optionsSerializerMock = new Mock <IHtmlToPdfConverterOptionsSerializer>(); _optionsSerializerMock .Setup(x => x.Serialize(It.IsAny <HtmlToPdfConverterOptions>())) .Returns(SerializedOptions); sut = new HtmlToPdfConverter( _options, _executableNameFinderMock.Object, _optionsSerializerMock.Object ); _currentDirectory = Directory.GetCurrentDirectory(); _targetDirectory = Path.Combine(_currentDirectory, "PhantomJs", "Target"); }
public HtmlToPdfConverterOptionsTest() { sut = new HtmlToPdfConverterOptions(); }
public HtmlToPdfConverter(HtmlToPdfConverterOptions options, IExecutableNameFinder executableNameFinder, IHtmlToPdfConverterOptionsSerializer optionsSerializer) { _options = options ?? throw new ArgumentNullException(nameof(options)); _executableNameFinder = executableNameFinder ?? throw new ArgumentNullException(nameof(executableNameFinder)); _optionsSerializer = optionsSerializer ?? throw new ArgumentNullException(nameof(optionsSerializer)); }