33 lines
1.4 KiB
Go
33 lines
1.4 KiB
Go
package services
|
|
|
|
import "testing"
|
|
|
|
func TestExtractVideoPreviewURLFindsEnvatoPreview(t *testing.T) {
|
|
html := `<script type="application/ld+json">{"contentUrl":"https://video-previews.elements.envatousercontent.com/ad0a3abc-7eb0-4075-8f68-8198f9a08777/watermarked_preview/watermarked_preview.mp4"}</script>`
|
|
got := firstNonEmpty(extractJSONLDValue(html, "contentUrl"), extractVideoPreviewURL(html))
|
|
want := "https://video-previews.elements.envatousercontent.com/ad0a3abc-7eb0-4075-8f68-8198f9a08777/watermarked_preview/watermarked_preview.mp4"
|
|
if got != want {
|
|
t.Fatalf("expected %q, got %q", want, got)
|
|
}
|
|
}
|
|
|
|
func TestDeriveEnvatoPreviewFromThumbnail(t *testing.T) {
|
|
thumb := "https://elements-resized.envatousercontent.com/elements-video-cover-images/ad0a3abc-7eb0-4075-8f68-8198f9a08777/video_preview/video_preview_0000.jpg?w=1200&h=630"
|
|
got := deriveEnvatoPreviewFromThumbnail(thumb)
|
|
want := "https://elements-resized.envatousercontent.com/elements-video-cover-images/ad0a3abc-7eb0-4075-8f68-8198f9a08777/watermarked_preview/watermarked_preview.mp4"
|
|
if got != want {
|
|
t.Fatalf("expected %q, got %q", want, got)
|
|
}
|
|
}
|
|
|
|
func TestIsUsefulGoogleVideoResultRejectsMusicResults(t *testing.T) {
|
|
result := SearchResult{
|
|
Title: "Couple Friendly Sad Bgm Movie Best Bgm",
|
|
Link: "https://www.youtube.com/watch?v=LGP4wiXSw8c",
|
|
Snippet: "romantic bgm soundtrack",
|
|
}
|
|
if isUsefulGoogleVideoResult(result) {
|
|
t.Fatal("expected bgm/music result to be rejected")
|
|
}
|
|
}
|