Skip to content

Commit a842f4b

Browse files
committedAug 10, 2014
Merge pull request Automattic#972 from enkrates/add-youtube-functions-test-class
Adds a test class covering functions.compat.php
2 parents 4da07ae + 0ec3ead commit a842f4b

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed
 

‎tests/test_class.functions.compat.php

+143
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?php
2+
3+
class WP_Test_Functions_Compat extends WP_UnitTestCase {
4+
5+
/**
6+
* @author enkrates
7+
* @covers youtube_sanitize_url
8+
*/
9+
public function test_youtube_sanitize_url_with_valid_url() {
10+
11+
$valid_url = 'https://www.youtube.com/watch?v=snAvGxz7D04';
12+
13+
$sanitized_url = youtube_sanitize_url( $valid_url );
14+
15+
$this->assertEquals( $valid_url, $sanitized_url );
16+
}
17+
18+
/**
19+
* @author enkrates
20+
* @covers youtube_sanitize_url
21+
*/
22+
public function test_youtube_sanitize_url_with_shortened_url() {
23+
24+
$valid_short_url = 'https://youtu.be/snAvGxz7D04';
25+
$expected_sanitized_url = 'https://youtu.be/?v=snAvGxz7D04';
26+
27+
$sanitized_url = youtube_sanitize_url( $valid_short_url );
28+
29+
$this->assertEquals( $expected_sanitized_url, $sanitized_url );
30+
}
31+
32+
/**
33+
* @author enkrates
34+
* @covers youtube_sanitize_url
35+
*/
36+
public function test_youtube_sanitize_url_with_slash_v_slash() {
37+
38+
$slash_v_slash_url = 'https://www.youtube.com/v/9FhMMmqzbD8';
39+
$expected_sanitized_url = 'https://www.youtube.com/?v=9FhMMmqzbD8';
40+
41+
$sanitized_url = youtube_sanitize_url( $slash_v_slash_url );
42+
43+
$this->assertEquals( $expected_sanitized_url, $sanitized_url );
44+
}
45+
46+
/**
47+
* @author enkrates
48+
* @covers youtube_sanitize_url
49+
*/
50+
public function test_youtube_sanitize_url_with_hashbang() {
51+
52+
$hashbang_url = 'https://www.youtube.com/#!v=9FhMMmqzbD8';
53+
$expected_sanitized_url = 'https://www.youtube.com/?v=9FhMMmqzbD8';
54+
55+
$sanitized_url = youtube_sanitize_url( $hashbang_url );
56+
57+
$this->assertEquals( $expected_sanitized_url, $sanitized_url );
58+
}
59+
60+
/**
61+
* @author enkrates
62+
* @covers youtube_sanitize_url
63+
*/
64+
public function test_youtube_sanitize_url_with_amp_ampersand() {
65+
66+
$amp_ampersand_url = 'https://www.youtube.com/watch?v=snAvGxz7D04&amp;hl=en_US';
67+
$expected_sanitized_url = 'https://www.youtube.com/watch?v=snAvGxz7D04&hl=en_US';
68+
69+
$sanitized_url = youtube_sanitize_url( $amp_ampersand_url );
70+
71+
$this->assertEquals( $expected_sanitized_url, $sanitized_url );
72+
}
73+
74+
/**
75+
* @author enkrates
76+
* @covers youtube_sanitize_url
77+
*/
78+
public function test_youtube_sanitize_url_with_encoded_ampersand() {
79+
80+
$encoded_ampersand_url = 'https://www.youtube.com/watch?v=snAvGxz7D04&#038;hl=en_US';
81+
$expected_sanitized_url = 'https://www.youtube.com/watch?v=snAvGxz7D04&hl=en_US';
82+
83+
$sanitized_url = youtube_sanitize_url( $encoded_ampersand_url );
84+
85+
$this->assertEquals( $expected_sanitized_url, $sanitized_url );
86+
}
87+
88+
/**
89+
* @author enkrates
90+
* @covers youtube_sanitize_url
91+
*/
92+
public function test_youtube_sanitize_url_with_playlist() {
93+
94+
$valid_playlist_url = 'https://www.youtube.com/playlist?list=PL56C3506BBE979C1B';
95+
$expected_sanitized_url = 'https://www.youtube.com/videoseries?list=PL56C3506BBE979C1B';
96+
97+
$sanitized_url = youtube_sanitize_url( $valid_playlist_url );
98+
99+
$this->assertEquals( $expected_sanitized_url, $sanitized_url );
100+
}
101+
102+
/**
103+
* @author enkrates
104+
* @covers youtube_sanitize_url
105+
*/
106+
public function test_youtube_sanitize_url_with_extra_question_mark() {
107+
108+
$extra_question_mark_url = 'http://www.youtube.com/v/9FhMMmqzbD8?fs=1&hl=en_US';
109+
$expected_sanitized_url = 'http://www.youtube.com/?v=9FhMMmqzbD8&fs=1&hl=en_US';
110+
111+
$sanitized_url = youtube_sanitize_url( $extra_question_mark_url );
112+
113+
$this->assertEquals( $expected_sanitized_url, $sanitized_url );
114+
}
115+
116+
/**
117+
* @author enkrates
118+
* @covers jetpack_get_youtube_id
119+
*/
120+
public function test_jetpack_get_youtube_id_with_single_video_url() {
121+
122+
$single_video_url = 'https://www.youtube.com/watch?v=snAvGxz7D04';
123+
$expected_id = 'snAvGxz7D04';
124+
125+
$youtube_id = jetpack_get_youtube_id( $single_video_url );
126+
127+
$this->assertEquals( $expected_id, $youtube_id );
128+
}
129+
130+
/**
131+
* @author enkrates
132+
* @covers jetpack_get_youtube_id
133+
*/
134+
public function test_jetpack_get_youtube_id_with_playlist_url() {
135+
136+
$playlist_url = 'https://www.youtube.com/playlist?list=PL56C3506BBE979C1B';
137+
$expected_id = 'PL56C3506BBE979C1B';
138+
139+
$youtube_id = jetpack_get_youtube_id( $playlist_url );
140+
141+
$this->assertEquals( $expected_id, $youtube_id );
142+
}
143+
} // end class

0 commit comments

Comments
 (0)
Please sign in to comment.