mirror of
https://github.com/yattee/yattee.git
synced 2025-10-17 21:08:16 +00:00
Open videos via URL scheme
This commit is contained in:
39
Tests macOS/VideoURLParserTests.swift
Normal file
39
Tests macOS/VideoURLParserTests.swift
Normal file
@@ -0,0 +1,39 @@
|
||||
import XCTest
|
||||
|
||||
final class VideoURLParserTests: XCTestCase {
|
||||
func testIDParsing() throws {
|
||||
let samples: [String: String] = [
|
||||
"https://www.youtube.com/watch?v=_E0PWQvW-14&list=WL&index=4&t=155s": "_E0PWQvW-14",
|
||||
"https://youtu.be/IRsc57nK8mg?t=20": "IRsc57nK8mg",
|
||||
"https://www.youtube-nocookie.com/watch?index=4&v=cE1PSQrWc11&list=WL&t=155s": "cE1PSQrWc11",
|
||||
"https://invidious.snopyta.org/watch?v=XpowfENlJAw" : "XpowfENlJAw",
|
||||
"/watch?v=VQ_f5RymW70" : "VQ_f5RymW70",
|
||||
"watch?v=IUTGFQpKaPU&t=30s": "IUTGFQpKaPU"
|
||||
]
|
||||
|
||||
samples.forEach { url, id in
|
||||
XCTAssertEqual(
|
||||
VideoURLParser(url: URL(string: url)!).id,
|
||||
id
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
func testTimeParsing() throws {
|
||||
let samples: [String: TimeInterval?] = [
|
||||
"https://www.youtube.com/watch?v=_E0PWQvW-14&list=WL&index=4&t=155s": 155,
|
||||
"https://youtu.be/IRsc57nK8mg?t=20m10s": 1210,
|
||||
"https://youtu.be/IRsc57nK8mg?t=3x4z": nil,
|
||||
"https://www.youtube-nocookie.com/watch?index=4&v=cE1PSQrWc11&list=WL&t=2H3m5s": 7385,
|
||||
"https://youtu.be/VQ_f5RymW70?t=378": 378,
|
||||
"watch?v=IUTGFQpKaPU&t=30s": 30
|
||||
]
|
||||
|
||||
samples.forEach { url, time in
|
||||
XCTAssertEqual(
|
||||
VideoURLParser(url: URL(string: url)!).time,
|
||||
time
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user