├── .gitignore
├── .travis.yml
├── DZVideoPlayerViewController.podspec
├── Example
├── DZVideoPlayerViewController.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── DZVideoPlayerViewController-Example.xcscheme
├── DZVideoPlayerViewController.xcworkspace
│ └── contents.xcworkspacedata
├── DZVideoPlayerViewController
│ ├── Base.lproj
│ │ └── Main.storyboard
│ ├── DZAppDelegate.h
│ ├── DZAppDelegate.m
│ ├── DZVideoPlayerViewController-Info.plist
│ ├── DZVideoPlayerViewController-Prefix.pch
│ ├── DZViewController.h
│ ├── DZViewController.m
│ ├── Images.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── LaunchImage.launchimage
│ │ │ └── Contents.json
│ ├── Star Wars Episode VII - The Force Awakens Official Teaser Trailer #1 (2015) - J.J. Abrams Movie HD.mp4
│ ├── en.lproj
│ │ └── InfoPlist.strings
│ ├── main.m
│ └── mpmovieplayer_screenshot.png
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Expecta
│ │ ├── Expecta
│ │ │ ├── EXPBlockDefinedMatcher.h
│ │ │ ├── EXPBlockDefinedMatcher.m
│ │ │ ├── EXPDefines.h
│ │ │ ├── EXPDoubleTuple.h
│ │ │ ├── EXPDoubleTuple.m
│ │ │ ├── EXPExpect.h
│ │ │ ├── EXPExpect.m
│ │ │ ├── EXPFloatTuple.h
│ │ │ ├── EXPFloatTuple.m
│ │ │ ├── EXPMatcher.h
│ │ │ ├── EXPUnsupportedObject.h
│ │ │ ├── EXPUnsupportedObject.m
│ │ │ ├── Expecta.h
│ │ │ ├── ExpectaObject.h
│ │ │ ├── ExpectaObject.m
│ │ │ ├── ExpectaSupport.h
│ │ │ ├── ExpectaSupport.m
│ │ │ ├── Matchers
│ │ │ │ ├── EXPMatcherHelpers.h
│ │ │ │ ├── EXPMatcherHelpers.m
│ │ │ │ ├── EXPMatchers+beCloseTo.h
│ │ │ │ ├── EXPMatchers+beCloseTo.m
│ │ │ │ ├── EXPMatchers+beFalsy.h
│ │ │ │ ├── EXPMatchers+beFalsy.m
│ │ │ │ ├── EXPMatchers+beGreaterThan.h
│ │ │ │ ├── EXPMatchers+beGreaterThan.m
│ │ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.h
│ │ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.m
│ │ │ │ ├── EXPMatchers+beIdenticalTo.h
│ │ │ │ ├── EXPMatchers+beIdenticalTo.m
│ │ │ │ ├── EXPMatchers+beInTheRangeOf.h
│ │ │ │ ├── EXPMatchers+beInTheRangeOf.m
│ │ │ │ ├── EXPMatchers+beInstanceOf.h
│ │ │ │ ├── EXPMatchers+beInstanceOf.m
│ │ │ │ ├── EXPMatchers+beKindOf.h
│ │ │ │ ├── EXPMatchers+beKindOf.m
│ │ │ │ ├── EXPMatchers+beLessThan.h
│ │ │ │ ├── EXPMatchers+beLessThan.m
│ │ │ │ ├── EXPMatchers+beLessThanOrEqualTo.h
│ │ │ │ ├── EXPMatchers+beLessThanOrEqualTo.m
│ │ │ │ ├── EXPMatchers+beNil.h
│ │ │ │ ├── EXPMatchers+beNil.m
│ │ │ │ ├── EXPMatchers+beSubclassOf.h
│ │ │ │ ├── EXPMatchers+beSubclassOf.m
│ │ │ │ ├── EXPMatchers+beSupersetOf.h
│ │ │ │ ├── EXPMatchers+beSupersetOf.m
│ │ │ │ ├── EXPMatchers+beTruthy.h
│ │ │ │ ├── EXPMatchers+beTruthy.m
│ │ │ │ ├── EXPMatchers+beginWith.h
│ │ │ │ ├── EXPMatchers+beginWith.m
│ │ │ │ ├── EXPMatchers+conformTo.h
│ │ │ │ ├── EXPMatchers+conformTo.m
│ │ │ │ ├── EXPMatchers+contain.h
│ │ │ │ ├── EXPMatchers+contain.m
│ │ │ │ ├── EXPMatchers+endWith.h
│ │ │ │ ├── EXPMatchers+endWith.m
│ │ │ │ ├── EXPMatchers+equal.h
│ │ │ │ ├── EXPMatchers+equal.m
│ │ │ │ ├── EXPMatchers+haveCountOf.h
│ │ │ │ ├── EXPMatchers+haveCountOf.m
│ │ │ │ ├── EXPMatchers+match.h
│ │ │ │ ├── EXPMatchers+match.m
│ │ │ │ ├── EXPMatchers+postNotification.h
│ │ │ │ ├── EXPMatchers+postNotification.m
│ │ │ │ ├── EXPMatchers+raise.h
│ │ │ │ ├── EXPMatchers+raise.m
│ │ │ │ ├── EXPMatchers+raiseWithReason.h
│ │ │ │ ├── EXPMatchers+raiseWithReason.m
│ │ │ │ ├── EXPMatchers+respondTo.h
│ │ │ │ ├── EXPMatchers+respondTo.m
│ │ │ │ └── EXPMatchers.h
│ │ │ ├── NSObject+Expecta.h
│ │ │ ├── NSValue+Expecta.h
│ │ │ └── NSValue+Expecta.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── Headers
│ │ ├── Private
│ │ │ ├── DZVideoPlayerViewController
│ │ │ │ ├── DZPlayerButton.h
│ │ │ │ ├── DZPlayerView.h
│ │ │ │ ├── DZProgressIndicatorSlider.h
│ │ │ │ ├── DZVideoPlayerViewController.h
│ │ │ │ ├── DZVideoPlayerViewControllerConfiguration.h
│ │ │ │ ├── DZVideoPlayerViewControllerContainerView.h
│ │ │ │ ├── DZVideoPlayerViewControllerDelegate.h
│ │ │ │ └── DZVideoPlayerViewController_constants.h
│ │ │ ├── Expecta
│ │ │ │ ├── EXPBlockDefinedMatcher.h
│ │ │ │ ├── EXPDefines.h
│ │ │ │ ├── EXPDoubleTuple.h
│ │ │ │ ├── EXPExpect.h
│ │ │ │ ├── EXPFloatTuple.h
│ │ │ │ ├── EXPMatcher.h
│ │ │ │ ├── EXPMatcherHelpers.h
│ │ │ │ ├── EXPMatchers+beCloseTo.h
│ │ │ │ ├── EXPMatchers+beFalsy.h
│ │ │ │ ├── EXPMatchers+beGreaterThan.h
│ │ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.h
│ │ │ │ ├── EXPMatchers+beIdenticalTo.h
│ │ │ │ ├── EXPMatchers+beInTheRangeOf.h
│ │ │ │ ├── EXPMatchers+beInstanceOf.h
│ │ │ │ ├── EXPMatchers+beKindOf.h
│ │ │ │ ├── EXPMatchers+beLessThan.h
│ │ │ │ ├── EXPMatchers+beLessThanOrEqualTo.h
│ │ │ │ ├── EXPMatchers+beNil.h
│ │ │ │ ├── EXPMatchers+beSubclassOf.h
│ │ │ │ ├── EXPMatchers+beSupersetOf.h
│ │ │ │ ├── EXPMatchers+beTruthy.h
│ │ │ │ ├── EXPMatchers+beginWith.h
│ │ │ │ ├── EXPMatchers+conformTo.h
│ │ │ │ ├── EXPMatchers+contain.h
│ │ │ │ ├── EXPMatchers+endWith.h
│ │ │ │ ├── EXPMatchers+equal.h
│ │ │ │ ├── EXPMatchers+haveCountOf.h
│ │ │ │ ├── EXPMatchers+match.h
│ │ │ │ ├── EXPMatchers+postNotification.h
│ │ │ │ ├── EXPMatchers+raise.h
│ │ │ │ ├── EXPMatchers+raiseWithReason.h
│ │ │ │ ├── EXPMatchers+respondTo.h
│ │ │ │ ├── EXPMatchers.h
│ │ │ │ ├── EXPUnsupportedObject.h
│ │ │ │ ├── Expecta.h
│ │ │ │ ├── ExpectaObject.h
│ │ │ │ ├── ExpectaSupport.h
│ │ │ │ ├── NSObject+Expecta.h
│ │ │ │ └── NSValue+Expecta.h
│ │ │ └── Specta
│ │ │ │ ├── SPTCallSite.h
│ │ │ │ ├── SPTCompiledExample.h
│ │ │ │ ├── SPTExample.h
│ │ │ │ ├── SPTExampleGroup.h
│ │ │ │ ├── SPTExcludeGlobalBeforeAfterEach.h
│ │ │ │ ├── SPTGlobalBeforeAfterEach.h
│ │ │ │ ├── SPTSharedExampleGroups.h
│ │ │ │ ├── SPTSpec.h
│ │ │ │ ├── SPTTestSuite.h
│ │ │ │ ├── Specta.h
│ │ │ │ ├── SpectaDSL.h
│ │ │ │ ├── SpectaTypes.h
│ │ │ │ ├── SpectaUtility.h
│ │ │ │ ├── XCTest+Private.h
│ │ │ │ └── XCTestCase+Specta.h
│ │ └── Public
│ │ │ ├── DZVideoPlayerViewController
│ │ │ ├── DZPlayerButton.h
│ │ │ ├── DZPlayerView.h
│ │ │ ├── DZProgressIndicatorSlider.h
│ │ │ ├── DZVideoPlayerViewController.h
│ │ │ ├── DZVideoPlayerViewControllerConfiguration.h
│ │ │ ├── DZVideoPlayerViewControllerContainerView.h
│ │ │ ├── DZVideoPlayerViewControllerDelegate.h
│ │ │ └── DZVideoPlayerViewController_constants.h
│ │ │ ├── Expecta
│ │ │ ├── EXPBlockDefinedMatcher.h
│ │ │ ├── EXPDefines.h
│ │ │ ├── EXPDoubleTuple.h
│ │ │ ├── EXPExpect.h
│ │ │ ├── EXPFloatTuple.h
│ │ │ ├── EXPMatcher.h
│ │ │ ├── EXPMatcherHelpers.h
│ │ │ ├── EXPMatchers+beCloseTo.h
│ │ │ ├── EXPMatchers+beFalsy.h
│ │ │ ├── EXPMatchers+beGreaterThan.h
│ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.h
│ │ │ ├── EXPMatchers+beIdenticalTo.h
│ │ │ ├── EXPMatchers+beInTheRangeOf.h
│ │ │ ├── EXPMatchers+beInstanceOf.h
│ │ │ ├── EXPMatchers+beKindOf.h
│ │ │ ├── EXPMatchers+beLessThan.h
│ │ │ ├── EXPMatchers+beLessThanOrEqualTo.h
│ │ │ ├── EXPMatchers+beNil.h
│ │ │ ├── EXPMatchers+beSubclassOf.h
│ │ │ ├── EXPMatchers+beSupersetOf.h
│ │ │ ├── EXPMatchers+beTruthy.h
│ │ │ ├── EXPMatchers+beginWith.h
│ │ │ ├── EXPMatchers+conformTo.h
│ │ │ ├── EXPMatchers+contain.h
│ │ │ ├── EXPMatchers+endWith.h
│ │ │ ├── EXPMatchers+equal.h
│ │ │ ├── EXPMatchers+haveCountOf.h
│ │ │ ├── EXPMatchers+match.h
│ │ │ ├── EXPMatchers+postNotification.h
│ │ │ ├── EXPMatchers+raise.h
│ │ │ ├── EXPMatchers+raiseWithReason.h
│ │ │ ├── EXPMatchers+respondTo.h
│ │ │ ├── EXPMatchers.h
│ │ │ ├── EXPUnsupportedObject.h
│ │ │ ├── Expecta.h
│ │ │ ├── ExpectaObject.h
│ │ │ ├── ExpectaSupport.h
│ │ │ ├── NSObject+Expecta.h
│ │ │ └── NSValue+Expecta.h
│ │ │ └── Specta
│ │ │ ├── SPTCallSite.h
│ │ │ ├── SPTCompiledExample.h
│ │ │ ├── SPTExample.h
│ │ │ ├── SPTExampleGroup.h
│ │ │ ├── SPTExcludeGlobalBeforeAfterEach.h
│ │ │ ├── SPTGlobalBeforeAfterEach.h
│ │ │ ├── SPTSharedExampleGroups.h
│ │ │ ├── SPTSpec.h
│ │ │ ├── SPTTestSuite.h
│ │ │ ├── Specta.h
│ │ │ ├── SpectaDSL.h
│ │ │ ├── SpectaTypes.h
│ │ │ ├── SpectaUtility.h
│ │ │ ├── XCTest+Private.h
│ │ │ └── XCTestCase+Specta.h
│ ├── Local Podspecs
│ │ └── DZVideoPlayerViewController.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ ├── Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-DZVideoPlayerViewController.xcscheme
│ │ │ ├── Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController.xcscheme
│ │ │ ├── Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-DZVideoPlayerViewController.xcscheme
│ │ │ └── Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController.xcscheme
│ ├── Specta
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Specta
│ │ │ └── Specta
│ │ │ ├── SPTCallSite.h
│ │ │ ├── SPTCallSite.m
│ │ │ ├── SPTCompiledExample.h
│ │ │ ├── SPTCompiledExample.m
│ │ │ ├── SPTExample.h
│ │ │ ├── SPTExample.m
│ │ │ ├── SPTExampleGroup.h
│ │ │ ├── SPTExampleGroup.m
│ │ │ ├── SPTExcludeGlobalBeforeAfterEach.h
│ │ │ ├── SPTGlobalBeforeAfterEach.h
│ │ │ ├── SPTSharedExampleGroups.h
│ │ │ ├── SPTSharedExampleGroups.m
│ │ │ ├── SPTSpec.h
│ │ │ ├── SPTSpec.m
│ │ │ ├── SPTTestSuite.h
│ │ │ ├── SPTTestSuite.m
│ │ │ ├── Specta.h
│ │ │ ├── SpectaDSL.h
│ │ │ ├── SpectaDSL.m
│ │ │ ├── SpectaTypes.h
│ │ │ ├── SpectaUtility.h
│ │ │ ├── SpectaUtility.m
│ │ │ ├── XCTest+Private.h
│ │ │ ├── XCTestCase+Specta.h
│ │ │ └── XCTestCase+Specta.m
│ └── Target Support Files
│ │ ├── Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController
│ │ ├── Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-Private.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-dummy.m
│ │ ├── Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-prefix.pch
│ │ └── Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Example
│ │ ├── Pods-DZVideoPlayerViewController_Example-acknowledgements.markdown
│ │ ├── Pods-DZVideoPlayerViewController_Example-acknowledgements.plist
│ │ ├── Pods-DZVideoPlayerViewController_Example-dummy.m
│ │ ├── Pods-DZVideoPlayerViewController_Example-environment.h
│ │ ├── Pods-DZVideoPlayerViewController_Example-resources.sh
│ │ ├── Pods-DZVideoPlayerViewController_Example.debug.xcconfig
│ │ └── Pods-DZVideoPlayerViewController_Example.release.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController
│ │ ├── Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-Private.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-dummy.m
│ │ ├── Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-prefix.pch
│ │ └── Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Expecta
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Expecta-Private.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Expecta-dummy.m
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Expecta-prefix.pch
│ │ └── Pods-DZVideoPlayerViewController_Tests-Expecta.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Specta
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Specta-Private.xcconfig
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Specta-dummy.m
│ │ ├── Pods-DZVideoPlayerViewController_Tests-Specta-prefix.pch
│ │ └── Pods-DZVideoPlayerViewController_Tests-Specta.xcconfig
│ │ └── Pods-DZVideoPlayerViewController_Tests
│ │ ├── Pods-DZVideoPlayerViewController_Tests-acknowledgements.markdown
│ │ ├── Pods-DZVideoPlayerViewController_Tests-acknowledgements.plist
│ │ ├── Pods-DZVideoPlayerViewController_Tests-dummy.m
│ │ ├── Pods-DZVideoPlayerViewController_Tests-environment.h
│ │ ├── Pods-DZVideoPlayerViewController_Tests-resources.sh
│ │ ├── Pods-DZVideoPlayerViewController_Tests.debug.xcconfig
│ │ └── Pods-DZVideoPlayerViewController_Tests.release.xcconfig
└── Tests
│ ├── Tests-Info.plist
│ ├── Tests-Prefix.pch
│ ├── Tests.m
│ └── en.lproj
│ └── InfoPlist.strings
├── LICENSE
├── Pod
├── Assets
│ ├── .gitkeep
│ ├── DZVideoPlayerViewController.xib
│ ├── DZVideoPlayerViewController_simple.xib
│ ├── videoplayer_expand@1x.png
│ ├── videoplayer_expand@2x.png
│ ├── videoplayer_expand@3x.png
│ ├── videoplayer_pause@1x.png
│ ├── videoplayer_pause@2x.png
│ ├── videoplayer_pause@3x.png
│ ├── videoplayer_play@1x.png
│ ├── videoplayer_play@2x.png
│ ├── videoplayer_play@3x.png
│ ├── videoplayer_shrink@1x.png
│ ├── videoplayer_shrink@2x.png
│ └── videoplayer_shrink@3x.png
└── Classes
│ ├── .gitkeep
│ ├── DZPlayerButton.h
│ ├── DZPlayerButton.m
│ ├── DZPlayerView.h
│ ├── DZPlayerView.m
│ ├── DZProgressIndicatorSlider.h
│ ├── DZProgressIndicatorSlider.m
│ ├── DZVideoPlayerViewController.h
│ ├── DZVideoPlayerViewController.m
│ ├── DZVideoPlayerViewControllerConfiguration.h
│ ├── DZVideoPlayerViewControllerConfiguration.m
│ ├── DZVideoPlayerViewControllerContainerView.h
│ ├── DZVideoPlayerViewControllerContainerView.m
│ ├── DZVideoPlayerViewControllerDelegate.h
│ └── DZVideoPlayerViewController_constants.h
├── README.md
└── Screenshots
├── demo1(0.3.0).gif
├── screenshot1(0.3.0).png
├── screenshot2(0.3.0).png
└── screenshot3(0.3.0).png
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 | # Bundler
23 | .bundle
24 |
25 | # We recommend against adding the Pods directory to your .gitignore. However
26 | # you should judge for yourself, the pros and cons are mentioned at:
27 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
28 | #
29 | # Note: if you ignore the Pods directory, make sure to uncomment
30 | # `pod install` in .travis.yml
31 | #
32 | # Pods/
33 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * http://www.objc.io/issue-6/travis-ci.html
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | language: objective-c
6 | # cache: cocoapods
7 | # podfile: Example/Podfile
8 | # before_install:
9 | # - gem install cocoapods # Since Travis is not always on latest version
10 | # - pod install --project-directory=Example
11 | install:
12 | - gem install xcpretty --no-rdoc --no-ri --no-document --quiet
13 | script:
14 | - set -o pipefail && xcodebuild test -workspace Example/DZVideoPlayerViewController.xcworkspace -scheme DZVideoPlayerViewController-Example -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO | xcpretty -c
15 | - pod lib lint --quick
16 |
--------------------------------------------------------------------------------
/DZVideoPlayerViewController.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # Be sure to run `pod lib lint DZVideoPlayerViewController.podspec' to ensure this is a
3 | # valid spec and remove all comments before submitting the spec.
4 | #
5 | # Any lines starting with a # are optional, but encouraged
6 | #
7 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
8 | #
9 |
10 | Pod::Spec.new do |s|
11 | s.name = "DZVideoPlayerViewController"
12 | s.version = "0.4.0"
13 | s.summary = "iOS Video Player control, implemented with AVPlayer."
14 | s.description = <<-DESC
15 | iOS Video Player control with playback controls, remote control center commands, background playback, now playing info updates. Implemented with AVPlayer, supports both online and offline videos. Highly customizable with Interface Builder.
16 | DESC
17 | s.homepage = "https://github.com/DZamataev/DZVideoPlayerViewController"
18 | s.screenshots = "https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/master/Screenshots/screenshot1(0.3.0).png", "https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/master/Screenshots/screenshot2(0.3.0).png"
19 | s.license = 'MIT'
20 | s.author = { "Denis Zamataev" => "denis.zamataev@gmail.com" }
21 | s.source = { :git => "https://github.com/DZamataev/DZVideoPlayerViewController.git", :tag => s.version.to_s }
22 | s.social_media_url = 'https://twitter.com/dzamataev'
23 |
24 | s.platform = :ios, '8.0'
25 | s.requires_arc = true
26 |
27 | s.source_files = 'Pod/Classes/**/*'
28 | s.resource_bundles = {
29 | 'DZVideoPlayerViewController' => ['Pod/Assets/**/*']
30 | }
31 |
32 | s.frameworks = 'AVFoundation', 'AudioToolbox'
33 | end
34 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController.xcodeproj/xcshareddata/xcschemes/DZVideoPlayerViewController-Example.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
33 |
39 |
40 |
41 |
42 |
43 |
49 |
50 |
51 |
52 |
53 |
54 |
64 |
66 |
72 |
73 |
74 |
75 |
76 |
77 |
83 |
85 |
91 |
92 |
93 |
94 |
96 |
97 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/DZAppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZAppDelegate.h
3 | // DZVideoPlayerViewController
4 | //
5 | // Created by CocoaPods on 06/03/2015.
6 | // Copyright (c) 2014 Denis Zamataev. All rights reserved.
7 | //
8 |
9 | @import UIKit;
10 |
11 | @interface DZAppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/DZAppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZAppDelegate.m
3 | // DZVideoPlayerViewController
4 | //
5 | // Created by CocoaPods on 06/03/2015.
6 | // Copyright (c) 2014 Denis Zamataev. All rights reserved.
7 | //
8 |
9 | #import "DZAppDelegate.h"
10 |
11 | @implementation DZAppDelegate
12 |
13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
14 | {
15 | // Override point for customization after application launch.
16 | return YES;
17 | }
18 |
19 | - (void)applicationWillResignActive:(UIApplication *)application
20 | {
21 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
22 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
23 | }
24 |
25 | - (void)applicationDidEnterBackground:(UIApplication *)application
26 | {
27 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
29 | }
30 |
31 | - (void)applicationWillEnterForeground:(UIApplication *)application
32 | {
33 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
34 | }
35 |
36 | - (void)applicationDidBecomeActive:(UIApplication *)application
37 | {
38 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
39 | }
40 |
41 | - (void)applicationWillTerminate:(UIApplication *)application
42 | {
43 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
44 | }
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/DZVideoPlayerViewController-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1.0
25 | LSRequiresIPhoneOS
26 |
27 | UIMainStoryboardFile
28 | Main
29 | UIMainStoryboardFile~ipad
30 | Main
31 | UIRequiredDeviceCapabilities
32 |
33 | armv7
34 |
35 | UISupportedInterfaceOrientations
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationLandscapeLeft
39 | UIInterfaceOrientationLandscapeRight
40 |
41 | UISupportedInterfaceOrientations~ipad
42 |
43 | UIInterfaceOrientationPortrait
44 | UIInterfaceOrientationPortraitUpsideDown
45 | UIInterfaceOrientationLandscapeLeft
46 | UIInterfaceOrientationLandscapeRight
47 |
48 | NSAppTransportSecurity
49 |
50 | NSAllowsArbitraryLoads
51 |
52 | NSExceptionDomains
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/DZVideoPlayerViewController-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header
3 | //
4 | // The contents of this file are implicitly included at the beginning of every source file.
5 | //
6 |
7 | #import
8 |
9 | #ifndef __IPHONE_5_0
10 | #warning "This project uses features only available in iOS SDK 5.0 and later."
11 | #endif
12 |
13 | #ifdef __OBJC__
14 | @import UIKit;
15 | @import Foundation;
16 | #endif
17 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/DZViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZViewController.h
3 | // DZVideoPlayerViewController
4 | //
5 | // Created by Denis Zamataev on 06/03/2015.
6 | // Copyright (c) 2014 Denis Zamataev. All rights reserved.
7 | //
8 |
9 | @import UIKit;
10 |
11 | #import
12 |
13 | @interface DZViewController : UIViewController
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/DZViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZViewController.m
3 | // DZVideoPlayerViewController
4 | //
5 | // Created by Denis Zamataev on 06/03/2015.
6 | // Copyright (c) 2014 Denis Zamataev. All rights reserved.
7 | //
8 |
9 | #import "DZViewController.h"
10 |
11 | NSString *const kVideoFileName = @"Star Wars Episode VII - The Force Awakens Official Teaser Trailer #1 (2015) - J.J. Abrams Movie HD";
12 | NSString *const kVideoFileExtension = @"mp4";
13 |
14 | @interface DZViewController ()
15 |
16 | @property (strong, nonatomic) IBOutlet UIView *contentView;
17 | @property (strong, nonatomic) IBOutlet NSLayoutConstraint *contentViewAspectRatioConstraint;
18 | @property (strong, nonatomic) IBOutlet NSLayoutConstraint *contentViewBottomSpaceConstraint;
19 |
20 | @property (strong, nonatomic) IBOutlet DZVideoPlayerViewControllerContainerView *videoContainerView;
21 | @property (strong, nonatomic) DZVideoPlayerViewController *videoPlayerViewController;
22 |
23 | @end
24 |
25 | @implementation DZViewController
26 |
27 | - (void)viewDidLoad
28 | {
29 | [super viewDidLoad];
30 | self.videoPlayerViewController = self.videoContainerView.videoPlayerViewController;
31 | self.videoPlayerViewController.delegate = self;
32 | // self.videoPlayerViewController.configuration.isBackgroundPlaybackEnabled = NO;
33 | // self.videoPlayerViewController.configuration.isShowFullscreenExpandAndShrinkButtonsEnabled = NO;
34 | // self.videoPlayerViewController.configuration.isHideControlsOnIdleEnabled = NO;
35 |
36 | // NSURL *fileURL = [[NSBundle mainBundle] URLForResource:kVideoFileName withExtension:kVideoFileExtension];
37 | // self.videoPlayerViewController.videoURL = fileURL;
38 |
39 | NSURL *netURL = [NSURL URLWithString:@"http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"];
40 | self.videoPlayerViewController.videoURL = netURL;
41 | [self.videoPlayerViewController prepareAndPlayAutomatically:YES];
42 | }
43 |
44 | - (void)didReceiveMemoryWarning
45 | {
46 | [super didReceiveMemoryWarning];
47 | // Dispose of any resources that can be recreated.
48 | }
49 |
50 | - (BOOL)prefersStatusBarHidden {
51 | return self.videoPlayerViewController.isFullscreen;
52 | }
53 |
54 | - (UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
55 | return UIStatusBarAnimationSlide;
56 | }
57 |
58 | - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator {
59 | [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
60 | }
61 |
62 | #pragma mark -
63 |
64 | - (void)playerFailedToLoadAssetWithError:(NSError *)error {
65 |
66 | }
67 |
68 | - (void)playerDidPlay {
69 |
70 | }
71 |
72 | - (void)playerDidPause {
73 |
74 | }
75 |
76 | - (void)playerDidStop {
77 |
78 | }
79 |
80 | - (void)playerDidToggleFullscreen {
81 | if (self.videoPlayerViewController.isFullscreen) {
82 | // expand videoPlayerViewController to fullscreen
83 | self.contentViewAspectRatioConstraint.priority = UILayoutPriorityDefaultLow;
84 | self.contentViewBottomSpaceConstraint.priority = UILayoutPriorityDefaultHigh;
85 |
86 | [UIView animateWithDuration:0.5 animations:^{
87 | [self.contentView layoutIfNeeded];
88 | [self setNeedsStatusBarAppearanceUpdate];
89 | } completion:^(BOOL finished) {
90 |
91 | }];
92 | }
93 | else {
94 | // shrink videoPlayerViewController from fullscreen
95 | self.contentViewBottomSpaceConstraint.priority = UILayoutPriorityDefaultLow;
96 | self.contentViewAspectRatioConstraint.priority = UILayoutPriorityDefaultHigh;
97 |
98 | [UIView animateWithDuration:0.5 animations:^{
99 | [self.contentView layoutIfNeeded];
100 | [self setNeedsStatusBarAppearanceUpdate];
101 | } completion:^(BOOL finished) {
102 |
103 | }];
104 | }
105 | }
106 |
107 | - (void)playerDidPlayToEndTime {
108 | }
109 |
110 | - (void)playerFailedToPlayToEndTime {
111 |
112 | }
113 |
114 | - (void)playerPlaybackStalled {
115 |
116 | }
117 |
118 | - (void)playerDoneButtonTouched {
119 |
120 | }
121 |
122 | - (void)playerGatherNowPlayingInfo:(NSMutableDictionary *)nowPlayingInfo {
123 | // [nowPlayingInfo setObject:self.video.author forKey:MPMediaItemPropertyArtist];
124 | [nowPlayingInfo setObject:kVideoFileName forKey:MPMediaItemPropertyTitle];
125 | }
126 |
127 | @end
128 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "40x40",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "60x60",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "60x60",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "ipad",
25 | "size" : "29x29",
26 | "scale" : "1x"
27 | },
28 | {
29 | "idiom" : "ipad",
30 | "size" : "29x29",
31 | "scale" : "2x"
32 | },
33 | {
34 | "idiom" : "ipad",
35 | "size" : "40x40",
36 | "scale" : "1x"
37 | },
38 | {
39 | "idiom" : "ipad",
40 | "size" : "40x40",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "size" : "76x76",
46 | "scale" : "1x"
47 | },
48 | {
49 | "idiom" : "ipad",
50 | "size" : "76x76",
51 | "scale" : "2x"
52 | }
53 | ],
54 | "info" : {
55 | "version" : 1,
56 | "author" : "xcode"
57 | }
58 | }
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/Images.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "extent" : "full-screen",
7 | "minimum-system-version" : "7.0",
8 | "scale" : "2x"
9 | },
10 | {
11 | "orientation" : "portrait",
12 | "idiom" : "iphone",
13 | "subtype" : "retina4",
14 | "extent" : "full-screen",
15 | "minimum-system-version" : "7.0",
16 | "scale" : "2x"
17 | },
18 | {
19 | "orientation" : "portrait",
20 | "idiom" : "ipad",
21 | "extent" : "full-screen",
22 | "minimum-system-version" : "7.0",
23 | "scale" : "1x"
24 | },
25 | {
26 | "orientation" : "landscape",
27 | "idiom" : "ipad",
28 | "extent" : "full-screen",
29 | "minimum-system-version" : "7.0",
30 | "scale" : "1x"
31 | },
32 | {
33 | "orientation" : "portrait",
34 | "idiom" : "ipad",
35 | "extent" : "full-screen",
36 | "minimum-system-version" : "7.0",
37 | "scale" : "2x"
38 | },
39 | {
40 | "orientation" : "landscape",
41 | "idiom" : "ipad",
42 | "extent" : "full-screen",
43 | "minimum-system-version" : "7.0",
44 | "scale" : "2x"
45 | }
46 | ],
47 | "info" : {
48 | "version" : 1,
49 | "author" : "xcode"
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/Star Wars Episode VII - The Force Awakens Official Teaser Trailer #1 (2015) - J.J. Abrams Movie HD.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Example/DZVideoPlayerViewController/Star Wars Episode VII - The Force Awakens Official Teaser Trailer #1 (2015) - J.J. Abrams Movie HD.mp4
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // DZVideoPlayerViewController
4 | //
5 | // Created by Denis Zamataev on 06/03/2015.
6 | // Copyright (c) 2014 Denis Zamataev. All rights reserved.
7 | //
8 |
9 | @import UIKit;
10 | #import "DZAppDelegate.h"
11 |
12 | int main(int argc, char * argv[])
13 | {
14 | @autoreleasepool {
15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([DZAppDelegate class]));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Example/DZVideoPlayerViewController/mpmovieplayer_screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Example/DZVideoPlayerViewController/mpmovieplayer_screenshot.png
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 |
3 | target 'DZVideoPlayerViewController_Example', :exclusive => true do
4 | pod "DZVideoPlayerViewController", :path => "../"
5 | end
6 |
7 | target 'DZVideoPlayerViewController_Tests', :exclusive => true do
8 | pod "DZVideoPlayerViewController", :path => "../"
9 |
10 | pod 'Specta'
11 | pod 'Expecta'
12 | end
13 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - DZVideoPlayerViewController (0.3.0)
3 | - Expecta (1.0.0)
4 | - Specta (1.0.2)
5 |
6 | DEPENDENCIES:
7 | - DZVideoPlayerViewController (from `../`)
8 | - Expecta
9 | - Specta
10 |
11 | EXTERNAL SOURCES:
12 | DZVideoPlayerViewController:
13 | :path: "../"
14 |
15 | SPEC CHECKSUMS:
16 | DZVideoPlayerViewController: 67118b156fdae14c1af18835cc6fd0956859d072
17 | Expecta: 32604574add2c46a36f8d2f716b6c5736eb75024
18 | Specta: 9cec98310dca411f7c7ffd6943552b501622abfe
19 |
20 | COCOAPODS: 0.37.2
21 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h:
--------------------------------------------------------------------------------
1 | //
2 | // EXPRuntimeMatcher.h
3 | // Expecta
4 | //
5 | // Created by Luke Redpath on 26/03/2012.
6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "EXPMatcher.h"
11 | #import "EXPDefines.h"
12 |
13 | @interface EXPBlockDefinedMatcher : NSObject {
14 | EXPBoolBlock prerequisiteBlock;
15 | EXPBoolBlock matchBlock;
16 | EXPStringBlock failureMessageForToBlock;
17 | EXPStringBlock failureMessageForNotToBlock;
18 | }
19 |
20 | @property(nonatomic, copy) EXPBoolBlock prerequisiteBlock;
21 | @property(nonatomic, copy) EXPBoolBlock matchBlock;
22 | @property(nonatomic, copy) EXPStringBlock failureMessageForToBlock;
23 | @property(nonatomic, copy) EXPStringBlock failureMessageForNotToBlock;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m:
--------------------------------------------------------------------------------
1 | //
2 | // EXPRuntimeMatcher.m
3 | // Expecta
4 | //
5 | // Created by Luke Redpath on 26/03/2012.
6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
7 | //
8 |
9 | #import "EXPBlockDefinedMatcher.h"
10 |
11 | @implementation EXPBlockDefinedMatcher
12 |
13 | - (void)dealloc
14 | {
15 | self.prerequisiteBlock = nil;
16 | self.matchBlock = nil;
17 | self.failureMessageForToBlock = nil;
18 | self.failureMessageForNotToBlock = nil;
19 |
20 | [super dealloc];
21 | }
22 |
23 | @synthesize prerequisiteBlock;
24 | @synthesize matchBlock;
25 | @synthesize failureMessageForToBlock;
26 | @synthesize failureMessageForNotToBlock;
27 |
28 | - (BOOL)meetsPrerequesiteFor:(id)actual
29 | {
30 | if (self.prerequisiteBlock) {
31 | return self.prerequisiteBlock();
32 | }
33 | return YES;
34 | }
35 |
36 | - (BOOL)matches:(id)actual
37 | {
38 | if (self.matchBlock) {
39 | return self.matchBlock();
40 | }
41 | return YES;
42 | }
43 |
44 | - (NSString *)failureMessageForTo:(id)actual
45 | {
46 | if (self.failureMessageForToBlock) {
47 | return self.failureMessageForToBlock();
48 | }
49 | return nil;
50 | }
51 |
52 | - (NSString *)failureMessageForNotTo:(id)actual
53 | {
54 | if (self.failureMessageForNotToBlock) {
55 | return self.failureMessageForNotToBlock();
56 | }
57 | return nil;
58 | }
59 |
60 | @end
61 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPDefines.h:
--------------------------------------------------------------------------------
1 | //
2 | // EXPDefines.h
3 | // Expecta
4 | //
5 | // Created by Luke Redpath on 26/03/2012.
6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
7 | //
8 |
9 | #ifndef Expecta_EXPDefines_h
10 | #define Expecta_EXPDefines_h
11 |
12 | typedef void (^EXPBasicBlock)();
13 | typedef id (^EXPIdBlock)();
14 | typedef BOOL (^EXPBoolBlock)();
15 | typedef NSString *(^EXPStringBlock)();
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPDoubleTuple.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface EXPDoubleTuple : NSObject {
4 | double *_values;
5 | size_t _size;
6 | }
7 |
8 | @property (nonatomic, assign) double *values;
9 | @property (nonatomic, assign) size_t size;
10 |
11 | - (instancetype)initWithDoubleValues:(double *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPDoubleTuple.m:
--------------------------------------------------------------------------------
1 | #import "EXPDoubleTuple.h"
2 |
3 | @implementation EXPDoubleTuple
4 |
5 | @synthesize values = _values, size = _size;
6 |
7 | - (instancetype)initWithDoubleValues:(double *)values size:(size_t)size {
8 | if ((self = [super init])) {
9 | self.values = malloc(sizeof(double) * size);
10 | memcpy(self.values, values, sizeof(double) * size);
11 | self.size = size;
12 | }
13 | return self;
14 | }
15 |
16 | - (void)dealloc {
17 | free(self.values);
18 | [super dealloc];
19 | }
20 |
21 | - (BOOL)isEqual:(id)object {
22 | if (![object isKindOfClass:[EXPDoubleTuple class]]) return NO;
23 | EXPDoubleTuple *other = (EXPDoubleTuple *)object;
24 | if (self.size == other.size) {
25 | for (int i = 0; i < self.size; ++i) {
26 | if (self.values[i] != other.values[i]) return NO;
27 | }
28 | return YES;
29 | }
30 | return NO;
31 | }
32 |
33 | - (NSString *)description {
34 | if (self.size == 2) {
35 | return [NSString stringWithFormat:@"Double tuple: {%f, %f}", self.values[0], self.values[1]];
36 | } else if (self.size == 4) {
37 | return [NSString stringWithFormat:@"Double tuple: {%f, %f, %f, %f}", self.values[0], self.values[1], self.values[2], self.values[3]];
38 | }
39 | return [NSString stringWithFormat:@"Double tuple of unexpected size %zd, sadly", self.size];
40 | }
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPExpect.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import "EXPMatcher.h"
3 | #import "EXPDefines.h"
4 |
5 | @interface EXPExpect : NSObject {
6 | EXPIdBlock _actualBlock;
7 | id _testCase;
8 | int _lineNumber;
9 | char *_fileName;
10 | BOOL _negative;
11 | BOOL _asynchronous;
12 | NSTimeInterval _timeout;
13 | }
14 |
15 | @property(nonatomic, copy) EXPIdBlock actualBlock;
16 | @property(nonatomic, readonly) id actual;
17 | @property(nonatomic, assign) id testCase;
18 | @property(nonatomic) int lineNumber;
19 | @property(nonatomic) const char *fileName;
20 | @property(nonatomic) BOOL negative;
21 | @property(nonatomic) BOOL asynchronous;
22 | @property(nonatomic) NSTimeInterval timeout;
23 |
24 | @property(nonatomic, readonly) EXPExpect *to;
25 | @property(nonatomic, readonly) EXPExpect *toNot;
26 | @property(nonatomic, readonly) EXPExpect *notTo;
27 | @property(nonatomic, readonly) EXPExpect *will;
28 | @property(nonatomic, readonly) EXPExpect *willNot;
29 | @property(nonatomic, readonly) EXPExpect *(^after)(NSTimeInterval timeInterval);
30 |
31 | - (instancetype)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName NS_DESIGNATED_INITIALIZER;
32 | + (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName;
33 |
34 | - (void)applyMatcher:(id)matcher;
35 | - (void)applyMatcher:(id)matcher to:(NSObject **)actual;
36 |
37 | @end
38 |
39 | @interface EXPDynamicPredicateMatcher : NSObject {
40 | EXPExpect *_expectation;
41 | SEL _selector;
42 | }
43 | - (instancetype)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector NS_DESIGNATED_INITIALIZER;
44 | @property (nonatomic, readonly, copy) void (^dispatch)(void);
45 | @end
46 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPFloatTuple.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface EXPFloatTuple : NSObject {
4 | float *_values;
5 | size_t _size;
6 | }
7 |
8 | @property (nonatomic, assign) float *values;
9 | @property (nonatomic, assign) size_t size;
10 |
11 | - (instancetype)initWithFloatValues:(float *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPFloatTuple.m:
--------------------------------------------------------------------------------
1 | #import "EXPFloatTuple.h"
2 |
3 | @implementation EXPFloatTuple
4 |
5 | @synthesize values = _values, size = _size;
6 |
7 | - (instancetype)initWithFloatValues:(float *)values size:(size_t)size {
8 | if ((self = [super init])) {
9 | self.values = malloc(sizeof(float) * size);
10 | memcpy(self.values, values, sizeof(float) * size);
11 | self.size = size;
12 | }
13 | return self;
14 | }
15 |
16 | - (void)dealloc {
17 | free(self.values);
18 | [super dealloc];
19 | }
20 |
21 | - (BOOL)isEqual:(id)object {
22 | if (![object isKindOfClass:[EXPFloatTuple class]]) return NO;
23 | EXPFloatTuple *other = (EXPFloatTuple *)object;
24 | if (self.size == other.size) {
25 | for (int i = 0; i < self.size; ++i) {
26 | if (self.values[i] != other.values[i]) return NO;
27 | }
28 | return YES;
29 | }
30 | return NO;
31 | }
32 |
33 | - (NSUInteger)hash
34 | {
35 | NSUInteger prime = 31;
36 | NSUInteger hash = 0;
37 | for (int i=0; i
10 |
11 | @protocol EXPMatcher
12 |
13 | - (BOOL)matches:(id)actual;
14 |
15 | @optional
16 | - (BOOL)meetsPrerequesiteFor:(id)actual;
17 | - (NSString *)failureMessageForTo:(id)actual;
18 | - (NSString *)failureMessageForNotTo:(id)actual;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface EXPUnsupportedObject : NSObject {
4 | NSString *_type;
5 | }
6 |
7 | @property (nonatomic, retain) NSString *type;
8 |
9 | - (instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.m:
--------------------------------------------------------------------------------
1 | #import "EXPUnsupportedObject.h"
2 |
3 | @implementation EXPUnsupportedObject
4 |
5 | @synthesize type=_type;
6 |
7 | - (instancetype)initWithType:(NSString *)type {
8 | self = [super init];
9 | if(self) {
10 | self.type = type;
11 | }
12 | return self;
13 | }
14 |
15 | - (void)dealloc {
16 | self.type = nil;
17 | [super dealloc];
18 | }
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Expecta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | //! Project version number for Expecta.
4 | FOUNDATION_EXPORT double ExpectaVersionNumber;
5 |
6 | //! Project version string for Expecta.
7 | FOUNDATION_EXPORT const unsigned char ExpectaVersionString[];
8 |
9 | #import
10 | #import
11 | #import
12 |
13 | // Enable shorthand by default
14 | #define expect(...) EXP_expect((__VA_ARGS__))
15 | #define failure(...) EXP_failure((__VA_ARGS__))
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/ExpectaObject.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #define EXPObjectify(value) _EXPObjectify(@encode(__typeof__((value))), (value))
4 | #define EXP_expect(actual) _EXP_expect(self, __LINE__, __FILE__, ^id{ return EXPObjectify((actual)); })
5 | #define EXPMatcherInterface(matcherName, matcherArguments) _EXPMatcherInterface(matcherName, matcherArguments)
6 | #define EXPMatcherImplementationBegin(matcherName, matcherArguments) _EXPMatcherImplementationBegin(matcherName, matcherArguments)
7 | #define EXPMatcherImplementationEnd _EXPMatcherImplementationEnd
8 | #define EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments)
9 |
10 | #define EXP_failure(message) EXPFail(self, __LINE__, __FILE__, message)
11 |
12 |
13 | @interface Expecta : NSObject
14 |
15 | + (NSTimeInterval)asynchronousTestTimeout;
16 | + (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/ExpectaObject.m:
--------------------------------------------------------------------------------
1 | #import "ExpectaObject.h"
2 |
3 | @implementation Expecta
4 |
5 | static NSTimeInterval _asynchronousTestTimeout = 1.0;
6 |
7 | + (NSTimeInterval)asynchronousTestTimeout {
8 | return _asynchronousTestTimeout;
9 | }
10 |
11 | + (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout {
12 | _asynchronousTestTimeout = timeout;
13 | }
14 |
15 | @end
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/ExpectaSupport.h:
--------------------------------------------------------------------------------
1 | #import "EXPExpect.h"
2 | #import "EXPBlockDefinedMatcher.h"
3 |
4 | #ifdef __cplusplus
5 | extern "C" {
6 | #endif
7 |
8 | id _EXPObjectify(const char *type, ...);
9 | EXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock);
10 |
11 | void EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message);
12 | NSString *EXPDescribeObject(id obj);
13 |
14 | void EXP_prerequisite(EXPBoolBlock block);
15 | void EXP_match(EXPBoolBlock block);
16 | void EXP_failureMessageForTo(EXPStringBlock block);
17 | void EXP_failureMessageForNotTo(EXPStringBlock block);
18 |
19 | #if __has_feature(objc_arc)
20 | #define _EXP_release(x)
21 | #define _EXP_autorelease(x) (x)
22 |
23 | #else
24 | #define _EXP_release(x) [x release]
25 | #define _EXP_autorelease(x) [x autorelease]
26 | #endif
27 |
28 | // workaround for the categories bug: http://developer.apple.com/library/mac/#qa/qa1490/_index.html
29 | #define EXPFixCategoriesBug(name) \
30 | __attribute__((constructor)) static void EXPFixCategoriesBug##name() {}
31 |
32 | #define _EXPMatcherInterface(matcherName, matcherArguments) \
33 | @interface EXPExpect (matcherName##Matcher) \
34 | @property (nonatomic, readonly) void(^ matcherName) matcherArguments; \
35 | @end
36 |
37 | #define _EXPMatcherImplementationBegin(matcherName, matcherArguments) \
38 | EXPFixCategoriesBug(EXPMatcher##matcherName##Matcher); \
39 | @implementation EXPExpect (matcherName##Matcher) \
40 | @dynamic matcherName;\
41 | - (void(^) matcherArguments) matcherName { \
42 | EXPBlockDefinedMatcher *matcher = [[EXPBlockDefinedMatcher alloc] init]; \
43 | [[[NSThread currentThread] threadDictionary] setObject:matcher forKey:@"EXP_currentMatcher"]; \
44 | __block id actual = self.actual; \
45 | __block void (^prerequisite)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_prerequisite(block); }; \
46 | __block void (^match)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_match(block); }; \
47 | __block void (^failureMessageForTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForTo(block); }; \
48 | __block void (^failureMessageForNotTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForNotTo(block); }; \
49 | prerequisite(nil); match(nil); failureMessageForTo(nil); failureMessageForNotTo(nil); \
50 | void (^matcherBlock) matcherArguments = [^ matcherArguments { \
51 | {
52 |
53 | #define _EXPMatcherImplementationEnd \
54 | } \
55 | [self applyMatcher:matcher to:&actual]; \
56 | } copy]; \
57 | _EXP_release(matcher); \
58 | return _EXP_autorelease(matcherBlock); \
59 | } \
60 | @end
61 |
62 | #define _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) \
63 | EXPFixCategoriesBug(EXPMatcher##newMatcherName##Matcher); \
64 | @implementation EXPExpect (newMatcherName##Matcher) \
65 | @dynamic newMatcherName;\
66 | - (void(^) matcherArguments) newMatcherName { \
67 | return [self oldMatcherName]; \
68 | }\
69 | @end
70 |
71 | #ifdef __cplusplus
72 | }
73 | #endif
74 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | BOOL EXPIsValuePointer(NSValue *value);
4 | BOOL EXPIsNumberFloat(NSNumber *number);
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatcherHelpers.h"
2 |
3 | BOOL EXPIsValuePointer(NSValue *value) {
4 | return [value objCType][0] == @encode(void *)[0];
5 | }
6 |
7 | BOOL EXPIsNumberFloat(NSNumber *number) {
8 | return strcmp([number objCType], @encode(float)) == 0;
9 | }
10 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beCloseToWithin, (id expected, id within));
4 | EXPMatcherInterface(beCloseToWithin, (id expected, id within));
5 |
6 | #define beCloseTo(expected) _beCloseToWithin(EXPObjectify((expected)), nil)
7 | #define beCloseToWithin(expected, range) _beCloseToWithin(EXPObjectify((expected)), EXPObjectify((range)))
8 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beCloseTo.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beCloseToWithin, (id expected, id within)) {
5 | prerequisite(^BOOL{
6 | return [actual isKindOfClass:[NSNumber class]] &&
7 | [expected isKindOfClass:[NSNumber class]] &&
8 | ([within isKindOfClass:[NSNumber class]] || (within == nil));
9 | });
10 |
11 | match(^BOOL{
12 | double actualValue = [actual doubleValue];
13 | double expectedValue = [expected doubleValue];
14 |
15 | if (within != nil) {
16 | double withinValue = [within doubleValue];
17 | double lowerBound = expectedValue - withinValue;
18 | double upperBound = expectedValue + withinValue;
19 | return (actualValue >= lowerBound) && (actualValue <= upperBound);
20 | } else {
21 | double diff = fabs(actualValue - expectedValue);
22 | actualValue = fabs(actualValue);
23 | expectedValue = fabs(expectedValue);
24 | double largest = (expectedValue > actualValue) ? expectedValue : actualValue;
25 | return (diff <= largest * FLT_EPSILON);
26 | }
27 | });
28 |
29 | failureMessageForTo(^NSString *{
30 | if (within) {
31 | return [NSString stringWithFormat:@"expected %@ to be close to %@ within %@",
32 | EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)];
33 | } else {
34 | return [NSString stringWithFormat:@"expected %@ to be close to %@",
35 | EXPDescribeObject(actual), EXPDescribeObject(expected)];
36 | }
37 | });
38 |
39 | failureMessageForNotTo(^NSString *{
40 | if (within) {
41 | return [NSString stringWithFormat:@"expected %@ not to be close to %@ within %@",
42 | EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)];
43 | } else {
44 | return [NSString stringWithFormat:@"expected %@ not to be close to %@",
45 | EXPDescribeObject(actual), EXPDescribeObject(expected)];
46 | }
47 | });
48 | }
49 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beFalsy, (void));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beFalsy.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(beFalsy, (void)) {
5 | match(^BOOL{
6 | if([actual isKindOfClass:[NSNumber class]]) {
7 | return ![(NSNumber *)actual boolValue];
8 | } else if([actual isKindOfClass:[NSValue class]]) {
9 | if(EXPIsValuePointer((NSValue *)actual)) {
10 | return ![(NSValue *)actual pointerValue];
11 | }
12 | }
13 | return !actual;
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: a falsy value, got: %@, which is truthy", EXPDescribeObject(actual)];
18 | });
19 |
20 | failureMessageForNotTo(^NSString *{
21 | return [NSString stringWithFormat:@"expected: a non-falsy value, got: %@, which is falsy", EXPDescribeObject(actual)];
22 | });
23 | }
24 | EXPMatcherImplementationEnd
25 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beGreaterThan, (id expected));
4 | EXPMatcherInterface(beGreaterThan, (id expected));
5 |
6 | #define beGreaterThan(expected) _beGreaterThan(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beGreaterThan.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beGreaterThan, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] == NSOrderedDescending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beGreaterThanOrEqualTo, (id expected));
4 | EXPMatcherInterface(beGreaterThanOrEqualTo, (id expected));
5 |
6 | #define beGreaterThanOrEqualTo(expected) _beGreaterThanOrEqualTo(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beGreaterThanOrEqualTo.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beGreaterThanOrEqualTo, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] != NSOrderedAscending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beIdenticalTo, (void *expected));
4 | EXPMatcherInterface(beIdenticalTo, (void *expected)); // to aid code completion
5 |
6 | #if __has_feature(objc_arc)
7 | #define beIdenticalTo(expected) _beIdenticalTo((__bridge void*)expected)
8 | #else
9 | #define beIdenticalTo(expected) _beIdenticalTo(expected)
10 | #endif
11 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+equal.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beIdenticalTo, (void *expected)) {
5 | match(^BOOL{
6 | if(actual == expected) {
7 | return YES;
8 | } else if([actual isKindOfClass:[NSValue class]] && EXPIsValuePointer((NSValue *)actual)) {
9 | if([(NSValue *)actual pointerValue] == expected) {
10 | return YES;
11 | }
12 | }
13 | return NO;
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: <%p>, got: <%p>", expected, actual];
18 | });
19 |
20 | failureMessageForNotTo(^NSString *{
21 | return [NSString stringWithFormat:@"expected: not <%p>, got: <%p>", expected, actual];
22 | });
23 | }
24 | EXPMatcherImplementationEnd
25 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
4 | EXPMatcherInterface(beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
5 |
6 | #define beInTheRangeOf(expectedLowerBound, expectedUpperBound) _beInTheRangeOf(EXPObjectify((expectedLowerBound)), EXPObjectify((expectedUpperBound)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beInTheRangeOf.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | NSComparisonResult compareLowerBound = [expectedLowerBound compare: actual];
8 | NSComparisonResult compareUpperBound = [expectedUpperBound compare: actual];
9 | if (compareLowerBound == NSOrderedSame) {
10 | return YES;
11 | }
12 | if (compareUpperBound == NSOrderedSame) {
13 | return YES;
14 | }
15 | if ((compareLowerBound == NSOrderedAscending) && (compareUpperBound == NSOrderedDescending)) {
16 | return YES;
17 | }
18 | }
19 | return NO;
20 | });
21 |
22 | failureMessageForTo(^NSString *{
23 | return [NSString stringWithFormat:@"expected: %@ to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];
24 | });
25 |
26 | failureMessageForNotTo(^NSString *{
27 | return [NSString stringWithFormat:@"expected: %@ not to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];
28 | });
29 | }
30 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beInstanceOf, (Class expected));
4 | EXPMatcherInterface(beAnInstanceOf, (Class expected));
5 | EXPMatcherInterface(beMemberOf, (Class expected));
6 | EXPMatcherInterface(beAMemberOf, (Class expected));
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beInstanceOf.h"
2 |
3 | EXPMatcherImplementationBegin(beInstanceOf, (Class expected)) {
4 | BOOL actualIsNil = (actual == nil);
5 | BOOL expectedIsNil = (expected == nil);
6 |
7 | prerequisite(^BOOL{
8 | return !(actualIsNil || expectedIsNil);
9 | });
10 |
11 | match(^BOOL{
12 | return [actual isMemberOfClass:expected];
13 | });
14 |
15 | failureMessageForTo(^NSString *{
16 | if(actualIsNil) return @"the actual value is nil/null";
17 | if(expectedIsNil) return @"the expected value is nil/null";
18 | return [NSString stringWithFormat:@"expected: an instance of %@, got: an instance of %@", [expected class], [actual class]];
19 | });
20 |
21 | failureMessageForNotTo(^NSString *{
22 | if(actualIsNil) return @"the actual value is nil/null";
23 | if(expectedIsNil) return @"the expected value is nil/null";
24 | return [NSString stringWithFormat:@"expected: not an instance of %@, got: an instance of %@", [expected class], [actual class]];
25 | });
26 | }
27 | EXPMatcherImplementationEnd
28 |
29 | EXPMatcherAliasImplementation(beAnInstanceOf, beInstanceOf, (Class expected));
30 | EXPMatcherAliasImplementation(beMemberOf, beInstanceOf, (Class expected));
31 | EXPMatcherAliasImplementation(beAMemberOf, beInstanceOf, (Class expected));
32 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beKindOf, (Class expected));
4 | EXPMatcherInterface(beAKindOf, (Class expected));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beKindOf.h"
2 |
3 | EXPMatcherImplementationBegin(beKindOf, (Class expected)) {
4 | BOOL actualIsNil = (actual == nil);
5 | BOOL expectedIsNil = (expected == nil);
6 |
7 | prerequisite(^BOOL{
8 | return !(actualIsNil || expectedIsNil);
9 | });
10 |
11 | match(^BOOL{
12 | return [actual isKindOfClass:expected];
13 | });
14 |
15 | failureMessageForTo(^NSString *{
16 | if(actualIsNil) return @"the actual value is nil/null";
17 | if(expectedIsNil) return @"the expected value is nil/null";
18 | return [NSString stringWithFormat:@"expected: a kind of %@, got: an instance of %@, which is not a kind of %@", [expected class], [actual class], [expected class]];
19 | });
20 |
21 | failureMessageForNotTo(^NSString *{
22 | if(actualIsNil) return @"the actual value is nil/null";
23 | if(expectedIsNil) return @"the expected value is nil/null";
24 | return [NSString stringWithFormat:@"expected: not a kind of %@, got: an instance of %@, which is a kind of %@", [expected class], [actual class], [expected class]];
25 | });
26 | }
27 | EXPMatcherImplementationEnd
28 |
29 | EXPMatcherAliasImplementation(beAKindOf, beKindOf, (Class expected));
30 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beLessThan, (id expected));
4 | EXPMatcherInterface(beLessThan, (id expected));
5 |
6 | #define beLessThan(expected) _beLessThan(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beLessThan.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beLessThan, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] == NSOrderedAscending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beLessThanOrEqualTo, (id expected));
4 | EXPMatcherInterface(beLessThanOrEqualTo, (id expected));
5 |
6 | #define beLessThanOrEqualTo(expected) _beLessThanOrEqualTo(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beLessThanOrEqualTo.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beLessThanOrEqualTo, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] != NSOrderedDescending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beNil, (void));
4 | EXPMatcherInterface(beNull, (void));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beNil.h"
2 |
3 | EXPMatcherImplementationBegin(beNil, (void)) {
4 | match(^BOOL{
5 | return actual == nil;
6 | });
7 |
8 | failureMessageForTo(^NSString *{
9 | return [NSString stringWithFormat:@"expected: nil/null, got: %@", EXPDescribeObject(actual)];
10 | });
11 |
12 | failureMessageForNotTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: not nil/null, got: %@", EXPDescribeObject(actual)];
14 | });
15 | }
16 | EXPMatcherImplementationEnd
17 |
18 | EXPMatcherAliasImplementation(beNull, beNil, (void));
19 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beSubclassOf, (Class expected));
4 | EXPMatcherInterface(beASubclassOf, (Class expected));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beSubclassOf.h"
2 | #import "NSValue+Expecta.h"
3 | #import
4 |
5 | EXPMatcherImplementationBegin(beSubclassOf, (Class expected)) {
6 | __block BOOL actualIsClass = YES;
7 |
8 | prerequisite(^BOOL {
9 | actualIsClass = class_isMetaClass(object_getClass(actual));
10 | return actualIsClass;
11 | });
12 |
13 | match(^BOOL{
14 | return [actual isSubclassOfClass:expected];
15 | });
16 |
17 | failureMessageForTo(^NSString *{
18 | if(!actualIsClass) return @"the actual value is not a Class";
19 | return [NSString stringWithFormat:@"expected: a subclass of %@, got: a class %@, which is not a subclass of %@", [expected class], actual, [expected class]];
20 | });
21 |
22 | failureMessageForNotTo(^NSString *{
23 | if(!actualIsClass) return @"the actual value is not a Class";
24 | return [NSString stringWithFormat:@"expected: not a subclass of %@, got: a class %@, which is a subclass of %@", [expected class], actual, [expected class]];
25 | });
26 | }
27 | EXPMatcherImplementationEnd
28 |
29 | EXPMatcherAliasImplementation(beASubclassOf, beSubclassOf, (Class expected));
30 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beSupersetOf, (id subset));
4 |
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+contain.h"
2 |
3 | EXPMatcherImplementationBegin(beSupersetOf, (id subset)) {
4 | BOOL actualIsCompatible = [actual isKindOfClass:[NSDictionary class]] || [actual respondsToSelector:@selector(containsObject:)];
5 | BOOL subsetIsNil = (subset == nil);
6 |
7 | // For some instances the isKindOfClass: method returns false, even though
8 | // they are both actually dictionaries. e.g. Comparing a NSCFDictionary and a
9 | // NSDictionary.
10 | // Or in cases when you compare NSMutableArray (which implementation is __NSArrayM:NSMutableArray:NSArray)
11 | // and NSArray (which implementation is __NSArrayI:NSArray)
12 | BOOL bothAreIdenticalCollectionClasses = ([actual isKindOfClass:[NSDictionary class]] && [subset isKindOfClass:[NSDictionary class]]) ||
13 | ([actual isKindOfClass:[NSArray class]] && [subset isKindOfClass:[NSArray class]]) ||
14 | ([actual isKindOfClass:[NSSet class]] && [subset isKindOfClass:[NSSet class]]) ||
15 | ([actual isKindOfClass:[NSOrderedSet class]] && [subset isKindOfClass:[NSOrderedSet class]]);
16 |
17 | BOOL classMatches = bothAreIdenticalCollectionClasses || [subset isKindOfClass:[actual class]];
18 |
19 | prerequisite(^BOOL{
20 | return actualIsCompatible && !subsetIsNil && classMatches;
21 | });
22 |
23 | match(^BOOL{
24 | if(!actualIsCompatible) return NO;
25 |
26 | if([actual isKindOfClass:[NSDictionary class]]) {
27 | for (id key in subset) {
28 | id actualValue = [actual valueForKey:key];
29 | id subsetValue = [subset valueForKey:key];
30 |
31 | if (![subsetValue isEqual:actualValue]) return NO;
32 | }
33 | } else {
34 | for (id object in subset) {
35 | if (![actual containsObject:object]) return NO;
36 | }
37 | }
38 |
39 | return YES;
40 | });
41 |
42 | failureMessageForTo(^NSString *{
43 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSDictionary and does not implement -containsObject:", EXPDescribeObject(actual)];
44 |
45 | if(subsetIsNil) return @"the expected value is nil/null";
46 |
47 | if(!classMatches) return [NSString stringWithFormat:@"%@ does not match the class of %@", EXPDescribeObject(subset), EXPDescribeObject(actual)];
48 |
49 | return [NSString stringWithFormat:@"expected %@ to be a superset of %@", EXPDescribeObject(actual), EXPDescribeObject(subset)];
50 | });
51 |
52 | failureMessageForNotTo(^NSString *{
53 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSDictionary and does not implement -containsObject:", EXPDescribeObject(actual)];
54 |
55 | if(subsetIsNil) return @"the expected value is nil/null";
56 |
57 | if(!classMatches) return [NSString stringWithFormat:@"%@ does not match the class of %@", EXPDescribeObject(subset), EXPDescribeObject(actual)];
58 |
59 | return [NSString stringWithFormat:@"expected %@ not to be a superset of %@", EXPDescribeObject(actual), EXPDescribeObject(subset)];
60 | });
61 | }
62 | EXPMatcherImplementationEnd
63 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beTruthy, (void));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beTruthy.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(beTruthy, (void)) {
5 | match(^BOOL{
6 | if([actual isKindOfClass:[NSNumber class]]) {
7 | return !![(NSNumber *)actual boolValue];
8 | } else if([actual isKindOfClass:[NSValue class]]) {
9 | if(EXPIsValuePointer((NSValue *)actual)) {
10 | return !![(NSValue *)actual pointerValue];
11 | }
12 | }
13 | return !!actual;
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: a truthy value, got: %@, which is falsy", EXPDescribeObject(actual)];
18 | });
19 |
20 | failureMessageForNotTo(^NSString *{
21 | return [NSString stringWithFormat:@"expected: a non-truthy value, got: %@, which is truthy", EXPDescribeObject(actual)];
22 | });
23 | }
24 | EXPMatcherImplementationEnd
25 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beginWith, (id expected));
4 | EXPMatcherInterface(startWith, (id expected));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beginWith.h"
2 |
3 | EXPMatcherImplementationBegin(beginWith, (id expected)) {
4 | BOOL actualIsNil = (actual == nil);
5 | BOOL expectedIsNil = (expected == nil);
6 | //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same
7 | BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])
8 | || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])
9 | || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));
10 |
11 | prerequisite(^BOOL {
12 | return actualAndExpectedAreCompatible;
13 | });
14 |
15 | match(^BOOL {
16 | if ([actual isKindOfClass:[NSString class]]) {
17 | return [actual hasPrefix:expected];
18 | } else if ([actual isKindOfClass:[NSArray class]]) {
19 | if ([expected count] > [actual count] || [expected count] == 0) {
20 | return NO;
21 | }
22 | NSArray *subArray = [actual subarrayWithRange:NSMakeRange(0, [expected count])];
23 | return [subArray isEqualToArray:expected];
24 | } else {
25 | if ([expected count] > [actual count] || [expected count] == 0) {
26 | return NO;
27 | }
28 |
29 | NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange(0, [expected count]) copyItems:NO];
30 | return [subset isEqualToOrderedSet:expected];
31 | }
32 | });
33 |
34 | failureMessageForTo(^NSString *{
35 | if (actualIsNil) return @"the object is nil/null";
36 | if (expectedIsNil) return @"the expected value is nil/null";
37 | if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
38 | return [NSString stringWithFormat:@"expected: %@ to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
39 | });
40 |
41 | failureMessageForNotTo(^NSString *{
42 | if (actualIsNil) return @"the object is nil/null";
43 | if (expectedIsNil) return @"the expected value is nil/null";
44 | if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
45 |
46 | return [NSString stringWithFormat:@"expected: %@ not to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
47 | });
48 | }
49 | EXPMatcherImplementationEnd
50 |
51 | EXPMatcherAliasImplementation(startWith, beginWith, (id expected));
52 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(conformTo, (Protocol *expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+conformTo.h"
2 | #import "NSValue+Expecta.h"
3 | #import
4 |
5 | EXPMatcherImplementationBegin(conformTo, (Protocol *expected)) {
6 | BOOL actualIsNil = (actual == nil);
7 | BOOL expectedIsNil = (expected == nil);
8 |
9 | prerequisite(^BOOL{
10 | return !(actualIsNil || expectedIsNil);
11 | });
12 |
13 | match(^BOOL{
14 | return [actual conformsToProtocol:expected];
15 | });
16 |
17 | failureMessageForTo(^NSString *{
18 | if(actualIsNil) return @"the object is nil/null";
19 | if(expectedIsNil) return @"the protocol is nil/null";
20 |
21 | NSString *name = NSStringFromProtocol(expected);
22 | return [NSString stringWithFormat:@"expected: %@ to conform to %@", actual, name];
23 | });
24 |
25 | failureMessageForNotTo(^NSString *{
26 | if(actualIsNil) return @"the object is nil/null";
27 | if(expectedIsNil) return @"the protocol is nil/null";
28 |
29 | NSString *name = NSStringFromProtocol(expected);
30 | return [NSString stringWithFormat:@"expected: %@ not to conform to %@", actual, name];
31 | });
32 | }
33 | EXPMatcherImplementationEnd
34 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_contain, (id expected));
4 | EXPMatcherInterface(contain, (id expected)); // to aid code completion
5 | #define contain(expected) _contain(EXPObjectify((expected)))
6 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+contain.h"
2 |
3 | EXPMatcherImplementationBegin(_contain, (id expected)) {
4 | BOOL actualIsCompatible = [actual isKindOfClass:[NSString class]] || [actual conformsToProtocol:@protocol(NSFastEnumeration)];
5 | BOOL expectedIsNil = (expected == nil);
6 |
7 | prerequisite(^BOOL{
8 | return actualIsCompatible && !expectedIsNil;
9 | });
10 |
11 | match(^BOOL{
12 | if(actualIsCompatible) {
13 | if([actual isKindOfClass:[NSString class]]) {
14 | return [(NSString *)actual rangeOfString:[expected description]].location != NSNotFound;
15 | } else {
16 | for (id object in actual) {
17 | if ([object isEqual:expected]) {
18 | return YES;
19 | }
20 | }
21 | }
22 | }
23 | return NO;
24 | });
25 |
26 | failureMessageForTo(^NSString *{
27 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
28 | if(expectedIsNil) return @"the expected value is nil/null";
29 | return [NSString stringWithFormat:@"expected %@ to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
30 | });
31 |
32 | failureMessageForNotTo(^NSString *{
33 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
34 | if(expectedIsNil) return @"the expected value is nil/null";
35 | return [NSString stringWithFormat:@"expected %@ not to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
36 | });
37 | }
38 | EXPMatcherImplementationEnd
39 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(endWith, (id expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+endWith.h"
2 |
3 | EXPMatcherImplementationBegin(endWith, (id expected)) {
4 | BOOL actualIsNil = (actual == nil);
5 | BOOL expectedIsNil = (expected == nil);
6 | //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same
7 | BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])
8 | || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])
9 | || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));
10 |
11 | prerequisite(^BOOL {
12 | return actualAndExpectedAreCompatible;
13 | });
14 |
15 | match(^BOOL {
16 | if ([actual isKindOfClass:[NSString class]]) {
17 | return [actual hasSuffix:expected];
18 | } else if ([actual isKindOfClass:[NSArray class]]) {
19 | if ([expected count] > [actual count] || [expected count] == 0) {
20 | return NO;
21 | }
22 | NSArray *subArray = [actual subarrayWithRange:NSMakeRange([actual count] - [expected count], [expected count])];
23 | return [subArray isEqualToArray:expected];
24 | } else {
25 | if ([expected count] > [actual count] || [expected count] == 0) {
26 | return NO;
27 | }
28 |
29 | NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange([actual count] - [expected count], [expected count]) copyItems:NO];
30 | return [subset isEqualToOrderedSet:expected];
31 | }
32 | });
33 |
34 | failureMessageForTo(^NSString *{
35 | if (actualIsNil) return @"the object is nil/null";
36 | if (expectedIsNil) return @"the expected value is nil/null";
37 | if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
38 | return [NSString stringWithFormat:@"expected: %@ to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
39 | });
40 |
41 | failureMessageForNotTo(^NSString *{
42 | if (actualIsNil) return @"the object is nil/null";
43 | if (expectedIsNil) return @"the expected value is nil/null";
44 | if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
45 |
46 | return [NSString stringWithFormat:@"expected: %@ not to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
47 | });
48 | }
49 | EXPMatcherImplementationEnd
50 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_equal, (id expected));
4 | EXPMatcherInterface(equal, (id expected)); // to aid code completion
5 | #define equal(...) _equal(EXPObjectify((__VA_ARGS__)))
6 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+equal.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_equal, (id expected)) {
5 | match(^BOOL{
6 | if((actual == expected) || [actual isEqual:expected]) {
7 | return YES;
8 | } else if([actual isKindOfClass:[NSNumber class]] && [expected isKindOfClass:[NSNumber class]]) {
9 | if([actual isKindOfClass:[NSDecimalNumber class]] || [expected isKindOfClass:[NSDecimalNumber class]]) {
10 | NSDecimalNumber *actualDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) actual decimalValue]];
11 | NSDecimalNumber *expectedDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) expected decimalValue]];
12 | return [actualDecimalNumber isEqualToNumber:expectedDecimalNumber];
13 | }
14 | else {
15 | if(EXPIsNumberFloat((NSNumber *)actual) || EXPIsNumberFloat((NSNumber *)expected)) {
16 | return [(NSNumber *)actual floatValue] == [(NSNumber *)expected floatValue];
17 | }
18 | }
19 | }
20 | return NO;
21 | });
22 |
23 | failureMessageForTo(^NSString *{
24 | return [NSString stringWithFormat:@"expected: %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)];
25 | });
26 |
27 | failureMessageForNotTo(^NSString *{
28 | return [NSString stringWithFormat:@"expected: not %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)];
29 | });
30 | }
31 | EXPMatcherImplementationEnd
32 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(haveCountOf, (NSUInteger expected));
4 | EXPMatcherInterface(haveCount, (NSUInteger expected));
5 | EXPMatcherInterface(haveACountOf, (NSUInteger expected));
6 | EXPMatcherInterface(haveLength, (NSUInteger expected));
7 | EXPMatcherInterface(haveLengthOf, (NSUInteger expected));
8 | EXPMatcherInterface(haveALengthOf, (NSUInteger expected));
9 |
10 | #define beEmpty() haveCountOf(0)
11 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+haveCountOf.h"
2 |
3 | EXPMatcherImplementationBegin(haveCountOf, (NSUInteger expected)) {
4 | BOOL actualIsStringy = [actual isKindOfClass:[NSString class]] || [actual isKindOfClass:[NSAttributedString class]];
5 | BOOL actualIsCompatible = actualIsStringy || [actual respondsToSelector:@selector(count)];
6 |
7 | prerequisite(^BOOL{
8 | return actualIsCompatible;
9 | });
10 |
11 | NSUInteger (^count)(id) = ^(id actual) {
12 | if(actualIsStringy) {
13 | return [actual length];
14 | } else {
15 | return [actual count];
16 | }
17 | };
18 |
19 | match(^BOOL{
20 | if(actualIsCompatible) {
21 | return count(actual) == expected;
22 | }
23 | return NO;
24 | });
25 |
26 | failureMessageForTo(^NSString *{
27 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)];
28 | return [NSString stringWithFormat:@"expected %@ to have a count of %zi but got %zi", EXPDescribeObject(actual), expected, count(actual)];
29 | });
30 |
31 | failureMessageForNotTo(^NSString *{
32 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)];
33 | return [NSString stringWithFormat:@"expected %@ not to have a count of %zi", EXPDescribeObject(actual), expected];
34 | });
35 | }
36 | EXPMatcherImplementationEnd
37 |
38 | EXPMatcherAliasImplementation(haveCount, haveCountOf, (NSUInteger expected));
39 | EXPMatcherAliasImplementation(haveACountOf, haveCountOf, (NSUInteger expected));
40 | EXPMatcherAliasImplementation(haveLength, haveCountOf, (NSUInteger expected));
41 | EXPMatcherAliasImplementation(haveLengthOf, haveCountOf, (NSUInteger expected));
42 | EXPMatcherAliasImplementation(haveALengthOf, haveCountOf, (NSUInteger expected));
43 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(match, (NSString *expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+match.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(match, (NSString *expected)) {
5 | BOOL actualIsNil = (actual == nil);
6 | BOOL expectedIsNil = (expected == nil);
7 |
8 | __block NSRegularExpression *regex = nil;
9 | __block NSError *regexError = nil;
10 |
11 | prerequisite (^BOOL {
12 | BOOL nilInput = (actualIsNil || expectedIsNil);
13 | if (!nilInput) {
14 | regex = [NSRegularExpression regularExpressionWithPattern:expected options:0 error:®exError];
15 | }
16 | return !nilInput && regex;
17 | });
18 |
19 | match(^BOOL {
20 | NSRange range = [regex rangeOfFirstMatchInString:actual options:0 range:NSMakeRange(0, [actual length])];
21 | return !NSEqualRanges(range, NSMakeRange(NSNotFound, 0));
22 | });
23 |
24 | failureMessageForTo(^NSString *{
25 | if (actualIsNil) return @"the object is nil/null";
26 | if (expectedIsNil) return @"the expression is nil/null";
27 | if (regexError) return [NSString stringWithFormat:@"unable to create regular expression from given parameter: %@", [regexError localizedDescription]];
28 | return [NSString stringWithFormat:@"expected: %@ to match to %@", EXPDescribeObject(actual), expected];
29 | });
30 |
31 | failureMessageForNotTo(^NSString *{
32 | if (actualIsNil) return @"the object is nil/null";
33 | if (expectedIsNil) return @"the expression is nil/null";
34 | if (regexError) return [NSString stringWithFormat:@"unable to create regular expression from given parameter: %@", [regexError localizedDescription]];
35 | return [NSString stringWithFormat:@"expected: %@ not to match to %@", EXPDescribeObject(actual), expected];
36 | });
37 | }
38 | EXPMatcherImplementationEnd
39 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(postNotification, (id expectedNotification));
4 | EXPMatcherInterface(notify, (id expectedNotification));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+postNotification.h"
2 |
3 | @implementation NSNotification (EXPEquality)
4 |
5 | - (BOOL)exp_isFunctionallyEqualTo:(NSNotification *)otherNotification
6 | {
7 | if (![otherNotification isKindOfClass:[NSNotification class]]) return NO;
8 |
9 | BOOL namesMatch = [otherNotification.name isEqualToString:self.name];
10 |
11 | BOOL objectsMatch = YES;
12 | if (otherNotification.object || self.object) {
13 | objectsMatch = [otherNotification.object isEqual:self.object];
14 | }
15 |
16 | BOOL userInfoMatches = YES;
17 | if (otherNotification.userInfo || self.userInfo) {
18 | userInfoMatches = [otherNotification.userInfo isEqual:self.userInfo];
19 | }
20 |
21 | return (namesMatch && objectsMatch && userInfoMatches);
22 | }
23 |
24 | @end
25 |
26 | EXPMatcherImplementationBegin(postNotification, (id expected)){
27 | BOOL actualIsNil = (actual == nil);
28 | BOOL expectedIsNil = (expected == nil);
29 | BOOL isNotification = [expected isKindOfClass:[NSNotification class]];
30 | BOOL isName = [expected isKindOfClass:[NSString class]];
31 |
32 | __block NSString *expectedName;
33 | __block BOOL expectedNotificationOccurred = NO;
34 | __block id observer;
35 |
36 | prerequisite(^BOOL{
37 | expectedNotificationOccurred = NO;
38 | if (actualIsNil || expectedIsNil) return NO;
39 | if (isNotification) {
40 | expectedName = [expected name];
41 | }else if(isName) {
42 | expectedName = expected;
43 | }else{
44 | return NO;
45 | }
46 |
47 | observer = [[NSNotificationCenter defaultCenter] addObserverForName:expectedName object:nil queue:nil usingBlock:^(NSNotification *note){
48 | if (isNotification) {
49 | expectedNotificationOccurred |= [expected exp_isFunctionallyEqualTo:note];
50 | }else{
51 | expectedNotificationOccurred = YES;
52 | }
53 | }];
54 | ((EXPBasicBlock)actual)();
55 | return YES;
56 | });
57 |
58 | match(^BOOL{
59 | if(expectedNotificationOccurred) {
60 | [[NSNotificationCenter defaultCenter] removeObserver:observer];
61 | }
62 | return expectedNotificationOccurred;
63 | });
64 |
65 | failureMessageForTo(^NSString *{
66 | if (observer) {
67 | [[NSNotificationCenter defaultCenter] removeObserver:observer];
68 | }
69 | if(actualIsNil) return @"the actual value is nil/null";
70 | if(expectedIsNil) return @"the expected value is nil/null";
71 | if(!(isNotification || isName)) return @"the actual value is not a notification or string";
72 | return [NSString stringWithFormat:@"expected: %@, got: none",expectedName];
73 | });
74 |
75 | failureMessageForNotTo(^NSString *{
76 | if (observer) {
77 | [[NSNotificationCenter defaultCenter] removeObserver:observer];
78 | }
79 | if(actualIsNil) return @"the actual value is nil/null";
80 | if(expectedIsNil) return @"the expected value is nil/null";
81 | if(!(isNotification || isName)) return @"the actual value is not a notification or string";
82 | return [NSString stringWithFormat:@"expected: none, got: %@", expectedName];
83 | });
84 | }
85 |
86 | EXPMatcherImplementationEnd
87 |
88 | EXPMatcherAliasImplementation(notify, postNotification, (id expectedNotification))
89 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(raise, (NSString *expectedExceptionName));
4 | #define raiseAny() raise(nil)
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+raise.h"
2 | #import "EXPDefines.h"
3 |
4 | EXPMatcherImplementationBegin(raise, (NSString *expectedExceptionName)) {
5 | __block NSException *exceptionCaught = nil;
6 |
7 | match(^BOOL{
8 | BOOL expectedExceptionCaught = NO;
9 | @try {
10 | ((EXPBasicBlock)actual)();
11 | } @catch(NSException *e) {
12 | exceptionCaught = e;
13 | expectedExceptionCaught = (expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName];
14 | }
15 | return expectedExceptionCaught;
16 | });
17 |
18 | failureMessageForTo(^NSString *{
19 | return [NSString stringWithFormat:@"expected: %@, got: %@",
20 | expectedExceptionName ? expectedExceptionName : @"any exception",
21 | exceptionCaught ? [exceptionCaught name] : @"no exception"];
22 | });
23 |
24 | failureMessageForNotTo(^NSString *{
25 | return [NSString stringWithFormat:@"expected: %@, got: %@",
26 | expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception",
27 | exceptionCaught ? [exceptionCaught name] : @"no exception"];
28 | });
29 | }
30 | EXPMatcherImplementationEnd
31 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+raiseWithReason.h"
2 | #import "EXPDefines.h"
3 |
4 | EXPMatcherImplementationBegin(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason)) {
5 | __block NSException *exceptionCaught = nil;
6 |
7 | match(^BOOL{
8 | BOOL expectedExceptionCaught = NO;
9 | @try {
10 | ((EXPBasicBlock)actual)();
11 | } @catch(NSException *e) {
12 | exceptionCaught = e;
13 | expectedExceptionCaught = (((expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName]) &&
14 | ((expectedReason == nil) || ([[exceptionCaught reason] isEqualToString:expectedReason])));
15 | }
16 | return expectedExceptionCaught;
17 | });
18 |
19 | failureMessageForTo(^NSString *{
20 | return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)",
21 | expectedExceptionName ?: @"any exception",
22 | expectedReason ?: @"any reason",
23 | exceptionCaught ? [exceptionCaught name] : @"no exception",
24 | exceptionCaught ? [exceptionCaught reason] : @""];
25 | });
26 |
27 | failureMessageForNotTo(^NSString *{
28 | return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)",
29 | expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception",
30 | expectedReason ? [NSString stringWithFormat:@"not '%@'", expectedReason] : @"no reason",
31 | exceptionCaught ? [exceptionCaught name] : @"no exception",
32 | exceptionCaught ? [exceptionCaught reason] : @"no reason"];
33 | });
34 | }
35 | EXPMatcherImplementationEnd
36 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(respondTo, (SEL expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+respondTo.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(respondTo, (SEL expected)) {
5 | BOOL actualIsNil = (actual == nil);
6 | BOOL expectedIsNull = (expected == NULL);
7 |
8 | prerequisite (^BOOL {
9 | return !(actualIsNil || expectedIsNull);
10 | });
11 |
12 | match(^BOOL {
13 | return [actual respondsToSelector:expected];
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | if (actualIsNil) return @"the object is nil/null";
18 | if (expectedIsNull) return @"the selector is null";
19 | return [NSString stringWithFormat:@"expected: %@ to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)];
20 | });
21 |
22 | failureMessageForNotTo(^NSString *{
23 | if (actualIsNil) return @"the object is nil/null";
24 | if (expectedIsNull) return @"the selector is null";
25 | return [NSString stringWithFormat:@"expected: %@ not to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)];
26 | });
27 | }
28 | EXPMatcherImplementationEnd
29 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers.h:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beNil.h"
2 | #import "EXPMatchers+equal.h"
3 | #import "EXPMatchers+beInstanceOf.h"
4 | #import "EXPMatchers+beKindOf.h"
5 | #import "EXPMatchers+beSubclassOf.h"
6 | #import "EXPMatchers+conformTo.h"
7 | #import "EXPMatchers+beTruthy.h"
8 | #import "EXPMatchers+beFalsy.h"
9 | #import "EXPMatchers+contain.h"
10 | #import "EXPMatchers+beSupersetOf.h"
11 | #import "EXPMatchers+haveCountOf.h"
12 | #import "EXPMatchers+beIdenticalTo.h"
13 | #import "EXPMatchers+beGreaterThan.h"
14 | #import "EXPMatchers+beGreaterThanOrEqualTo.h"
15 | #import "EXPMatchers+beLessThan.h"
16 | #import "EXPMatchers+beLessThanOrEqualTo.h"
17 | #import "EXPMatchers+beInTheRangeOf.h"
18 | #import "EXPMatchers+beCloseTo.h"
19 | #import "EXPMatchers+raise.h"
20 | #import "EXPMatchers+raiseWithReason.h"
21 | #import "EXPMatchers+respondTo.h"
22 | #import "EXPMatchers+postNotification.h"
23 | #import "EXPMatchers+beginWith.h"
24 | #import "EXPMatchers+endWith.h"
25 | #import "EXPMatchers+match.h"
26 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/NSObject+Expecta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface NSObject (Expecta)
4 |
5 | - (void)recordFailureWithDescription:(NSString *)description
6 | inFile:(NSString *)filename
7 | atLine:(NSUInteger)lineNumber
8 | expected:(BOOL)expected;
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/NSValue+Expecta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface NSValue (Expecta)
4 |
5 | @property (nonatomic) const char *_EXP_objCType;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/NSValue+Expecta.m:
--------------------------------------------------------------------------------
1 | #import "NSValue+Expecta.h"
2 | #import
3 | #import "Expecta.h"
4 |
5 | EXPFixCategoriesBug(NSValue_Expecta);
6 |
7 | @implementation NSValue (Expecta)
8 |
9 | static char _EXP_typeKey;
10 |
11 | - (const char *)_EXP_objCType {
12 | return [(NSString *)objc_getAssociatedObject(self, &_EXP_typeKey) cStringUsingEncoding:NSASCIIStringEncoding];
13 | }
14 |
15 | - (void)set_EXP_objCType:(const char *)_EXP_objCType {
16 | objc_setAssociatedObject(self, &_EXP_typeKey,
17 | @(_EXP_objCType),
18 | OBJC_ASSOCIATION_COPY_NONATOMIC);
19 | }
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011-2015 Specta Team - https://github.com/specta
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZPlayerButton.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZPlayerButton.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZPlayerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZPlayerView.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZProgressIndicatorSlider.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZProgressIndicatorSlider.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZVideoPlayerViewController.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewController.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZVideoPlayerViewControllerConfiguration.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewControllerConfiguration.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZVideoPlayerViewControllerContainerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewControllerContainerView.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZVideoPlayerViewControllerDelegate.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewControllerDelegate.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/DZVideoPlayerViewController/DZVideoPlayerViewController_constants.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewController_constants.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPBlockDefinedMatcher.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPDefines.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPDefines.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPDoubleTuple.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPDoubleTuple.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPExpect.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPExpect.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPFloatTuple.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPFloatTuple.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatcher.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPMatcher.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatcherHelpers.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beNil.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beginWith.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+conformTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+contain.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+contain.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+endWith.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+equal.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+equal.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+match.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+match.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+postNotification.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+raise.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+raise.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+respondTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPMatchers.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPUnsupportedObject.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/Expecta.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Expecta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/ExpectaObject.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/ExpectaObject.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/ExpectaSupport.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/ExpectaSupport.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/NSObject+Expecta.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/NSObject+Expecta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Expecta/NSValue+Expecta.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/NSValue+Expecta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTCallSite.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTCallSite.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTCompiledExample.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTCompiledExample.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTExample.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTExample.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTExampleGroup.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTSharedExampleGroups.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTSpec.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTSpec.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SPTTestSuite.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTTestSuite.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/Specta.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/Specta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SpectaDSL.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SpectaDSL.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SpectaTypes.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SpectaTypes.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/SpectaUtility.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SpectaUtility.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/XCTest+Private.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/XCTest+Private.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/XCTestCase+Specta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZPlayerButton.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZPlayerButton.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZPlayerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZPlayerView.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZProgressIndicatorSlider.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZProgressIndicatorSlider.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZVideoPlayerViewController.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewController.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZVideoPlayerViewControllerConfiguration.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewControllerConfiguration.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZVideoPlayerViewControllerContainerView.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewControllerContainerView.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZVideoPlayerViewControllerDelegate.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewControllerDelegate.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/DZVideoPlayerViewController/DZVideoPlayerViewController_constants.h:
--------------------------------------------------------------------------------
1 | ../../../../../Pod/Classes/DZVideoPlayerViewController_constants.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPBlockDefinedMatcher.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPBlockDefinedMatcher.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPDefines.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPDefines.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPDoubleTuple.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPDoubleTuple.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPExpect.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPExpect.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPFloatTuple.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPFloatTuple.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatcher.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPMatcher.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatcherHelpers.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatcherHelpers.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beCloseTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beFalsy.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThan.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beIdenticalTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInTheRangeOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInstanceOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beKindOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThan.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beNil.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beNil.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSubclassOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSupersetOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beTruthy.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+beginWith.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+beginWith.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+conformTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+conformTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+contain.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+contain.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+endWith.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+endWith.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+equal.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+equal.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+haveCountOf.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+match.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+match.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+postNotification.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+postNotification.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+raise.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+raise.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+raiseWithReason.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers+respondTo.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers+respondTo.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPMatchers.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Matchers/EXPMatchers.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/EXPUnsupportedObject.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/EXPUnsupportedObject.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/Expecta.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/Expecta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/ExpectaObject.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/ExpectaObject.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/ExpectaSupport.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/ExpectaSupport.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/NSObject+Expecta.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/NSObject+Expecta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Expecta/NSValue+Expecta.h:
--------------------------------------------------------------------------------
1 | ../../../Expecta/Expecta/NSValue+Expecta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTCallSite.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTCallSite.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTCompiledExample.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTCompiledExample.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTExample.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTExample.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTExampleGroup.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTExcludeGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTSharedExampleGroups.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTSpec.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTSpec.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SPTTestSuite.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SPTTestSuite.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/Specta.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/Specta.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SpectaDSL.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SpectaDSL.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SpectaTypes.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SpectaTypes.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/SpectaUtility.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/SpectaUtility.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/XCTest+Private.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/XCTest+Private.h
--------------------------------------------------------------------------------
/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h:
--------------------------------------------------------------------------------
1 | ../../../Specta/Specta/Specta/XCTestCase+Specta.h
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/DZVideoPlayerViewController.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "DZVideoPlayerViewController",
3 | "version": "0.3.0",
4 | "summary": "iOS Video Player control, implemented with AVPlayer.",
5 | "description": " iOS Video Player control with playback controls, remote control center commands, background playback, now playing info updates. Implemented with AVPlayer, supports both online and offline videos. Highly customizable with Interface Builder.\n",
6 | "homepage": "https://github.com/DZamataev/DZVideoPlayerViewController",
7 | "screenshots": [
8 | "https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/master/Screenshots/screenshot1.1.png",
9 | "https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/master/Screenshots/screenshot2.1.png"
10 | ],
11 | "license": "MIT",
12 | "authors": {
13 | "Denis Zamataev": "denis.zamataev@gmail.com"
14 | },
15 | "source": {
16 | "git": "https://github.com/DZamataev/DZVideoPlayerViewController.git",
17 | "tag": "0.3.0"
18 | },
19 | "social_media_url": "https://twitter.com/dzamataev",
20 | "platforms": {
21 | "ios": "8.0"
22 | },
23 | "requires_arc": true,
24 | "source_files": "Pod/Classes/**/*",
25 | "resource_bundles": {
26 | "DZVideoPlayerViewController": [
27 | "Pod/Assets/**/*"
28 | ]
29 | },
30 | "frameworks": [
31 | "AVFoundation",
32 | "AudioToolbox"
33 | ]
34 | }
35 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - DZVideoPlayerViewController (0.3.0)
3 | - Expecta (1.0.0)
4 | - Specta (1.0.2)
5 |
6 | DEPENDENCIES:
7 | - DZVideoPlayerViewController (from `../`)
8 | - Expecta
9 | - Specta
10 |
11 | EXTERNAL SOURCES:
12 | DZVideoPlayerViewController:
13 | :path: "../"
14 |
15 | SPEC CHECKSUMS:
16 | DZVideoPlayerViewController: 67118b156fdae14c1af18835cc6fd0956859d072
17 | Expecta: 32604574add2c46a36f8d2f716b6c5736eb75024
18 | Specta: 9cec98310dca411f7c7ffd6943552b501622abfe
19 |
20 | COCOAPODS: 0.37.2
21 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-DZVideoPlayerViewController.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-DZVideoPlayerViewController.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
45 |
46 |
52 |
53 |
54 |
55 |
56 |
57 |
63 |
64 |
66 |
67 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2012-2014 Specta Team.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
21 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCallSite.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface SPTCallSite : NSObject
4 |
5 | @property (nonatomic, copy, readonly) NSString *file;
6 | @property (nonatomic, readonly) NSUInteger line;
7 |
8 | + (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line;
9 |
10 | - (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCallSite.m:
--------------------------------------------------------------------------------
1 | #import "SPTCallSite.h"
2 |
3 | @implementation SPTCallSite
4 |
5 | + (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line {
6 | return [[self alloc] initWithFile:file line:line];
7 | }
8 |
9 | - (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line {
10 | self = [super init];
11 | if (self) {
12 | _file = file;
13 | _line = line;
14 | }
15 | return self;
16 | }
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import "SpectaTypes.h"
3 |
4 | @interface SPTCompiledExample : NSObject
5 |
6 | @property (nonatomic, copy) NSString *name;
7 | @property (nonatomic, copy) NSString *testCaseName;
8 | @property (nonatomic, copy) SPTSpecBlock block;
9 |
10 | @property (nonatomic) BOOL pending;
11 | @property (nonatomic, getter=isFocused) BOOL focused;
12 |
13 | @property (nonatomic) SEL testMethodSelector;
14 |
15 | - (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.m:
--------------------------------------------------------------------------------
1 | #import "SPTCompiledExample.h"
2 |
3 | @implementation SPTCompiledExample
4 |
5 | - (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused {
6 | self = [super init];
7 | if (self) {
8 | self.name = name;
9 | self.testCaseName = testCaseName;
10 | self.block = block;
11 | self.pending = pending;
12 | self.focused = focused;
13 | }
14 | return self;
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExample.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import "SpectaTypes.h"
3 |
4 | @class SPTCallSite;
5 |
6 | @interface SPTExample : NSObject
7 |
8 | @property (nonatomic, copy) NSString *name;
9 | @property (nonatomic, retain) SPTCallSite *callSite;
10 | @property (nonatomic, copy) SPTVoidBlock block;
11 |
12 | @property (nonatomic) BOOL pending;
13 | @property (nonatomic, getter=isFocused) BOOL focused;
14 |
15 | - (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExample.m:
--------------------------------------------------------------------------------
1 | #import "SPTExample.h"
2 |
3 | @implementation SPTExample
4 |
5 | - (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block {
6 | self = [super init];
7 | if (self) {
8 | self.name = name;
9 | self.callSite = callSite;
10 | self.block = block;
11 | self.focused = focused;
12 | self.pending = block == nil;
13 | }
14 | return self;
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExampleGroup.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "SpectaTypes.h"
4 |
5 | @class SPTExample;
6 | @class SPTCallSite;
7 |
8 | @interface SPTExampleGroup : NSObject
9 |
10 | @property (nonatomic, copy) NSString *name;
11 | @property (nonatomic, strong) SPTExampleGroup *root;
12 | @property (nonatomic, strong) SPTExampleGroup *parent;
13 | @property (nonatomic, strong) NSMutableArray *children;
14 | @property (nonatomic, strong) NSMutableArray *beforeAllArray;
15 | @property (nonatomic, strong) NSMutableArray *afterAllArray;
16 | @property (nonatomic, strong) NSMutableArray *beforeEachArray;
17 | @property (nonatomic, strong) NSMutableArray *afterEachArray;
18 | @property (nonatomic, strong) NSMutableDictionary *sharedExamples;
19 | @property (nonatomic) unsigned int exampleCount;
20 | @property (nonatomic) unsigned int ranExampleCount;
21 | @property (nonatomic) unsigned int pendingExampleCount;
22 | @property (nonatomic, getter=isFocused) BOOL focused;
23 |
24 | - (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTExampleGroup *)root;
25 |
26 | - (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused;
27 | - (SPTExample *)addExampleWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block;
28 |
29 | - (void)addBeforeAllBlock:(SPTVoidBlock)block;
30 | - (void)addAfterAllBlock:(SPTVoidBlock)block;
31 | - (void)addBeforeEachBlock:(SPTVoidBlock)block;
32 | - (void)addAfterEachBlock:(SPTVoidBlock)block;
33 |
34 | - (NSArray *)compileExamplesWithStack:(NSArray *)stack;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Specta Team. All rights reserved.
3 | */
4 | #import
5 |
6 | // This protocol was used for blacklisting classes for global beforeEach and afterEach blocks.
7 | // Now, instead, classes are whitelisted by implementing the SPTGlobalBeforeAfterEach protocol.
8 | __deprecated_msg("Please whitelist classes instead with the SPTGlobalBeforeAfterEach protocol")
9 | @protocol SPTExcludeGlobalBeforeAfterEach
10 | @end
11 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Specta Team. All rights reserved.
3 | */
4 | #import
5 |
6 | // This protocol is used for whitelisting classes for global beforeEach and afterEach blocks.
7 | // If you want a class to participate in those just add this protocol to a category and it will be
8 | // included.
9 | @protocol SPTGlobalBeforeAfterEach
10 |
11 | @optional
12 | + (void)beforeEach;
13 | + (void)afterEach;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 |
5 | @class _XCTestCaseImplementation;
6 |
7 | @class SPTExampleGroup;
8 |
9 | @interface SPTSharedExampleGroups : XCTestCase
10 |
11 | + (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup;
12 | + (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup;
13 |
14 | - (void)sharedExampleGroups;
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.m:
--------------------------------------------------------------------------------
1 | #import "SPTSharedExampleGroups.h"
2 | #import "SPTExampleGroup.h"
3 | #import "SPTSpec.h"
4 | #import "SpectaUtility.h"
5 | #import
6 |
7 | NSMutableDictionary *globalSharedExampleGroups = nil;
8 | BOOL initialized = NO;
9 |
10 | @implementation SPTSharedExampleGroups
11 |
12 | + (void)initialize {
13 | Class SPTSharedExampleGroupsClass = [SPTSharedExampleGroups class];
14 | if ([self class] == SPTSharedExampleGroupsClass) {
15 | if (!initialized) {
16 | initialized = YES;
17 | globalSharedExampleGroups = [[NSMutableDictionary alloc] init];
18 |
19 | Class *classes = NULL;
20 | int numClasses = objc_getClassList(NULL, 0);
21 |
22 | if (numClasses > 0) {
23 | classes = (Class *)malloc(sizeof(Class) * numClasses);
24 | numClasses = objc_getClassList(classes, numClasses);
25 |
26 | Class klass, superClass;
27 | for(uint i = 0; i < numClasses; i++) {
28 | klass = classes[i];
29 | superClass = class_getSuperclass(klass);
30 | if (superClass == SPTSharedExampleGroupsClass) {
31 | [[[klass alloc] init] sharedExampleGroups];
32 | }
33 | }
34 |
35 | free(classes);
36 | }
37 | }
38 | }
39 | }
40 |
41 | + (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup {
42 | (exampleGroup == nil ? globalSharedExampleGroups : exampleGroup.sharedExamples)[name] = [block copy];
43 | }
44 |
45 | + (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup {
46 | SPTDictionaryBlock sharedExampleGroup = nil;
47 | while (exampleGroup != nil) {
48 | if ((sharedExampleGroup = exampleGroup.sharedExamples[name])) {
49 | return sharedExampleGroup;
50 | }
51 | exampleGroup = exampleGroup.parent;
52 | }
53 | return globalSharedExampleGroups[name];
54 | }
55 |
56 | - (void)sharedExampleGroups {}
57 |
58 | - (void)spt_handleException:(NSException *)exception {
59 | [SPTCurrentSpec spt_handleException:exception];
60 | }
61 |
62 | - (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected {
63 | [SPTCurrentSpec recordFailureWithDescription:description inFile:filename atLine:lineNumber expected:expected];
64 | }
65 |
66 | - (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception {
67 | [SPTCurrentSpec _recordUnexpectedFailureWithDescription:description exception:exception];
68 | }
69 |
70 | - (_XCTestCaseImplementation *)internalImplementation {
71 | return [SPTCurrentSpec internalImplementation];
72 | }
73 |
74 | @end
75 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTSpec.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @class
5 | SPTTestSuite
6 | , SPTCompiledExample
7 | ;
8 |
9 | @interface SPTSpec : XCTestCase
10 |
11 | @property (strong) XCTestCaseRun *spt_run;
12 | @property (nonatomic) BOOL spt_pending;
13 | @property (nonatomic) BOOL spt_skipped;
14 |
15 | + (BOOL)spt_isDisabled;
16 | + (void)spt_setDisabled:(BOOL)disabled;
17 | + (BOOL)spt_focusedExamplesExist;
18 | + (SEL)spt_convertToTestMethod:(SPTCompiledExample *)example;
19 | + (SPTTestSuite *)spt_testSuite;
20 | + (void)spt_setCurrentTestSuite;
21 | + (void)spt_unsetCurrentTestSuite;
22 | + (void)spt_setCurrentTestSuiteFileName:(NSString *)fileName lineNumber:(NSUInteger)lineNumber;
23 |
24 | - (void)spec;
25 | - (BOOL)spt_shouldRunExample:(SPTCompiledExample *)example;
26 | - (void)spt_runExample:(SPTCompiledExample *)example;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTTestSuite.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @class
4 | SPTExample
5 | , SPTExampleGroup
6 | ;
7 |
8 | @interface SPTTestSuite : NSObject
9 |
10 | @property (nonatomic, strong) SPTExampleGroup *rootGroup;
11 | @property (nonatomic, strong) NSMutableArray *groupStack;
12 | @property (nonatomic, strong) NSArray *compiledExamples;
13 | @property (nonatomic, copy) NSString *fileName;
14 | @property (nonatomic) NSUInteger lineNumber;
15 | @property (nonatomic, getter = isDisabled) BOOL disabled;
16 | @property (nonatomic) BOOL hasFocusedExamples;
17 |
18 | - (SPTExampleGroup *)currentGroup;
19 | - (void)compile;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTTestSuite.m:
--------------------------------------------------------------------------------
1 | #import "SPTTestSuite.h"
2 | #import "SPTExampleGroup.h"
3 | #import "SPTCompiledExample.h"
4 |
5 | @implementation SPTTestSuite
6 |
7 | - (id)init {
8 | self = [super init];
9 | if (self) {
10 | self.rootGroup = [[SPTExampleGroup alloc] init];
11 | self.rootGroup.root = self.rootGroup;
12 | self.groupStack = [NSMutableArray arrayWithObject:self.rootGroup];
13 | }
14 | return self;
15 | }
16 |
17 | - (SPTExampleGroup *)currentGroup {
18 | return [self.groupStack lastObject];
19 | }
20 |
21 | - (void)compile {
22 | self.compiledExamples = [self.rootGroup compileExamplesWithStack:@[]];
23 | for (SPTCompiledExample *example in self.compiledExamples) {
24 | if (example.focused) {
25 | self.hasFocusedExamples = YES;
26 | break;
27 | }
28 | }
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/Specta.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | //! Project version number for Specta.
5 | FOUNDATION_EXPORT double SpectaVersionNumber;
6 |
7 | //! Project version string for Specta.
8 | FOUNDATION_EXPORT const unsigned char SpectaVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 | #import
13 | #import
14 | #import
15 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SpectaDSL.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #define SpecBegin(name) _SPTSpecBegin(name, __FILE__, __LINE__)
4 | #define SpecEnd _SPTSpecEnd
5 |
6 | #define SharedExamplesBegin(name) _SPTSharedExampleGroupsBegin(name)
7 | #define SharedExamplesEnd _SPTSharedExampleGroupsEnd
8 | #define SharedExampleGroupsBegin(name) _SPTSharedExampleGroupsBegin(name)
9 | #define SharedExampleGroupsEnd _SPTSharedExampleGroupsEnd
10 |
11 | typedef void (^DoneCallback)(void);
12 |
13 | OBJC_EXTERN void describe(NSString *name, void (^block)());
14 | OBJC_EXTERN void fdescribe(NSString *name, void (^block)());
15 |
16 | OBJC_EXTERN void context(NSString *name, void (^block)());
17 | OBJC_EXTERN void fcontext(NSString *name, void (^block)());
18 |
19 | OBJC_EXTERN void it(NSString *name, void (^block)());
20 | OBJC_EXTERN void fit(NSString *name, void (^block)());
21 |
22 | OBJC_EXTERN void example(NSString *name, void (^block)());
23 | OBJC_EXTERN void fexample(NSString *name, void (^block)());
24 |
25 | OBJC_EXTERN void specify(NSString *name, void (^block)());
26 | OBJC_EXTERN void fspecify(NSString *name, void (^block)());
27 |
28 | #define pending(...) spt_pending_(__VA_ARGS__, nil)
29 | #define xdescribe(...) spt_pending_(__VA_ARGS__, nil)
30 | #define xcontext(...) spt_pending_(__VA_ARGS__, nil)
31 | #define xexample(...) spt_pending_(__VA_ARGS__, nil)
32 | #define xit(...) spt_pending_(__VA_ARGS__, nil)
33 | #define xspecify(...) spt_pending_(__VA_ARGS__, nil)
34 |
35 | OBJC_EXTERN void beforeAll(void (^block)());
36 | OBJC_EXTERN void afterAll(void (^block)());
37 |
38 | OBJC_EXTERN void beforeEach(void (^block)());
39 | OBJC_EXTERN void afterEach(void (^block)());
40 |
41 | OBJC_EXTERN void before(void (^block)());
42 | OBJC_EXTERN void after(void (^block)());
43 |
44 | OBJC_EXTERN void sharedExamplesFor(NSString *name, void (^block)(NSDictionary *data));
45 | OBJC_EXTERN void sharedExamples(NSString *name, void (^block)(NSDictionary *data));
46 |
47 | #define itShouldBehaveLike(...) spt_itShouldBehaveLike_(@(__FILE__), __LINE__, __VA_ARGS__)
48 | #define itBehavesLike(...) spt_itShouldBehaveLike_(@(__FILE__), __LINE__, __VA_ARGS__)
49 |
50 | OBJC_EXTERN void waitUntil(void (^block)(DoneCallback done));
51 | /**
52 | * Runs the @c block and waits until the @c done block is called or the
53 | * @c timeout has passed.
54 | *
55 | * @param timeout timeout for this @c block only; does not affect the global
56 | * timeout, as @c setAsyncSpecTimeout() does.
57 | * @param ^block runs test code
58 | */
59 | OBJC_EXTERN void waitUntilTimeout(NSTimeInterval timeout, void (^block)(DoneCallback done));
60 |
61 | OBJC_EXTERN void setAsyncSpecTimeout(NSTimeInterval timeout);
62 |
63 | // ----------------------------------------------------------------------------
64 |
65 | #define _SPTSpecBegin(name, file, line) \
66 | @interface name##Spec : SPTSpec \
67 | @end \
68 | @implementation name##Spec \
69 | - (void)spec { \
70 | [[self class] spt_setCurrentTestSuiteFileName:(@(file)) lineNumber:(line)];
71 |
72 | #define _SPTSpecEnd \
73 | } \
74 | @end
75 |
76 | #define _SPTSharedExampleGroupsBegin(name) \
77 | @interface name##SharedExampleGroups : SPTSharedExampleGroups \
78 | @end \
79 | @implementation name##SharedExampleGroups \
80 | - (void)sharedExampleGroups {
81 |
82 | #define _SPTSharedExampleGroupsEnd \
83 | } \
84 | @end
85 |
86 | OBJC_EXTERN void spt_it_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)());
87 | OBJC_EXTERN void spt_fit_(NSString *name, NSString *fileName, NSUInteger lineNumber, void (^block)());
88 | OBJC_EXTERN void spt_pending_(NSString *name, ...);
89 | OBJC_EXTERN void spt_itShouldBehaveLike_(NSString *fileName, NSUInteger lineNumber, NSString *name, id dictionaryOrBlock);
90 | OBJC_EXTERN void spt_itShouldBehaveLike_block(NSString *fileName, NSUInteger lineNumber, NSString *name, NSDictionary *(^block)());
91 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SpectaTypes.h:
--------------------------------------------------------------------------------
1 | @class SPTSpec;
2 |
3 | typedef void (^SPTVoidBlock)();
4 | typedef void (^SPTSpecBlock)(SPTSpec *spec);
5 | typedef void (^SPTDictionaryBlock)(NSDictionary *dictionary);
6 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SpectaUtility.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | extern NSString * const spt_kCurrentTestSuiteKey;
4 | extern NSString * const spt_kCurrentSpecKey;
5 |
6 | #define SPTCurrentTestSuite [[NSThread mainThread] threadDictionary][spt_kCurrentTestSuiteKey]
7 | #define SPTCurrentSpec [[NSThread mainThread] threadDictionary][spt_kCurrentSpecKey]
8 | #define SPTCurrentGroup [SPTCurrentTestSuite currentGroup]
9 | #define SPTGroupStack [SPTCurrentTestSuite groupStack]
10 |
11 | #define SPTReturnUnlessBlockOrNil(block) if ((block) && !SPTIsBlock((block))) return;
12 | #define SPTIsBlock(obj) [(obj) isKindOfClass:NSClassFromString(@"NSBlock")]
13 |
14 | BOOL spt_isSpecClass(Class aClass);
15 | NSString *spt_underscorize(NSString *string);
16 | NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx));
17 | NSArray *spt_shuffle(NSArray *array);
18 | unsigned int spt_seed();
19 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SpectaUtility.m:
--------------------------------------------------------------------------------
1 | #import "SpectaUtility.h"
2 | #import "SPTSpec.h"
3 | #import
4 |
5 | NSString * const spt_kCurrentTestSuiteKey = @"SPTCurrentTestSuite";
6 | NSString * const spt_kCurrentSpecKey = @"SPTCurrentSpec";
7 |
8 | static unsigned int seed = 0;
9 |
10 | BOOL spt_isSpecClass(Class aClass) {
11 | Class superclass = class_getSuperclass(aClass);
12 | while (superclass != Nil) {
13 | if (superclass == [SPTSpec class]) {
14 | return YES;
15 | } else {
16 | superclass = class_getSuperclass(superclass);
17 | }
18 | }
19 | return NO;
20 | }
21 |
22 | NSString *spt_underscorize(NSString *string) {
23 | static NSMutableCharacterSet *invalidCharSet;
24 | static dispatch_once_t onceToken;
25 | dispatch_once(&onceToken, ^{
26 | invalidCharSet = [[NSMutableCharacterSet alloc] init];
27 | [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet controlCharacterSet]];
28 | [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet illegalCharacterSet]];
29 | [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet newlineCharacterSet]];
30 | [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet nonBaseCharacterSet]];
31 | [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];
32 | [invalidCharSet formUnionWithCharacterSet:[NSCharacterSet symbolCharacterSet]];
33 | });
34 | NSString *stripped = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
35 | stripped = [[stripped componentsSeparatedByCharactersInSet:invalidCharSet] componentsJoinedByString:@""];
36 |
37 | NSArray *components = [stripped componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
38 | stripped = [[components objectsAtIndexes:[components indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
39 | return ![obj isEqualToString:@""];
40 | }]] componentsJoinedByString:@"_"];
41 | return stripped;
42 | }
43 |
44 | NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx)) {
45 | NSMutableArray *mapped = [NSMutableArray arrayWithCapacity:[array count]];
46 | [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
47 | [mapped addObject:block(obj, idx)];
48 | }];
49 | return mapped;
50 | }
51 |
52 | NSArray *spt_shuffle(NSArray *array) {
53 | if (![[[[NSProcessInfo processInfo] environment] objectForKey:@"SPECTA_SHUFFLE"] isEqualToString:@"1"]) {
54 | return array;
55 | }
56 | spt_seed();
57 | NSMutableArray *shuffled = [array mutableCopy];
58 | NSUInteger count = [shuffled count];
59 | for (NSUInteger i = 0; i < count; i++) {
60 | NSUInteger r = random() % count;
61 | [shuffled exchangeObjectAtIndex:i withObjectAtIndex:r];
62 | }
63 | return shuffled;
64 | }
65 |
66 | unsigned int spt_seed() {
67 | static dispatch_once_t onceToken;
68 | dispatch_once(&onceToken, ^{
69 | NSString *envSeed = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPECTA_SEED"];
70 | if (envSeed) {
71 | sscanf([envSeed UTF8String], "%u", &seed);
72 | } else {
73 | seed = arc4random();
74 | }
75 | srandom(seed);
76 | printf("Test Seed: %u\n", seed);
77 | });
78 | return seed;
79 | }
80 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/XCTest+Private.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101100
4 |
5 | @interface XCTestObservationCenter (SPTTestSuspention)
6 |
7 | - (void)_suspendObservationForBlock:(void (^)(void))block;
8 |
9 | @end
10 |
11 | #else
12 |
13 | @interface XCTestObservationCenter : NSObject
14 |
15 | + (id)sharedObservationCenter;
16 | - (void)_suspendObservationForBlock:(void (^)(void))block;
17 |
18 | @end
19 |
20 | #endif
21 |
22 | @protocol XCTestObservation
23 | @end
24 |
25 | @interface _XCTestDriverTestObserver : NSObject
26 |
27 | - (void)stopObserving;
28 | - (void)startObserving;
29 |
30 | @end
31 |
32 | @interface _XCTestCaseImplementation : NSObject
33 | @end
34 |
35 | @interface XCTestCase ()
36 |
37 | - (_XCTestCaseImplementation *)internalImplementation;
38 | - (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface XCTestCase (Specta)
4 |
5 | - (void)spt_handleException:(NSException *)exception;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import "XCTestCase+Specta.h"
3 | #import "SPTSpec.h"
4 | #import "SPTExample.h"
5 | #import "SPTSharedExampleGroups.h"
6 | #import "SpectaUtility.h"
7 | #import "XCTest+Private.h"
8 |
9 | @interface XCTestCase (xct_allSubclasses)
10 |
11 | - (NSArray *)allSubclasses;
12 | - (void)_dequeueFailures;
13 |
14 | @end
15 |
16 | @implementation XCTestCase (Specta)
17 |
18 | + (void)load {
19 | Method allSubclasses = class_getClassMethod(self, @selector(allSubclasses));
20 | Method allSubclasses_swizzle = class_getClassMethod(self , @selector(spt_allSubclasses_swizzle));
21 | method_exchangeImplementations(allSubclasses, allSubclasses_swizzle);
22 |
23 | Method dequeueFailures = class_getInstanceMethod(self, @selector(_dequeueFailures));
24 | Method dequeueFailures_swizzle = class_getInstanceMethod(self, @selector(spt_dequeueFailures));
25 | method_exchangeImplementations(dequeueFailures, dequeueFailures_swizzle);
26 | }
27 |
28 | + (NSArray *)spt_allSubclasses_swizzle {
29 | NSArray *subclasses = [self spt_allSubclasses_swizzle]; // call original
30 | NSMutableArray *filtered = [NSMutableArray arrayWithCapacity:[subclasses count]];
31 | // exclude SPTSpec base class and all subclasses of SPTSharedExampleGroups
32 | for (id subclass in subclasses) {
33 | if (subclass != [SPTSpec class] && ![subclass isKindOfClass:[SPTSharedExampleGroups class]]) {
34 | [filtered addObject:subclass];
35 | }
36 | }
37 | return spt_shuffle(filtered);
38 | }
39 |
40 | - (void)spt_dequeueFailures {
41 | void(^dequeueFailures)() = ^() {
42 | [self spt_dequeueFailures];
43 | };
44 |
45 | if ([NSThread isMainThread]) {
46 | dequeueFailures();
47 | } else {
48 | dispatch_sync(dispatch_get_main_queue(), dequeueFailures);
49 | }
50 | }
51 |
52 | - (void)spt_handleException:(NSException *)exception {
53 | NSString *description = [exception reason];
54 | if ([exception userInfo]) {
55 | id line = [exception userInfo][@"line"];
56 | id file = [exception userInfo][@"file"];
57 | if ([line isKindOfClass:[NSNumber class]] && [file isKindOfClass:[NSString class]]) {
58 | [self recordFailureWithDescription:description inFile:file atLine:[line unsignedIntegerValue] expected:YES];
59 | return;
60 | }
61 | }
62 | [self _recordUnexpectedFailureWithDescription:description exception:exception];
63 | }
64 |
65 | @end
66 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-Private.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController.xcconfig"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
4 | OTHER_LDFLAGS = ${PODS_DZVIDEOPLAYERVIEWCONTROLLER_EXAMPLE_DZVIDEOPLAYERVIEWCONTROLLER_OTHER_LDFLAGS} -ObjC
5 | PODS_ROOT = ${SRCROOT}
6 | SKIP_INSTALL = YES
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DZVideoPlayerViewController_Example_DZVideoPlayerViewController : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DZVideoPlayerViewController_Example_DZVideoPlayerViewController
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "Pods-DZVideoPlayerViewController_Example-environment.h"
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController.xcconfig:
--------------------------------------------------------------------------------
1 | PODS_DZVIDEOPLAYERVIEWCONTROLLER_EXAMPLE_DZVIDEOPLAYERVIEWCONTROLLER_OTHER_LDFLAGS = -framework "AVFoundation" -framework "AudioToolbox"
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example/Pods-DZVideoPlayerViewController_Example-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## DZVideoPlayerViewController
5 |
6 | Copyright (c) 2015 Denis Zamataev
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | Generated by CocoaPods - http://cocoapods.org
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example/Pods-DZVideoPlayerViewController_Example-acknowledgements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreferenceSpecifiers
6 |
7 |
8 | FooterText
9 | This application makes use of the following third party libraries:
10 | Title
11 | Acknowledgements
12 | Type
13 | PSGroupSpecifier
14 |
15 |
16 | FooterText
17 | Copyright (c) 2015 Denis Zamataev <denis.zamataev@gmail.com>
18 |
19 | Permission is hereby granted, free of charge, to any person obtaining a copy
20 | of this software and associated documentation files (the "Software"), to deal
21 | in the Software without restriction, including without limitation the rights
22 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
23 | copies of the Software, and to permit persons to whom the Software is
24 | furnished to do so, subject to the following conditions:
25 |
26 | The above copyright notice and this permission notice shall be included in
27 | all copies or substantial portions of the Software.
28 |
29 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35 | THE SOFTWARE.
36 |
37 | Title
38 | DZVideoPlayerViewController
39 | Type
40 | PSGroupSpecifier
41 |
42 |
43 | FooterText
44 | Generated by CocoaPods - http://cocoapods.org
45 | Title
46 |
47 | Type
48 | PSGroupSpecifier
49 |
50 |
51 | StringsTable
52 | Acknowledgements
53 | Title
54 | Acknowledgements
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example/Pods-DZVideoPlayerViewController_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DZVideoPlayerViewController_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DZVideoPlayerViewController_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example/Pods-DZVideoPlayerViewController_Example-environment.h:
--------------------------------------------------------------------------------
1 |
2 | // To check if a library is compiled with CocoaPods you
3 | // can use the `COCOAPODS` macro definition which is
4 | // defined in the xcconfigs so it is available in
5 | // headers also when they are imported in the client
6 | // project.
7 |
8 |
9 | // DZVideoPlayerViewController
10 | #define COCOAPODS_POD_AVAILABLE_DZVideoPlayerViewController
11 | #define COCOAPODS_VERSION_MAJOR_DZVideoPlayerViewController 0
12 | #define COCOAPODS_VERSION_MINOR_DZVideoPlayerViewController 3
13 | #define COCOAPODS_VERSION_PATCH_DZVideoPlayerViewController 0
14 |
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example/Pods-DZVideoPlayerViewController_Example.debug.xcconfig:
--------------------------------------------------------------------------------
1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Specta"
4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController" -framework "AVFoundation" -framework "AudioToolbox"
5 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
6 | PODS_ROOT = ${SRCROOT}/Pods
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Example/Pods-DZVideoPlayerViewController_Example.release.xcconfig:
--------------------------------------------------------------------------------
1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
2 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
3 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Specta"
4 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-DZVideoPlayerViewController_Example-DZVideoPlayerViewController" -framework "AVFoundation" -framework "AudioToolbox"
5 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
6 | PODS_ROOT = ${SRCROOT}/Pods
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-Private.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController.xcconfig"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
4 | OTHER_LDFLAGS = ${PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_DZVIDEOPLAYERVIEWCONTROLLER_OTHER_LDFLAGS} -ObjC
5 | PODS_ROOT = ${SRCROOT}
6 | SKIP_INSTALL = YES
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DZVideoPlayerViewController_Tests_DZVideoPlayerViewController : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DZVideoPlayerViewController_Tests_DZVideoPlayerViewController
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "Pods-DZVideoPlayerViewController_Tests-environment.h"
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController/Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController.xcconfig:
--------------------------------------------------------------------------------
1 | PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_DZVIDEOPLAYERVIEWCONTROLLER_OTHER_LDFLAGS = -framework "AVFoundation" -framework "AudioToolbox"
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Expecta/Pods-DZVideoPlayerViewController_Tests-Expecta-Private.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods-DZVideoPlayerViewController_Tests-Expecta.xcconfig"
2 | FRAMEWORK_SEARCH_PATHS = ${PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_EXPECTA_FRAMEWORK_SEARCH_PATHS}
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Expecta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
5 | OTHER_LDFLAGS = ${PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_EXPECTA_OTHER_LDFLAGS} -ObjC
6 | PODS_ROOT = ${SRCROOT}
7 | SKIP_INSTALL = YES
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Expecta/Pods-DZVideoPlayerViewController_Tests-Expecta-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DZVideoPlayerViewController_Tests_Expecta : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DZVideoPlayerViewController_Tests_Expecta
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Expecta/Pods-DZVideoPlayerViewController_Tests-Expecta-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "Pods-DZVideoPlayerViewController_Tests-environment.h"
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Expecta/Pods-DZVideoPlayerViewController_Tests-Expecta.xcconfig:
--------------------------------------------------------------------------------
1 | PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_EXPECTA_FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks"
2 | PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_EXPECTA_OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Specta/Pods-DZVideoPlayerViewController_Tests-Specta-Private.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods-DZVideoPlayerViewController_Tests-Specta.xcconfig"
2 | FRAMEWORK_SEARCH_PATHS = ${PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_SPECTA_FRAMEWORK_SEARCH_PATHS}
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Specta" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
5 | OTHER_LDFLAGS = ${PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_SPECTA_OTHER_LDFLAGS} -ObjC
6 | PODS_ROOT = ${SRCROOT}
7 | SKIP_INSTALL = YES
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Specta/Pods-DZVideoPlayerViewController_Tests-Specta-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DZVideoPlayerViewController_Tests_Specta : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DZVideoPlayerViewController_Tests_Specta
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Specta/Pods-DZVideoPlayerViewController_Tests-Specta-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "Pods-DZVideoPlayerViewController_Tests-environment.h"
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests-Specta/Pods-DZVideoPlayerViewController_Tests-Specta.xcconfig:
--------------------------------------------------------------------------------
1 | PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_SPECTA_FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks"
2 | PODS_DZVIDEOPLAYERVIEWCONTROLLER_TESTS_SPECTA_OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests/Pods-DZVideoPlayerViewController_Tests-acknowledgements.markdown:
--------------------------------------------------------------------------------
1 | # Acknowledgements
2 | This application makes use of the following third party libraries:
3 |
4 | ## DZVideoPlayerViewController
5 |
6 | Copyright (c) 2015 Denis Zamataev
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 |
27 | ## Expecta
28 |
29 | Copyright (c) 2011-2015 Specta Team - https://github.com/specta
30 |
31 | Permission is hereby granted, free of charge, to any person obtaining a copy
32 | of this software and associated documentation files (the "Software"), to deal
33 | in the Software without restriction, including without limitation the rights
34 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
35 | copies of the Software, and to permit persons to whom the Software is
36 | furnished to do so, subject to the following conditions:
37 |
38 | The above copyright notice and this permission notice shall be included in
39 | all copies or substantial portions of the Software.
40 |
41 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
42 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
43 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
44 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
45 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
46 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
47 | THE SOFTWARE.
48 |
49 |
50 | ## Specta
51 |
52 | Copyright (c) 2012-2014 Specta Team.
53 |
54 | Permission is hereby granted, free of charge, to any person obtaining a copy
55 | of this software and associated documentation files (the "Software"), to deal
56 | in the Software without restriction, including without limitation the rights
57 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
58 | copies of the Software, and to permit persons to whom the Software is
59 | furnished to do so, subject to the following conditions:
60 |
61 | The above copyright notice and this permission notice shall be included in
62 | all copies or substantial portions of the Software.
63 |
64 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
65 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
66 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
67 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
68 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
69 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
70 | THE SOFTWARE.
71 |
72 |
73 | Generated by CocoaPods - http://cocoapods.org
74 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests/Pods-DZVideoPlayerViewController_Tests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_DZVideoPlayerViewController_Tests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_DZVideoPlayerViewController_Tests
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests/Pods-DZVideoPlayerViewController_Tests-environment.h:
--------------------------------------------------------------------------------
1 |
2 | // To check if a library is compiled with CocoaPods you
3 | // can use the `COCOAPODS` macro definition which is
4 | // defined in the xcconfigs so it is available in
5 | // headers also when they are imported in the client
6 | // project.
7 |
8 |
9 | // DZVideoPlayerViewController
10 | #define COCOAPODS_POD_AVAILABLE_DZVideoPlayerViewController
11 | #define COCOAPODS_VERSION_MAJOR_DZVideoPlayerViewController 0
12 | #define COCOAPODS_VERSION_MINOR_DZVideoPlayerViewController 3
13 | #define COCOAPODS_VERSION_PATCH_DZVideoPlayerViewController 0
14 |
15 | // Expecta
16 | #define COCOAPODS_POD_AVAILABLE_Expecta
17 | #define COCOAPODS_VERSION_MAJOR_Expecta 1
18 | #define COCOAPODS_VERSION_MINOR_Expecta 0
19 | #define COCOAPODS_VERSION_PATCH_Expecta 0
20 |
21 | // Specta
22 | #define COCOAPODS_POD_AVAILABLE_Specta
23 | #define COCOAPODS_VERSION_MAJOR_Specta 1
24 | #define COCOAPODS_VERSION_MINOR_Specta 0
25 | #define COCOAPODS_VERSION_PATCH_Specta 2
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests/Pods-DZVideoPlayerViewController_Tests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Specta"
5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController" -l"Pods-DZVideoPlayerViewController_Tests-Expecta" -l"Pods-DZVideoPlayerViewController_Tests-Specta" -framework "AVFoundation" -framework "AudioToolbox" -framework "Foundation" -framework "XCTest"
6 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
7 | PODS_ROOT = ${SRCROOT}/Pods
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-DZVideoPlayerViewController_Tests/Pods-DZVideoPlayerViewController_Tests.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks" $(inherited) $(DEVELOPER_FRAMEWORKS_DIR) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks" "$(SDKROOT)/Developer/Library/Frameworks"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" "${PODS_ROOT}/Headers/Public/Expecta" "${PODS_ROOT}/Headers/Public/Specta"
4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/DZVideoPlayerViewController" -isystem "${PODS_ROOT}/Headers/Public/Expecta" -isystem "${PODS_ROOT}/Headers/Public/Specta"
5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-DZVideoPlayerViewController_Tests-DZVideoPlayerViewController" -l"Pods-DZVideoPlayerViewController_Tests-Expecta" -l"Pods-DZVideoPlayerViewController_Tests-Specta" -framework "AVFoundation" -framework "AudioToolbox" -framework "Foundation" -framework "XCTest"
6 | OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)
7 | PODS_ROOT = ${SRCROOT}/Pods
--------------------------------------------------------------------------------
/Example/Tests/Tests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Example/Tests/Tests-Prefix.pch:
--------------------------------------------------------------------------------
1 | // The contents of this file are implicitly included at the beginning of every test case source file.
2 |
3 | #ifdef __OBJC__
4 |
5 | @import Specta;
6 | @import Expecta;
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/Example/Tests/Tests.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewControllerTests.m
3 | // DZVideoPlayerViewControllerTests
4 | //
5 | // Created by Denis Zamataev on 06/03/2015.
6 | // Copyright (c) 2015 Denis Zamataev. All rights reserved.
7 | //
8 |
9 | // https://github.com/Specta/Specta
10 |
11 | SpecBegin(InitialSpecs)
12 |
13 | describe(@"these will fail", ^{
14 |
15 | it(@"can do maths", ^{
16 | expect(1).to.equal(2);
17 | });
18 |
19 | it(@"can read", ^{
20 | expect(@"number").to.equal(@"string");
21 | });
22 |
23 | it(@"will wait for 10 seconds and fail", ^{
24 | waitUntil(^(DoneCallback done) {
25 |
26 | });
27 | });
28 | });
29 |
30 | describe(@"these will pass", ^{
31 |
32 | it(@"can do maths", ^{
33 | expect(1).beLessThan(23);
34 | });
35 |
36 | it(@"can read", ^{
37 | expect(@"team").toNot.contain(@"I");
38 | });
39 |
40 | it(@"will wait and succeed", ^{
41 | waitUntil(^(DoneCallback done) {
42 | done();
43 | });
44 | });
45 | });
46 |
47 | SpecEnd
48 |
--------------------------------------------------------------------------------
/Example/Tests/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015 Denis Zamataev
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Pod/Assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/.gitkeep
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_expand@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_expand@1x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_expand@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_expand@2x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_expand@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_expand@3x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_pause@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_pause@1x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_pause@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_pause@2x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_pause@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_pause@3x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_play@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_play@1x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_play@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_play@2x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_play@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_play@3x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_shrink@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_shrink@1x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_shrink@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_shrink@2x.png
--------------------------------------------------------------------------------
/Pod/Assets/videoplayer_shrink@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Assets/videoplayer_shrink@3x.png
--------------------------------------------------------------------------------
/Pod/Classes/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Pod/Classes/.gitkeep
--------------------------------------------------------------------------------
/Pod/Classes/DZPlayerButton.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZPlayerButton.h
3 | // Pods
4 | //
5 | // Created by Denis Zamataev on 03/06/15.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface DZPlayerButton : UIButton
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Pod/Classes/DZPlayerButton.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZPlayerButton.m
3 | // Pods
4 | //
5 | // Created by Denis Zamataev on 03/06/15.
6 | //
7 | //
8 |
9 | #import "DZPlayerButton.h"
10 |
11 | @implementation DZPlayerButton
12 | - (instancetype)init {
13 | self = [super init];
14 | if (self) {
15 | [self commonInit];
16 | }
17 | return self;
18 | }
19 |
20 | - (instancetype)initWithFrame:(CGRect)frame {
21 | self = [super initWithFrame:frame];
22 | if (self) {
23 | [self commonInit];
24 | }
25 | return self;
26 | }
27 |
28 | - (void)awakeFromNib {
29 | [super awakeFromNib];
30 | [self commonInit];
31 | }
32 |
33 | - (void)commonInit {
34 | UIImage *image = [self imageForState:UIControlStateNormal];
35 | if (image) {
36 | //prepare and set image for normal state and highlighted state
37 |
38 | UIColor *normalTintColor = [self titleColorForState:UIControlStateNormal];
39 | UIImage *imageForNormalState = [self tintedImage:image withColor:normalTintColor];
40 | [self setImage:imageForNormalState forState:UIControlStateNormal];
41 |
42 | UIColor *highlightedTintColor = [self titleColorForState:UIControlStateHighlighted];
43 | UIImage *imageForHighlightedState = [self tintedImage:image withColor:highlightedTintColor];
44 | [self setImage:imageForHighlightedState forState:UIControlStateHighlighted];
45 |
46 | }
47 | }
48 |
49 | -(void)setTitleColor:(UIColor *)color forState:(UIControlState)state
50 | {
51 | [super setTitleColor:color forState:state];
52 | UIImage *image = [self imageForState:UIControlStateNormal];
53 | if (image)
54 | {
55 | //prepare and set image for normal state and highlighted state
56 |
57 | if( state == UIControlStateNormal )
58 | {
59 | UIColor *normalTintColor = [self titleColorForState:UIControlStateNormal];
60 | UIImage *imageForNormalState = [self tintedImage:image withColor:normalTintColor];
61 | [self setImage:imageForNormalState forState:UIControlStateNormal];
62 | }
63 | else if( state == UIControlStateHighlighted )
64 | {
65 | UIColor *highlightedTintColor = [self titleColorForState:UIControlStateHighlighted];
66 | UIImage *imageForHighlightedState = [self tintedImage:image withColor:highlightedTintColor];
67 | [self setImage:imageForHighlightedState forState:UIControlStateHighlighted];
68 | }
69 | }
70 | }
71 |
72 | - (UIImage*)tintedImage:(UIImage*)image withColor:(UIColor*)color
73 | {
74 | if (!color)
75 | return image;
76 |
77 | CGFloat scale = image.scale;
78 | CGSize size = CGSizeMake(scale * image.size.width, scale * image.size.height);
79 |
80 | UIGraphicsBeginImageContext(size);
81 |
82 | CGContextRef context = UIGraphicsGetCurrentContext();
83 |
84 | CGContextTranslateCTM(context, 0, size.height);
85 | CGContextScaleCTM(context, 1.0, -1.0);
86 |
87 | CGRect rect = CGRectMake(0, 0, size.width, size.height);
88 | // ---
89 |
90 | CGContextSetBlendMode(context, kCGBlendModeNormal);
91 | CGContextDrawImage(context, rect, image.CGImage);
92 | CGContextSetBlendMode(context, kCGBlendModeSourceIn);
93 | [color setFill];
94 | CGContextFillRect(context, rect);
95 |
96 | // ---
97 | CGImageRef bitmapContext = CGBitmapContextCreateImage(context);
98 |
99 | UIImage *coloredImage = [UIImage imageWithCGImage:bitmapContext scale:scale orientation:UIImageOrientationUp];
100 |
101 | CGImageRelease(bitmapContext);
102 |
103 | UIGraphicsEndImageContext();
104 |
105 | return coloredImage;
106 | }
107 |
108 | @end
109 |
--------------------------------------------------------------------------------
/Pod/Classes/DZPlayerView.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZPlayerView.h
3 | // OhMyTube
4 | //
5 | // Created by Denis on 5/29/15.
6 | // Copyright (c) 2015 Mysterious Organization. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface DZPlayerView : UIView
13 | @property (nonatomic) AVPlayer *player;
14 | @property (nonatomic, readonly) AVPlayerLayer *playerLayer;
15 |
16 | // defaults to AVLayerVideoGravityResizeAspect
17 | @property (nonatomic, readwrite) NSString *videoFillMode;
18 | @end
19 |
--------------------------------------------------------------------------------
/Pod/Classes/DZPlayerView.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZPlayerView.m
3 | // OhMyTube
4 | //
5 | // Created by Denis on 5/29/15.
6 | // Copyright (c) 2015 Mysterious Organization. All rights reserved.
7 | //
8 |
9 | #import "DZPlayerView.h"
10 |
11 | @implementation DZPlayerView
12 |
13 | - (void)layoutSubviews {
14 | [super layoutSubviews];
15 | }
16 |
17 | + (Class)layerClass
18 | {
19 | return [AVPlayerLayer class];
20 | }
21 |
22 | #pragma mark - getters/setters
23 |
24 | - (void)setPlayer:(AVPlayer *)player
25 | {
26 | [(AVPlayerLayer *)[self layer] setPlayer:player];
27 | }
28 |
29 | - (AVPlayer *)player
30 | {
31 | return [(AVPlayerLayer *)[self layer] player];
32 | }
33 |
34 | - (AVPlayerLayer *)playerLayer
35 | {
36 | return (AVPlayerLayer *)self.layer;
37 | }
38 |
39 | - (void)setVideoFillMode:(NSString *)videoFillMode
40 | {
41 | AVPlayerLayer *playerLayer = (AVPlayerLayer *)[self layer];
42 | playerLayer.videoGravity = videoFillMode;
43 | }
44 |
45 | - (NSString *)videoFillMode
46 | {
47 | AVPlayerLayer *playerLayer = (AVPlayerLayer *)[self layer];
48 | return playerLayer.videoGravity;
49 | }
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/Pod/Classes/DZProgressIndicatorSlider.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZProgressIndicatorSlider.h
3 | // OhMyTube
4 | //
5 | // Created by Denis Zamataev on 29/05/15.
6 | // Copyright (c) 2015 Mysterious Organization. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface DZProgressIndicatorSlider : UISlider
12 |
13 | @property (weak, nonatomic) IBOutlet UIProgressView *progressView;
14 |
15 | - (void)setSecondaryValue:(float)value;
16 | - (void)setSecondaryTintColor:(UIColor *)tintColor;
17 | @end
18 |
--------------------------------------------------------------------------------
/Pod/Classes/DZProgressIndicatorSlider.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZProgressIndicatorSlider.m
3 | // OhMyTube
4 | //
5 | // Created by Denis Zamataev on 29/05/15.
6 | // Copyright (c) 2015 Mysterious Organization. All rights reserved.
7 | //
8 |
9 | #import "DZProgressIndicatorSlider.h"
10 |
11 | @interface DZProgressIndicatorSlider ()
12 |
13 | @end
14 |
15 | @implementation DZProgressIndicatorSlider
16 |
17 | - (instancetype)init {
18 | self = [super init];
19 | if (self) {
20 | [self commonInit];
21 | }
22 | return self;
23 | }
24 |
25 | - (instancetype)initWithFrame:(CGRect)frame {
26 | self = [super initWithFrame:frame];
27 | if (self) {
28 | [self commonInit];
29 | }
30 | return self;
31 | }
32 |
33 | - (void)awakeFromNib {
34 | [super awakeFromNib];
35 | [self commonInit];
36 | }
37 |
38 | - (void)commonInit {
39 | [self setMaximumTrackTintColor:[UIColor clearColor]];
40 |
41 | [[self.progressView layer] setCornerRadius:1.0f];
42 |
43 | CGFloat hue, sat, bri;
44 | [[self tintColor] getHue:&hue saturation:&sat brightness:&bri alpha:nil];
45 | [self.progressView setTintColor:[UIColor colorWithHue:hue saturation:(sat * 0.6f) brightness:bri alpha:1]];
46 | }
47 |
48 | - (void)setTintColor:(UIColor *)tintColor {
49 | [super setTintColor:tintColor];
50 |
51 | CGFloat hue, sat, bri;
52 | [[self tintColor] getHue:&hue saturation:&sat brightness:&bri alpha:nil];
53 | [self.progressView setTintColor:[UIColor colorWithHue:hue saturation:(sat * 0.6f) brightness:bri alpha:1]];
54 | }
55 |
56 | - (void)setSecondaryValue:(float)value {
57 | [self.progressView setProgress:value];
58 | }
59 |
60 | - (void)setSecondaryTintColor:(UIColor *)tintColor {
61 | [self.progressView setTintColor:tintColor];
62 | }
63 |
64 | @end
65 |
--------------------------------------------------------------------------------
/Pod/Classes/DZVideoPlayerViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewController.h
3 | // OhMyTube
4 | //
5 | // Created by Denis Zamataev on 29/05/15.
6 | // Copyright (c) 2015 Mysterious Organization. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import
12 | #import
13 |
14 | #import "DZVideoPlayerViewController_constants.h"
15 | #import "DZVideoPlayerViewControllerDelegate.h"
16 | #import "DZVideoPlayerViewControllerConfiguration.h"
17 | #import "DZPlayerView.h"
18 | #import "DZProgressIndicatorSlider.h"
19 | #import "DZVideoPlayerViewControllerContainerView.h"
20 |
21 |
22 | @interface DZVideoPlayerViewController : UIViewController
23 | @property (weak, nonatomic) id delegate;
24 |
25 | @property (strong, nonatomic) DZVideoPlayerViewControllerConfiguration *configuration;
26 |
27 | @property (strong, nonatomic) NSURL *videoURL;
28 |
29 | // Readonly properties
30 | @property (readonly, nonatomic) NSTimeInterval currentPlaybackTime;
31 | @property (readonly, nonatomic) NSTimeInterval currentPlayerItemDuration;
32 | @property (readonly, nonatomic) NSTimeInterval availableDuration;
33 | @property (readonly, nonatomic) BOOL isPlaying;
34 | @property (readonly, nonatomic) BOOL isFullscreen;
35 |
36 | // Interface Builder Outlets
37 | @property (weak, nonatomic) IBOutlet DZPlayerView *playerView;
38 |
39 | @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicatorView;
40 |
41 | @property (weak, nonatomic) IBOutlet UIView *topToolbarView;
42 | @property (weak, nonatomic) IBOutlet UIView *bottomToolbarView;
43 | @property (weak, nonatomic) IBOutlet UIButton *doneButton;
44 | @property (weak, nonatomic) IBOutlet UIButton *playButton;
45 | @property (weak, nonatomic) IBOutlet UIButton *pauseButton;
46 | @property (weak, nonatomic) IBOutlet DZProgressIndicatorSlider *progressIndicator;
47 | @property (weak, nonatomic) IBOutlet UILabel *currentTimeLabel;
48 | @property (weak, nonatomic) IBOutlet UILabel *remainingTimeLabel;
49 | @property (weak, nonatomic) IBOutlet UIButton *fullscreenExpandButton;
50 | @property (weak, nonatomic) IBOutlet UIButton *fullscreenShrinkButton;
51 | //
52 |
53 | + (NSBundle*)bundle;
54 |
55 | + (NSString *)nibNameForStyle:(DZVideoPlayerViewControllerStyle)style;
56 |
57 | - (void)prepareAndPlayAutomatically:(BOOL)playAutomatically;
58 |
59 | - (void)play;
60 |
61 | - (void)pause;
62 |
63 | - (void)togglePlayPause;
64 |
65 | - (void)stop;
66 |
67 | - (void)syncUI;
68 |
69 | - (void)setMuted:(BOOL)muted;
70 |
71 | - (BOOL)isMuted;
72 |
73 | - (void)toggleFullscreen:(id)sender;
74 |
75 | - (void)seek:(UISlider *)slider;
76 |
77 | - (void)seekToTime:(NSTimeInterval)newPlaybackTime;
78 |
79 | - (void)startSeeking:(id)sender;
80 |
81 | - (void)endSeeking:(id)sender;
82 |
83 | - (void)updateProgressIndicator:(id)sender;
84 |
85 | - (void)startIdleCountdown;
86 |
87 | - (void)stopIdleCountdown;
88 |
89 | - (void)hideControls;
90 |
91 | - (void)hideControlsWithAnimationDuration:(NSTimeInterval)animationDuration;
92 |
93 | - (void)showControls;
94 |
95 | - (void)showControlsWithAnimationDuration:(NSTimeInterval)animationDuration;
96 |
97 | - (void)updateNowPlayingInfo;
98 |
99 | - (void)resetNowPlayingInfo;
100 |
101 | - (NSMutableDictionary *)gatherNowPlayingInfo;
102 | @end
103 |
--------------------------------------------------------------------------------
/Pod/Classes/DZVideoPlayerViewControllerConfiguration.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewControllerConfiguration.h
3 | // Pods
4 | //
5 | // Created by Denis Zamataev on 15/07/15.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface DZVideoPlayerViewControllerConfiguration : NSObject
12 |
13 | @property (assign, nonatomic) BOOL isBackgroundPlaybackEnabled; // defaults to NO
14 | @property (strong, nonatomic) NSMutableArray *viewsToHideOnIdle; // has topToolbarView and bottomToolbarView by default
15 | @property (assign, nonatomic) NSTimeInterval delayBeforeHidingViewsOnIdle; // defaults to 3 seconds
16 | @property (assign, nonatomic) BOOL isShowFullscreenExpandAndShrinkButtonsEnabled; // defaults to YES
17 | @property (assign, nonatomic) BOOL isHideControlsOnIdleEnabled; // defaults to YES
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Pod/Classes/DZVideoPlayerViewControllerConfiguration.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewControllerConfiguration.m
3 | // Pods
4 | //
5 | // Created by Denis Zamataev on 15/07/15.
6 | //
7 | //
8 |
9 | #import "DZVideoPlayerViewControllerConfiguration.h"
10 |
11 | @implementation DZVideoPlayerViewControllerConfiguration
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Pod/Classes/DZVideoPlayerViewControllerContainerView.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewControllerContainerView.h
3 | // Pods
4 | //
5 | // Created by Denis Zamataev on 01/06/15.
6 | //
7 | //
8 |
9 | #import
10 | #import "DZVideoPlayerViewController_constants.h"
11 | @class DZVideoPlayerViewController;
12 |
13 | @interface DZVideoPlayerViewControllerContainerView : UIView
14 | /*
15 | Use this property to pick one of the suggested styles.
16 | One of the existing nib's will be used.
17 | */
18 | @property (assign, nonatomic) DZVideoPlayerViewControllerStyle style;
19 |
20 | /*
21 | Set this property to provide your own nib to provide custom view.
22 | Setting this property will result in ignoring 'style' property
23 | */
24 | @property (assign, nonatomic) NSString *nibNameToInitControllerWith;
25 |
26 | /*
27 | The controller will be created on Init, get it using this property.
28 | */
29 | @property (strong, nonatomic) DZVideoPlayerViewController *videoPlayerViewController;
30 |
31 | - (instancetype)initWithStyle:(DZVideoPlayerViewControllerStyle)style;
32 | - (instancetype)initWithNibNameToInitControllerWith:(NSString *)nibNameToInitControllerWith;
33 | @end
34 |
--------------------------------------------------------------------------------
/Pod/Classes/DZVideoPlayerViewControllerContainerView.m:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewControllerContainerView.m
3 | // Pods
4 | //
5 | // Created by Denis Zamataev on 01/06/15.
6 | //
7 | //
8 |
9 | #import "DZVideoPlayerViewControllerContainerView.h"
10 | #import "DZVideoPlayerViewController.h"
11 |
12 | @implementation DZVideoPlayerViewControllerContainerView
13 |
14 | - (instancetype)init {
15 | self = [super init];
16 | if (self) {
17 | [self commonInit];
18 | }
19 | return self;
20 | }
21 |
22 | - (instancetype)initWithFrame:(CGRect)frame {
23 | self = [super initWithFrame:frame];
24 | if (self) {
25 | [self commonInit];
26 | }
27 | return self;
28 | }
29 |
30 | - (instancetype)initWithStyle:(DZVideoPlayerViewControllerStyle)style {
31 | self = [super init];
32 | if (self) {
33 | self.style = style;
34 | [self commonInit];
35 | }
36 | return self;
37 | }
38 |
39 | - (instancetype)initWithNibNameToInitControllerWith:(NSString *)nibNameToInitControllerWith {
40 | self = [super init];
41 | if (self) {
42 | self.nibNameToInitControllerWith = nibNameToInitControllerWith;
43 | [self commonInit];
44 | }
45 | return self;
46 | }
47 |
48 | - (void)awakeFromNib {
49 | [super awakeFromNib];
50 | [self commonInit];
51 | }
52 |
53 | - (void)commonInit {
54 | NSBundle *bundle = [DZVideoPlayerViewController bundle];
55 |
56 | NSString *nibName;
57 | if (self.nibNameToInitControllerWith != nil) {
58 | nibName = self.nibNameToInitControllerWith;
59 | }
60 | else {
61 | nibName = [DZVideoPlayerViewController nibNameForStyle:self.style];
62 | }
63 |
64 | self.videoPlayerViewController = [[DZVideoPlayerViewController alloc] initWithNibName:nibName
65 | bundle:bundle];
66 | self.translatesAutoresizingMaskIntoConstraints = NO;
67 | self.videoPlayerViewController.view.frame = self.bounds;
68 | [self addSubview:self.videoPlayerViewController.view];
69 |
70 | NSDictionary *viewsDictionary = @{@"view":self.videoPlayerViewController.view};
71 | NSMutableArray *constraintsArray = [NSMutableArray new];
72 | [constraintsArray addObjectsFromArray:[NSLayoutConstraint
73 | constraintsWithVisualFormat:@"H:|[view]|"
74 | options:0 metrics:nil
75 | views:viewsDictionary]];
76 | [constraintsArray addObjectsFromArray:[NSLayoutConstraint
77 | constraintsWithVisualFormat:@"V:|[view]|"
78 | options:0 metrics:nil
79 | views:viewsDictionary]];
80 | [self addConstraints:constraintsArray];
81 | }
82 |
83 | /*
84 | // Only override drawRect: if you perform custom drawing.
85 | // An empty implementation adversely affects performance during animation.
86 | - (void)drawRect:(CGRect)rect {
87 | // Drawing code
88 | }
89 | */
90 |
91 | @end
92 |
--------------------------------------------------------------------------------
/Pod/Classes/DZVideoPlayerViewControllerDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewControllerDelegate.h
3 | // OhMyTube
4 | //
5 | // Created by Denis Zamataev on 29/05/15.
6 | // Copyright (c) 2015 Mysterious Organization. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @protocol DZVideoPlayerViewControllerDelegate
12 |
13 | @optional
14 |
15 | - (void)playerFailedToLoadAssetWithError:(NSError *)error;
16 | - (void)playerDidPlay;
17 | - (void)playerDidPause;
18 | - (void)playerDidStop;
19 | - (void)playerDidPlayToEndTime;
20 | - (void)playerFailedToPlayToEndTime;
21 | - (void)playerPlaybackStalled;
22 | - (void)playerDoneButtonTouched;
23 |
24 |
25 | - (void)playerRequireNextTrack;
26 | - (void)playerRequirePreviousTrack;
27 |
28 | /*
29 | Check isFullscreen property and animate view controller's view appropriately.
30 | If you don't want to support fullscreen please provide custom user interface which does not have fullscreenExpandButton and fullscreenShrinkButton, or hide the buttons in default user interface.
31 | */
32 | - (void)playerDidToggleFullscreen;
33 |
34 | /*
35 | Provide now playing info like this:
36 | [nowPlayingInfo setObject:track.artistName forKey:MPMediaItemPropertyArtist];
37 | [nowPlayingInfo setObject:track.trackTitle forKey:MPMediaItemPropertyTitle];
38 | */
39 | - (void)playerGatherNowPlayingInfo:(NSMutableDictionary *)nowPlayingInfo;
40 | @end
41 |
--------------------------------------------------------------------------------
/Pod/Classes/DZVideoPlayerViewController_constants.h:
--------------------------------------------------------------------------------
1 | //
2 | // DZVideoPlayerViewController_constants.h
3 | // Pods
4 | //
5 | // Created by Denis Zamataev on 01/06/15.
6 | //
7 | //
8 |
9 | #import
10 |
11 | typedef NS_ENUM(NSInteger, DZVideoPlayerViewControllerStyle) {
12 | DZVideoPlayerViewControllerStyleDefault = 0,
13 | DZVideoPlayerViewControllerStyleSimple = 1
14 | };
--------------------------------------------------------------------------------
/Screenshots/demo1(0.3.0).gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Screenshots/demo1(0.3.0).gif
--------------------------------------------------------------------------------
/Screenshots/screenshot1(0.3.0).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Screenshots/screenshot1(0.3.0).png
--------------------------------------------------------------------------------
/Screenshots/screenshot2(0.3.0).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Screenshots/screenshot2(0.3.0).png
--------------------------------------------------------------------------------
/Screenshots/screenshot3(0.3.0).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DZamataev/DZVideoPlayerViewController/95edba6d1dde20f7b83d0fe991bef215d93e2e9c/Screenshots/screenshot3(0.3.0).png
--------------------------------------------------------------------------------