public async Task SitemapGeneratedWhenNoSitemapItem(string hostname, string formatterString, string expected) { // Given TestExecutionContext context = new TestExecutionContext(); context.Settings[Keys.LinkHideExtensions] = "true"; if (!string.IsNullOrWhiteSpace(hostname)) { context.Settings[Keys.Host] = hostname; } TestDocument doc = new TestDocument(new FilePath("sub/testfile.html"), "Test"); Func <string, string> formatter = null; if (!string.IsNullOrWhiteSpace(formatterString)) { formatter = f => string.Format(formatterString, f); } GenerateSitemap sitemap = new GenerateSitemap(formatter); // When TestDocument result = await ExecuteAsync(doc, context, sitemap).SingleAsync(); // Then result.Content.ShouldContain($"<loc>{expected}</loc>"); }
public async Task SitemapGeneratedWithSitemapItemAsString(string hostname, string formatterString, string expected) { // Given TestExecutionContext context = new TestExecutionContext(); context.Settings[Keys.LinkHideExtensions] = true; if (!string.IsNullOrWhiteSpace(hostname)) { context.Settings[Keys.Host] = hostname; } TestDocument doc = new TestDocument(new FilePath("sub/testfile.html"), "Test"); IDocument[] inputs = { doc }; AddMetadata m = new AddMetadata( Keys.SitemapItem, Config.FromDocument(d => d.Destination.FullPath)); Func <string, string> formatter = null; if (!string.IsNullOrWhiteSpace(formatterString)) { formatter = f => string.Format(formatterString, f); } GenerateSitemap sitemap = new GenerateSitemap(formatter); // When TestDocument result = await ExecuteAsync(doc, context, m, sitemap).SingleAsync(); // Then result.Content.ShouldContain($"<loc>{expected}</loc>"); }