public void GivenCustomSerializers_AndCustomObjectsArePresent() { var json = File.ReadAllText("../../../data/customobjects.json"); var result = BlockContentToHtml.Render(json, new PortableTextSerializers { TypeSerializers = new Dictionary <string, TypeSerializer> { { "youtubeEmbed", new TypeSerializer { Type = typeof(YoutubeEmbed), Serialize = (block, serializers) => { var typedBlock = block as YoutubeEmbed; if (typedBlock == null) { return(string.Empty); } return($@"<iframe title=""{typedBlock.Title}"" href=""{typedBlock.Url}""></iframe>"); } } } } }); result.Should().Be(@"<iframe title=""Top 10 goals Jon Dahl Tomasson"" href=""https://youtu.be/8d9vXiGrYck""></iframe>"); }
public void GivenNoCustomSerializers_AndCustomObjectsArePresent_ShouldNotCrash() { var json = File.ReadAllText("../../../data/customobjects.json"); var result = BlockContentToHtml.Render(json); result.Should().Be(null); }
public void HandlesLinks() { var json = File.ReadAllText("../../../data/links.json"); var result = BlockContentToHtml.Render(json); result.Should().Be(@"<p><strong>Spotify -> </strong><strong><a href=""https://open.spotify.com/episode/2ON1aZSJvYieU8Pewz7yUH?si=KARaXtuaQDaOkeyxs0f7OQ"">Lytt her!</a></strong></p>"); }
public void HandlesSimpleJson() { var json = File.ReadAllText("../../../data/simple.json"); var result = BlockContentToHtml.Render(json); result.Should().Be("<p>Jeg er <strong>kul</strong>!</p>"); }
public void GivenOneSimpleArrayElementOfTypeBlock() { var result = BlockContentToHtml.Render(@" [ { ""_type"": ""block"", ""children"": [ { ""_type"": ""span"", ""text"": ""test"" } ], ""style"": ""normal"" } ] "); result.Should().Be("<p>test</p>"); }
public void ConvertsSlashNToBr() { var result = BlockContentToHtml.Render(@" [ { ""_type"": ""block"", ""children"": [ { ""_type"": ""span"", ""text"": ""test\ntest2"" } ], ""style"": ""normal"" } ] "); result.Should().Be("<p>test<br>test2</p>"); }
public string HugeJson() => BlockContentToHtml.Render(json);
public void HandlesJsonArrayWithEmptyObject() { var result = BlockContentToHtml.Render("[{}]"); result.Should().Be(null); }
public void HandlesEmptyJsonArray() { var result = BlockContentToHtml.Render("[]"); result.Should().Be(null); }
public void AcceptsEmptyJson() { var result = BlockContentToHtml.Render(string.Empty); result.Should().BeNull(); }
public void HandlesNull() { var result = BlockContentToHtml.Render(null); result.Should().BeNull(); }
public void MassiveTest() { var result = BlockContentToHtml.Render(File.ReadAllText("../../../data/bigcontent.json")); Snapshot.Match(result); }