public void ReturnFalse_WhenElementArgumentIsNull() { // Act var actualResult = new AudioSanitizer().CanSanitize(null); // Assert Assert.IsFalse(actualResult); }
public void ReturnTrue_WhenElementArgumentIsAudioElement() { // Arrange var htmlElement = ElementFactory.CreateAudio(); // Act var actualResult = new AudioSanitizer().CanSanitize(htmlElement); // Assert Assert.IsTrue(actualResult); }
public void ReturnFalse_WhenElementArgumentIsNotAudioElement() { // Arrange var htmlElement = ElementFactory.Create("div"); // Act var actualResult = new AudioSanitizer().CanSanitize(htmlElement); // Assert Assert.IsFalse(actualResult); }
public void ReturnAmpAudioElement_Always() { // Arrange const string ExpectedResult = "AMP-AUDIO"; var audioElement = ElementFactory.CreateAudio(); ElementFactory.Document.Body.Append(audioElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, audioElement); // Assert Assert.AreEqual(ExpectedResult, actualResult.TagName); }
public void ReturnAmpAudioElementWithLayoutAttributeSetToNoDisplay_IfTheOriginalAudioElementHasStyleVisibilityHidden() { // Arrange const string ExpectedResult = "nodisplay"; var audioElement = ElementFactory.CreateAudio(); audioElement.SetAttribute("style", "visibility:hidden"); ElementFactory.Document.Body.Append(audioElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, audioElement); // Assert Assert.AreEqual(ExpectedResult, actualResult.GetAttribute("layout")); }
public void ReturnAmpAudioElementWithLayoutAttributeSetToFixedHeight_IfTheOriginalAudioElementHasOnlyHeightAttributeSpecified() { // Arrange const string ExpectedResult = "fixed-height"; var audioElement = ElementFactory.CreateAudio(); audioElement.SetAttribute("height", "100"); ElementFactory.Document.Body.Append(audioElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, audioElement); // Assert Assert.AreEqual(ExpectedResult, actualResult.GetAttribute("layout")); }
public void ReturnAmpAudioElementWithLayoutAttributeSetToResponsive_IfTheOriginalAudioElementHasBothWidthAndHeightAttributesAndWidthHasValueEqualToAuto() { // Arrange const string ExpectedResult = "responsive"; var audioElement = ElementFactory.CreateAudio(); audioElement.SetAttribute("width", "auto"); audioElement.SetAttribute("height", "100"); ElementFactory.Document.Body.Append(audioElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, audioElement); // Assert Assert.AreEqual(ExpectedResult, actualResult.GetAttribute("layout")); }
public void ReturnAmpAudioElementWithSourceStartingWithHttpsAndTheOtherPartOfTheUrlPreserved_WhenTheAudioElementHasSourceAttribute() { // Arrange const string ExpectedResult = "https://www.site.com:8082/test-resource?q=1"; var audioElement = ElementFactory.CreateAudio(); audioElement.Source = "http://www.site.com:8082/test-resource?q=1"; ElementFactory.Document.Body.Append(audioElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, audioElement); var ampElementSource = new Uri(actualResult.GetAttribute("src")); // Assert Assert.AreEqual(ExpectedResult, ampElementSource.ToString()); }
public void ReturnAmpAudioElementWithSourceStartingWithHttps_WhenTheAudioElementHasSourceAttribute() { // Arrange const string ExpectedResult = "https"; var audioElement = ElementFactory.CreateAudio(); audioElement.Source = "http://www.mysite.com"; ElementFactory.Document.Body.Append(audioElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, audioElement); var ampElementSource = new Uri(actualResult.GetAttribute("src")); // Assert Assert.AreEqual(ExpectedResult, ampElementSource.Scheme); }
public void CopyAllChildrenFromTheOriginalAudioElementToTheAmpElement_Always() { // Arrange const int ExpectedResult = 2; var htmlElement = ElementFactory.CreateAudio(); var firstChild = ElementFactory.Create("input"); var secondChild = ElementFactory.Create("p"); htmlElement.Append(firstChild); htmlElement.Append(secondChild); ElementFactory.Document.Body.Append(htmlElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, htmlElement); // Assert Assert.AreEqual(ExpectedResult, actualResult.Children.Length); }
public void CopyAllAttributesFromTheOriginalAudioElementToTheAmpElement_Always() { // Arrange var htmlElement = ElementFactory.CreateAudio(); htmlElement.Source = "https://www.example.com"; htmlElement.Id = "audioId"; htmlElement.ClassName = "someClassName"; ElementFactory.Document.Body.Append(htmlElement); // Act var actualResult = new AudioSanitizer().Sanitize(ElementFactory.Document, htmlElement); // Assert Assert.AreEqual("https://www.example.com", actualResult.GetAttribute("src")); Assert.AreEqual("audioId", actualResult.Id); Assert.AreEqual("someClassName", actualResult.ClassName); }