diff --git a/Html2Amp.IntegrationTests/Html2Amp.IntegrationTests.csproj b/Html2Amp.IntegrationTests/Html2Amp.IntegrationTests.csproj
index 8bce04d..8bafe96 100644
--- a/Html2Amp.IntegrationTests/Html2Amp.IntegrationTests.csproj
+++ b/Html2Amp.IntegrationTests/Html2Amp.IntegrationTests.csproj
@@ -141,6 +141,8 @@
+
+
diff --git a/Html2Amp.IntegrationTests/TestData/YouTubeVideoSanitizationWithNoCookieHost/YouTubeVideoSanitizationWithNoCookieHost.in b/Html2Amp.IntegrationTests/TestData/YouTubeVideoSanitizationWithNoCookieHost/YouTubeVideoSanitizationWithNoCookieHost.in
new file mode 100644
index 0000000..0d0cf42
--- /dev/null
+++ b/Html2Amp.IntegrationTests/TestData/YouTubeVideoSanitizationWithNoCookieHost/YouTubeVideoSanitizationWithNoCookieHost.in
@@ -0,0 +1,2 @@
+
\ No newline at end of file
diff --git a/Html2Amp.IntegrationTests/TestData/YouTubeVideoSanitizationWithNoCookieHost/YouTubeVideoSanitizationWithNoCookieHost.out b/Html2Amp.IntegrationTests/TestData/YouTubeVideoSanitizationWithNoCookieHost/YouTubeVideoSanitizationWithNoCookieHost.out
new file mode 100644
index 0000000..1b0d68c
--- /dev/null
+++ b/Html2Amp.IntegrationTests/TestData/YouTubeVideoSanitizationWithNoCookieHost/YouTubeVideoSanitizationWithNoCookieHost.out
@@ -0,0 +1,2 @@
+
\ No newline at end of file
diff --git a/Html2Amp.IntegrationTests/Tests/YouTubeVideoSanitizationTests/YouTubeVideoSanitization.cs b/Html2Amp.IntegrationTests/Tests/YouTubeVideoSanitizationTests/YouTubeVideoSanitization.cs
index 853e796..defeb57 100644
--- a/Html2Amp.IntegrationTests/Tests/YouTubeVideoSanitizationTests/YouTubeVideoSanitization.cs
+++ b/Html2Amp.IntegrationTests/Tests/YouTubeVideoSanitizationTests/YouTubeVideoSanitization.cs
@@ -131,5 +131,19 @@ public void YouTubeVideoSanitizationWithChildren()
HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult);
AmpAssert.IsValidAmp(TestName);
}
+
+ [TestMethod]
+ public void YouTubeVideoSanitizationWithNoCookieHost()
+ {
+ // Arrange
+ const string TestName = "YouTubeVideoSanitizationWithNoCookieHost";
+
+ // Act
+ var actualResult = HtmlTestFileToAmpConverter.Convert(TestName);
+
+ // Assert
+ HtmlAssert.AreEqual(TestDataProvider.GetOutFile(TestName), actualResult);
+ AmpAssert.IsValidAmp(TestName);
+ }
}
}
\ No newline at end of file
diff --git a/Html2Amp.UnitTests/YouTubeVideoSanitizerTests/YouTubeVideoSanitizer_CanSanitizer_Should.cs b/Html2Amp.UnitTests/YouTubeVideoSanitizerTests/YouTubeVideoSanitizer_CanSanitizer_Should.cs
index dafc7ea..e761e33 100644
--- a/Html2Amp.UnitTests/YouTubeVideoSanitizerTests/YouTubeVideoSanitizer_CanSanitizer_Should.cs
+++ b/Html2Amp.UnitTests/YouTubeVideoSanitizerTests/YouTubeVideoSanitizer_CanSanitizer_Should.cs
@@ -99,5 +99,19 @@ public void ReturnTrue_WhenSourceAttributeIsYouTubeDomainAndStartsWithWWW()
// Assert
Assert.IsTrue(actualResult);
}
+
+ [TestMethod]
+ public void ReturnTrue_WhenSourceAttributeIsYouTubeNoCookie()
+ {
+ // Arrange
+ var htmlElement = ElementFactory.CreateIFrame();
+ htmlElement.Source = "http://www.youtube-nocookie.com/embed/d8fr3AdK_tQ4";
+
+ // Act
+ var actualResult = new YouTubeVideoSanitizer().CanSanitize(htmlElement);
+
+ // Assert
+ Assert.IsTrue(actualResult);
+ }
}
}
\ No newline at end of file
diff --git a/Html2Amp/Sanitization/Implementation/YouTubeVideoSanitizer.cs b/Html2Amp/Sanitization/Implementation/YouTubeVideoSanitizer.cs
index 22f2c61..7f4bdd9 100644
--- a/Html2Amp/Sanitization/Implementation/YouTubeVideoSanitizer.cs
+++ b/Html2Amp/Sanitization/Implementation/YouTubeVideoSanitizer.cs
@@ -28,7 +28,7 @@ public override bool CanSanitize(IElement element)
if (Uri.TryCreate(sourceAttributeValue, UriKind.Absolute, out sourceUri))
{
return sourceUri.LocalPath.StartsWith("/embed/")
- && Regex.IsMatch(sourceUri.Host, @"^(www\.)?youtube\.com$");
+ && Regex.IsMatch(sourceUri.Host, @"^(www\.)?youtube(-nocookie)?\.com$");
}
return false;