57 lines
1.8 KiB
Swift
57 lines
1.8 KiB
Swift
import Quick
|
|
import Nimble
|
|
import AVFoundation
|
|
|
|
@testable import SwiftAudio
|
|
|
|
class AVPlayerItemObserverTests: QuickSpec {
|
|
|
|
override func spec() {
|
|
|
|
describe("An AVPlayerItemObserver") {
|
|
var observer: AVPlayerItemObserver!
|
|
beforeEach {
|
|
observer = AVPlayerItemObserver()
|
|
}
|
|
describe("observed item", {
|
|
context("when observing", {
|
|
var item: AVPlayerItem!
|
|
beforeEach {
|
|
item = AVPlayerItem(url: URL(fileURLWithPath: Source.path))
|
|
observer.startObserving(item: item)
|
|
}
|
|
|
|
it("should exist", closure: {
|
|
expect(observer.observingItem).toEventuallyNot(beNil())
|
|
})
|
|
})
|
|
})
|
|
|
|
describe("observing status", {
|
|
it("should not be observing", closure: {
|
|
expect(observer.isObserving).toEventuallyNot(beTrue())
|
|
})
|
|
context("when observing", {
|
|
var item: AVPlayerItem!
|
|
beforeEach {
|
|
item = AVPlayerItem(url: URL(fileURLWithPath: Source.path))
|
|
observer.startObserving(item: item)
|
|
}
|
|
it("should be observing", closure: {
|
|
expect(observer.isObserving).toEventually(beTrue())
|
|
})
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
class AVPlayerItemObserverDelegateHolder: AVPlayerItemObserverDelegate {
|
|
|
|
var updateDuration: ((_ duration: Double) -> Void)?
|
|
|
|
func item(didUpdateDuration duration: Double) {
|
|
updateDuration?(duration)
|
|
}
|
|
}
|