41 lines
918 B
Go
41 lines
918 B
Go
package data
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestYouTube(t *testing.T) {
|
|
validUrls := []string{
|
|
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
"http://youtube.com/watch?v=dQw4w9WgXcQ",
|
|
"https://youtu.be/dQw4w9WgXcQ",
|
|
"www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
"youtube.com/watch?v=dQw4w9WgXcQ",
|
|
"youtu.be/dQw4w9WgXcQ",
|
|
"https://www.youtube.com/embed/dQw4w9WgXcQ",
|
|
"https://www.youtube.com/v/dQw4w9WgXcQ",
|
|
"https://www.youtube.com/watch?feature=player_embedded&v=dQw4w9WgXcQ",
|
|
"https://m.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
}
|
|
invalidUrls := []string{
|
|
"invalid.url",
|
|
"https://example.com/notyoutube",
|
|
}
|
|
|
|
st := GetSourceType("Youtube")
|
|
|
|
for _, u := range validUrls {
|
|
_, err := st.NewSource(u)
|
|
if err != nil {
|
|
t.Errorf(`%q is a valid YouTube url`, u)
|
|
}
|
|
}
|
|
|
|
for _, u := range invalidUrls {
|
|
_, err := st.NewSource(u)
|
|
if err == nil {
|
|
t.Errorf(`%q is an invalid YouTube url`, u)
|
|
}
|
|
}
|
|
}
|