public void should_configure_whitelist_for_sanitizer() { // given var whiteListSettings = new HtmlWhiteListSettings() { AllowedElements = new List <string> { "StarWarsMarquee" }, AllowedAttributes = new List <string> { "cheesecake" } }; var whiteListProviderMock = Substitute.For <IHtmlWhiteListProvider>(); whiteListProviderMock .Deserialize() .Returns(whiteListSettings); HtmlSanitizerFactory factory = CreateFactory(null, whiteListProviderMock); // when IHtmlSanitizer sanitizer = factory.CreateHtmlSanitizer(); // then sanitizer.ShouldNotBeNull(); sanitizer.AllowDataAttributes.ShouldNotBeNull(); sanitizer.AllowedSchemes.ShouldContain("http"); sanitizer.AllowedSchemes.ShouldContain("https"); sanitizer.AllowedSchemes.ShouldContain("mailto"); sanitizer.AllowedTags.ShouldContain("StarWarsMarquee"); sanitizer.AllowedAttributes.ShouldContain("cheesecake"); }
public void should_return_default_whitelistsettings_when_path_is_empty() { // given var defaultSettings = _htmlWhiteListProvider.CreateDefaultWhiteList(); // when HtmlWhiteListSettings settings = _htmlWhiteListProvider.Deserialize(); // then defaultSettings.ShouldBeEquivalent(settings); }
public void should_return_default_whitelistsettings_when_exception_occurs() { // given _textSettings.HtmlElementWhiteListPath = Path.Combine(Directory.GetCurrentDirectory(), "Text", "Sanitizer", "dodgy-whitelist.json"); var defaultSettings = _htmlWhiteListProvider.CreateDefaultWhiteList(); // when HtmlWhiteListSettings settings = _htmlWhiteListProvider.Deserialize(); // then defaultSettings.ShouldBeEquivalent(settings); }
public void should_return_default_whitelistsettings_when_whitelist_file_is_missing() { // given _textSettings.HtmlElementWhiteListPath = "file that doesnt exist.json"; var defaultSettings = _htmlWhiteListProvider.CreateDefaultWhiteList(); // when HtmlWhiteListSettings settings = _htmlWhiteListProvider.Deserialize(); // then defaultSettings.ShouldBeEquivalent(settings); }
public void should_return_whitelistsettings_from_derialized_file() { // given _textSettings.HtmlElementWhiteListPath = Path.Combine(Directory.GetCurrentDirectory(), "Text", "Sanitizer", "whitelist.json"); // when HtmlWhiteListSettings settings = _htmlWhiteListProvider.Deserialize(); // then settings.AllowedElements.Count.ShouldBe(2); settings.AllowedAttributes.Count.ShouldBe(3); settings.AllowedElements[0].ShouldBe("blah"); settings.AllowedElements[1].ShouldBe("test"); settings.AllowedAttributes[0].ShouldBe("id"); settings.AllowedAttributes[1].ShouldBe("class"); settings.AllowedAttributes[2].ShouldBe("href"); }