Esempio n. 1
0
        public void ReturnFalse_WhenHtmlElementHasNotHrefAttribute()
        {
            // Act
            var actualResult = new HrefJavaScriptSanitizer().CanSanitize(ElementFactory.CreateAnchor());

            // Assert
            Assert.IsFalse(actualResult);
        }
Esempio n. 2
0
        public void ReturnFalse_WhenHtmlElementIsNull()
        {
            // Act
            var actualResult = new HrefJavaScriptSanitizer().CanSanitize(null);

            // Assert
            Assert.IsFalse(actualResult);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public void ReturnFalse_WhenHrefAttributeIsNotStartingWithJavaScript()
        {
            // Arrange
            var anchorElement = ElementFactory.CreateAnchor();

            anchorElement.Href = "/random-url";

            // Act
            var actualResult = new HrefJavaScriptSanitizer().CanSanitize(anchorElement);

            // Assert
            Assert.IsFalse(actualResult);
        }
Esempio n. 5
0
        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"));
        }