public void ReturnFalse_WhenHtmlElementHasNotHrefAttribute() { // Act var actualResult = new HrefJavaScriptSanitizer().CanSanitize(ElementFactory.CreateAnchor()); // Assert Assert.IsFalse(actualResult); }
public void ReturnFalse_WhenHtmlElementIsNull() { // Act var actualResult = new HrefJavaScriptSanitizer().CanSanitize(null); // Assert Assert.IsFalse(actualResult); }
public void ReturnTrue_WhenHrefAttributeIsStartingWithJavaScript() { // Arrange var anchorElement = ElementFactory.CreateAnchor(); anchorElement.Href = "javascript:void(0);"; // Act var actualResult = new HrefJavaScriptSanitizer().CanSanitize(anchorElement); // Assert Assert.IsTrue(actualResult); }
public void ReturnFalse_WhenHrefAttributeIsNotStartingWithJavaScript() { // Arrange var anchorElement = ElementFactory.CreateAnchor(); anchorElement.Href = "/random-url"; // Act var actualResult = new HrefJavaScriptSanitizer().CanSanitize(anchorElement); // Assert Assert.IsFalse(actualResult); }
public void ReplaceHrefAttributeWithHash() { // Arrange var anchorElement = ElementFactory.CreateAnchor(); anchorElement.Href = "javascript:void(0);"; // Act var actualResult = new HrefJavaScriptSanitizer().Sanitize(null, anchorElement); // Assert // Using .GetAttribute("href") because AngleSharp tries to resolve absolute url and that leads to // about:blank/# . Explantion: https://github.com/AngleSharp/AngleSharp/issues/53 Assert.AreEqual("#", anchorElement.GetAttribute("href")); }