1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-06 17:41:00 +00:00
miniflux-v2/internal/reader/processor/youtube_test.go

43 lines
1.1 KiB
Go
Raw Normal View History

// SPDX-FileCopyrightText: Copyright The Miniflux Authors. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
package processor // import "miniflux.app/v2/internal/reader/processor"
import (
"testing"
)
func TestGetYouTubeVideoIDFromURL(t *testing.T) {
scenarios := []struct {
url string
expected string
}{
{"https://www.youtube.com/watch?v=HLrqNhgdiC0", "HLrqNhgdiC0"},
{"https://www.youtube.com/watch?v=HLrqNhgdiC0&feature=youtu.be", "HLrqNhgdiC0"},
{"https://example.org/test", ""},
}
for _, tc := range scenarios {
result := getVideoIDFromYouTubeURL(tc.url)
if tc.expected != result {
t.Errorf(`Unexpected result, got %q for url %q`, result, tc.url)
}
}
}
func TestIsYouTubeVideoURL(t *testing.T) {
scenarios := []struct {
url string
expected bool
}{
{"https://www.youtube.com/watch?v=HLrqNhgdiC0", true},
{"https://www.youtube.com/watch?v=HLrqNhgdiC0&feature=youtu.be", true},
{"https://example.org/test", false},
}
for _, tc := range scenarios {
result := isYouTubeVideoURL(tc.url)
if tc.expected != result {
t.Errorf(`Unexpected result, got %v for url %q`, result, tc.url)
}
}
}