mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-07 20:38:43 +02:00
45 lines
2.2 KiB
Swift
45 lines
2.2 KiB
Swift
//
|
|
// PlayerTimeUtilsTests.swift
|
|
// AudiobookshelfUnitTests
|
|
//
|
|
// Created by Ron Heft on 9/20/22.
|
|
//
|
|
|
|
import XCTest
|
|
@testable import Audiobookshelf
|
|
|
|
final class PlayerTimeUtilsTests: XCTestCase {
|
|
|
|
func testCalcSeekBackTime() {
|
|
let currentTime: Double = 1000
|
|
let threeSecondsAgo = Date(timeIntervalSinceNow: -3)
|
|
let lastPlayedMs = threeSecondsAgo.timeIntervalSince1970 * 1000
|
|
XCTAssertEqual(PlayerTimeUtils.calcSeekBackTime(currentTime: currentTime, lastPlayedMs: lastPlayedMs), 998)
|
|
}
|
|
|
|
func testCalcSeekBackTimeWithZeroCurrentTime() {
|
|
let currentTime: Double = 0
|
|
let threeHundredSecondsAgo = Date(timeIntervalSinceNow: -300)
|
|
let lastPlayedMs = threeHundredSecondsAgo.timeIntervalSince1970 * 1000
|
|
XCTAssertEqual(PlayerTimeUtils.calcSeekBackTime(currentTime: currentTime, lastPlayedMs: lastPlayedMs), 0)
|
|
}
|
|
|
|
func testTimeSinceLastPlayed() throws {
|
|
let fiveSecondsAgo = Date(timeIntervalSinceNow: -5)
|
|
let lastPlayedMs = fiveSecondsAgo.timeIntervalSince1970 * 1000
|
|
XCTAssertEqual(PlayerTimeUtils.timeSinceLastPlayed(lastPlayedMs)!, -5, accuracy: 1.0)
|
|
XCTAssertNil(PlayerTimeUtils.timeSinceLastPlayed(nil))
|
|
}
|
|
|
|
func testTimeToSeekBackForSinceLastPlayed() throws {
|
|
XCTAssertEqual(PlayerTimeUtils.timeToSeekBackForSinceLastPlayed(nil), 5, "Seeks back 5 seconds for nil")
|
|
XCTAssertEqual(PlayerTimeUtils.timeToSeekBackForSinceLastPlayed(5), 2, "Seeks back 2 seconds for less than 6 seconds")
|
|
XCTAssertEqual(PlayerTimeUtils.timeToSeekBackForSinceLastPlayed(11), 10, "Seeks back 10 seconds for less than 12 seconds")
|
|
XCTAssertEqual(PlayerTimeUtils.timeToSeekBackForSinceLastPlayed(29), 15, "Seeks back 15 seconds for less than 30 seconds")
|
|
XCTAssertEqual(PlayerTimeUtils.timeToSeekBackForSinceLastPlayed(179), 20, "Seeks back 20 seconds for less than 2 minutes")
|
|
XCTAssertEqual(PlayerTimeUtils.timeToSeekBackForSinceLastPlayed(3599), 25, "Seeks back 25 seconds for less than 59 minutes")
|
|
XCTAssertEqual(PlayerTimeUtils.timeToSeekBackForSinceLastPlayed(60000), 29, "Seeks back 29 seconds for anything over 59 minuts")
|
|
}
|
|
|
|
}
|