├── .gitignore ├── .gitmodules ├── .travis.yml ├── LICENSE ├── Podfile ├── Podfile.lock ├── README.mdown ├── Travis.xcodeproj └── project.pbxproj ├── mockups ├── menubar.png └── preferences.png ├── resources ├── English.lproj │ ├── InfoPlist.strings │ ├── MainMenu.nib │ │ ├── designable.nib │ │ └── keyedobjects.nib │ └── MainMenu.xib ├── Growl Registration Ticket.growlRegDict ├── Info.plist ├── Travis CI.entitlements ├── Travis CI.icns ├── dsa_pub.pem ├── tray-alt.png └── tray.png ├── src ├── AppDelegate.h ├── AppDelegate.m ├── BuildEvent.h ├── BuildEvent.m ├── BuildEventStream.h ├── BuildEventStream.m ├── BuildUpdater.h ├── BuildUpdater.m ├── EventConverter.h ├── EventConverter.m ├── EventFilter.h ├── EventFilter.m ├── FilterPreferences.h ├── FilterPreferences.m ├── Notification.h ├── Notification.m ├── Preferences.h ├── Preferences.m ├── PreferencesController.h ├── PreferencesController.m ├── Reachability.h ├── Reachability.m ├── TravisAPI.h ├── TravisAPI.m ├── TravisHTTPClient.h ├── TravisHTTPClient.m ├── UserNotifier.h ├── UserNotifier.m └── main.m ├── test ├── BuildUpdaterTests.m ├── EventConverterTests.m ├── EventFilterTests.m ├── FilterPreferencesTests.m ├── PreferencesControllerTests.m ├── TravisToolbarTests-Info.plist ├── TravisToolbarTests-Prefix.pch └── en.lproj │ └── InfoPlist.strings └── vendor ├── OCHamcrest.framework ├── Headers ├── OCHamcrest ├── Resources └── Versions │ ├── A │ ├── Headers │ │ ├── HCAllOf.h │ │ ├── HCAnyOf.h │ │ ├── HCAssertThat.h │ │ ├── HCBaseDescription.h │ │ ├── HCBaseMatcher.h │ │ ├── HCBoxNumber.h │ │ ├── HCCollectMatchers.h │ │ ├── HCConformsToProtocol.h │ │ ├── HCDescribedAs.h │ │ ├── HCDescription.h │ │ ├── HCHasCount.h │ │ ├── HCHasDescription.h │ │ ├── HCHasProperty.h │ │ ├── HCInvocationMatcher.h │ │ ├── HCIs.h │ │ ├── HCIsAnything.h │ │ ├── HCIsCloseTo.h │ │ ├── HCIsCollectionContaining.h │ │ ├── HCIsCollectionContainingInAnyOrder.h │ │ ├── HCIsCollectionContainingInOrder.h │ │ ├── HCIsCollectionOnlyContaining.h │ │ ├── HCIsDictionaryContaining.h │ │ ├── HCIsDictionaryContainingEntries.h │ │ ├── HCIsDictionaryContainingKey.h │ │ ├── HCIsDictionaryContainingValue.h │ │ ├── HCIsEmptyCollection.h │ │ ├── HCIsEqual.h │ │ ├── HCIsEqualIgnoringCase.h │ │ ├── HCIsEqualIgnoringWhiteSpace.h │ │ ├── HCIsEqualToNumber.h │ │ ├── HCIsIn.h │ │ ├── HCIsInstanceOf.h │ │ ├── HCIsNil.h │ │ ├── HCIsNot.h │ │ ├── HCIsSame.h │ │ ├── HCMatcher.h │ │ ├── HCNumberAssert.h │ │ ├── HCOrderingComparison.h │ │ ├── HCRequireNonNilObject.h │ │ ├── HCRequireNonNilString.h │ │ ├── HCSelfDescribing.h │ │ ├── HCStringContains.h │ │ ├── HCStringContainsInOrder.h │ │ ├── HCStringDescription.h │ │ ├── HCStringEndsWith.h │ │ ├── HCStringStartsWith.h │ │ ├── HCSubstringMatcher.h │ │ ├── HCWrapInMatcher.h │ │ └── OCHamcrest.h │ ├── OCHamcrest │ └── Resources │ │ └── Info.plist │ └── Current ├── OCMockito.framework ├── Headers ├── OCMockito ├── Resources └── Versions │ ├── A │ ├── Headers │ │ ├── MKTBaseMockObject.h │ │ ├── MKTClassObjectMock.h │ │ ├── MKTObjectAndProtocolMock.h │ │ ├── MKTObjectMock.h │ │ ├── MKTOngoingStubbing.h │ │ ├── MKTPrimitiveArgumentMatching.h │ │ ├── MKTProtocolMock.h │ │ └── OCMockito.h │ ├── OCMockito │ └── Resources │ │ └── Info.plist │ └── Current ├── Pusher.framework ├── Headers │ ├── PTEventListener.h │ ├── PTJSON.h │ ├── PTJSONParser.h │ ├── PTPusher.h │ ├── PTPusherAPI.h │ ├── PTPusherChannel.h │ ├── PTPusherConnection.h │ ├── PTPusherDelegate.h │ ├── PTPusherErrors.h │ ├── PTPusherEvent.h │ ├── PTPusherEventDispatcher.h │ ├── PTPusherEventPublisher.h │ ├── PTPusherMacros.h │ ├── PTPusherPresenceChannelDelegate.h │ └── SRWebSocket.h ├── Pusher ├── Resources │ ├── Info.plist │ └── en.lproj │ │ └── InfoPlist.strings └── Versions │ ├── A │ ├── Headers │ │ ├── PTEventListener.h │ │ ├── PTJSON.h │ │ ├── PTJSONParser.h │ │ ├── PTPusher.h │ │ ├── PTPusherAPI.h │ │ ├── PTPusherChannel.h │ │ ├── PTPusherConnection.h │ │ ├── PTPusherDelegate.h │ │ ├── PTPusherErrors.h │ │ ├── PTPusherEvent.h │ │ ├── PTPusherEventDispatcher.h │ │ ├── PTPusherEventPublisher.h │ │ ├── PTPusherMacros.h │ │ └── PTPusherPresenceChannelDelegate.h │ ├── Pusher │ └── Resources │ │ ├── Info.plist │ │ └── en.lproj │ │ └── InfoPlist.strings │ └── Current │ ├── Headers │ ├── PTEventListener.h │ ├── PTJSON.h │ ├── PTJSONParser.h │ ├── PTPusher.h │ ├── PTPusherAPI.h │ ├── PTPusherChannel.h │ ├── PTPusherConnection.h │ ├── PTPusherDelegate.h │ ├── PTPusherErrors.h │ ├── PTPusherEvent.h │ ├── PTPusherEventDispatcher.h │ ├── PTPusherEventPublisher.h │ ├── PTPusherMacros.h │ └── PTPusherPresenceChannelDelegate.h │ ├── Pusher │ └── Resources │ ├── Info.plist │ └── en.lproj │ └── InfoPlist.strings └── Sparkle.framework ├── Headers ├── Resources ├── Sparkle └── Versions ├── A ├── Headers │ ├── SUAppcast.h │ ├── SUAppcastItem.h │ ├── SUUpdater.h │ ├── SUVersionComparisonProtocol.h │ ├── SUVersionDisplayProtocol.h │ └── Sparkle.h ├── Resources │ ├── Info.plist │ ├── License.txt │ ├── SUModelTranslation.plist │ ├── SUStatus.nib │ ├── ar.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUPasswordPrompt.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── cs.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── da.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── de.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── en.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUPasswordPrompt.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── es.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── finish_installation.app │ │ └── Contents │ │ │ ├── Info.plist │ │ │ ├── MacOS │ │ │ └── finish_installation │ │ │ ├── PkgInfo │ │ │ └── Resources │ │ │ ├── SUStatus.nib │ │ │ ├── Sparkle.icns │ │ │ ├── ar.lproj │ │ │ └── Sparkle.strings │ │ │ ├── cs.lproj │ │ │ └── Sparkle.strings │ │ │ ├── da.lproj │ │ │ └── Sparkle.strings │ │ │ ├── de.lproj │ │ │ └── Sparkle.strings │ │ │ ├── en.lproj │ │ │ └── Sparkle.strings │ │ │ ├── es.lproj │ │ │ └── Sparkle.strings │ │ │ ├── fr.lproj │ │ │ └── Sparkle.strings │ │ │ ├── is.lproj │ │ │ └── Sparkle.strings │ │ │ ├── it.lproj │ │ │ └── Sparkle.strings │ │ │ ├── ja.lproj │ │ │ └── Sparkle.strings │ │ │ ├── nl.lproj │ │ │ └── Sparkle.strings │ │ │ ├── pl.lproj │ │ │ └── Sparkle.strings │ │ │ ├── pt_BR.lproj │ │ │ └── Sparkle.strings │ │ │ ├── pt_PT.lproj │ │ │ └── Sparkle.strings │ │ │ ├── ro.lproj │ │ │ └── Sparkle.strings │ │ │ ├── ru.lproj │ │ │ └── Sparkle.strings │ │ │ ├── sl.lproj │ │ │ └── Sparkle.strings │ │ │ ├── sv.lproj │ │ │ └── Sparkle.strings │ │ │ ├── th.lproj │ │ │ └── Sparkle.strings │ │ │ ├── tr.lproj │ │ │ └── Sparkle.strings │ │ │ ├── uk.lproj │ │ │ └── Sparkle.strings │ │ │ ├── zh_CN.lproj │ │ │ └── Sparkle.strings │ │ │ └── zh_TW.lproj │ │ │ └── Sparkle.strings │ ├── fr.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── fr_CA.lproj │ ├── is.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── it.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── ja.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── ko.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ └── SUUpdatePermissionPrompt.nib │ ├── nl.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── pl.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── pt.lproj │ ├── pt_BR.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUPasswordPrompt.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── pt_PT.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── ro.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── ru.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── sk.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ └── SUUpdatePermissionPrompt.nib │ ├── sl.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── sv.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── th.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUPasswordPrompt.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── tr.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── uk.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ ├── zh_CN.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings │ └── zh_TW.lproj │ │ ├── SUAutomaticUpdateAlert.nib │ │ ├── SUUpdateAlert.nib │ │ ├── SUUpdatePermissionPrompt.nib │ │ └── Sparkle.strings └── Sparkle └── Current /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | build/* 3 | *.pbxuser 4 | !default.pbxuser 5 | *.mode1v3 6 | !default.mode1v3 7 | *.mode2v3 8 | !default.mode2v3 9 | *.perspectivev3 10 | !default.perspectivev3 11 | *.xcworkspace 12 | !default.xcworkspace 13 | xcuserdata 14 | profile 15 | *.moved-aside 16 | DerivedData 17 | 18 | # CocoaPods 19 | Pods 20 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "vendor/expecta"] 2 | path = vendor/expecta 3 | url = https://github.com/github/expecta.git 4 | [submodule "vendor/specta"] 5 | path = vendor/specta 6 | url = https://github.com/github/specta.git 7 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | before_install: 3 | - "git clone https://github.com/facebook/xctool.git ~/xctool" 4 | - "~/xctool/build.sh" 5 | - "gem update cocoapods" 6 | script: "~/xctool/xctool.sh -workspace Travis.xcworkspace -scheme Travis test" 7 | 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT LICENSE 2 | 3 | Copyright (c) 2012 Travis CI GmbH 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | platform :osx, '10.8' 2 | pod 'AFNetworking', '~> 1.0' 3 | pod 'ReactiveCocoa', '~> 1.5.0' 4 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (1.0.1) 3 | - JRSwizzle (1.0) 4 | - libextobjc/EXTConcreteProtocol (0.2.5): 5 | - libextobjc/RuntimeExtensions 6 | - libextobjc/EXTKeyPathCoding (0.2.5): 7 | - libextobjc/RuntimeExtensions 8 | - libextobjc/EXTScope (0.2.5): 9 | - libextobjc/RuntimeExtensions 10 | - libextobjc/RuntimeExtensions (0.2.5) 11 | - ReactiveCocoa (1.5.0): 12 | - ReactiveCocoa/Core 13 | - ReactiveCocoa/RACExtensions 14 | - ReactiveCocoa/Core (1.5.0): 15 | - JRSwizzle (~> 1.0) 16 | - libextobjc/EXTConcreteProtocol (~> 0.2.5) 17 | - libextobjc/EXTKeyPathCoding (~> 0.2.5) 18 | - libextobjc/EXTScope (~> 0.2.5) 19 | - ReactiveCocoa/RACExtensions (1.5.0): 20 | - ReactiveCocoa/Core 21 | 22 | DEPENDENCIES: 23 | - AFNetworking (~> 1.0) 24 | - ReactiveCocoa (~> 1.5.0) 25 | 26 | SPEC CHECKSUMS: 27 | AFNetworking: 0bce3ae41023e080e96b8a2e0d07c94709f72a81 28 | JRSwizzle: 6242ff38485d870fc2636899048ee1ab883ae587 29 | libextobjc: 2cbc74caf8bdc74a86fdf24673f773c83424ea98 30 | ReactiveCocoa: 67e6f96f1aee091ead8306be7ba8da53d2d3671c 31 | 32 | COCOAPODS: 0.19.1 33 | -------------------------------------------------------------------------------- /README.mdown: -------------------------------------------------------------------------------- 1 | # Travis Watcher - Mac edition 2 | 3 | ## Roadmap 4 | 5 | In no particular order (see issue tracker for more details): 6 | 7 | - Authentication 8 | - Option to connect to multiple Travis installations (org/pro/custom). The only 9 | difference is the API endpoint and the fact that pro *requires* authentication 10 | - Show status for master branch (or other custom branch, eventually) for 11 | "favourite" repositories 12 | - Go to latest build in web browser if clicked on 13 | - Ability to change notification types globally, per organization and per 14 | repository (notify on success, failure or change) 15 | - If we're disconnected from Pusher/WebSockets, update with HTTP and reconnect 16 | to Pusher/WebSockets. 17 | - (Auto)update 18 | 19 | 20 | ## Mockups 21 | 22 | Menu bar: 23 | 24 | ![Menu bar mockup](mockups/menubar.png) 25 | 26 | Preferences window: 27 | 28 | ![Preferences window mockup](mockups/preferences.png) 29 | 30 | 31 | ## Development Setup 32 | 33 | The Travis CI Mac app uses [CocoaPods][] to manage dependencies. After 34 | installing CocoaPods you need to run `pod install` to download the dependencies. 35 | 36 | [CocoaPods]: http://cocoapods.org 37 | 38 | ## Note on Patches/Pull Requests 39 | 40 | 1. Fork the project. 41 | 2. Make your feature addition or bug fix. 42 | 3. Add tests for it. This is important so it doesn't get broken in a future 43 | version unintentionally. 44 | 4. Commit. Please do not edit the version number. If you want to update it, 45 | please do it in a separate commit so it's easy to ignore when merging. 46 | 5. Send a pull request. Bonus points for topic branches. 47 | 48 | ## Copyright 49 | 50 | Copyright (c) 2012-2013 [Travis](http://github.com/travis-ci). See LICENSE for details. 51 | -------------------------------------------------------------------------------- /mockups/menubar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/mockups/menubar.png -------------------------------------------------------------------------------- /mockups/preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/mockups/preferences.png -------------------------------------------------------------------------------- /resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /resources/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/resources/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /resources/Growl Registration Ticket.growlRegDict: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TicketVersion 6 | 1 7 | AllNotifications 8 | 9 | Build Started 10 | Build Finished 11 | Build Information 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | Travis CI.icns 11 | CFBundleIdentifier 12 | org.travis-ci.toolbar 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 0.2.4 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSApplicationCategoryType 26 | public.app-category.developer-tools 27 | LSUIElement 28 | 29 | NSHumanReadableCopyright 30 | Copyright (c) 2012 Travis CI GmbH 31 | NSMainNibFile 32 | MainMenu 33 | NSPrincipalClass 34 | NSApplication 35 | SUFeedURL 36 | https://travis.mesmerizeapp.com/ 37 | 38 | 39 | -------------------------------------------------------------------------------- /resources/Travis CI.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/Travis CI.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/resources/Travis CI.icns -------------------------------------------------------------------------------- /resources/dsa_pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIDOzCCAi0GByqGSM44BAEwggIgAoIBAQD31fycd948tO+oYP/YfWRxBXuVOBP3 3 | hnq16b56fXCqnNpSrphJca8W0lJLN+oIO5cjwkMcn0Wos6wNKDys0hgb+Y/TifIn 4 | Nqdj+Lmi0179Mh+PmFbVtus66VP3hlTEQUrmr84+c7oiBtQ2tQ9EBAGSrkH2R9Eo 5 | RUfWXHLfdL0zCUP+NT6GYviEGzuZHHQ8SgdDBWGvxoda/jdsxm/lBS2liaoZMy+b 6 | k1s8UTympgtZgagV5LrVdtRxser4RcHVW7HPmWpi9GcxP0NU3dazy27YxIaqJP1k 7 | f3hpRZg0Gt+oPA6sizxocRojp/DNF7RwzgwxcQjdZKIUpJkkwM+GvY0XAhUAv4Tv 8 | H+e4/b2C47pNar5DWOo6JgECggEAI2dlGVczqqK8ogPNZA5h/u4K6yySNSI/v7u6 9 | lnDNjQIbVpyiFTUDn2usr8GDnPFizDhbAwsOdbP1DOecUM1ooaO+atyN4kL12yCL 10 | au8ALmrTkyCgjbxDnY6bOdseffkOZf+fQhR+93RPUAUAZCOsyP4wx4JGqTQ+6vbI 11 | tI1y3/GF3Dvdcz3EtI/dDE9M6wsFoLzT+R4J+nhYYgp1WDFoOZhn2Irf4rJaTYce 12 | f55C64p2+HBXHZ+YALKUZNtuPb49ls1LOpuWggdXAohBqIZtW84+J41BNjpZ6/+y 13 | g9Fpk7GAttdW0wTLT5ASvf4v/s1a31Xb+rwi74uzT2mp4Q2SawOCAQYAAoIBAQCQ 14 | jAcUYWtWZgkgbi9N06GSQk45PmnIPLhBiq2ax3kZEi+BF09bvK/8SEOQZTC7a+81 15 | r8nTahRZ5PD8VDCMwH9zrbec3u5eOoR1RVjAjFkUyh0SGpOiQEV5QNJ0v1XXwEvV 16 | HN9YJAW4HiEY9dhadZbSMyHfl/qBE7oIjeBizeybR26O2YtizUarcUiCjjOTFiuJ 17 | KOZbbBNnLk0vZ88ZW+uuV2EKXnAkPE2Ix9ksge47Bi47VaKZtu69ORTZkTdERrh+ 18 | TPV0xYjULt23Dj5C9doYubNJNL0e2MAfzxZC1g6e6OwgFinq6bXGFdvkJDGGvaso 19 | +aJ7V0BNc9vwTJOEisnp 20 | -----END PUBLIC KEY----- 21 | -------------------------------------------------------------------------------- /resources/tray-alt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/resources/tray-alt.png -------------------------------------------------------------------------------- /resources/tray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/resources/tray.png -------------------------------------------------------------------------------- /src/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 5/16/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class TravisEventFetcher; 12 | 13 | @interface AppDelegate : NSObject 14 | 15 | @property (assign) IBOutlet NSMenu *statusMenu; 16 | @property (assign) IBOutlet NSPanel *preferencesPanel; 17 | 18 | - (IBAction)showPreferences:(id)sender; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /src/BuildEvent.h: -------------------------------------------------------------------------------- 1 | // 2 | // BuildEvent.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 5/16/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef enum { 12 | BuildEventStateStarted, 13 | BuildEventStateFinished, 14 | BuildEventStateUnknown, 15 | } BuildEventState; 16 | 17 | typedef enum { 18 | BuildEventStatusPassed, 19 | BuildEventStatusFailed, 20 | BuildEventStatusUnknown, 21 | } BuildEventStatus; 22 | 23 | @interface BuildEvent : NSObject 24 | 25 | @property (readonly) NSString *name; 26 | @property (readonly) BuildEventStatus status; 27 | @property (readonly) NSString *url; 28 | @property (readonly) NSNumber *buildID; 29 | @property (readonly) NSNumber *buildNumber; 30 | @property (readonly) BuildEventState state; 31 | 32 | - (id)initWithEventData:(NSDictionary *)eventData; 33 | 34 | - (void)updateBuildInfo:(NSDictionary *)build; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /src/BuildEvent.m: -------------------------------------------------------------------------------- 1 | // 2 | // BuildEvent.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 5/16/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import "BuildEvent.h" 10 | 11 | @interface BuildEvent () 12 | 13 | @property (strong) NSDictionary *eventData; 14 | 15 | @end 16 | 17 | @implementation BuildEvent 18 | 19 | - (id)initWithEventData:(NSDictionary *)eventData { 20 | self = [super init]; 21 | if (self) { 22 | _eventData = eventData; 23 | } 24 | 25 | return self; 26 | } 27 | 28 | - (void)updateBuildInfo:(NSDictionary *)build { 29 | NSMutableDictionary *eventData = [[self eventData] mutableCopy]; 30 | eventData[@"build"] = build; 31 | [self setEventData:eventData]; 32 | } 33 | 34 | - (NSString *)name { 35 | return [self eventData][@"repository"][@"slug"]; 36 | } 37 | 38 | - (BuildEventStatus)status { 39 | NSNumber *result = [self eventData][@"build"][@"result"]; 40 | BOOL resultIsANumber = [result isKindOfClass:[NSNumber class]]; 41 | if (resultIsANumber && [result isEqualToNumber:@0]) { 42 | return BuildEventStatusPassed; 43 | } else if (resultIsANumber && [result isEqualToNumber:@1]) { 44 | return BuildEventStatusFailed; 45 | } else { 46 | return BuildEventStatusUnknown; 47 | } 48 | } 49 | 50 | - (NSNumber *)buildID { 51 | return [self eventData][@"build"][@"id"]; 52 | } 53 | 54 | - (NSNumber *)buildNumber { 55 | return [self eventData][@"build"][@"number"]; 56 | } 57 | 58 | - (BuildEventState)state { 59 | NSString *state = [self eventData][@"build"][@"state"]; 60 | 61 | if ([state isEqualToString:@"started"]) { 62 | return BuildEventStateStarted; 63 | } else if ([state isEqualToString:@"finished"]) { 64 | return BuildEventStateFinished; 65 | } else { 66 | return BuildEventStateUnknown; 67 | } 68 | } 69 | 70 | - (NSString *)url { 71 | NSNumber *build = [self eventData][@"build"][@"id"]; 72 | return [NSString stringWithFormat:@"http://travis-ci.org/%@/builds/%@", [self name], build]; 73 | } 74 | 75 | - (NSString *)description { 76 | return [NSString stringWithFormat:@"<%@: %@>", [self class], [self eventData]]; 77 | } 78 | 79 | @end 80 | -------------------------------------------------------------------------------- /src/BuildEventStream.h: -------------------------------------------------------------------------------- 1 | // 2 | // BuildEventStream.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal; 12 | 13 | @interface BuildEventStream : NSObject 14 | @property (nonatomic, strong, readonly) RACSignal *eventStream; 15 | 16 | + (BuildEventStream *)buildEventStream; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /src/BuildUpdater.h: -------------------------------------------------------------------------------- 1 | // 2 | // BuildUpdater.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal; 12 | @class TravisAPI; 13 | 14 | @interface BuildUpdater : NSObject 15 | @property (nonatomic, strong, readonly) RACSignal *outputStream; 16 | 17 | + (BuildUpdater *)buildUpdaterWithInputStream:(RACSignal *)inputStream API:(TravisAPI *)API; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /src/BuildUpdater.m: -------------------------------------------------------------------------------- 1 | // 2 | // BuildUpdater.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import "BuildUpdater.h" 10 | #import 11 | #import 12 | #import "TravisAPI.h" 13 | #import "BuildEvent.h" 14 | 15 | @interface BuildUpdater () 16 | @property (nonatomic, strong, readonly) RACSignal *inputStream; 17 | @property (nonatomic, strong, readonly) TravisAPI *API; 18 | @end 19 | 20 | @implementation BuildUpdater 21 | 22 | - (RACSignal *)outputStream { 23 | @weakify(self); 24 | return [[self inputStream] flattenMap:^(BuildEvent *event) { 25 | @strongify(self); 26 | return [[[self API] fetchBuildWithID:[event buildID] forRepository:[event name]] map:^(NSDictionary *build) { 27 | [event updateBuildInfo:build]; 28 | return event; 29 | }]; 30 | }]; 31 | } 32 | 33 | + (BuildUpdater *)buildUpdaterWithInputStream:(RACSignal *)inputStream API:(TravisAPI *)API { 34 | return [[self alloc] initWithInputStream:inputStream API:API]; 35 | } 36 | 37 | - (id)initWithInputStream:(RACSignal *)inputStream API:(TravisAPI *)API { 38 | self = [super init]; 39 | if (self == nil) return nil; 40 | 41 | _inputStream = inputStream; 42 | _API = API; 43 | 44 | return self; 45 | } 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /src/EventConverter.h: -------------------------------------------------------------------------------- 1 | // 2 | // EventConverter.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal; 12 | 13 | @interface EventConverter : NSObject 14 | @property (nonatomic, strong, readonly) RACSignal *outputStream; 15 | 16 | + (EventConverter *)eventConverterWithInputStream:(RACSignal *)inputStream; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /src/EventConverter.m: -------------------------------------------------------------------------------- 1 | // 2 | // EventConverter.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import "EventConverter.h" 10 | 11 | #import 12 | #import "BuildEvent.h" 13 | #import "Notification.h" 14 | 15 | @interface EventConverter () 16 | @property (nonatomic, strong, readonly) RACSignal *inputStream; 17 | @end 18 | 19 | @implementation EventConverter 20 | 21 | - (RACSignal *)outputStream { 22 | return [[self inputStream] map:^(BuildEvent *event) { 23 | return [Notification notificationWithEventData:event]; 24 | }]; 25 | } 26 | 27 | + (EventConverter *)eventConverterWithInputStream:(RACSignal *)inputStream { 28 | return [[self alloc] initWithInputStream:inputStream]; 29 | } 30 | 31 | - (id)initWithInputStream:(RACSignal *)inputStream { 32 | self = [super init]; 33 | if (self == nil) return nil; 34 | 35 | _inputStream = inputStream; 36 | 37 | return self; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /src/EventFilter.h: -------------------------------------------------------------------------------- 1 | // 2 | // EventFilter.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal; 12 | @class FilterPreferences; 13 | 14 | @interface EventFilter : NSObject 15 | 16 | // A stream of filtered `TravisEvent`. 17 | @property (nonatomic, strong, readonly) RACSignal *outputStream; 18 | 19 | // Creates a new event filter. 20 | // 21 | // inputStream - A stream of `TravisEvent` objects to filter. 22 | // filterPreferences - A `FilterPreferences` object describing how to filter the incoming `TravisEvent` objects. 23 | + (EventFilter *)eventFilterWithInputStream:(RACSignal *)inputStream filterPreferences:(FilterPreferences *)filterPreferences; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /src/EventFilter.m: -------------------------------------------------------------------------------- 1 | // 2 | // EventFilter.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import "EventFilter.h" 10 | #import 11 | #import 12 | #import "BuildEvent.h" 13 | #import "FilterPreferences.h" 14 | 15 | @interface EventFilter () 16 | @property (nonatomic, strong, readonly) RACSignal *inputStream; 17 | @property (nonatomic, strong, readonly) FilterPreferences *filterPreferences; 18 | @end 19 | 20 | @implementation EventFilter 21 | 22 | - (RACSignal *)outputStream { 23 | @weakify(self); 24 | return [[self inputStream] filter:^(BuildEvent *event) { 25 | @strongify(self); 26 | return [[self filterPreferences] matchesSlug:[event name]]; 27 | }]; 28 | } 29 | 30 | #pragma mark - Lifecycle 31 | 32 | + (EventFilter *)eventFilterWithInputStream:(RACSignal *)inputStream filterPreferences:(FilterPreferences *)filterPreferences { 33 | return [[self alloc] initWithInputStream:inputStream filterPreferences:filterPreferences]; 34 | } 35 | 36 | - (id)initWithInputStream:(RACSignal *)inputStream filterPreferences:(FilterPreferences *)filterPreferences { 37 | self = [super init]; 38 | if (self == nil) return nil; 39 | 40 | _inputStream = inputStream; 41 | _filterPreferences = filterPreferences; 42 | 43 | return self; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /src/FilterPreferences.h: -------------------------------------------------------------------------------- 1 | // 2 | // RepositoryFilter.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 11/11/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class Preferences; 12 | 13 | @interface FilterPreferences : NSObject 14 | 15 | + (FilterPreferences *)filterWithPreferences:(Preferences *)preferences; 16 | 17 | - (BOOL)matchesSlug:(NSString *)repository; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /src/Notification.h: -------------------------------------------------------------------------------- 1 | // 2 | // Notification.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 11/9/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class BuildEvent; 12 | 13 | @interface Notification : NSObject 14 | 15 | @property (strong, readonly) BuildEvent *eventData; 16 | @property (readonly) NSNumber *uniqueID; 17 | @property (readonly) NSString *title; 18 | @property (readonly) NSString *subtitle; 19 | @property (readonly) NSString *informativeText; 20 | @property (readonly) NSString *URL; 21 | 22 | + (Notification *)notificationWithEventData:(BuildEvent *)eventData; 23 | 24 | @end 25 | 26 | @interface BuildStartedNotification : Notification 27 | @end 28 | 29 | @interface BuildPassedNotification : Notification 30 | @end 31 | 32 | @interface BuildFailedNotification : Notification 33 | @end 34 | 35 | @interface NullNotification : Notification 36 | @end 37 | -------------------------------------------------------------------------------- /src/Notification.m: -------------------------------------------------------------------------------- 1 | // 2 | // Notification.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 11/9/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import "Notification.h" 10 | 11 | #import 12 | #import "BuildEvent.h" 13 | 14 | @interface Notification () 15 | 16 | - (id)initWithEventData:(BuildEvent *)eventData; 17 | 18 | @end 19 | 20 | @implementation Notification 21 | 22 | + (Notification *)notificationWithEventData:(BuildEvent *)eventData { 23 | if ([eventData state] == BuildEventStateStarted) { 24 | return [[BuildStartedNotification alloc] initWithEventData:eventData]; 25 | } else if ([eventData state] == BuildEventStateFinished) { 26 | if ([eventData status] == BuildEventStatusPassed) { 27 | return [[BuildPassedNotification alloc] initWithEventData:eventData]; 28 | } else if ([eventData status] == BuildEventStatusFailed) { 29 | return [[BuildFailedNotification alloc] initWithEventData:eventData]; 30 | } 31 | } 32 | 33 | return [[NullNotification alloc] initWithEventData:eventData]; 34 | } 35 | 36 | - (id)initWithEventData:(BuildEvent *)eventData { 37 | self = [super init]; 38 | if (!self) { 39 | return nil; 40 | } 41 | 42 | _eventData = eventData; 43 | 44 | [self setupBindings]; 45 | 46 | return self; 47 | } 48 | 49 | - (void)setupBindings { 50 | RAC(self.uniqueID) = RACAbleWithStart(self.eventData.buildID); 51 | RAC(self.title) = RACAbleWithStart(self.eventData.name); 52 | RAC(self.subtitle) = [RACAbleWithStart(self.eventData.buildNumber) map:^(NSNumber *buildNumber) { 53 | return [NSString stringWithFormat:@"Build #%@", buildNumber]; 54 | }]; 55 | RAC(self.URL) = RACAbleWithStart(self.eventData.url); 56 | } 57 | 58 | - (NSString *)informativeText { 59 | NSAssert(NO, @"Method informativeText not implemented on %@", self); 60 | return nil; 61 | } 62 | 63 | @end 64 | 65 | @implementation BuildStartedNotification 66 | 67 | - (NSString *)informativeText { 68 | return @"Build started."; 69 | } 70 | 71 | @end 72 | 73 | @implementation BuildPassedNotification 74 | 75 | - (NSString *)informativeText { 76 | return @"Build passed."; 77 | } 78 | 79 | @end 80 | 81 | @implementation BuildFailedNotification 82 | 83 | - (NSString *)informativeText { 84 | return @"Build failed."; 85 | } 86 | 87 | @end 88 | 89 | @implementation NullNotification 90 | @end -------------------------------------------------------------------------------- /src/Preferences.h: -------------------------------------------------------------------------------- 1 | // 2 | // Preferences.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 5/18/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface Preferences : NSObject 12 | 13 | + (Preferences *)sharedPreferences; 14 | 15 | - (void)setupDefaults; 16 | 17 | @property (nonatomic, readonly) NSArray *repositories; 18 | - (void)addRepository:(NSString *)slug; 19 | - (void)removeRepository:(NSString *)slug; 20 | 21 | @property (nonatomic, assign) BOOL firehoseEnabled; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /src/Preferences.m: -------------------------------------------------------------------------------- 1 | // 2 | // Preferences.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 5/18/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import "Preferences.h" 10 | 11 | static NSString * const kRepositoriesSetting = @"repositories"; 12 | static NSString * const kFirehoseSetting = @"firehose"; 13 | 14 | @implementation Preferences 15 | 16 | + (Preferences *)sharedPreferences { 17 | static Preferences *_sharedPreferences = nil; 18 | static dispatch_once_t onceToken; 19 | dispatch_once(&onceToken, ^{ 20 | _sharedPreferences = [[Preferences alloc] init]; 21 | }); 22 | 23 | return _sharedPreferences; 24 | } 25 | 26 | - (void)setupDefaults { 27 | NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 28 | [defaults registerDefaults:@{ 29 | kRepositoriesSetting: @[], 30 | kFirehoseSetting: @(NO), 31 | }]; 32 | } 33 | 34 | - (NSArray *)repositories { 35 | NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; 36 | return [userDefault stringArrayForKey:kRepositoriesSetting]; 37 | } 38 | 39 | - (void)addRepository:(NSString *)slug { 40 | if (![[self repositories] containsObject:slug]) { 41 | NSArray *repositories = [[self repositories] arrayByAddingObject:slug]; 42 | [self setRepositories:repositories]; 43 | } 44 | } 45 | 46 | - (void)removeRepository:(NSString *)slug { 47 | NSMutableArray *repositories = [[self repositories] mutableCopy]; 48 | [repositories removeObject:slug]; 49 | [self setRepositories:repositories]; 50 | } 51 | 52 | - (void)setRepositories:(NSArray *)repositories { 53 | NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 54 | [userDefaults setObject:repositories forKey:kRepositoriesSetting]; 55 | [userDefaults synchronize]; 56 | } 57 | 58 | - (BOOL)firehoseEnabled { 59 | NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 60 | return [userDefaults boolForKey:kFirehoseSetting]; 61 | } 62 | 63 | - (void)setFirehoseEnabled:(BOOL)firehoseEnabled { 64 | NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 65 | [userDefaults setBool:firehoseEnabled forKey:kFirehoseSetting]; 66 | [userDefaults synchronize]; 67 | } 68 | 69 | @end 70 | -------------------------------------------------------------------------------- /src/PreferencesController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PreferencesController.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 5/18/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class Preferences; 12 | 13 | @interface PreferencesController : NSObject 14 | 15 | @property (nonatomic, strong) Preferences *preferences; 16 | 17 | @property (assign) IBOutlet NSTableView *reposTableView; 18 | @property (assign) IBOutlet NSPanel *preferencesPanel; 19 | @property (weak) IBOutlet NSButtonCell *firehoseEnabledButtonCell; 20 | @property (weak) IBOutlet NSButtonCell *firehoseDisabledButtonCell; 21 | 22 | - (IBAction)addRepository:(id)sender; 23 | - (IBAction)removeRepository:(id)sender; 24 | - (IBAction)enableFirehose:(id)sender; 25 | - (IBAction)disableFirehose:(id)sender; 26 | - (IBAction)close:(id)sender; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /src/TravisAPI.h: -------------------------------------------------------------------------------- 1 | // 2 | // TravisAPI.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 11/10/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class TravisHTTPClient; 12 | @class RACSignal; 13 | 14 | @interface TravisAPI : NSObject 15 | 16 | + (TravisAPI *)standardAPI; 17 | 18 | - (id)initWithHTTPClient:(TravisHTTPClient *)HTTPClient; 19 | 20 | - (RACSignal *)fetchBuildWithID:(NSNumber *)buildID forRepository:(NSString *)slug; 21 | - (RACSignal *)fetchConfig; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /src/TravisAPI.m: -------------------------------------------------------------------------------- 1 | // 2 | // TravisAPI.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 11/10/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import "TravisAPI.h" 10 | #import "TravisHTTPClient.h" 11 | 12 | @interface TravisAPI () 13 | @property (nonatomic, strong) TravisHTTPClient *HTTPClient; 14 | @end 15 | 16 | @implementation TravisAPI 17 | 18 | + (TravisAPI *)standardAPI { 19 | return [[self alloc] initWithHTTPClient:[TravisHTTPClient standardHTTPClient]]; 20 | } 21 | 22 | - (id)initWithHTTPClient:(TravisHTTPClient *)HTTPClient { 23 | self = [super init]; 24 | if (self == nil) return nil; 25 | 26 | _HTTPClient = HTTPClient; 27 | 28 | return self; 29 | } 30 | 31 | - (RACSignal *)fetchBuildWithID:(NSNumber *)buildID forRepository:(NSString *)slug { 32 | NSString *path = [NSString stringWithFormat:@"/%@/builds/%@.json", slug, buildID]; 33 | return [[self HTTPClient] requestWithMethod:TravisHTTPClientMethodGET path:path parameters:nil]; 34 | } 35 | 36 | - (RACSignal *)fetchConfig { 37 | return [[self HTTPClient] requestWithMethod:TravisHTTPClientMethodGET path:@"/config" parameters:@{}]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /src/TravisHTTPClient.h: -------------------------------------------------------------------------------- 1 | // 2 | // TravisHTTPClient.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 11/10/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal; 12 | 13 | typedef NS_ENUM(NSInteger, TravisHTTPClientMethod) { 14 | TravisHTTPClientMethodGET, 15 | TravisHTTPClientMethodHEAD, 16 | TravisHTTPClientMethodPOST, 17 | TravisHTTPClientMethodPUT, 18 | TravisHTTPClientMethodDELETE, 19 | TravisHTTPClientMethodPATCH 20 | }; 21 | 22 | @interface TravisHTTPClient : NSObject 23 | 24 | + (TravisHTTPClient *)standardHTTPClient; 25 | 26 | - (id)initWithBaseURL:(NSURL *)baseURL; 27 | 28 | - (RACSignal *)requestWithMethod:(TravisHTTPClientMethod)method path:(NSString *)path parameters:(NSDictionary *)parameters; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /src/UserNotifier.h: -------------------------------------------------------------------------------- 1 | // 2 | // UserNotifier.h 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/3/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class RACSignal; 12 | @class NSUserNotificationCenter; 13 | 14 | @interface UserNotifier : NSObject 15 | 16 | + (UserNotifier *)userNotifierWithInputStream:(RACSignal *)inputStream notificationCenter:(NSUserNotificationCenter *)notificationCenter; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /src/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Travis CI 4 | // 5 | // Created by Josh Kalderimis on 2/24/11. 6 | // Copyright Travis CI GmbH 2011. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /test/BuildUpdaterTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // BuildUpdaterTests.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define HC_SHORTHAND 12 | #import 13 | 14 | #define MOCKITO_SHORTHAND 15 | #import 16 | 17 | #import "BuildUpdater.h" 18 | #import "BuildEvent.h" 19 | #import "TravisAPI.h" 20 | #import 21 | 22 | @interface BuildUpdaterTests : SenTestCase 23 | @end 24 | 25 | @implementation BuildUpdaterTests { 26 | TravisAPI *_mockAPI; 27 | RACSubject *_inputStream; 28 | BuildUpdater *_buildUpdater; 29 | id _outputStream; 30 | } 31 | 32 | - (void)setUp { 33 | _mockAPI = mock([TravisAPI class]); 34 | _inputStream = [RACSubject subject]; 35 | _buildUpdater = [BuildUpdater buildUpdaterWithInputStream:_inputStream API:_mockAPI]; 36 | 37 | _outputStream = mockProtocol(@protocol(RACSubscriber)); 38 | [[_buildUpdater outputStream] subscribe:_outputStream]; 39 | 40 | RACReplaySubject *APIResponseSubject = [RACReplaySubject subject]; 41 | [given([_mockAPI fetchBuildWithID:@(1234) forRepository:@"travis-ci/travis-ci"]) willReturn:APIResponseSubject]; 42 | [APIResponseSubject sendNext:@{ @"id": @(1234), @"number": @(15) }]; 43 | [APIResponseSubject sendCompleted]; 44 | } 45 | 46 | - (void)testBuildUpdaterUpdatesBuild { 47 | BuildEvent *buildEvent = [[BuildEvent alloc] initWithEventData:@{ @"build": @{ @"id": @(1234) }, @"repository": @{ @"slug": @"travis-ci/travis-ci" } }]; 48 | [_inputStream sendNext:buildEvent]; 49 | 50 | [verify(_outputStream) sendNext:allOf( 51 | hasProperty(@"buildID", @(1234)), 52 | hasProperty(@"buildNumber", @(15)), 53 | nil 54 | )]; 55 | } 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /test/EventConverterTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // EventConverterTests.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define HC_SHORTHAND 12 | #import 13 | 14 | #define MOCKITO_SHORTHAND 15 | #import 16 | 17 | #import "EventConverter.h" 18 | #import "BuildEvent.h" 19 | #import "Notification.h" 20 | #import 21 | 22 | @interface EventConverterTests : SenTestCase 23 | @end 24 | 25 | @implementation EventConverterTests 26 | 27 | - (void)testConvertsBuildStartedEvent { 28 | RACSubject *inputStream = [RACSubject subject]; 29 | id outputStream = mockProtocol(@protocol(RACSubscriber)); 30 | EventConverter *eventConverter = [EventConverter eventConverterWithInputStream:inputStream]; 31 | [[eventConverter outputStream] subscribe:outputStream]; 32 | 33 | BuildEvent *event = [[BuildEvent alloc] initWithEventData:@{ 34 | @"repository": @{ @"slug": @"travis-ci/travis-ci" }, 35 | @"build": @{ 36 | @"id": @(1234), 37 | @"number": @(15), 38 | @"state": @"started" 39 | } 40 | }]; 41 | [inputStream sendNext:event]; 42 | 43 | [verify(outputStream) sendNext:allOf( 44 | hasProperty(@"title", @"travis-ci/travis-ci"), 45 | hasProperty(@"subtitle", @"Build #15"), 46 | hasProperty(@"informativeText", @"Build started."), 47 | hasProperty(@"URL", @"http://travis-ci.org/travis-ci/travis-ci/builds/1234"), 48 | nil 49 | )]; 50 | } 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /test/EventFilterTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // EventFilterTests.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 12/1/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define HC_SHORTHAND 12 | #import 13 | 14 | #define MOCKITO_SHORTHAND 15 | #import 16 | 17 | #import "EventFilter.h" 18 | #import "BuildEvent.h" 19 | #import "FilterPreferences.h" 20 | #import 21 | 22 | @interface EventFilterTests : SenTestCase 23 | @end 24 | 25 | @implementation EventFilterTests { 26 | EventFilter *_eventFilter; 27 | RACSubject *_inputStream; 28 | FilterPreferences *_filterPreferences; 29 | id _outputStream; 30 | } 31 | 32 | - (void)setUp { 33 | _inputStream = [RACSubject subject]; 34 | _outputStream = mockProtocol(@protocol(RACSubscriber)); 35 | _filterPreferences = mock([FilterPreferences class]); 36 | _eventFilter = [EventFilter eventFilterWithInputStream:_inputStream filterPreferences:_filterPreferences]; 37 | [[_eventFilter outputStream] subscribe:_outputStream]; 38 | } 39 | 40 | #pragma mark - Tests 41 | 42 | - (void)testDoesNotRemoveMatchingSlugs { 43 | [given([_filterPreferences matchesSlug:@"travis-ci/travis-ci"]) willReturnBool:YES]; 44 | 45 | BuildEvent *event = [[BuildEvent alloc] initWithEventData:@{ @"repository": @{ @"slug": @"travis-ci/travis-ci" } }]; 46 | [_inputStream sendNext:event]; 47 | 48 | [verify(_outputStream) sendNext:event]; 49 | } 50 | 51 | - (void)testRemovesNonMatchingSlugs { 52 | [given([_filterPreferences matchesSlug:@"travis-ci/travis-ci"]) willReturnBool:NO]; 53 | 54 | BuildEvent *event = [[BuildEvent alloc] initWithEventData:@{ @"repository": @{ @"slug": @"travis-ci/travis-ci" } }]; 55 | [_inputStream sendNext:event]; 56 | 57 | [verifyCount(_outputStream, never()) sendNext:event]; 58 | } 59 | 60 | @end 61 | -------------------------------------------------------------------------------- /test/PreferencesControllerTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // PreferencesControllerTests.m 3 | // Travis CI 4 | // 5 | // Created by Henrik Hodne on 11/11/12. 6 | // Copyright (c) 2012 Travis CI GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #define HC_SHORTHAND 12 | #import 13 | 14 | #define MOCKITO_SHORTHAND 15 | #import 16 | 17 | #import "Preferences.h" 18 | #import "PreferencesController.h" 19 | 20 | @interface PreferencesControllerTests : SenTestCase 21 | @end 22 | 23 | @implementation PreferencesControllerTests { 24 | Preferences *_preferences; 25 | PreferencesController *_preferencesController; 26 | } 27 | 28 | - (void)setUp { 29 | _preferences = mock([Preferences class]); 30 | _preferencesController = [PreferencesController new]; 31 | _preferencesController.preferences = _preferences; 32 | } 33 | 34 | - (void)testEnableFirehoseSetting { 35 | [_preferencesController enableFirehose:nil]; 36 | [verify(_preferences) setFirehoseEnabled:YES]; 37 | } 38 | 39 | - (void)testDisableFirehoseSetting { 40 | [_preferencesController disableFirehose:nil]; 41 | [verify(_preferences) setFirehoseEnabled:NO]; 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /test/TravisToolbarTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | org.travis-ci.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /test/TravisToolbarTests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TravisTests' target in the 'TravisTests' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import "Specta.h" 8 | #define EXP_SHORTHAND 9 | #import "Expecta.h" 10 | #endif 11 | -------------------------------------------------------------------------------- /test/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/OCHamcrest: -------------------------------------------------------------------------------- 1 | Versions/Current/OCHamcrest -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCAllOf.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCAllOf.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCAllOf : HCBaseMatcher 14 | { 15 | NSArray *matchers; 16 | } 17 | 18 | + (id)allOf:(NSArray *)theMatchers; 19 | - (id)initWithMatchers:(NSArray *)theMatchers; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_allOf(id match, ...) NS_REQUIRES_NIL_TERMINATION; 25 | 26 | /** 27 | allOf(firstMatcher, ...) - 28 | Matches if all of the given matchers evaluate to @c YES. 29 | 30 | @param firstMatcher,... A comma-separated list of matchers ending with @c nil. 31 | 32 | The matchers are evaluated from left to right using short-circuit evaluation, so evaluation 33 | stops as soon as a matcher returns @c NO. 34 | 35 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 36 | equality. 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_allOf instead.) 40 | 41 | @ingroup logical_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define allOf HC_allOf 45 | #endif 46 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCAnyOf.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCAnyOf.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCAnyOf : HCBaseMatcher 14 | { 15 | NSArray *matchers; 16 | } 17 | 18 | + (id)anyOf:(NSArray *)theMatchers; 19 | - (id)initWithMatchers:(NSArray *)theMatchers; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_anyOf(id match, ...) NS_REQUIRES_NIL_TERMINATION; 25 | 26 | /** 27 | anyOf(firstMatcher, ...) - 28 | Matches if any of the given matchers evaluate to @c YES. 29 | 30 | @param firstMatcher,... A comma-separated list of matchers ending with @c nil. 31 | 32 | The matchers are evaluated from left to right using short-circuit evaluation, so evaluation 33 | stops as soon as a matcher returns @c YES. 34 | 35 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 36 | equality. 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_anyOf instead.) 40 | 41 | @ingroup logical_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define anyOf HC_anyOf 45 | #endif 46 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCAssertThat.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCAssertThat.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | @protocol HCMatcher; 13 | 14 | 15 | OBJC_EXPORT void HC_assertThatWithLocation(id testCase, id actual, id matcher, 16 | const char *fileName, int lineNumber); 17 | 18 | #define HC_assertThat(actual, matcher) \ 19 | HC_assertThatWithLocation(self, actual, matcher, __FILE__, __LINE__) 20 | 21 | /** 22 | assertThat(actual, matcher) - 23 | Asserts that actual value satisfies matcher. 24 | 25 | @param actual The object to evaluate as the actual value. 26 | @param matcher The matcher to satisfy as the expected condition. 27 | 28 | @c assertThat passes the actual value to the matcher for evaluation. If the matcher is not 29 | satisfied, an exception is thrown describing the mismatch. 30 | 31 | @c assertThat is designed to integrate well with OCUnit and other unit testing frameworks. 32 | Unmet assertions are reported as test failures. In Xcode, these failures can be clicked to 33 | reveal the line of the assertion. 34 | 35 | In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 36 | @c HC_assertThat instead. 37 | 38 | @ingroup integration 39 | */ 40 | #ifdef HC_SHORTHAND 41 | #define assertThat HC_assertThat 42 | #endif 43 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCBaseDescription.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | #import 12 | 13 | 14 | /** 15 | Base class for all HCDescription implementations. 16 | 17 | @ingroup core 18 | */ 19 | @interface HCBaseDescription : NSObject 20 | @end 21 | 22 | 23 | /** 24 | Methods that must be provided by subclasses of HCBaseDescription. 25 | */ 26 | @interface HCBaseDescription (SubclassMustImplement) 27 | 28 | /** 29 | Append the string @a str to the description. 30 | */ 31 | - (void)append:(NSString *)str; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCBaseMatcher.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | #import 12 | 13 | #import // Convenience header, to provide OBJC_EXPORT 14 | 15 | 16 | /** 17 | Base class for all HCMatcher implementations. 18 | 19 | Most implementations can just implement @c -matches: and let 20 | -matches:describingMismatchTo: call it. But if it makes more sense to generate the 21 | mismatch description during the matching, override -matches:describingMismatchTo: 22 | and have @c -matches: call it with a @c nil description. 23 | 24 | @ingroup core 25 | */ 26 | @interface HCBaseMatcher : NSObject 27 | @end 28 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCBoxNumber.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCBoxNumber.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #ifdef __cplusplus 11 | 12 | namespace hamcrest { 13 | 14 | /** 15 | Boxes a scalar value in an NSNumber, specialized per type. 16 | 17 | @b Deprecated 18 | 19 | @ingroup number_matchers 20 | */ 21 | template 22 | inline 23 | NSNumber *boxNumber(T value) __attribute__((deprecated)); 24 | { return nil; } 25 | 26 | template <> 27 | inline 28 | NSNumber *boxNumber(BOOL value) 29 | { return [NSNumber numberWithBool:value]; } 30 | 31 | template <> 32 | inline 33 | NSNumber *boxNumber(char value) 34 | { return [NSNumber numberWithChar:value]; } 35 | 36 | template <> 37 | inline 38 | NSNumber *boxNumber(double value) 39 | { return [NSNumber numberWithDouble:value]; } 40 | 41 | template <> 42 | inline 43 | NSNumber *boxNumber(float value) 44 | { return [NSNumber numberWithFloat:value]; } 45 | 46 | template <> 47 | inline 48 | NSNumber *boxNumber(int value) 49 | { return [NSNumber numberWithInt:value]; } 50 | 51 | template <> 52 | inline 53 | NSNumber *boxNumber(long value) 54 | { return [NSNumber numberWithLong:value]; } 55 | 56 | template <> 57 | inline 58 | NSNumber *boxNumber(long long value) 59 | { return [NSNumber numberWithLongLong:value]; } 60 | 61 | template <> 62 | inline 63 | NSNumber *boxNumber(short value) 64 | { return [NSNumber numberWithShort:value]; } 65 | 66 | template <> 67 | inline 68 | NSNumber *boxNumber(unsigned char value) 69 | { return [NSNumber numberWithUnsignedChar:value]; } 70 | 71 | template <> 72 | inline 73 | NSNumber *boxNumber(unsigned int value) 74 | { return [NSNumber numberWithUnsignedInt:value]; } 75 | 76 | template <> 77 | inline 78 | NSNumber *boxNumber(unsigned long value) 79 | { return [NSNumber numberWithUnsignedLong:value]; } 80 | 81 | template <> 82 | inline 83 | NSNumber *boxNumber(unsigned long long value) 84 | { return [NSNumber numberWithUnsignedLongLong:value]; } 85 | 86 | template <> 87 | inline 88 | NSNumber *boxNumber(unsigned short value) 89 | { return [NSNumber numberWithUnsignedShort:value]; } 90 | 91 | } // namespace hamcrest 92 | 93 | #endif // __cplusplus 94 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCCollectMatchers.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCCollectMatchers.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | #import 12 | 13 | #import 14 | 15 | @protocol HCMatcher; 16 | 17 | 18 | /** 19 | Returns an array of matchers from a variable-length comma-separated list terminated by @c nil. 20 | 21 | @ingroup helpers 22 | */ 23 | OBJC_EXPORT NSMutableArray *HCCollectMatchers(id item1, va_list args); 24 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCConformsToProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCConformsToProtocol.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Todd Farrell 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface HCConformsToProtocol : HCBaseMatcher 12 | { 13 | Protocol *theProtocol; 14 | } 15 | 16 | + (id)conformsToProtocol:(Protocol *)protocol; 17 | - (id)initWithProtocol:(Protocol *)protocol; 18 | 19 | @end 20 | 21 | 22 | OBJC_EXPORT id HC_conformsTo(Protocol *aProtocol); 23 | OBJC_EXPORT id HC_conformsToProtocol(Protocol *aProtocol) __attribute__((deprecated)); 24 | 25 | /** 26 | conformsTo(aProtocol) - 27 | Matches if object conforms to a given protocol. 28 | 29 | @param aProtocol The protocol to compare against as the expected protocol. 30 | 31 | This matcher checks whether the evaluated object conforms to @a aProtocol. 32 | 33 | Example: 34 | @li @ref conformsTo(\@protocol(NSObject)) 35 | 36 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 37 | @c HC_conformsTo instead.) 38 | 39 | @ingroup object_matchers 40 | */ 41 | #ifdef HC_SHORTHAND 42 | #define conformsTo HC_conformsTo 43 | #endif 44 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCDescribedAs.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCDescribedAs.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCDescribedAs : HCBaseMatcher 14 | { 15 | NSString *descriptionTemplate; 16 | id matcher; 17 | NSArray *values; 18 | } 19 | 20 | + (id)describedAs:(NSString *)description 21 | forMatcher:(id)aMatcher 22 | overValues:(NSArray *)templateValues; 23 | 24 | - (id)initWithDescription:(NSString *)description 25 | forMatcher:(id)aMatcher 26 | overValues:(NSArray *)templateValues; 27 | 28 | @end 29 | 30 | 31 | OBJC_EXPORT id HC_describedAs(NSString *description, id matcher, ...) NS_REQUIRES_NIL_TERMINATION; 32 | 33 | /** 34 | describedAs(description, matcher, ...) - 35 | Adds custom failure description to a given matcher. 36 | 37 | @param description Overrides the matcher's description. 38 | @param matcher,... The matcher to satisfy, followed by a comma-separated list of substitution values ending with @c nil. 39 | 40 | The description may contain substitution placeholders \%0, \%1, etc. These will be replaced by 41 | any values that follow the matcher. 42 | 43 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 44 | @c HC_describedAs instead.) 45 | 46 | @ingroup decorator_matchers 47 | */ 48 | #ifdef HC_SHORTHAND 49 | #define describedAs HC_describedAs 50 | #endif 51 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCDescription.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | /** 14 | A description of an HCMatcher. 15 | 16 | An HCMatcher will describe itself to a description which can later be used for reporting. 17 | 18 | @ingroup core 19 | */ 20 | @protocol HCDescription 21 | 22 | /** 23 | Appends some plain text to the description. 24 | 25 | @return @c self, for chaining. 26 | */ 27 | - (id)appendText:(NSString *)text; 28 | 29 | /** 30 | Appends description of given value to @c self. 31 | 32 | If the value implements the @ref HCSelfDescribing protocol, then it will be used. 33 | 34 | @return @c self, for chaining. 35 | */ 36 | - (id)appendDescriptionOf:(id)value; 37 | 38 | /** 39 | Appends a list of objects to the description. 40 | 41 | @return @c self, for chaining. 42 | */ 43 | - (id)appendList:(NSArray *)values 44 | start:(NSString *)start 45 | separator:(NSString *)separator 46 | end:(NSString *)end; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCHasCount.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCHasCount.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCHasCount : HCBaseMatcher 14 | { 15 | id countMatcher; 16 | } 17 | 18 | + (id)hasCount:(id)matcher; 19 | - (id)initWithCount:(id)matcher; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_hasCount(id matcher); 25 | 26 | /** 27 | hasCount(aMatcher) - 28 | Matches if object's @c -count satisfies a given matcher. 29 | 30 | @param aMatcher The matcher to satisfy. 31 | 32 | This matcher invokes @c -count on the evaluated object to get the number of elements it 33 | contains, passing the result to @a aMatcher for evaluation. 34 | 35 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 36 | @c HC_hasCount instead.) 37 | 38 | @ingroup collection_matchers 39 | */ 40 | #ifdef HC_SHORTHAND 41 | #define hasCount HC_hasCount 42 | #endif 43 | 44 | 45 | OBJC_EXPORT id HC_hasCountOf(NSUInteger count); 46 | 47 | /** 48 | hasCountOf(value) - 49 | Matches if object's @c -count equals a given value. 50 | 51 | @param value @c NSUInteger value to compare against as the expected value. 52 | 53 | This matcher invokes @c -count on the evaluated object to get the number of elements it 54 | contains, comparing the result to @a value for equality. 55 | 56 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 57 | @c HC_hasCountOf instead.) 58 | 59 | @ingroup collection_matchers 60 | */ 61 | #ifdef HC_SHORTHAND 62 | #define hasCountOf HC_hasCountOf 63 | #endif 64 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCHasDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCHasDescription.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCHasDescription : HCInvocationMatcher 14 | 15 | + (id)hasDescription:(id)descriptionMatcher; 16 | - (id)initWithDescription:(id)descriptionMatcher; 17 | 18 | @end 19 | 20 | 21 | OBJC_EXPORT id HC_hasDescription(id match); 22 | 23 | /** 24 | hasDescription(aMatcher) - 25 | Matches if object's @c -description satisfies a given matcher. 26 | 27 | @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. 28 | 29 | This matcher invokes @c -description on the evaluated object to get its description, passing the 30 | result to a given matcher for evaluation. If the @a aMatcher argument is not a matcher, it is 31 | implicitly wrapped in an @ref equalTo matcher to check for equality. 32 | 33 | Examples: 34 | @li @ref hasDescription(@ref startsWith(\@"foo")) 35 | @li @ref hasDescription(\@"bar") 36 | 37 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 38 | @c HC_hasDescription instead.) 39 | 40 | @ingroup object_matchers 41 | */ 42 | #ifdef HC_SHORTHAND 43 | #define hasDescription HC_hasDescription 44 | #endif 45 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCHasProperty.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCHasProperty.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Justin Shacklette 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface HCHasProperty : HCBaseMatcher 12 | { 13 | NSString *propertyName; 14 | id valueMatcher; 15 | } 16 | 17 | + (id)hasProperty:(NSString *)property value:(id)aValueMatcher; 18 | - (id)initWithProperty:(NSString *)property value:(id)aValueMatcher; 19 | 20 | @end 21 | 22 | 23 | OBJC_EXPORT id HC_hasProperty(NSString *name, id valueMatch); 24 | 25 | /** 26 | hasProperty(name, valueMatcher) - 27 | Matches if object has a method of a given name whose return value satisfies a given matcher. 28 | 29 | @param name The name of a method without arguments that returns an object. 30 | @param valueMatcher The matcher to satisfy for the return value, or an expected value for @ref equalTo matching. 31 | 32 | This matcher first checks if the evaluated object has a method with a name matching the given 33 | @c name. If so, it invokes the method and sees if the returned value satisfies @c valueMatcher. 34 | 35 | While this matcher is called "hasProperty", it's useful for checking the results of any simple 36 | methods, not just properties. 37 | 38 | Examples: 39 | @li @ref hasProperty(\@"firstName", \@"Joe") 40 | @li @ref hasProperty(\@"firstName", startsWith(\@"J")) 41 | 42 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 43 | @c HC_hasProperty instead.) 44 | 45 | @ingroup object_matchers 46 | */ 47 | #ifdef HC_SHORTHAND 48 | #define hasProperty HC_hasProperty 49 | #endif 50 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCInvocationMatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCInvocationMatcher.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | /** 14 | Supporting class for matching a feature of an object. 15 | 16 | Tests whether the result of passing a given invocation to the value satisfies a given matcher. 17 | 18 | @ingroup helpers 19 | */ 20 | @interface HCInvocationMatcher : HCBaseMatcher 21 | { 22 | NSInvocation *invocation; 23 | id subMatcher; 24 | BOOL shortMismatchDescription; 25 | } 26 | 27 | /** 28 | Determines whether a mismatch will be described in short form. 29 | 30 | Default is long form, which describes the object, the name of the invocation, and the 31 | sub-matcher's mismatch diagnosis. Short form only has the sub-matcher's mismatch diagnosis. 32 | */ 33 | @property (nonatomic, assign) BOOL shortMismatchDescription; 34 | 35 | /** 36 | Helper method for creating an invocation. 37 | 38 | A class is specified only so we can determine the method signature. 39 | */ 40 | + (NSInvocation *)invocationForSelector:(SEL)selector onClass:(Class)aClass; 41 | 42 | /** 43 | Returns an HCInvocationMatcher object initialized with an invocation and a matcher. 44 | */ 45 | - (id)initWithInvocation:(NSInvocation *)anInvocation matching:(id)aMatcher; 46 | 47 | /** 48 | Invokes stored invocation on given item and returns the result. 49 | */ 50 | - (id)invokeOn:(id)item; 51 | 52 | /** 53 | Returns string representation of the invocation's selector. 54 | */ 55 | - (NSString *)stringFromSelector; 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIs.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIs.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIs : HCBaseMatcher 14 | { 15 | id matcher; 16 | } 17 | 18 | + (id)is:(id)aMatcher; 19 | - (id)initWithMatcher:(id)aMatcher; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_is(id match); 25 | 26 | /** 27 | is(aMatcher) - 28 | Decorates another matcher, or provides a shortcut to the frequently used @ref is(equalTo(x)). 29 | 30 | @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. 31 | 32 | This matcher compares the evaluated object to the given matcher. 33 | 34 | If the @a aMatcher argument is a matcher, its behavior is retained, but the test may be more 35 | expressive. For example: 36 | @li @ref assertThatInt(value, equalToInt(5)) 37 | @li @ref assertThatInt(value, is(equalToInt(5))) 38 | 39 | If the @a aMatcher argument is not a matcher, it is wrapped in an @ref equalTo matcher. This 40 | makes the following statements equivalent: 41 | @li @ref assertThat(cheese, equalTo(smelly)) 42 | @li @ref assertThat(cheese, is(equalTo(smelly))) 43 | @li @ref assertThat(cheese, is(smelly)) 44 | 45 | Choose the style that makes your expression most readable. This will vary depending on context. 46 | 47 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 48 | @c HC_is instead.) 49 | 50 | @ingroup decorator_matchers 51 | */ 52 | #ifdef HC_SHORTHAND 53 | #define is HC_is 54 | #endif 55 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsAnything.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsAnything.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsAnything : HCBaseMatcher 14 | { 15 | NSString *description; 16 | } 17 | 18 | + (id)isAnything; 19 | + (id)isAnythingWithDescription:(NSString *)aDescription; 20 | 21 | - (id)init; 22 | - (id)initWithDescription:(NSString *)aDescription; 23 | 24 | @end 25 | 26 | 27 | OBJC_EXPORT id HC_anything(void); 28 | 29 | /** 30 | Matches anything. 31 | 32 | This matcher always evaluates to @c YES. Specify this in composite matchers when the value of a 33 | particular element is unimportant. 34 | 35 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 36 | @c HC_anything instead.) 37 | 38 | @ingroup logical_matchers 39 | */ 40 | #ifdef HC_SHORTHAND 41 | #define anything() HC_anything() 42 | #endif 43 | 44 | 45 | OBJC_EXPORT id HC_anythingWithDescription(NSString *aDescription); 46 | 47 | /** 48 | anythingWithDescription(description) - 49 | Matches anything. 50 | 51 | @param description A string used to describe this matcher. 52 | 53 | This matcher always evaluates to @c YES. Specify this in collection matchers when the value of a 54 | particular element in a collection is unimportant. 55 | 56 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 57 | @c HC_anything instead.) 58 | 59 | @ingroup logical_matchers 60 | */ 61 | #ifdef HC_SHORTHAND 62 | #define anythingWithDescription HC_anythingWithDescription 63 | #endif 64 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsCloseTo.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsCloseTo.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsCloseTo : HCBaseMatcher 14 | { 15 | double value; 16 | double delta; 17 | } 18 | 19 | + (id)isCloseTo:(double)aValue within:(double)aDelta; 20 | - (id)initWithValue:(double)aValue delta:(double)aDelta; 21 | 22 | @end 23 | 24 | 25 | OBJC_EXPORT id HC_closeTo(double aValue, double aDelta); 26 | 27 | /** 28 | closeTo(aValue, aDelta) - 29 | Matches if object is a number close to a given value, within a given delta. 30 | 31 | @param aValue The @c double value to compare against as the expected value. 32 | @param aDelta The @c double maximum delta between the values for which the numbers are considered close. 33 | 34 | This matcher invokes @c -doubleValue on the evaluated object to get its value as a @c double. 35 | The result is compared against @a aValue to see if the difference is within a positive @a aDelta. 36 | 37 | Example: 38 | @li @ref closeTo(3.0, 0.25) 39 | 40 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 41 | @c HC_closeTo instead.) 42 | 43 | @ingroup number_matchers 44 | */ 45 | #ifdef HC_SHORTHAND 46 | #define closeTo HC_closeTo 47 | #endif 48 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContaining.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsCollectionContaining.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsCollectionContaining : HCBaseMatcher 14 | { 15 | id elementMatcher; 16 | } 17 | 18 | + (id)isCollectionContaining:(id)anElementMatcher; 19 | - (id)initWithMatcher:(id)anElementMatcher; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_hasItem(id itemMatch); 25 | 26 | /** 27 | hasItem(aMatcher) - 28 | Matches if any element of collection satisfies a given matcher. 29 | 30 | @param aMatcher The matcher to satisfy, or an expected value for @ref equalTo matching. 31 | 32 | This matcher iterates the evaluated collection, searching for any element that satisfies a 33 | given matcher. If a matching element is found, @c hasItem is satisfied. 34 | 35 | If the @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo 36 | matcher to check for equality. 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_hasItem instead.) 40 | 41 | @ingroup collection_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define hasItem HC_hasItem 45 | #endif 46 | 47 | 48 | OBJC_EXPORT id HC_hasItems(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; 49 | 50 | /** 51 | hasItems(firstMatcher, ...) - 52 | Matches if all of the given matchers are satisfied by any elements of the collection. 53 | 54 | @param firstMatcher,... A comma-separated list of matchers ending with @c nil. 55 | 56 | This matcher iterates the given matchers, searching for any elements in the evaluated collection 57 | that satisfy them. If each matcher is satisfied, then @c hasItems is satisfied. 58 | 59 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 60 | equality. 61 | 62 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 63 | @c hasItems instead.) 64 | 65 | @ingroup collection_matchers 66 | */ 67 | #ifdef HC_SHORTHAND 68 | #define hasItems HC_hasItems 69 | #endif 70 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInAnyOrder.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsCollectionContainingInAnyOrder.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsCollectionContainingInAnyOrder : HCBaseMatcher 14 | { 15 | NSMutableArray *matchers; 16 | } 17 | 18 | + (id)isCollectionContainingInAnyOrder:(NSMutableArray *)itemMatchers; 19 | - (id)initWithMatchers:(NSMutableArray *)itemMatchers; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_containsInAnyOrder(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; 25 | 26 | /** 27 | containsInAnyOrder(firstMatcher, ...) - 28 | Matches if collection's elements, in any order, satisfy a given list of matchers. 29 | 30 | @param firstMatcher,... A comma-separated list of matchers ending with @c nil. 31 | 32 | This matcher iterates the evaluated collection, seeing if each element satisfies any of the 33 | given matchers. The matchers are tried from left to right, and when a satisfied matcher is 34 | found, it is no longer a candidate for the remaining elements. If a one-to-one correspondence is 35 | established between elements and matchers, @c containsInAnyOrder is satisfied. 36 | 37 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 38 | equality. 39 | 40 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 41 | @c HC_containsInAnyOrder instead.) 42 | 43 | @ingroup collection_matchers 44 | */ 45 | #ifdef HC_SHORTHAND 46 | #define containsInAnyOrder HC_containsInAnyOrder 47 | #endif 48 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionContainingInOrder.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsCollectionContainingInOrder.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsCollectionContainingInOrder : HCBaseMatcher 14 | { 15 | NSArray *matchers; 16 | } 17 | 18 | + (id)isCollectionContainingInOrder:(NSArray *)itemMatchers; 19 | - (id)initWithMatchers:(NSArray *)itemMatchers; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_contains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; 25 | 26 | /** 27 | contains(firstMatcher, ...) - 28 | Matches if collection's elements satisfy a given list of matchers, in order. 29 | 30 | @param firstMatcher,... A comma-separated list of matchers ending with @c nil. 31 | 32 | This matcher iterates the evaluated collection and a given list of matchers, seeing if each 33 | element satisfies its corresponding matcher. 34 | 35 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 36 | equality. 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_contains instead.) 40 | 41 | @ingroup collection_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define contains HC_contains 45 | #endif 46 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsCollectionOnlyContaining.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsCollectionOnlyContaining.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsCollectionOnlyContaining : HCBaseMatcher 14 | { 15 | id matcher; 16 | } 17 | 18 | + (id)isCollectionOnlyContaining:(id)aMatcher; 19 | - (id)initWithMatcher:(id)aMatcher; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_onlyContains(id itemMatch, ...) NS_REQUIRES_NIL_TERMINATION; 25 | 26 | /** 27 | onlyContains(firstMatcher, ...) - 28 | Matches if each element of collection satisfies any of the given matchers. 29 | 30 | @param firstMatcher,... A comma-separated list of matchers ending with @c nil. 31 | 32 | This matcher iterates the evaluated collection, confirming whether each element satisfies any of 33 | the given matchers. 34 | 35 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 36 | equality. 37 | 38 | Example: 39 | 40 | @par 41 | @ref onlyContains(startsWith(@"Jo"), nil) 42 | 43 | will match a collection [@"Jon", @"John", @"Johann"]. 44 | 45 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 46 | @c HC_onlyContains instead.) 47 | 48 | @ingroup collection_matchers 49 | */ 50 | #ifdef HC_SHORTHAND 51 | #define onlyContains HC_onlyContains 52 | #endif 53 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContaining.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsDictionaryContaining.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsDictionaryContaining : HCBaseMatcher 14 | { 15 | id keyMatcher; 16 | id valueMatcher; 17 | } 18 | 19 | + (id)isDictionaryContainingKey:(id)aKeyMatcher 20 | value:(id)aValueMatcher; 21 | 22 | - (id)initWithKeyMatcher:(id)aKeyMatcher 23 | valueMatcher:(id)aValueMatcher; 24 | 25 | @end 26 | 27 | 28 | OBJC_EXPORT id HC_hasEntry(id keyMatch, id valueMatch); 29 | 30 | /** 31 | hasEntry(keyMatcher, valueMatcher) - 32 | Matches if dictionary contains key-value entry satisfying a given pair of matchers. 33 | 34 | @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching. 35 | @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching. 36 | 37 | This matcher iterates the evaluated dictionary, searching for any key-value entry that satisfies 38 | @a keyMatcher and @a valueMatcher. If a matching entry is found, @c hasEntry is satisfied. 39 | 40 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 41 | equality. 42 | 43 | Examples: 44 | @li @ref hasEntry(@ref equalTo(@"foo"), equalTo(@"bar")) 45 | @li @ref hasEntry(@"foo", @"bar") 46 | 47 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 48 | @c HC_hasEntry instead.) 49 | 50 | @ingroup collection_matchers 51 | */ 52 | #ifdef HC_SHORTHAND 53 | #define hasEntry HC_hasEntry 54 | #endif 55 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingEntries.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsDictionaryContainingEntries.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsDictionaryContainingEntries : HCBaseMatcher 14 | { 15 | NSArray *keys; 16 | NSArray *valueMatchers; 17 | } 18 | 19 | + (id)isDictionaryContainingKeys:(NSArray *)theKeys 20 | valueMatchers:(NSArray *)theValueMatchers; 21 | 22 | - (id)initWithKeys:(NSArray *)theKeys 23 | valueMatchers:(NSArray *)theValueMatchers; 24 | 25 | @end 26 | 27 | 28 | OBJC_EXPORT id HC_hasEntries(id keysAndValueMatch, ...) NS_REQUIRES_NIL_TERMINATION; 29 | 30 | /** 31 | hasEntries(firstKey, valueMatcher, ...) - 32 | Matches if dictionary contains entries satisfying a list of alternating keys and their value 33 | matchers. 34 | 35 | @param firstKey A key (not a matcher) to look up. 36 | @param valueMatcher,... The matcher to satisfy for the value, or an expected value for @ref equalTo matching. 37 | 38 | Note that the keys must be actual keys, not matchers. Any value argument that is not a matcher 39 | is implicitly wrapped in an @ref equalTo matcher to check for equality. The list must end with 40 | @c nil. 41 | 42 | Examples: 43 | @li @ref hasEntries(@"first", equalTo(@"Jon"), @"last", equalTo(@"Reid"), nil) 44 | @li @ref hasEntries(@"first", @"Jon", @"last", @"Reid", nil) 45 | 46 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 47 | @c HC_hasEntry instead.) 48 | 49 | @ingroup collection_matchers 50 | */ 51 | #ifdef HC_SHORTHAND 52 | #define hasEntries HC_hasEntries 53 | #endif 54 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingKey.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsDictionaryContainingKey.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsDictionaryContainingKey : HCBaseMatcher 14 | { 15 | id keyMatcher; 16 | } 17 | 18 | + (id)isDictionaryContainingKey:(id)theKeyMatcher; 19 | - (id)initWithKeyMatcher:(id)theKeyMatcher; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_hasKey(id keyMatch); 25 | 26 | /** 27 | hasKey(keyMatcher) - 28 | Matches if dictionary contains an entry whose key satisfies a given matcher. 29 | 30 | @param keyMatcher The matcher to satisfy for the key, or an expected value for @ref equalTo matching. 31 | 32 | This matcher iterates the evaluated dictionary, searching for any key-value entry whose key 33 | satisfies the given matcher. If a matching entry is found, @c hasKey is satisfied. 34 | 35 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 36 | equality. 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_hasKey instead.) 40 | 41 | Examples: 42 | @li @ref hasEntry(equalTo(@"foo")) 43 | @li @ref hasEntry(@"foo") 44 | 45 | @ingroup collection_matchers 46 | */ 47 | #ifdef HC_SHORTHAND 48 | #define hasKey HC_hasKey 49 | #endif 50 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsDictionaryContainingValue.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsDictionaryContainingValue.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsDictionaryContainingValue : HCBaseMatcher 14 | { 15 | id valueMatcher; 16 | } 17 | 18 | + (id)isDictionaryContainingValue:(id)theValueMatcher; 19 | - (id)initWithValueMatcher:(id)theValueMatcher; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_hasValue(id valueMatch); 25 | 26 | /** 27 | hasValue(valueMatcher) - 28 | Matches if dictionary contains an entry whose value satisfies a given matcher. 29 | 30 | @param valueMatcher The matcher to satisfy for the value, or an expected value for @ref equalTo matching. 31 | 32 | This matcher iterates the evaluated dictionary, searching for any key-value entry whose value 33 | satisfies the given matcher. If a matching entry is found, @c hasValue is satisfied. 34 | 35 | Any argument that is not a matcher is implicitly wrapped in an @ref equalTo matcher to check for 36 | equality. 37 | 38 | Examples: 39 | @li @ref hasValue(equalTo(@"bar")) 40 | @li @ref hasValue(@"bar") 41 | 42 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 43 | @c HC_hasValue instead.) 44 | 45 | @ingroup collection_matchers 46 | */ 47 | #ifdef HC_SHORTHAND 48 | #define hasValue HC_hasValue 49 | #endif 50 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsEmptyCollection.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsEmptyCollection : HCHasCount 14 | 15 | + (id)isEmptyCollection; 16 | - (id)init; 17 | 18 | @end 19 | 20 | 21 | OBJC_EXPORT id HC_empty(void); 22 | 23 | /** 24 | Matches empty collection. 25 | 26 | This matcher invokes @c -count on the evaluated object to determine if the number of elements it 27 | contains is zero. 28 | 29 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 30 | @c HC_empty instead.) 31 | 32 | @ingroup collection_matchers 33 | */ 34 | #ifdef HC_SHORTHAND 35 | #define empty() HC_empty() 36 | #endif 37 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsEqual.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsEqual.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsEqual : HCBaseMatcher 14 | { 15 | id object; 16 | } 17 | 18 | + (id)isEqualTo:(id)anObject; 19 | - (id)initEqualTo:(id)anObject; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_equalTo(id object); 25 | 26 | /** 27 | equalTo(anObject) - 28 | Matches if object is equal to a given object. 29 | 30 | @param anObject The object to compare against as the expected value. 31 | 32 | This matcher compares the evaluated object to @a anObject for equality, as determined by the 33 | @c -isEqual: method. 34 | 35 | If @a anObject is @c nil, the matcher will successfully match @c nil. 36 | 37 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 38 | @c HC_equalTo instead.) 39 | 40 | @ingroup object_matchers 41 | */ 42 | #ifdef HC_SHORTHAND 43 | #define equalTo HC_equalTo 44 | #endif 45 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringCase.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsEqualIgnoringCase.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsEqualIgnoringCase : HCBaseMatcher 14 | { 15 | NSString *string; 16 | } 17 | 18 | + (id)isEqualIgnoringCase:(NSString *)aString; 19 | - (id)initWithString:(NSString *)aString; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_equalToIgnoringCase(NSString *aString); 25 | 26 | /** 27 | equalToIgnoringCase(aString) - 28 | Matches if object is a string equal to a given string, ignoring case differences. 29 | 30 | @param aString The string to compare against as the expected value. This value must not be @c nil. 31 | 32 | This matcher first checks whether the evaluated object is a string. If so, it compares it with 33 | @a aString, ignoring differences of case. 34 | 35 | Example: 36 | 37 | @par 38 | @ref equalToIgnoringCase(@"hello world") 39 | 40 | will match "heLLo WorlD". 41 | 42 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 43 | @c HC_equalToIgnoringCase instead.) 44 | 45 | @ingroup text_matchers 46 | */ 47 | #ifdef HC_SHORTHAND 48 | #define equalToIgnoringCase HC_equalToIgnoringCase 49 | #endif 50 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsEqualIgnoringWhiteSpace.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsEqualIgnoringWhiteSpace.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsEqualIgnoringWhiteSpace : HCBaseMatcher 14 | { 15 | NSString *originalString; 16 | NSString *strippedString; 17 | } 18 | 19 | + (id)isEqualIgnoringWhiteSpace:(NSString *)aString; 20 | - (id)initWithString:(NSString *)aString; 21 | 22 | @end 23 | 24 | 25 | OBJC_EXPORT id HC_equalToIgnoringWhiteSpace(NSString *aString); 26 | 27 | /** 28 | equalToIgnoringWhiteSpace(aString) - 29 | Matches if object is a string equal to a given string, ignoring differences in whitespace. 30 | 31 | @param aString The string to compare against as the expected value. This value must not be @c nil. 32 | 33 | This matcher first checks whether the evaluated object is a string. If so, it compares it with 34 | @a aString, ignoring differences in runs of whitespace. 35 | 36 | Example: 37 | 38 | @par 39 | @ref equalToIgnoringWhiteSpace(@"hello world") 40 | 41 | will match @verbatim "hello world" @endverbatim 42 | 43 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 44 | @c HC_equalToIgnoringWhiteSpace instead.) 45 | 46 | @ingroup text_matchers 47 | */ 48 | #ifdef HC_SHORTHAND 49 | #define equalToIgnoringWhiteSpace HC_equalToIgnoringWhiteSpace 50 | #endif 51 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsIn.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsIn.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsIn : HCBaseMatcher 14 | { 15 | id collection; 16 | } 17 | 18 | + (id)isInCollection:(id)aCollection; 19 | - (id)initWithCollection:(id)aCollection; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_isIn(id aCollection); 25 | 26 | /** 27 | isIn(aCollection) - 28 | Matches if evaluated object is present in a given collection. 29 | 30 | @param aCollection The collection to search. 31 | 32 | This matcher invokes @c -containsObject: on @a aCollection to determine if the evaluated object 33 | is an element of the collection. 34 | 35 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 36 | @c HC_isIn instead.) 37 | 38 | @ingroup collection_matchers 39 | */ 40 | #ifdef HC_SHORTHAND 41 | #define isIn HC_isIn 42 | #endif 43 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsInstanceOf.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsInstanceOf : HCBaseMatcher 14 | { 15 | Class theClass; 16 | } 17 | 18 | + (id)isInstanceOf:(Class)type; 19 | - (id)initWithType:(Class)type; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_instanceOf(Class aClass); 25 | 26 | /** 27 | instanceOf(aClass) - 28 | Matches if object is an instance of, or inherits from, a given class. 29 | 30 | @param aClass The class to compare against as the expected class. 31 | 32 | This matcher checks whether the evaluated object is an instance of @a aClass or an instance of 33 | any class that inherits from @a aClass. 34 | 35 | Example: 36 | @li @ref instanceOf([NSString class]) 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_instanceOf instead.) 40 | 41 | @ingroup object_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define instanceOf HC_instanceOf 45 | #endif 46 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsNil.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsNil.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsNil : HCBaseMatcher 14 | 15 | + (id)isNil; 16 | 17 | @end 18 | 19 | 20 | OBJC_EXPORT id HC_nilValue(void); 21 | 22 | /** 23 | Matches if object is @c nil. 24 | 25 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 26 | @c HC_nilValue instead.) 27 | 28 | @ingroup object_matchers 29 | */ 30 | #ifdef HC_SHORTHAND 31 | #define nilValue() HC_nilValue() 32 | #endif 33 | 34 | 35 | OBJC_EXPORT id HC_notNilValue(void); 36 | 37 | /** 38 | Matches if object is not @c nil. 39 | 40 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 41 | @c HC_notNilValue instead.) 42 | 43 | @ingroup object_matchers 44 | */ 45 | #ifdef HC_SHORTHAND 46 | #define notNilValue() HC_notNilValue() 47 | #endif 48 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsNot.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsNot.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsNot : HCBaseMatcher 14 | { 15 | id matcher; 16 | } 17 | 18 | + (id)isNot:(id)aMatcher; 19 | - (id)initNot:(id)aMatcher; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_isNot(id aMatcher); 25 | 26 | /** 27 | isNot(aMatcher) - 28 | Inverts the given matcher to its logical negation. 29 | 30 | @param aMatcher The matcher to negate. 31 | 32 | This matcher compares the evaluated object to the negation of the given matcher. If the 33 | @a aMatcher argument is not a matcher, it is implicitly wrapped in an @ref equalTo matcher to 34 | check for equality, and thus matches for inequality. 35 | 36 | Examples: 37 | @li @ref assertThat(cheese, isNot(equalTo(smelly))) 38 | @li @ref assertThat(cheese, isNot(smelly)) 39 | 40 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 41 | @c HC_isNot instead.) 42 | 43 | @ingroup logical_matchers 44 | */ 45 | #ifdef HC_SHORTHAND 46 | #define isNot HC_isNot 47 | #endif 48 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCIsSame.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCIsSame.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCIsSame : HCBaseMatcher 14 | { 15 | id object; 16 | } 17 | 18 | + (id)isSameAs:(id)anObject; 19 | - (id)initSameAs:(id)anObject; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_sameInstance(id object); 25 | 26 | /** 27 | sameInstance(anObject) - 28 | Matches if evaluated object is the same instance as a given object. 29 | 30 | @param anObject The object to compare against as the expected value. 31 | 32 | This matcher compares the address of the evaluated object to determine if it is the same object 33 | as @a anObject. 34 | 35 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 36 | @c HC_sameInstance instead.) 37 | 38 | @ingroup object_matchers 39 | */ 40 | #ifdef HC_SHORTHAND 41 | #define sameInstance HC_sameInstance 42 | #endif 43 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCMatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCMatcher.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import "HCSelfDescribing.h" 11 | 12 | 13 | /** 14 | A matcher over acceptable values. 15 | 16 | A matcher is able to describe itself to give feedback when it fails. 17 | 18 | HCMatcher implementations should @b not directly implement this protocol. 19 | Instead, @b extend the HCBaseMatcher class, which will ensure that the HCMatcher API can grow 20 | to support new features and remain compatible with all HCMatcher implementations. 21 | 22 | @ingroup core 23 | */ 24 | @protocol HCMatcher 25 | 26 | /** 27 | Evaluates the matcher for argument @a item. 28 | 29 | @param item The object against which the matcher is evaluated. 30 | @return @c YES if @a item matches, otherwise @c NO. 31 | */ 32 | - (BOOL)matches:(id)item; 33 | 34 | /** 35 | Evaluates the matcher for argument @a item. 36 | 37 | @param item The object against which the matcher is evaluated. 38 | @param mismatchDescription The description to be built or appended to if @a item does not match. 39 | @return @c YES if @a item matches, otherwise @c NO. 40 | */ 41 | - (BOOL)matches:(id)item describingMismatchTo:(id)mismatchDescription; 42 | 43 | /** 44 | Generates a description of why the matcher has not accepted the item. 45 | 46 | The description will be part of a larger description of why a matching failed, so it should be 47 | concise. 48 | 49 | This method assumes that @c matches:item is false, but will not check this. 50 | 51 | @param item The item that the HCMatcher has rejected. 52 | @param mismatchDescription The description to be built or appended to. 53 | */ 54 | - (void)describeMismatchOf:(id)item to:(id)mismatchDescription; 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCRequireNonNilObject.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | #import 12 | 13 | 14 | /** 15 | Throws an NSException if @a obj is @c nil. 16 | 17 | @ingroup helpers 18 | */ 19 | OBJC_EXPORT void HCRequireNonNilObject(id obj); 20 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilString.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCRequireNonNilString.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | #import 12 | 13 | 14 | /** 15 | Throws an NSException if @a string is @c nil. 16 | 17 | @b Deprecated: Use @ref HCRequireNonNilObject instead. 18 | 19 | @ingroup helpers 20 | */ 21 | OBJC_EXPORT void HCRequireNonNilString(NSString *string) __attribute__((deprecated)); 22 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCSelfDescribing.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCSelfDescribing.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | @protocol HCDescription; 13 | 14 | 15 | /** 16 | The ability of an object to describe itself. 17 | 18 | @ingroup core 19 | */ 20 | @protocol HCSelfDescribing 21 | 22 | /** 23 | Generates a description of the object. 24 | 25 | The description may be part of a description of a larger object of which this is just a 26 | component, so it should be worded appropriately. 27 | 28 | @param description The description to be built or appended to. 29 | */ 30 | - (void)describeTo:(id)description; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCStringContains.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCStringContains.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCStringContains : HCSubstringMatcher 14 | 15 | + (id)stringContains:(NSString *)aSubstring; 16 | 17 | @end 18 | 19 | 20 | OBJC_EXPORT id HC_containsString(NSString *aSubstring); 21 | 22 | /** 23 | containsString(aString) - 24 | Matches if object is a string containing a given string. 25 | 26 | @param aString The string to search for. This value must not be @c nil. 27 | 28 | This matcher first checks whether the evaluated object is a string. If so, it checks whether it 29 | contains @a aString. 30 | 31 | Example: 32 | 33 | @par 34 | @ref containsString(@"def") 35 | 36 | will match "abcdefg". 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_containsString instead.) 40 | 41 | @ingroup text_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define containsString HC_containsString 45 | #endif 46 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCStringContainsInOrder.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCStringContainsInOrder.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCStringContainsInOrder : HCBaseMatcher 14 | { 15 | NSArray *substrings; 16 | } 17 | 18 | + (id)containsInOrder:(NSArray *)substringList; 19 | - (id)initWithSubstrings:(NSArray *)substringList; 20 | 21 | @end 22 | 23 | 24 | OBJC_EXPORT id HC_stringContainsInOrder(NSString *substring, ...) NS_REQUIRES_NIL_TERMINATION; 25 | 26 | /** 27 | stringContainsInOrder(firstString, ...) - 28 | Matches if object is a string containing a given list of substrings in relative order. 29 | 30 | @param firstString,... A comma-separated list of strings ending with @c nil. 31 | 32 | This matcher first checks whether the evaluated object is a string. If so, it checks whether it 33 | contains a given list of strings, in relative order to each other. The searches are performed 34 | starting from the beginning of the evaluated string. 35 | 36 | Example: 37 | 38 | @par 39 | @ref stringContainsInOrder(@"bc", @"fg", @"jkl", nil) 40 | 41 | will match "abcdefghijklm". 42 | 43 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 44 | @c HC_stringContainsInOrder instead.) 45 | 46 | @ingroup text_matchers 47 | */ 48 | #ifdef HC_SHORTHAND 49 | #define stringContainsInOrder HC_stringContainsInOrder 50 | #endif 51 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCStringDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCStringDescription.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | @protocol HCSelfDescribing; 13 | 14 | 15 | /** 16 | An HCDescription that is stored as a string. 17 | 18 | @ingroup core 19 | */ 20 | @interface HCStringDescription : HCBaseDescription 21 | { 22 | NSMutableString *accumulator; 23 | } 24 | 25 | /** 26 | Returns the description of an HCSelfDescribing object as a string. 27 | 28 | @param selfDescribing The object to be described. 29 | @return The description of the object. 30 | */ 31 | + (NSString *)stringFrom:(id)selfDescribing; 32 | 33 | /** 34 | Returns an empty description. 35 | */ 36 | + (HCStringDescription *)stringDescription; 37 | 38 | /** 39 | Returns an initialized HCStringDescription object that is empty. 40 | */ 41 | - (id)init; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCStringEndsWith.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCStringEndsWith.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCStringEndsWith : HCSubstringMatcher 14 | 15 | + (id)stringEndsWith:(NSString *)aSubstring; 16 | 17 | @end 18 | 19 | 20 | OBJC_EXPORT id HC_endsWith(NSString *aSubstring); 21 | 22 | /** 23 | endsWith(aString) - 24 | Matches if object is a string ending with a given string. 25 | 26 | @param aString The string to search for. This value must not be @c nil. 27 | 28 | This matcher first checks whether the evaluated object is a string. If so, it checks if 29 | @a aString matches the ending characters of the evaluated object. 30 | 31 | Example: 32 | 33 | @par 34 | @ref endsWith(@"bar") 35 | 36 | will match "foobar". 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_endsWith instead.) 40 | 41 | @ingroup text_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define endsWith HC_endsWith 45 | #endif 46 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCStringStartsWith.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCStringStartsWith.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCStringStartsWith : HCSubstringMatcher 14 | 15 | + (id)stringStartsWith:(NSString *)aSubstring; 16 | 17 | @end 18 | 19 | 20 | OBJC_EXPORT id HC_startsWith(NSString *aSubstring); 21 | 22 | /** 23 | startsWith(aString) - 24 | Matches if object is a string starting with a given string. 25 | 26 | @param aString The string to search for. This value must not be @c nil. 27 | 28 | This matcher first checks whether the evaluated object is a string. If so, it checks if 29 | @a aString matches the beginning characters of the evaluated object. 30 | 31 | Example: 32 | 33 | @par 34 | @ref endsWith(@"foo") 35 | 36 | will match "foobar". 37 | 38 | (In the event of a name clash, don't \#define @c HC_SHORTHAND and use the synonym 39 | @c HC_startsWith instead.) 40 | 41 | @ingroup text_matchers 42 | */ 43 | #ifdef HC_SHORTHAND 44 | #define startsWith HC_startsWith 45 | #endif 46 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCSubstringMatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCSubstringMatcher.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | 13 | @interface HCSubstringMatcher : HCBaseMatcher 14 | { 15 | NSString *substring; 16 | } 17 | 18 | - (id)initWithSubstring:(NSString *)aString; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Headers/HCWrapInMatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCHamcrest - HCWrapInMatcher.h 3 | // Copyright 2012 hamcrest.org. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Docs: http://hamcrest.github.com/OCHamcrest/ 7 | // Source: https://github.com/hamcrest/OCHamcrest 8 | // 9 | 10 | #import 11 | 12 | @protocol HCMatcher; 13 | 14 | 15 | /** 16 | Wraps argument in a matcher, if necessary. 17 | 18 | @return The argument as-if if it is already a matcher, otherwise wrapped in an @ref equalTo matcher. 19 | 20 | @ingroup helpers 21 | */ 22 | OBJC_EXPORT id HCWrapInMatcher(id matcherOrValue); 23 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/OCHamcrest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/OCHamcrest.framework/Versions/A/OCHamcrest -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 12C60 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | OCHamcrest 11 | CFBundleIdentifier 12 | org.hamcrest.OCHamcrest 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | OCHamcrest 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.8 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.8 25 | DTCompiler 26 | 27 | DTPlatformBuild 28 | 4G2008a 29 | DTPlatformVersion 30 | GM 31 | DTSDKBuild 32 | 12C37 33 | DTSDKName 34 | macosx10.8 35 | DTXcode 36 | 0452 37 | DTXcodeBuild 38 | 4G2008a 39 | NSHumanReadableCopyright 40 | Copyright © 2012 hamcrest.org 41 | 42 | 43 | -------------------------------------------------------------------------------- /vendor/OCHamcrest.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /vendor/OCMockito.framework/OCMockito: -------------------------------------------------------------------------------- 1 | Versions/Current/OCMockito -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/Headers/MKTBaseMockObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCMockito - MKTBaseMockObject.h 3 | // Copyright 2012 Jonathan M. Reid. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Source: https://github.com/jonreid/OCMockito 7 | // 8 | 9 | #import 10 | #import "MKTPrimitiveArgumentMatching.h" 11 | 12 | 13 | @interface MKTBaseMockObject : NSProxy 14 | 15 | - (id)init; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/Headers/MKTClassObjectMock.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCMockito - MKTClassObjectMock.h 3 | // Copyright 2012 Jonathan M. Reid. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Source: https://github.com/jonreid/OCMockito 7 | // 8 | // Created by: David Hart 9 | // 10 | 11 | #import "MKTBaseMockObject.h" 12 | 13 | 14 | /** 15 | Mock object of a given class object. 16 | */ 17 | @interface MKTClassObjectMock : MKTBaseMockObject 18 | 19 | + (id)mockForClass:(Class)aClass; 20 | - (id)initWithClass:(Class)aClass; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/Headers/MKTObjectAndProtocolMock.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCMockito - MKTObjectAndProtocolMock.h 3 | // Copyright 2012 Jonathan M. Reid. See LICENSE.txt 4 | // 5 | // Created by: Kevin Lundberg 6 | // Source: https://github.com/jonreid/OCMockito 7 | // 8 | 9 | #import "MKTProtocolMock.h" 10 | 11 | 12 | /** 13 | Mock object of a given class that also implements a given protocol. 14 | */ 15 | @interface MKTObjectAndProtocolMock : MKTProtocolMock 16 | 17 | + (id)mockForClass:(Class)aClass protocol:(Protocol *)protocol; 18 | - (id)initWithClass:(Class)aClass protocol:(Protocol *)protocol; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/Headers/MKTObjectMock.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCMockito - MKTObjectMock.h 3 | // Copyright 2012 Jonathan M. Reid. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Source: https://github.com/jonreid/OCMockito 7 | // 8 | 9 | #import "MKTBaseMockObject.h" 10 | 11 | 12 | /** 13 | Mock object of a given class. 14 | */ 15 | @interface MKTObjectMock : MKTBaseMockObject 16 | 17 | + (id)mockForClass:(Class)aClass; 18 | - (id)initWithClass:(Class)aClass; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/Headers/MKTPrimitiveArgumentMatching.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCMockito - MKTPrimitiveArgumentMatching.h 3 | // Copyright 2012 Jonathan M. Reid. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Source: https://github.com/jonreid/OCMockito 7 | // 8 | 9 | @protocol HCMatcher; 10 | 11 | 12 | /** 13 | Ability to specify OCHamcrest matchers for primitive numeric arguments. 14 | */ 15 | @protocol MKTPrimitiveArgumentMatching 16 | 17 | /** 18 | Specifies OCHamcrest matcher for a specific argument of a method. 19 | 20 | For methods arguments that take objects, just pass the matcher directly as a method call. But 21 | for arguments that take primitive numeric types, call this to specify the matcher before passing 22 | in a dummy value. Upon verification, the actual numeric argument received will be converted to 23 | an NSNumber before being checked by the matcher. 24 | 25 | The argument index is 0-based, so the first argument of a method has index 0. 26 | 27 | Example: 28 | @code 29 | [[verify(mockArray) withMatcher:greaterThan([NSNumber numberWithInt:1]) forArgument:0] 30 | removeObjectAtIndex:0]; 31 | @endcode 32 | This verifies that @c removeObjectAtIndex: was called with a number greater than 1. 33 | */ 34 | - (id)withMatcher:(id )matcher forArgument:(NSUInteger)index; 35 | 36 | /** 37 | Specifies OCHamcrest matcher for the first argument of a method. 38 | 39 | Equivalent to withMatcher:matcher forArgument:0. 40 | 41 | Example: 42 | @code 43 | [[verify(mockArray) withMatcher:greaterThan([NSNumber numberWithInt:1]) forArgument:0] 44 | removeObjectAtIndex:0]; 45 | @endcode 46 | This verifies that @c removeObjectAtIndex: was called with a number greater than 1. 47 | */ 48 | - (id)withMatcher:(id )matcher; 49 | 50 | @end 51 | -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/Headers/MKTProtocolMock.h: -------------------------------------------------------------------------------- 1 | // 2 | // OCMockito - MKTProtocolMock.h 3 | // Copyright 2012 Jonathan M. Reid. See LICENSE.txt 4 | // 5 | // Created by: Jon Reid, http://qualitycoding.org/ 6 | // Source: https://github.com/jonreid/OCMockito 7 | // 8 | 9 | #import "MKTBaseMockObject.h" 10 | 11 | 12 | /** 13 | Mock object implementing a given protocol. 14 | */ 15 | @interface MKTProtocolMock : MKTBaseMockObject 16 | 17 | + (id)mockForProtocol:(Protocol *)aProtocol; 18 | - (id)initWithProtocol:(Protocol *)aProtocol; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/OCMockito: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/OCMockito.framework/Versions/A/OCMockito -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 12C60 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | OCMockito 11 | CFBundleIdentifier 12 | org.mockito.OCMockito 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | OCMockito 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 0.22 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | DTCompiler 26 | 27 | DTPlatformBuild 28 | 4G2008a 29 | DTPlatformVersion 30 | GM 31 | DTSDKBuild 32 | 12C37 33 | DTSDKName 34 | macosx10.8 35 | DTXcode 36 | 0452 37 | DTXcodeBuild 38 | 4G2008a 39 | NSHumanReadableCopyright 40 | Copyright © 2012 Jonathan M. Reid 41 | 42 | 43 | -------------------------------------------------------------------------------- /vendor/OCMockito.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTEventListener.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTEventListener.h 3 | // PusherEvents 4 | // 5 | // Created by Luke Redpath on 22/03/2010. 6 | // Copyright 2010 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @class PTPusherEvent; 13 | 14 | @protocol PTEventListener 15 | 16 | - (void)dispatchEvent:(PTPusherEvent *)event; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTJSON.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTJSON.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 30/03/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PTJSONParser.h" 11 | 12 | extern NSString *const PTJSONParserNotAvailable; 13 | 14 | @interface PTJSON : NSObject 15 | 16 | /** 17 | Returns a JSON parser appropriate for the current platform. 18 | 19 | A runtime check is performed for the presence of NSJSONSerialization 20 | (available on iOS 5.0 and OSX 10.7 and later). If it is available, 21 | it will be used, otherwise it will fall back to using JSONKit. 22 | 23 | Important note: If you intend to support users of iOS 4.x, you must 24 | ensure that you link JSONKit to your project as it is no longer 25 | embedded within libPusher. 26 | */ 27 | + (id)JSONParser; 28 | 29 | @end 30 | 31 | @interface PTJSONKitParser : NSObject 32 | + (id)JSONKitParser; 33 | @end 34 | 35 | @interface PTNSJSONParser : NSObject 36 | + (id)NSJSONParser; 37 | @end -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTJSONParser.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTJSONParser.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 30/03/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol PTJSONParser 12 | 13 | - (NSData *)JSONDataFromObject:(id)object; 14 | - (NSString *)JSONStringFromObject:(id)object; 15 | - (id)objectFromJSONData:(NSData *)data; 16 | - (id)objectFromJSONString:(NSString *)string; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTPusherAPI.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherAPI.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /** A simple interface to the Pusher REST API. 12 | 13 | This functionality used to be part of the main PTPusher library but 14 | has been extracted into a standalone component. 15 | 16 | The PTPusher client has alpha support for channel-based event triggering 17 | but for general event triggering the API can be used. 18 | 19 | As well as your Pusher API key, you will also need your app ID and secret key 20 | for signing requests. 21 | */ 22 | @interface PTPusherAPI : NSObject { 23 | NSString *key, *appID, *secretKey; 24 | NSOperationQueue *operationQueue; 25 | } 26 | 27 | ///------------------------------------------------------------------------------------/ 28 | /// @name Initialisation 29 | ///------------------------------------------------------------------------------------/ 30 | 31 | - (id)initWithKey:(NSString *)aKey appID:(NSString *)anAppID secretKey:(NSString *)aSecretKey; 32 | 33 | ///------------------------------------------------------------------------------------/ 34 | /// @name Triggering events 35 | ///------------------------------------------------------------------------------------/ 36 | 37 | /** Triggers an event on the specified channel. 38 | 39 | The event data will be converted to JSON format so needs to be any object that can be 40 | transformed into JSON (typically any plist-compatible object). 41 | 42 | @param eventName The name of the event to trigger. 43 | @param channelName The channel the event should be triggered on. 44 | @param eventData The JSON-compatible data object for the event. 45 | */ 46 | - (void)triggerEvent:(NSString *)eventName onChannel:(NSString *)channelName data:(id)eventData socketID:(NSString *)socketID; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTPusherErrors.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherErrors.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | enum { 12 | PTPusherSubscriptionError = 0, 13 | PTPusherSubscriptionUnknownAuthorisationError 14 | }; 15 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTPusherEvent.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherEvent.h 3 | // PusherEvents 4 | // 5 | // Created by Luke Redpath on 22/03/2010. 6 | // Copyright 2010 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | extern NSString *const PTPusherDataKey; 12 | extern NSString *const PTPusherEventKey; 13 | extern NSString *const PTPusherChannelKey; 14 | 15 | /** A value object representing a Pusher event. 16 | 17 | All events dispatched by libPusher (via either bindings or notifications) will be represented 18 | by instances of this class. 19 | */ 20 | @interface PTPusherEvent : NSObject { 21 | NSString *_name; 22 | } 23 | 24 | ///------------------------------------------------------------------------------------/ 25 | /// @name Properties 26 | ///------------------------------------------------------------------------------------/ 27 | 28 | /** The event name. 29 | */ 30 | @property (nonatomic, readonly) NSString *name; 31 | 32 | /** The channel that this event originated from. 33 | */ 34 | @property (strong, nonatomic, readonly) NSString *channel; 35 | 36 | /** The event data. 37 | 38 | Event data will typically be any kind of object that can be represented as JSON, often 39 | an NSArray or NSDictionary but can be a simple string. 40 | */ 41 | @property (strong, nonatomic, readonly) id data; 42 | 43 | /** The time the event was received. 44 | */ 45 | @property (nonatomic, readonly, strong) NSDate *timeReceived; 46 | 47 | - (id)initWithEventName:(NSString *)name channel:(NSString *)channel data:(id)data; 48 | + (id)eventFromMessageDictionary:(NSDictionary *)dictionary; 49 | @end 50 | 51 | typedef enum { 52 | PTPusherErrorSSLRequired = 4000, 53 | PTPusherErrorApplicationUnknown = 4001, 54 | PTPusherErrorApplicationDisabled = 4002 55 | } PTPusherServerErrorCodes; 56 | 57 | /** A special sub-class of Pusher event, representing pusher:error events. 58 | 59 | This will be yielded to the Pusher client delegate as well as through the normal event 60 | dispatch mechanism. 61 | 62 | This class adds some convenient properties for accessing error details. 63 | */ 64 | @interface PTPusherErrorEvent : PTPusherEvent 65 | 66 | /** A textual description of the error. 67 | */ 68 | @property (unsafe_unretained, nonatomic, readonly) NSString *message; 69 | 70 | /** The error code. See PTPusherServerErrorCodes for available errors. 71 | */ 72 | @property (nonatomic, readonly) NSInteger code; 73 | 74 | @end 75 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTPusherEventDispatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherEventDispatcher.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 13/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PTEventListener.h" 11 | 12 | @class PTPusherEventBinding; 13 | 14 | @interface PTPusherEventDispatcher : NSObject 15 | 16 | @property (nonatomic, readonly) NSDictionary *bindings; 17 | 18 | - (PTPusherEventBinding *)addEventListener:(id)listener forEventNamed:(NSString *)eventName; 19 | - (void)removeBinding:(PTPusherEventBinding *)binding; 20 | - (void)removeAllBindings; 21 | @end 22 | 23 | @interface PTPusherEventBinding : NSObject 24 | 25 | /** The event this binding binds to. */ 26 | @property (nonatomic, readonly) NSString *eventName; 27 | 28 | /** Returns YES if this binding is still attached to its event publisher. 29 | 30 | Retained references to bindings can become invalid as a result of another object 31 | calling removeBinding: with this binding or removeAllBindings. 32 | 33 | You can safely discard invalid binding instances. 34 | */ 35 | @property (nonatomic, readonly, getter=isValid) BOOL valid; 36 | 37 | - (id)initWithEventListener:(id)eventListener eventName:(NSString *)eventName; 38 | @end 39 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTPusherMacros.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherMacros.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 10/02/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #ifndef libPusher_PTPusherMacros_h 10 | #define libPusher_PTPusherMacros_h 11 | 12 | #define __PUSHER_DEPRECATED__ __attribute__((deprecated)) 13 | 14 | #define PT_DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \ 15 | static dispatch_once_t pred = 0; \ 16 | __strong static id _sharedObject = nil; \ 17 | dispatch_once(&pred, ^{ \ 18 | _sharedObject = block(); \ 19 | }); \ 20 | return _sharedObject; \ 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/PTPusherPresenceChannelDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherPresenceChannelDelegate.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PTPusherPresenceChannel; 12 | 13 | @protocol PTPusherPresenceChannelDelegate 14 | 15 | /** Notifies the delegate that the presence channel subscribed successfully. 16 | 17 | Whenever you subscribe to a presence channel, a list of current subscribers will be returned by Pusher. 18 | 19 | The list will be an array of member IDs. Further metadata can be obtained by asking the channel object 20 | for information about a particular member using `-[PTPusherChannel infoForMemberWithID:]`. 21 | 22 | @param channel The presence channel that was subscribed to. 23 | @param members The current members subscribed to the channel. 24 | */ 25 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel didSubscribeWithMemberList:(NSArray *)members; 26 | 27 | /** Notifies the delegate that a new member subscribed to the presence channel. 28 | 29 | The member info can contain arbitrary user data returned by the authorization server. 30 | 31 | @param channel The presence channel that was subscribed to. 32 | @param memberID The ID for the new member. 33 | @param memberInfo The custom user data for the new member. 34 | */ 35 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel memberAddedWithID:(NSString *)memberID memberInfo:(NSDictionary *)memberInfo; 36 | 37 | /** Notifies the delegate that a member subscribed to the presence channel has unsubscribed. 38 | 39 | The member data can contain arbitrary user data returned by the authorization server. 40 | 41 | @param channel The presence channel that was subscribed to. 42 | @param memberID The ID of the member removed. 43 | @param index The internal index of the member (depends on the order joined/left or returned in the server member list) 44 | */ 45 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel memberRemovedWithID:(NSString *)memberID atIndex:(NSInteger)index; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Headers/SRWebSocket.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2012 Square Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | typedef enum { 20 | SR_CONNECTING = 0, 21 | SR_OPEN = 1, 22 | SR_CLOSING = 2, 23 | SR_CLOSED = 3, 24 | 25 | } SRReadyState; 26 | 27 | @class SRWebSocket; 28 | 29 | extern NSString *const SRWebSocketErrorDomain; 30 | 31 | @protocol SRWebSocketDelegate; 32 | 33 | @interface SRWebSocket : NSObject 34 | 35 | @property (nonatomic, assign) id delegate; 36 | 37 | @property (nonatomic, readonly) SRReadyState readyState; 38 | @property (nonatomic, readonly, strong) NSURL *url; 39 | 40 | - (id)initWithURLRequest:(NSURLRequest *)request; 41 | 42 | - (void)open; 43 | 44 | - (void)close; 45 | - (void)closeWithCode:(NSInteger)code reason:(NSString *)reason; 46 | 47 | // Send a UTF8 String or Data 48 | - (void)send:(id)data; 49 | 50 | @end 51 | 52 | @protocol SRWebSocketDelegate 53 | 54 | - (void)webSocket:(SRWebSocket *)webSocket didReceiveMessage:(NSString *)message; 55 | 56 | @optional 57 | 58 | - (void)webSocketDidOpen:(SRWebSocket *)webSocket; 59 | - (void)webSocket:(SRWebSocket *)webSocket didFailWithError:(NSError *)error; 60 | - (void)webSocket:(SRWebSocket *)webSocket didCloseWithCode:(NSInteger)code reason:(NSString *)reason wasClean:(BOOL)wasClean; 61 | 62 | @end 63 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Pusher: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Pusher.framework/Pusher -------------------------------------------------------------------------------- /vendor/Pusher.framework/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 11D50d 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | Pusher 11 | CFBundleIdentifier 12 | co.uk.lukeredpath.Pusher 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Pusher 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | DTCompiler 26 | com.apple.compilers.llvm.clang.1_0 27 | DTPlatformBuild 28 | 4E109 29 | DTPlatformVersion 30 | GM 31 | DTSDKBuild 32 | 11D50a 33 | DTSDKName 34 | macosx10.7 35 | DTXcode 36 | 0430 37 | DTXcodeBuild 38 | 4E109 39 | NSHumanReadableCopyright 40 | Copyright © 2012 LJR Software Limited. All rights reserved. 41 | 42 | 43 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Pusher.framework/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTEventListener.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTEventListener.h 3 | // PusherEvents 4 | // 5 | // Created by Luke Redpath on 22/03/2010. 6 | // Copyright 2010 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @class PTPusherEvent; 13 | 14 | @protocol PTEventListener 15 | 16 | - (void)dispatchEvent:(PTPusherEvent *)event; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTJSON.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTJSON.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 30/03/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PTJSONParser.h" 11 | 12 | extern NSString *const PTJSONParserNotAvailable; 13 | 14 | @interface PTJSON : NSObject 15 | 16 | /** 17 | Returns a JSON parser appropriate for the current platform. 18 | 19 | A runtime check is performed for the presence of NSJSONSerialization 20 | (available on iOS 5.0 and OSX 10.7 and later). If it is available, 21 | it will be used, otherwise it will fall back to using JSONKit. 22 | 23 | Important note: If you intend to support users of iOS 4.x, you must 24 | ensure that you link JSONKit to your project as it is no longer 25 | embedded within libPusher. 26 | */ 27 | + (id)JSONParser; 28 | 29 | @end 30 | 31 | @interface PTJSONKitParser : NSObject 32 | + (id)JSONKitParser; 33 | @end 34 | 35 | @interface PTNSJSONParser : NSObject 36 | + (id)NSJSONParser; 37 | @end -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTJSONParser.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTJSONParser.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 30/03/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol PTJSONParser 12 | 13 | - (NSData *)JSONDataFromObject:(id)object; 14 | - (NSString *)JSONStringFromObject:(id)object; 15 | - (id)objectFromJSONData:(NSData *)data; 16 | - (id)objectFromJSONString:(NSString *)string; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTPusherAPI.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherAPI.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /** A simple interface to the Pusher REST API. 12 | 13 | This functionality used to be part of the main PTPusher library but 14 | has been extracted into a standalone component. 15 | 16 | The PTPusher client has alpha support for channel-based event triggering 17 | but for general event triggering the API can be used. 18 | 19 | As well as your Pusher API key, you will also need your app ID and secret key 20 | for signing requests. 21 | */ 22 | @interface PTPusherAPI : NSObject { 23 | NSString *key, *appID, *secretKey; 24 | NSOperationQueue *operationQueue; 25 | } 26 | 27 | ///------------------------------------------------------------------------------------/ 28 | /// @name Initialisation 29 | ///------------------------------------------------------------------------------------/ 30 | 31 | - (id)initWithKey:(NSString *)aKey appID:(NSString *)anAppID secretKey:(NSString *)aSecretKey; 32 | 33 | ///------------------------------------------------------------------------------------/ 34 | /// @name Triggering events 35 | ///------------------------------------------------------------------------------------/ 36 | 37 | /** Triggers an event on the specified channel. 38 | 39 | The event data will be converted to JSON format so needs to be any object that can be 40 | transformed into JSON (typically any plist-compatible object). 41 | 42 | @param eventName The name of the event to trigger. 43 | @param channelName The channel the event should be triggered on. 44 | @param eventData The JSON-compatible data object for the event. 45 | */ 46 | - (void)triggerEvent:(NSString *)eventName onChannel:(NSString *)channelName data:(id)eventData socketID:(NSString *)socketID; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTPusherErrors.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherErrors.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | enum { 12 | PTPusherSubscriptionError = 0, 13 | PTPusherSubscriptionUnknownAuthorisationError 14 | }; 15 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTPusherEvent.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherEvent.h 3 | // PusherEvents 4 | // 5 | // Created by Luke Redpath on 22/03/2010. 6 | // Copyright 2010 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | extern NSString *const PTPusherDataKey; 12 | extern NSString *const PTPusherEventKey; 13 | extern NSString *const PTPusherChannelKey; 14 | 15 | /** A value object representing a Pusher event. 16 | 17 | All events dispatched by libPusher (via either bindings or notifications) will be represented 18 | by instances of this class. 19 | */ 20 | @interface PTPusherEvent : NSObject { 21 | NSString *_name; 22 | } 23 | 24 | ///------------------------------------------------------------------------------------/ 25 | /// @name Properties 26 | ///------------------------------------------------------------------------------------/ 27 | 28 | /** The event name. 29 | */ 30 | @property (nonatomic, readonly) NSString *name; 31 | 32 | /** The channel that this event originated from. 33 | */ 34 | @property (strong, nonatomic, readonly) NSString *channel; 35 | 36 | /** The event data. 37 | 38 | Event data will typically be any kind of object that can be represented as JSON, often 39 | an NSArray or NSDictionary but can be a simple string. 40 | */ 41 | @property (strong, nonatomic, readonly) id data; 42 | 43 | /** The time the event was received. 44 | */ 45 | @property (nonatomic, readonly, strong) NSDate *timeReceived; 46 | 47 | - (id)initWithEventName:(NSString *)name channel:(NSString *)channel data:(id)data; 48 | + (id)eventFromMessageDictionary:(NSDictionary *)dictionary; 49 | @end 50 | 51 | typedef enum { 52 | PTPusherErrorSSLRequired = 4000, 53 | PTPusherErrorApplicationUnknown = 4001, 54 | PTPusherErrorApplicationDisabled = 4002 55 | } PTPusherServerErrorCodes; 56 | 57 | /** A special sub-class of Pusher event, representing pusher:error events. 58 | 59 | This will be yielded to the Pusher client delegate as well as through the normal event 60 | dispatch mechanism. 61 | 62 | This class adds some convenient properties for accessing error details. 63 | */ 64 | @interface PTPusherErrorEvent : PTPusherEvent 65 | 66 | /** A textual description of the error. 67 | */ 68 | @property (unsafe_unretained, nonatomic, readonly) NSString *message; 69 | 70 | /** The error code. See PTPusherServerErrorCodes for available errors. 71 | */ 72 | @property (nonatomic, readonly) NSInteger code; 73 | 74 | @end 75 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTPusherEventDispatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherEventDispatcher.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 13/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PTEventListener.h" 11 | 12 | @class PTPusherEventBinding; 13 | 14 | @interface PTPusherEventDispatcher : NSObject 15 | 16 | @property (nonatomic, readonly) NSDictionary *bindings; 17 | 18 | - (PTPusherEventBinding *)addEventListener:(id)listener forEventNamed:(NSString *)eventName; 19 | - (void)removeBinding:(PTPusherEventBinding *)binding; 20 | - (void)removeAllBindings; 21 | @end 22 | 23 | @interface PTPusherEventBinding : NSObject 24 | 25 | /** The event this binding binds to. */ 26 | @property (nonatomic, readonly) NSString *eventName; 27 | 28 | /** Returns YES if this binding is still attached to its event publisher. 29 | 30 | Retained references to bindings can become invalid as a result of another object 31 | calling removeBinding: with this binding or removeAllBindings. 32 | 33 | You can safely discard invalid binding instances. 34 | */ 35 | @property (nonatomic, readonly, getter=isValid) BOOL valid; 36 | 37 | - (id)initWithEventListener:(id)eventListener eventName:(NSString *)eventName; 38 | @end 39 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTPusherMacros.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherMacros.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 10/02/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #ifndef libPusher_PTPusherMacros_h 10 | #define libPusher_PTPusherMacros_h 11 | 12 | #define __PUSHER_DEPRECATED__ __attribute__((deprecated)) 13 | 14 | #define PT_DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \ 15 | static dispatch_once_t pred = 0; \ 16 | __strong static id _sharedObject = nil; \ 17 | dispatch_once(&pred, ^{ \ 18 | _sharedObject = block(); \ 19 | }); \ 20 | return _sharedObject; \ 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Headers/PTPusherPresenceChannelDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherPresenceChannelDelegate.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PTPusherPresenceChannel; 12 | 13 | @protocol PTPusherPresenceChannelDelegate 14 | 15 | /** Notifies the delegate that the presence channel subscribed successfully. 16 | 17 | Whenever you subscribe to a presence channel, a list of current subscribers will be returned by Pusher. 18 | 19 | The list will be an array of member IDs. Further metadata can be obtained by asking the channel object 20 | for information about a particular member using `-[PTPusherChannel infoForMemberWithID:]`. 21 | 22 | @param channel The presence channel that was subscribed to. 23 | @param members The current members subscribed to the channel. 24 | */ 25 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel didSubscribeWithMemberList:(NSArray *)members; 26 | 27 | /** Notifies the delegate that a new member subscribed to the presence channel. 28 | 29 | The member info can contain arbitrary user data returned by the authorization server. 30 | 31 | @param channel The presence channel that was subscribed to. 32 | @param memberID The ID for the new member. 33 | @param memberInfo The custom user data for the new member. 34 | */ 35 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel memberAddedWithID:(NSString *)memberID memberInfo:(NSDictionary *)memberInfo; 36 | 37 | /** Notifies the delegate that a member subscribed to the presence channel has unsubscribed. 38 | 39 | The member data can contain arbitrary user data returned by the authorization server. 40 | 41 | @param channel The presence channel that was subscribed to. 42 | @param memberID The ID of the member removed. 43 | @param index The internal index of the member (depends on the order joined/left or returned in the server member list) 44 | */ 45 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel memberRemovedWithID:(NSString *)memberID atIndex:(NSInteger)index; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Pusher: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Pusher.framework/Versions/A/Pusher -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 11D50d 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | Pusher 11 | CFBundleIdentifier 12 | co.uk.lukeredpath.Pusher 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Pusher 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | DTCompiler 26 | com.apple.compilers.llvm.clang.1_0 27 | DTPlatformBuild 28 | 4E109 29 | DTPlatformVersion 30 | GM 31 | DTSDKBuild 32 | 11D50a 33 | DTSDKName 34 | macosx10.7 35 | DTXcode 36 | 0430 37 | DTXcodeBuild 38 | 4E109 39 | NSHumanReadableCopyright 40 | Copyright © 2012 LJR Software Limited. All rights reserved. 41 | 42 | 43 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/A/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Pusher.framework/Versions/A/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTEventListener.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTEventListener.h 3 | // PusherEvents 4 | // 5 | // Created by Luke Redpath on 22/03/2010. 6 | // Copyright 2010 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @class PTPusherEvent; 13 | 14 | @protocol PTEventListener 15 | 16 | - (void)dispatchEvent:(PTPusherEvent *)event; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTJSON.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTJSON.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 30/03/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PTJSONParser.h" 11 | 12 | extern NSString *const PTJSONParserNotAvailable; 13 | 14 | @interface PTJSON : NSObject 15 | 16 | /** 17 | Returns a JSON parser appropriate for the current platform. 18 | 19 | A runtime check is performed for the presence of NSJSONSerialization 20 | (available on iOS 5.0 and OSX 10.7 and later). If it is available, 21 | it will be used, otherwise it will fall back to using JSONKit. 22 | 23 | Important note: If you intend to support users of iOS 4.x, you must 24 | ensure that you link JSONKit to your project as it is no longer 25 | embedded within libPusher. 26 | */ 27 | + (id)JSONParser; 28 | 29 | @end 30 | 31 | @interface PTJSONKitParser : NSObject 32 | + (id)JSONKitParser; 33 | @end 34 | 35 | @interface PTNSJSONParser : NSObject 36 | + (id)NSJSONParser; 37 | @end -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTJSONParser.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTJSONParser.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 30/03/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol PTJSONParser 12 | 13 | - (NSData *)JSONDataFromObject:(id)object; 14 | - (NSString *)JSONStringFromObject:(id)object; 15 | - (id)objectFromJSONData:(NSData *)data; 16 | - (id)objectFromJSONString:(NSString *)string; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTPusherAPI.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherAPI.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | /** A simple interface to the Pusher REST API. 12 | 13 | This functionality used to be part of the main PTPusher library but 14 | has been extracted into a standalone component. 15 | 16 | The PTPusher client has alpha support for channel-based event triggering 17 | but for general event triggering the API can be used. 18 | 19 | As well as your Pusher API key, you will also need your app ID and secret key 20 | for signing requests. 21 | */ 22 | @interface PTPusherAPI : NSObject { 23 | NSString *key, *appID, *secretKey; 24 | NSOperationQueue *operationQueue; 25 | } 26 | 27 | ///------------------------------------------------------------------------------------/ 28 | /// @name Initialisation 29 | ///------------------------------------------------------------------------------------/ 30 | 31 | - (id)initWithKey:(NSString *)aKey appID:(NSString *)anAppID secretKey:(NSString *)aSecretKey; 32 | 33 | ///------------------------------------------------------------------------------------/ 34 | /// @name Triggering events 35 | ///------------------------------------------------------------------------------------/ 36 | 37 | /** Triggers an event on the specified channel. 38 | 39 | The event data will be converted to JSON format so needs to be any object that can be 40 | transformed into JSON (typically any plist-compatible object). 41 | 42 | @param eventName The name of the event to trigger. 43 | @param channelName The channel the event should be triggered on. 44 | @param eventData The JSON-compatible data object for the event. 45 | */ 46 | - (void)triggerEvent:(NSString *)eventName onChannel:(NSString *)channelName data:(id)eventData socketID:(NSString *)socketID; 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTPusherErrors.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherErrors.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | enum { 12 | PTPusherSubscriptionError = 0, 13 | PTPusherSubscriptionUnknownAuthorisationError 14 | }; 15 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTPusherEventDispatcher.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherEventDispatcher.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 13/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PTEventListener.h" 11 | 12 | @class PTPusherEventBinding; 13 | 14 | @interface PTPusherEventDispatcher : NSObject 15 | 16 | @property (nonatomic, readonly) NSDictionary *bindings; 17 | 18 | - (PTPusherEventBinding *)addEventListener:(id)listener forEventNamed:(NSString *)eventName; 19 | - (void)removeBinding:(PTPusherEventBinding *)binding; 20 | - (void)removeAllBindings; 21 | @end 22 | 23 | @interface PTPusherEventBinding : NSObject 24 | 25 | /** The event this binding binds to. */ 26 | @property (nonatomic, readonly) NSString *eventName; 27 | 28 | /** Returns YES if this binding is still attached to its event publisher. 29 | 30 | Retained references to bindings can become invalid as a result of another object 31 | calling removeBinding: with this binding or removeAllBindings. 32 | 33 | You can safely discard invalid binding instances. 34 | */ 35 | @property (nonatomic, readonly, getter=isValid) BOOL valid; 36 | 37 | - (id)initWithEventListener:(id)eventListener eventName:(NSString *)eventName; 38 | @end 39 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTPusherMacros.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherMacros.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 10/02/2012. 6 | // Copyright (c) 2012 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #ifndef libPusher_PTPusherMacros_h 10 | #define libPusher_PTPusherMacros_h 11 | 12 | #define __PUSHER_DEPRECATED__ __attribute__((deprecated)) 13 | 14 | #define PT_DEFINE_SHARED_INSTANCE_USING_BLOCK(block) \ 15 | static dispatch_once_t pred = 0; \ 16 | __strong static id _sharedObject = nil; \ 17 | dispatch_once(&pred, ^{ \ 18 | _sharedObject = block(); \ 19 | }); \ 20 | return _sharedObject; \ 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Headers/PTPusherPresenceChannelDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // PTPusherPresenceChannelDelegate.h 3 | // libPusher 4 | // 5 | // Created by Luke Redpath on 14/08/2011. 6 | // Copyright 2011 LJR Software Limited. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PTPusherPresenceChannel; 12 | 13 | @protocol PTPusherPresenceChannelDelegate 14 | 15 | /** Notifies the delegate that the presence channel subscribed successfully. 16 | 17 | Whenever you subscribe to a presence channel, a list of current subscribers will be returned by Pusher. 18 | 19 | The list will be an array of member IDs. Further metadata can be obtained by asking the channel object 20 | for information about a particular member using `-[PTPusherChannel infoForMemberWithID:]`. 21 | 22 | @param channel The presence channel that was subscribed to. 23 | @param members The current members subscribed to the channel. 24 | */ 25 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel didSubscribeWithMemberList:(NSArray *)members; 26 | 27 | /** Notifies the delegate that a new member subscribed to the presence channel. 28 | 29 | The member info can contain arbitrary user data returned by the authorization server. 30 | 31 | @param channel The presence channel that was subscribed to. 32 | @param memberID The ID for the new member. 33 | @param memberInfo The custom user data for the new member. 34 | */ 35 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel memberAddedWithID:(NSString *)memberID memberInfo:(NSDictionary *)memberInfo; 36 | 37 | /** Notifies the delegate that a member subscribed to the presence channel has unsubscribed. 38 | 39 | The member data can contain arbitrary user data returned by the authorization server. 40 | 41 | @param channel The presence channel that was subscribed to. 42 | @param memberID The ID of the member removed. 43 | @param index The internal index of the member (depends on the order joined/left or returned in the server member list) 44 | */ 45 | - (void)presenceChannel:(PTPusherPresenceChannel *)channel memberRemovedWithID:(NSString *)memberID atIndex:(NSInteger)index; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Pusher: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Pusher.framework/Versions/Current/Pusher -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 11D50d 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | Pusher 11 | CFBundleIdentifier 12 | co.uk.lukeredpath.Pusher 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Pusher 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.1 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | DTCompiler 26 | com.apple.compilers.llvm.clang.1_0 27 | DTPlatformBuild 28 | 4E109 29 | DTPlatformVersion 30 | GM 31 | DTSDKBuild 32 | 11D50a 33 | DTSDKName 34 | macosx10.7 35 | DTXcode 36 | 0430 37 | DTXcodeBuild 38 | 4E109 39 | NSHumanReadableCopyright 40 | Copyright © 2012 LJR Software Limited. All rights reserved. 41 | 42 | 43 | -------------------------------------------------------------------------------- /vendor/Pusher.framework/Versions/Current/Resources/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Pusher.framework/Versions/Current/Resources/en.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Sparkle: -------------------------------------------------------------------------------- 1 | Versions/Current/Sparkle -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Headers/SUAppcast.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcast.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCAST_H 10 | #define SUAPPCAST_H 11 | 12 | @class SUAppcastItem; 13 | @interface SUAppcast : NSObject 14 | { 15 | @private 16 | NSArray *items; 17 | NSString *userAgentString; 18 | id delegate; 19 | NSString *downloadFilename; 20 | NSURLDownload *download; 21 | } 22 | 23 | - (void)fetchAppcastFromURL:(NSURL *)url; 24 | - (void)setDelegate:delegate; 25 | - (void)setUserAgentString:(NSString *)userAgentString; 26 | 27 | - (NSArray *)items; 28 | 29 | @end 30 | 31 | @interface NSObject (SUAppcastDelegate) 32 | - (void)appcastDidFinishLoading:(SUAppcast *)appcast; 33 | - (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error; 34 | @end 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Headers/SUAppcastItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcastItem.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCASTITEM_H 10 | #define SUAPPCASTITEM_H 11 | 12 | @interface SUAppcastItem : NSObject 13 | { 14 | @private 15 | NSString *title; 16 | NSDate *date; 17 | NSString *itemDescription; 18 | 19 | NSURL *releaseNotesURL; 20 | 21 | NSString *DSASignature; 22 | NSString *minimumSystemVersion; 23 | NSString *maximumSystemVersion; 24 | 25 | NSURL *fileURL; 26 | NSString *versionString; 27 | NSString *displayVersionString; 28 | 29 | NSDictionary *deltaUpdates; 30 | 31 | NSDictionary *propertiesDictionary; 32 | 33 | NSURL *infoURL; // UK 2007-08-31 34 | } 35 | 36 | // Initializes with data from a dictionary provided by the RSS class. 37 | - initWithDictionary:(NSDictionary *)dict; 38 | - initWithDictionary:(NSDictionary *)dict failureReason:(NSString**)error; 39 | 40 | - (NSString *)title; 41 | - (NSString *)versionString; 42 | - (NSString *)displayVersionString; 43 | - (NSDate *)date; 44 | - (NSString *)itemDescription; 45 | - (NSURL *)releaseNotesURL; 46 | - (NSURL *)fileURL; 47 | - (NSString *)DSASignature; 48 | - (NSString *)minimumSystemVersion; 49 | - (NSString *)maximumSystemVersion; 50 | - (NSDictionary *)deltaUpdates; 51 | - (BOOL)isDeltaUpdate; 52 | 53 | // Returns the dictionary provided in initWithDictionary; this might be useful later for extensions. 54 | - (NSDictionary *)propertiesDictionary; 55 | 56 | - (NSURL *)infoURL; // UK 2007-08-31 57 | 58 | @end 59 | 60 | #endif 61 | -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionComparisonProtocol.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 12/21/07. 6 | // Copyright 2007 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H 10 | #define SUVERSIONCOMPARISONPROTOCOL_H 11 | 12 | #import 13 | 14 | /*! 15 | @protocol 16 | @abstract Implement this protocol to provide version comparison facilities for Sparkle. 17 | */ 18 | @protocol SUVersionComparison 19 | 20 | /*! 21 | @method 22 | @abstract An abstract method to compare two version strings. 23 | @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent. 24 | */ 25 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; // *** MAY BE CALLED ON NON-MAIN THREAD! 26 | 27 | @end 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Headers/SUVersionDisplayProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionDisplayProtocol.h 3 | // EyeTV 4 | // 5 | // Created by Uli Kusterer on 08.12.09. 6 | // Copyright 2009 Elgato Systems GmbH. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | /*! 13 | @protocol 14 | @abstract Implement this protocol to apply special formatting to the two 15 | version numbers. 16 | */ 17 | @protocol SUVersionDisplay 18 | 19 | /*! 20 | @method 21 | @abstract An abstract method to format two version strings. 22 | @discussion You get both so you can display important distinguishing 23 | information, but leave out unnecessary/confusing parts. 24 | */ 25 | -(void) formatVersion: (NSString**)inOutVersionA andVersion: (NSString**)inOutVersionB; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Headers/Sparkle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Sparkle.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SPARKLE_H 10 | #define SPARKLE_H 11 | 12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless 13 | // there are name-space collisions) so we can list all of them to start with: 14 | 15 | #import 16 | 17 | #import 18 | #import 19 | #import 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 12C60 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | Sparkle 11 | CFBundleIdentifier 12 | org.andymatuschak.Sparkle 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | Sparkle 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.5 Beta (git) 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 243fdf8 25 | DTCompiler 26 | com.apple.compilers.llvm.clang.1_0 27 | DTPlatformBuild 28 | 4G2008a 29 | DTPlatformVersion 30 | GM 31 | DTSDKBuild 32 | 11E52 33 | DTSDKName 34 | macosx10.7 35 | DTXcode 36 | 0452 37 | DTXcodeBuild 38 | 4G2008a 39 | 40 | 41 | -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/SUStatus.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/SUStatus.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUPasswordPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUPasswordPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ar.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/cs.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/da.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/da.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/da.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUPasswordPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUPasswordPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 12C60 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | finish_installation 11 | CFBundleIconFile 12 | Sparkle 13 | CFBundleIdentifier 14 | org.andymatuschak.sparkle.finish-installation 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | DTCompiler 26 | com.apple.compilers.llvm.clang.1_0 27 | DTPlatformBuild 28 | 4G2008a 29 | DTPlatformVersion 30 | GM 31 | DTSDKBuild 32 | 11E52 33 | DTSDKName 34 | macosx10.7 35 | DTXcode 36 | 0452 37 | DTXcodeBuild 38 | 4G2008a 39 | LSBackgroundOnly 40 | 1 41 | LSMinimumSystemVersion 42 | 10.4 43 | LSUIElement 44 | 1 45 | NSMainNibFile 46 | MainMenu 47 | NSPrincipalClass 48 | NSApplication 49 | 50 | 51 | -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/MacOS/finish_installation -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPL???? -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/SUStatus.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/SUStatus.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/Sparkle.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/Sparkle.icns -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ar.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ar.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/cs.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/cs.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/da.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/da.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/en.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/en.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/is.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/is.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ja.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ja.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_BR.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_BR.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_PT.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/pt_PT.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ro.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ro.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/th.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/th.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/tr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/tr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/uk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/uk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_CN.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_CN.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_TW.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/Resources/zh_TW.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/fr_CA.lproj: -------------------------------------------------------------------------------- 1 | fr.lproj -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/is.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/is.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/is.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ja.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ko.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ko.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt.lproj: -------------------------------------------------------------------------------- 1 | pt_BR.lproj -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUPasswordPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUPasswordPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_BR.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/pt_PT.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ro.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sk.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sk.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUPasswordPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUPasswordPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/th.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/th.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/tr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/uk.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_CN.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUAutomaticUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdateAlert.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/SUUpdatePermissionPrompt.nib -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Resources/zh_TW.lproj/Sparkle.strings -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/A/Sparkle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/travis-ci/travis-watcher-macosx/bbb0bfb5055ec2eef1071f4e01d8b6b4c60ff555/vendor/Sparkle.framework/Versions/A/Sparkle -------------------------------------------------------------------------------- /vendor/Sparkle.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A --------------------------------------------------------------------------------