Skip to content

Commit b477337

Browse files
committed
Add unit test case for youtube embeds
1 parent 50e6664 commit b477337

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

tests/php/test-class-amp-youtube-embed-handler.php

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,50 @@ public function mock_http_request( $preempt, $r, $url ) {
101101
];
102102
}
103103

104+
/**
105+
* data provider for $this->test_sanitize_raw_embeds()
106+
*
107+
* @return string[][]
108+
*/
109+
public function sanitize_raw_embeds_data_provider() {
110+
111+
return [
112+
'youtube-embed' => [
113+
'source' => '<iframe src="https://www.youtube.com/embed/q4xKvHANqjk?controls=0&amp;autoplay=1&amp;loop=1&amp;modestbranding=1" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>',
114+
'expected' => '<amp-youtube data-videoid="q4xKvHANqjk" layout="responsive" width="560" height="315" title="YouTube video player" data-param-controls="0" data-param-modestbranding="1" autoplay="1" loop="1"></amp-youtube>',
115+
],
116+
'short-url' => [
117+
'source' => '<iframe src="https://youtu.be/kfVsfOSbJY0?controls=0&amp;autoplay=1&amp;loop=1&amp;modestbranding=1" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>',
118+
'expected' => '<amp-youtube data-videoid="kfVsfOSbJY0" layout="responsive" width="560" height="315" title="YouTube video player" data-param-controls="0" data-param-modestbranding="1" autoplay="1" loop="1"></amp-youtube>',
119+
],
120+
'none-youtube' => [
121+
'source' => '<iframe src="https://amp-wp.org/" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>',
122+
'expected' => '<iframe src="https://amp-wp.org/" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" width="560" height="315" frameborder="0"></iframe>',
123+
],
124+
];
125+
}
126+
127+
/**
128+
* @dataProvider sanitize_raw_embeds_data_provider
129+
*
130+
* @covers AMP_YouTube_Embed_Handler::sanitize_raw_embeds
131+
*/
132+
public function test_sanitize_raw_embeds( $source, $expected ) {
133+
134+
$embed = new AMP_YouTube_Embed_Handler();
135+
$embed->register_embed();
136+
137+
$dom = AMP_DOM_Utils::get_dom_from_content( $source );
138+
$embed->sanitize_raw_embeds( $dom );
139+
140+
$layout_sanitizer = new AMP_Layout_Sanitizer( $dom );
141+
$layout_sanitizer->sanitize();
142+
143+
$content = AMP_DOM_Utils::get_content_from_dom( $dom );
144+
145+
$this->assertEquals( $expected, trim( $content ) );
146+
}
147+
104148
/**
105149
* Test video_override().
106150
*
@@ -160,7 +204,7 @@ public function get_conversion_data() {
160204

161205
'url_with_querystring' => [
162206
'http://www.youtube.com/watch?v=kfVsfOSbJY0&hl=en&fs=1&w=425&h=349' . PHP_EOL,
163-
'<p><amp-youtube data-videoid="kfVsfOSbJY0" layout="responsive" width="500" height="281" title="Rebecca Black - Friday"><a placeholder href="http://www.youtube.com/watch?v=kfVsfOSbJY0&amp;hl=en&amp;fs=1&amp;w=425&amp;h=349"><img src="https://i.ytimg.com/vi/kfVsfOSbJY0/hqdefault.jpg" layout="fill" object-fit="cover" alt="Rebecca Black - Friday"></img></a></amp-youtube></p>' . PHP_EOL,
207+
'<p><amp-youtube data-videoid="kfVsfOSbJY0" layout="responsive" width="500" height="281" title="Rebecca Black - Friday" data-param-fs="1" data-param-hl="en"><a placeholder href="http://www.youtube.com/watch?v=kfVsfOSbJY0&amp;hl=en&amp;fs=1&amp;w=425&amp;h=349"><img src="https://i.ytimg.com/vi/kfVsfOSbJY0/hqdefault.jpg" layout="fill" object-fit="cover" alt="Rebecca Black - Friday"></img></a></amp-youtube></p>' . PHP_EOL,
164208
'<p><amp-youtube data-videoid="kfVsfOSbJY0" layout="responsive" width="500" height="281"><a placeholder href="http://www.youtube.com/watch?v=kfVsfOSbJY0&amp;hl=en&amp;fs=1&amp;w=425&amp;h=349"><img src="https://i.ytimg.com/vi/kfVsfOSbJY0/hqdefault.jpg" layout="fill" object-fit="cover"></img></a></amp-youtube></p>' . PHP_EOL,
165209
],
166210

0 commit comments

Comments
 (0)