diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4cbd649..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.DS_Store -Coderwall.xcodeproj/project.xcworkspace/xcuserdata/will.xcuserdatad/UserInterfaceState.xcuserstate -Coderwall.xcodeproj/project.xcworkspace/xcuserdata/will.xcuserdatad/UserInterfaceState.xcuserstate -dist -build diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index b3ad43b..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "Vendor/ILTesting"] - path = Vendor/ILTesting - url = git://github.com/InfiniteLoopDK/ILTesting.git diff --git a/.rvmrc b/.rvmrc deleted file mode 100644 index f999c5d..0000000 --- a/.rvmrc +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env bash - -# This is an RVM Project .rvmrc file, used to automatically load the ruby -# development environment upon cd'ing into the directory - -# First we specify our desired [@], the @gemset name is optional. -environment_id="ruby-1.9.3-p0@Coderwall-iOS" - -# -# Uncomment the following lines if you want to verify rvm version per project -# -# rvmrc_rvm_version="1.10.2" # 1.10.1 seams as a safe start -# eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || { -# echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading." -# return 1 -# } -# - -# -# Uncomment following line if you want options to be set only for given project. -# -# PROJECT_JRUBY_OPTS=( --1.9 ) -# -# The variable PROJECT_JRUBY_OPTS requires the following to be run in shell: -# -# chmod +x ${rvm_path}/hooks/after_use_jruby_opts -# - -# -# First we attempt to load the desired environment directly from the environment -# file. This is very fast and efficient compared to running through the entire -# CLI and selector. If you want feedback on which environment was used then -# insert the word 'use' after --create as this triggers verbose mode. -# -if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \ - && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] -then - \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id" - - if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]] - then - . "${rvm_path:-$HOME/.rvm}/hooks/after_use" - fi -else - # If the environment file has not yet been created, use the RVM CLI to select. - if ! rvm --create use "$environment_id" - then - echo "Failed to create RVM environment '${environment_id}'." - return 1 - fi -fi - -# -# If you use an RVM gemset file to install a list of gems (*.gems), you can have -# it be automatically loaded. Uncomment the following and adjust the filename if -# necessary. -# -# filename=".gems" -# if [[ -s "$filename" ]] -# then -# rvm gemset import "$filename" | grep -v already | grep -v listed | grep -v complete | sed '/^$/d' -# fi - -# If you use bundler, this might be useful to you: -# if [[ -s Gemfile ]] && ! command -v bundle >/dev/null -# then -# printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n" -# gem install bundler -# fi -# if [[ -s Gemfile ]] && command -v bundle -# then -# bundle install -# fi - -if [[ $- == *i* ]] # check for interactive shells -then - echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green -else - echo "Using: $GEM_HOME" # don't use colors in interactive shells -fi - diff --git a/Coderwall copy-Info.plist b/Coderwall copy-Info.plist deleted file mode 100755 index 0c93042..0000000 --- a/Coderwall copy-Info.plist +++ /dev/null @@ -1,63 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIcons - - CFBundlePrimaryIcon - - CFBundleIconFiles - - Icon-72.png - Icon-72@2x.png - Icon@2x.png - Icon.png - - UIPrerenderedIcon - - - - CFBundleIdentifier - Bearded-Apps.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - UIMainStoryboardFile - MainStoryboard_iPhone - UIMainStoryboardFile~ipad - MainStoryboard_iPad - UIPrerenderedIcon - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Coderwall.xcodeproj/project.pbxproj b/Coderwall.xcodeproj/project.pbxproj deleted file mode 100755 index b2b2796..0000000 --- a/Coderwall.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1352 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 6D729B358A2140D4BD3BB7BF /* libPods-CoderwallTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0FE6FFAC1B664BBD80FE8E5D /* libPods-CoderwallTests.a */; }; - 9FC5BBE4830E41E8AF27C74A /* libPods-Integration Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 31FDF00A1367428BBD07FFFA /* libPods-Integration Tests.a */; }; - B89AFBB8A81D4BD7AF69C5BE /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BD6E7CF697D54B3B9BC70AB5 /* libPods.a */; }; - BE07C368151DC8CA00CAE177 /* ImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = BE07C367151DC8CA00CAE177 /* ImageLoader.m */; }; - BE19C3EB15038F6200AAEE5E /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE19C3EA15038F6200AAEE5E /* DetailViewController.m */; }; - BE1C7F7A14F137E800E460AC /* BadgesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1C7F7914F137E800E460AC /* BadgesViewController.m */; }; - BE1C7F8114F17C1B00E460AC /* BadgeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1C7F8014F17C1B00E460AC /* BadgeCell.m */; }; - BE546A6615019A3D00B9A200 /* iPadBadgeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A6515019A3D00B9A200 /* iPadBadgeCell.m */; }; - BE546A6D15028AE900B9A200 /* SummaryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A6C15028AE900B9A200 /* SummaryViewController.m */; }; - BE546A7015028B7800B9A200 /* ProfileCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A6F15028B7800B9A200 /* ProfileCell.m */; }; - BE546A731502E81600B9A200 /* iPadAccomplishmentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A721502E81500B9A200 /* iPadAccomplishmentCell.m */; }; - BE5663EA14F2E856002BC157 /* AccomplishmentsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE5663E914F2E856002BC157 /* AccomplishmentsCell.m */; }; - BE60B66A14EFA64100CF7151 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66914EFA64100CF7151 /* UIKit.framework */; }; - BE60B66C14EFA64100CF7151 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66B14EFA64100CF7151 /* Foundation.framework */; }; - BE60B66E14EFA64100CF7151 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66D14EFA64100CF7151 /* CoreGraphics.framework */; }; - BE60B67414EFA64100CF7151 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BE60B67214EFA64100CF7151 /* InfoPlist.strings */; }; - BE60B67614EFA64100CF7151 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B67514EFA64100CF7151 /* main.m */; }; - BE60B67A14EFA64100CF7151 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B67914EFA64100CF7151 /* AppDelegate.m */; }; - BE60B67D14EFA64100CF7151 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BE60B67B14EFA64100CF7151 /* MainStoryboard_iPhone.storyboard */; }; - BE60B68014EFA64100CF7151 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BE60B67E14EFA64100CF7151 /* MainStoryboard_iPad.storyboard */; }; - BE60B68F14EFA64100CF7151 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66914EFA64100CF7151 /* UIKit.framework */; }; - BE60B69014EFA64100CF7151 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66B14EFA64100CF7151 /* Foundation.framework */; }; - BE60B69814EFA64100CF7151 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BE60B69614EFA64100CF7151 /* InfoPlist.strings */; }; - BE60B6A614EFB09100CF7151 /* ProfileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B6A514EFB09100CF7151 /* ProfileViewController.m */; }; - BE60B6AC14EFB0FD00CF7151 /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B6AB14EFB0FD00CF7151 /* User.m */; }; - BE60B75614EFC4D500CF7151 /* MasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B75514EFC4D500CF7151 /* MasterViewController.m */; }; - BE73BA1614F8FFAB00220316 /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE73BA1514F8FFAB00220316 /* SettingsViewController.m */; }; - BE886C5114F95249003BC113 /* SearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE886C5014F95249003BC113 /* SearchViewController.m */; }; - BE886C5514F953E0003BC113 /* ClearSearchBar.m in Sources */ = {isa = PBXBuildFile; fileRef = BE886C5414F953E0003BC113 /* ClearSearchBar.m */; }; - BE9AEADE18CFDE7D00D8C6F7 /* AvatarView.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9AEADD18CFDE7D00D8C6F7 /* AvatarView.m */; }; - BE9AEAE018CFEE6100D8C6F7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BE9AEADF18CFEE6100D8C6F7 /* Images.xcassets */; }; - BE9AEAE318D1145B00D8C6F7 /* BadgesCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9AEAE218D1145B00D8C6F7 /* BadgesCollectionViewController.m */; }; - BE9AEAE618D1167000D8C6F7 /* BadgeCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9AEAE518D1167000D8C6F7 /* BadgeCollectionViewCell.m */; }; - BE9AEAE918D1254500D8C6F7 /* EmptyCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9AEAE818D1254500D8C6F7 /* EmptyCollectionViewCell.m */; }; - BE9E92FD14F463AF00FC3704 /* StatsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9E92FC14F463AF00FC3704 /* StatsViewController.m */; }; - BE9E930014F5658500FC3704 /* StatCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9E92FF14F5658400FC3704 /* StatCell.m */; }; - BECA2C9215285FB2006767DF /* app-icon-ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7115285FB1006767DF /* app-icon-ipad.png */; }; - BECA2C9315285FB2006767DF /* app-icon-ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7215285FB1006767DF /* app-icon-ipad@2x.png */; }; - BECA2C9415285FB2006767DF /* iPadBadgeBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7315285FB1006767DF /* iPadBadgeBg.png */; }; - BECA2C9515285FB2006767DF /* iPadBadgeBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7415285FB1006767DF /* iPadBadgeBg@2x.png */; }; - BECA2C9615285FB2006767DF /* app-icon-iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7615285FB1006767DF /* app-icon-iphone.png */; }; - BECA2C9715285FB2006767DF /* app-icon-iphone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7715285FB1006767DF /* app-icon-iphone@2x.png */; }; - BECA2C9815285FB2006767DF /* accomplishments.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7915285FB1006767DF /* accomplishments.png */; }; - BECA2C9915285FB2006767DF /* accomplishments@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7A15285FB1006767DF /* accomplishments@2x.png */; }; - BECA2C9A15285FB2006767DF /* app-store-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7B15285FB1006767DF /* app-store-icon.png */; }; - BECA2C9B15285FB2006767DF /* app-store-icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7C15285FB1006767DF /* app-store-icon@2x.png */; }; - BECA2C9C15285FB2006767DF /* badges.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7D15285FB1006767DF /* badges.png */; }; - BECA2C9D15285FB2006767DF /* badges@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7E15285FB1006767DF /* badges@2x.png */; }; - BECA2C9E15285FB2006767DF /* defaultavatar.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7F15285FB1006767DF /* defaultavatar.png */; }; - BECA2C9F15285FB2006767DF /* inset-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8015285FB1006767DF /* inset-logo.png */; }; - BECA2CA015285FB2006767DF /* inset-logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8115285FB1006767DF /* inset-logo@2x.png */; }; - BECA2CA115285FB2006767DF /* PanelBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8215285FB1006767DF /* PanelBg.png */; }; - BECA2CA215285FB2006767DF /* PanelBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8315285FB1006767DF /* PanelBg@2x.png */; }; - BECA2CA315285FB2006767DF /* profile.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8415285FB1006767DF /* profile.png */; }; - BECA2CA415285FB2006767DF /* profile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8515285FB1006767DF /* profile@2x.png */; }; - BECA2CA515285FB2006767DF /* search.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8615285FB1006767DF /* search.png */; }; - BECA2CA615285FB2006767DF /* search@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8715285FB1006767DF /* search@2x.png */; }; - BECA2CA715285FB2006767DF /* settings.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8815285FB1006767DF /* settings.png */; }; - BECA2CA815285FB2006767DF /* settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8915285FB1006767DF /* settings@2x.png */; }; - BECA2CA915285FB2006767DF /* stats.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8A15285FB1006767DF /* stats.png */; }; - BECA2CAA15285FB2006767DF /* stats@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8B15285FB1006767DF /* stats@2x.png */; }; - BECA2CAB15285FB2006767DF /* TableBottomBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8C15285FB1006767DF /* TableBottomBg.png */; }; - BECA2CAC15285FB2006767DF /* TableBottomBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8D15285FB1006767DF /* TableBottomBg@2x.png */; }; - BECA2CAD15285FB2006767DF /* TableMiddleBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8E15285FB1006767DF /* TableMiddleBg.png */; }; - BECA2CAE15285FB2006767DF /* TableMiddleBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8F15285FB1006767DF /* TableMiddleBg@2x.png */; }; - BECA2CAF15285FB2006767DF /* TableTopBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C9015285FB1006767DF /* TableTopBg.png */; }; - BECA2CB015285FB2006767DF /* TableTopBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C9115285FB1006767DF /* TableTopBg@2x.png */; }; - BED43CA1153D7512005AEDDB /* iTunesArtwork.png in Resources */ = {isa = PBXBuildFile; fileRef = BED43C9F153D7512005AEDDB /* iTunesArtwork.png */; }; - BED43CA2153D7512005AEDDB /* iTunesArtwork@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BED43CA0153D7512005AEDDB /* iTunesArtwork@2x.png */; }; - BEDD01D11500536A006C4C29 /* SearchResultsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BEDD01D015005369006C4C29 /* SearchResultsViewController.m */; }; - BEFC77571513BCEC00C10939 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFC77541513BCDC00C10939 /* QuartzCore.framework */; }; - DA14F8BF159F91AA005EF7AA /* KIFTestStep+displayMasterView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA14F8BE159F91AA005EF7AA /* KIFTestStep+displayMasterView.m */; }; - DA1B555615B50E1F00F1D675 /* KIFTestScenario+settingsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DA1B555515B50E1F00F1D675 /* KIFTestScenario+settingsView.m */; }; - DA1B555A15B50FFE00F1D675 /* KIFTestStep+updateSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = DA1B555915B50FFE00F1D675 /* KIFTestStep+updateSettings.m */; }; - DA319784159ABB8D0027A608 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFC77541513BCDC00C10939 /* QuartzCore.framework */; }; - DA319786159ABBA70027A608 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66D14EFA64100CF7151 /* CoreGraphics.framework */; }; - DA319789159ABC4E0027A608 /* UserSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = DA319788159ABC4E0027A608 /* UserSpec.m */; }; - DA584DC2159C037200173134 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFC77541513BCDC00C10939 /* QuartzCore.framework */; }; - DA584DC3159C037200173134 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66914EFA64100CF7151 /* UIKit.framework */; }; - DA584DC4159C037200173134 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66B14EFA64100CF7151 /* Foundation.framework */; }; - DA584DC5159C037200173134 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE60B66D14EFA64100CF7151 /* CoreGraphics.framework */; }; - DA584DC8159C037200173134 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BE60B67214EFA64100CF7151 /* InfoPlist.strings */; }; - DA584DC9159C037200173134 /* MainStoryboard_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BE60B67B14EFA64100CF7151 /* MainStoryboard_iPhone.storyboard */; }; - DA584DCA159C037200173134 /* MainStoryboard_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BE60B67E14EFA64100CF7151 /* MainStoryboard_iPad.storyboard */; }; - DA584DCB159C037200173134 /* app-icon-ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7115285FB1006767DF /* app-icon-ipad.png */; }; - DA584DCC159C037200173134 /* app-icon-ipad@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7215285FB1006767DF /* app-icon-ipad@2x.png */; }; - DA584DCD159C037200173134 /* iPadBadgeBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7315285FB1006767DF /* iPadBadgeBg.png */; }; - DA584DCE159C037200173134 /* iPadBadgeBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7415285FB1006767DF /* iPadBadgeBg@2x.png */; }; - DA584DCF159C037200173134 /* app-icon-iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7615285FB1006767DF /* app-icon-iphone.png */; }; - DA584DD0159C037200173134 /* app-icon-iphone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7715285FB1006767DF /* app-icon-iphone@2x.png */; }; - DA584DD1159C037200173134 /* accomplishments.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7915285FB1006767DF /* accomplishments.png */; }; - DA584DD2159C037200173134 /* accomplishments@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7A15285FB1006767DF /* accomplishments@2x.png */; }; - DA584DD3159C037200173134 /* app-store-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7B15285FB1006767DF /* app-store-icon.png */; }; - DA584DD4159C037200173134 /* app-store-icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7C15285FB1006767DF /* app-store-icon@2x.png */; }; - DA584DD5159C037200173134 /* badges.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7D15285FB1006767DF /* badges.png */; }; - DA584DD6159C037200173134 /* badges@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7E15285FB1006767DF /* badges@2x.png */; }; - DA584DD7159C037200173134 /* defaultavatar.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C7F15285FB1006767DF /* defaultavatar.png */; }; - DA584DD8159C037200173134 /* inset-logo.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8015285FB1006767DF /* inset-logo.png */; }; - DA584DD9159C037200173134 /* inset-logo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8115285FB1006767DF /* inset-logo@2x.png */; }; - DA584DDA159C037200173134 /* PanelBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8215285FB1006767DF /* PanelBg.png */; }; - DA584DDB159C037200173134 /* PanelBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8315285FB1006767DF /* PanelBg@2x.png */; }; - DA584DDC159C037200173134 /* profile.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8415285FB1006767DF /* profile.png */; }; - DA584DDD159C037200173134 /* profile@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8515285FB1006767DF /* profile@2x.png */; }; - DA584DDE159C037200173134 /* search.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8615285FB1006767DF /* search.png */; }; - DA584DDF159C037200173134 /* search@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8715285FB1006767DF /* search@2x.png */; }; - DA584DE0159C037200173134 /* settings.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8815285FB1006767DF /* settings.png */; }; - DA584DE1159C037200173134 /* settings@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8915285FB1006767DF /* settings@2x.png */; }; - DA584DE2159C037200173134 /* stats.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8A15285FB1006767DF /* stats.png */; }; - DA584DE3159C037200173134 /* stats@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8B15285FB1006767DF /* stats@2x.png */; }; - DA584DE4159C037200173134 /* TableBottomBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8C15285FB1006767DF /* TableBottomBg.png */; }; - DA584DE5159C037200173134 /* TableBottomBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8D15285FB1006767DF /* TableBottomBg@2x.png */; }; - DA584DE6159C037200173134 /* TableMiddleBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8E15285FB1006767DF /* TableMiddleBg.png */; }; - DA584DE7159C037200173134 /* TableMiddleBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C8F15285FB1006767DF /* TableMiddleBg@2x.png */; }; - DA584DE8159C037200173134 /* TableTopBg.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C9015285FB1006767DF /* TableTopBg.png */; }; - DA584DE9159C037200173134 /* TableTopBg@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BECA2C9115285FB1006767DF /* TableTopBg@2x.png */; }; - DA584DEE159C037200173134 /* iTunesArtwork.png in Resources */ = {isa = PBXBuildFile; fileRef = BED43C9F153D7512005AEDDB /* iTunesArtwork.png */; }; - DA584DEF159C037200173134 /* iTunesArtwork@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BED43CA0153D7512005AEDDB /* iTunesArtwork@2x.png */; }; - DA584E2A159C049400173134 /* CoderwallTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA584E29159C049400173134 /* CoderwallTestController.m */; }; - DA584E39159C087800173134 /* libPods-test.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA584E38159C087800173134 /* libPods-test.a */; }; - DA95C7F215DE0E8F0019961E /* libPods-integration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DA95C7F115DE0E8F0019961E /* libPods-integration.a */; }; - DA97709415C38EA70033B741 /* KIFTestStep+textField.m in Sources */ = {isa = PBXBuildFile; fileRef = DA97709315C38EA70033B741 /* KIFTestStep+textField.m */; }; - DAB000ED159C0C8800F773A2 /* KIFTestScenario+masterView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB000EC159C0C8800F773A2 /* KIFTestScenario+masterView.m */; }; - DAB00113159F88CD00F773A2 /* UIViewController+appDelegateUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB00112159F88CD00F773A2 /* UIViewController+appDelegateUser.m */; }; - DAB00116159F8D3C00F773A2 /* UIViewController+appDelegateUser.m in Sources */ = {isa = PBXBuildFile; fileRef = DAB00112159F88CD00F773A2 /* UIViewController+appDelegateUser.m */; }; - DAB00117159F8D3C00F773A2 /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B6AB14EFB0FD00CF7151 /* User.m */; }; - DAB00118159F8D3C00F773A2 /* ImageLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = BE07C367151DC8CA00CAE177 /* ImageLoader.m */; }; - DAB00119159F8D3C00F773A2 /* ProfileViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B6A514EFB09100CF7151 /* ProfileViewController.m */; }; - DAB0011A159F8D3C00F773A2 /* BadgesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1C7F7914F137E800E460AC /* BadgesViewController.m */; }; - DAB0011C159F8D3C00F773A2 /* StatsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9E92FC14F463AF00FC3704 /* StatsViewController.m */; }; - DAB0011D159F8D3C00F773A2 /* MasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B75514EFC4D500CF7151 /* MasterViewController.m */; }; - DAB0011E159F8D3C00F773A2 /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE73BA1514F8FFAB00220316 /* SettingsViewController.m */; }; - DAB0011F159F8D3C00F773A2 /* SearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE886C5014F95249003BC113 /* SearchViewController.m */; }; - DAB00120159F8D3C00F773A2 /* SearchResultsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BEDD01D015005369006C4C29 /* SearchResultsViewController.m */; }; - DAB00122159F8D3C00F773A2 /* SummaryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A6C15028AE900B9A200 /* SummaryViewController.m */; }; - DAB00124159F8D3C00F773A2 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BE19C3EA15038F6200AAEE5E /* DetailViewController.m */; }; - DAB00125159F8D3C00F773A2 /* BadgeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE1C7F8014F17C1B00E460AC /* BadgeCell.m */; }; - DAB00126159F8D3C00F773A2 /* AccomplishmentsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE5663E914F2E856002BC157 /* AccomplishmentsCell.m */; }; - DAB00127159F8D3C00F773A2 /* StatCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9E92FF14F5658400FC3704 /* StatCell.m */; }; - DAB00128159F8D3C00F773A2 /* ClearSearchBar.m in Sources */ = {isa = PBXBuildFile; fileRef = BE886C5414F953E0003BC113 /* ClearSearchBar.m */; }; - DAB00129159F8D3C00F773A2 /* iPadBadgeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A6515019A3D00B9A200 /* iPadBadgeCell.m */; }; - DAB0012A159F8D3C00F773A2 /* ProfileCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A6F15028B7800B9A200 /* ProfileCell.m */; }; - DAB0012B159F8D3C00F773A2 /* iPadAccomplishmentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BE546A721502E81500B9A200 /* iPadAccomplishmentCell.m */; }; - DAB0012C159F8D3C00F773A2 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B67914EFA64100CF7151 /* AppDelegate.m */; }; - DAB0012D159F8D3C00F773A2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = BE60B67514EFA64100CF7151 /* main.m */; }; - DAF6FED815C22FC000108BED /* KIFTestScenario+searchView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF6FED715C22FC000108BED /* KIFTestScenario+searchView.m */; }; - DAF6FEDC15C2341B00108BED /* KIFTestScenario+searchResultsView.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF6FEDB15C2341B00108BED /* KIFTestScenario+searchResultsView.m */; }; - DAF6FEDF15C240E400108BED /* KIFTestStep+pullToRefresh.m in Sources */ = {isa = PBXBuildFile; fileRef = DAF6FEDE15C240E300108BED /* KIFTestStep+pullToRefresh.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - DA7A2A2115E281E400422453 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BE60B65C14EFA64000CF7151 /* Project object */; - proxyType = 1; - remoteGlobalIDString = BE60B66414EFA64100CF7151; - remoteInfo = Coderwall; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 0FE6FFAC1B664BBD80FE8E5D /* libPods-CoderwallTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CoderwallTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 31FDF00A1367428BBD07FFFA /* libPods-Integration Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Integration Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - B396B7359D4147B7ADD95EFC /* Pods-Integration Tests.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Integration Tests.xcconfig"; path = "Pods/Pods-Integration Tests.xcconfig"; sourceTree = ""; }; - BD6E7CF697D54B3B9BC70AB5 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; - BE07C366151DC8CA00CAE177 /* ImageLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageLoader.h; sourceTree = ""; }; - BE07C367151DC8CA00CAE177 /* ImageLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageLoader.m; sourceTree = ""; }; - BE19C3E915038F6200AAEE5E /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; }; - BE19C3EA15038F6200AAEE5E /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; }; - BE1C7F7814F137E800E460AC /* BadgesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BadgesViewController.h; sourceTree = ""; }; - BE1C7F7914F137E800E460AC /* BadgesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BadgesViewController.m; sourceTree = ""; }; - BE1C7F7F14F17C1B00E460AC /* BadgeCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BadgeCell.h; sourceTree = ""; }; - BE1C7F8014F17C1B00E460AC /* BadgeCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BadgeCell.m; sourceTree = ""; }; - BE546A6415019A3D00B9A200 /* iPadBadgeCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iPadBadgeCell.h; sourceTree = ""; }; - BE546A6515019A3D00B9A200 /* iPadBadgeCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iPadBadgeCell.m; sourceTree = ""; }; - BE546A6B15028AE900B9A200 /* SummaryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SummaryViewController.h; sourceTree = ""; }; - BE546A6C15028AE900B9A200 /* SummaryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SummaryViewController.m; sourceTree = ""; }; - BE546A6E15028B7800B9A200 /* ProfileCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfileCell.h; sourceTree = ""; }; - BE546A6F15028B7800B9A200 /* ProfileCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProfileCell.m; sourceTree = ""; }; - BE546A711502E81500B9A200 /* iPadAccomplishmentCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iPadAccomplishmentCell.h; sourceTree = ""; }; - BE546A721502E81500B9A200 /* iPadAccomplishmentCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iPadAccomplishmentCell.m; sourceTree = ""; }; - BE5663E814F2E856002BC157 /* AccomplishmentCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccomplishmentCell.h; sourceTree = ""; }; - BE5663E914F2E856002BC157 /* AccomplishmentsCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccomplishmentsCell.m; sourceTree = ""; }; - BE60B66514EFA64100CF7151 /* Coderwall.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Coderwall.app; sourceTree = BUILT_PRODUCTS_DIR; }; - BE60B66914EFA64100CF7151 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - BE60B66B14EFA64100CF7151 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - BE60B66D14EFA64100CF7151 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - BE60B67114EFA64100CF7151 /* Coderwall-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Coderwall-Info.plist"; sourceTree = ""; }; - BE60B67314EFA64100CF7151 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - BE60B67514EFA64100CF7151 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - BE60B67714EFA64100CF7151 /* Coderwall-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Coderwall-Prefix.pch"; sourceTree = ""; }; - BE60B67814EFA64100CF7151 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - BE60B67914EFA64100CF7151 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - BE60B67C14EFA64100CF7151 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPhone.storyboard; sourceTree = ""; }; - BE60B67F14EFA64100CF7151 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard_iPad.storyboard; sourceTree = ""; }; - BE60B68C14EFA64100CF7151 /* CoderwallTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoderwallTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - BE60B69514EFA64100CF7151 /* CoderwallTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CoderwallTests-Info.plist"; sourceTree = ""; }; - BE60B69714EFA64100CF7151 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - BE60B6A414EFB09100CF7151 /* ProfileViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfileViewController.h; sourceTree = ""; }; - BE60B6A514EFB09100CF7151 /* ProfileViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ProfileViewController.m; sourceTree = ""; }; - BE60B6AA14EFB0FD00CF7151 /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = ""; }; - BE60B6AB14EFB0FD00CF7151 /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = ""; }; - BE60B75414EFC4D500CF7151 /* MasterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MasterViewController.h; sourceTree = ""; }; - BE60B75514EFC4D500CF7151 /* MasterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MasterViewController.m; sourceTree = ""; }; - BE73BA1414F8FFAB00220316 /* SettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsViewController.h; sourceTree = ""; }; - BE73BA1514F8FFAB00220316 /* SettingsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SettingsViewController.m; sourceTree = ""; }; - BE886C4F14F95249003BC113 /* SearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchViewController.h; sourceTree = ""; }; - BE886C5014F95249003BC113 /* SearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchViewController.m; sourceTree = ""; }; - BE886C5314F953E0003BC113 /* ClearSearchBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClearSearchBar.h; sourceTree = ""; }; - BE886C5414F953E0003BC113 /* ClearSearchBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ClearSearchBar.m; sourceTree = ""; }; - BE9AEADC18CFDE7D00D8C6F7 /* AvatarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AvatarView.h; sourceTree = ""; }; - BE9AEADD18CFDE7D00D8C6F7 /* AvatarView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AvatarView.m; sourceTree = ""; }; - BE9AEADF18CFEE6100D8C6F7 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - BE9AEAE118D1145B00D8C6F7 /* BadgesCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BadgesCollectionViewController.h; sourceTree = ""; }; - BE9AEAE218D1145B00D8C6F7 /* BadgesCollectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BadgesCollectionViewController.m; sourceTree = ""; }; - BE9AEAE418D1167000D8C6F7 /* BadgeCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BadgeCollectionViewCell.h; sourceTree = ""; }; - BE9AEAE518D1167000D8C6F7 /* BadgeCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BadgeCollectionViewCell.m; sourceTree = ""; }; - BE9AEAE718D1254500D8C6F7 /* EmptyCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmptyCollectionViewCell.h; sourceTree = ""; }; - BE9AEAE818D1254500D8C6F7 /* EmptyCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EmptyCollectionViewCell.m; sourceTree = ""; }; - BE9B908418CF4C4E00849ADA /* Colours.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Colours.h; sourceTree = ""; }; - BE9E92FB14F463AF00FC3704 /* StatsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatsViewController.h; sourceTree = ""; }; - BE9E92FC14F463AF00FC3704 /* StatsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatsViewController.m; sourceTree = ""; }; - BE9E92FE14F5658400FC3704 /* StatCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatCell.h; sourceTree = ""; }; - BE9E92FF14F5658400FC3704 /* StatCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatCell.m; sourceTree = ""; }; - BECA2C7115285FB1006767DF /* app-icon-ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "app-icon-ipad.png"; sourceTree = ""; }; - BECA2C7215285FB1006767DF /* app-icon-ipad@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "app-icon-ipad@2x.png"; sourceTree = ""; }; - BECA2C7315285FB1006767DF /* iPadBadgeBg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = iPadBadgeBg.png; sourceTree = ""; }; - BECA2C7415285FB1006767DF /* iPadBadgeBg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPadBadgeBg@2x.png"; sourceTree = ""; }; - BECA2C7615285FB1006767DF /* app-icon-iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "app-icon-iphone.png"; sourceTree = ""; }; - BECA2C7715285FB1006767DF /* app-icon-iphone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "app-icon-iphone@2x.png"; sourceTree = ""; }; - BECA2C7915285FB1006767DF /* accomplishments.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = accomplishments.png; sourceTree = ""; }; - BECA2C7A15285FB1006767DF /* accomplishments@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "accomplishments@2x.png"; sourceTree = ""; }; - BECA2C7B15285FB1006767DF /* app-store-icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "app-store-icon.png"; sourceTree = ""; }; - BECA2C7C15285FB1006767DF /* app-store-icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "app-store-icon@2x.png"; sourceTree = ""; }; - BECA2C7D15285FB1006767DF /* badges.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = badges.png; sourceTree = ""; }; - BECA2C7E15285FB1006767DF /* badges@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "badges@2x.png"; sourceTree = ""; }; - BECA2C7F15285FB1006767DF /* defaultavatar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = defaultavatar.png; sourceTree = ""; }; - BECA2C8015285FB1006767DF /* inset-logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "inset-logo.png"; sourceTree = ""; }; - BECA2C8115285FB1006767DF /* inset-logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "inset-logo@2x.png"; sourceTree = ""; }; - BECA2C8215285FB1006767DF /* PanelBg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = PanelBg.png; sourceTree = ""; }; - BECA2C8315285FB1006767DF /* PanelBg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "PanelBg@2x.png"; sourceTree = ""; }; - BECA2C8415285FB1006767DF /* profile.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = profile.png; sourceTree = ""; }; - BECA2C8515285FB1006767DF /* profile@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "profile@2x.png"; sourceTree = ""; }; - BECA2C8615285FB1006767DF /* search.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = search.png; sourceTree = ""; }; - BECA2C8715285FB1006767DF /* search@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "search@2x.png"; sourceTree = ""; }; - BECA2C8815285FB1006767DF /* settings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = settings.png; sourceTree = ""; }; - BECA2C8915285FB1006767DF /* settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "settings@2x.png"; sourceTree = ""; }; - BECA2C8A15285FB1006767DF /* stats.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = stats.png; sourceTree = ""; }; - BECA2C8B15285FB1006767DF /* stats@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stats@2x.png"; sourceTree = ""; }; - BECA2C8C15285FB1006767DF /* TableBottomBg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = TableBottomBg.png; sourceTree = ""; }; - BECA2C8D15285FB1006767DF /* TableBottomBg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "TableBottomBg@2x.png"; sourceTree = ""; }; - BECA2C8E15285FB1006767DF /* TableMiddleBg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = TableMiddleBg.png; sourceTree = ""; }; - BECA2C8F15285FB1006767DF /* TableMiddleBg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "TableMiddleBg@2x.png"; sourceTree = ""; }; - BECA2C9015285FB1006767DF /* TableTopBg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = TableTopBg.png; sourceTree = ""; }; - BECA2C9115285FB1006767DF /* TableTopBg@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "TableTopBg@2x.png"; sourceTree = ""; }; - BED43C9F153D7512005AEDDB /* iTunesArtwork.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = iTunesArtwork.png; path = "Icons/App Icon [Rounded]/iTunesArtwork.png"; sourceTree = ""; }; - BED43CA0153D7512005AEDDB /* iTunesArtwork@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "iTunesArtwork@2x.png"; path = "Icons/App Icon [Rounded]/iTunesArtwork@2x.png"; sourceTree = ""; }; - BEDD01CF15005369006C4C29 /* SearchResultsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchResultsViewController.h; sourceTree = ""; }; - BEDD01D015005369006C4C29 /* SearchResultsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchResultsViewController.m; sourceTree = ""; }; - BEFC77541513BCDC00C10939 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - C064312C91C34276AA8658A2 /* Pods-CoderwallTests.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CoderwallTests.xcconfig"; path = "Pods/Pods-CoderwallTests.xcconfig"; sourceTree = ""; }; - D56FB123D143438FB77AA2AB /* Pods.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Pods.xcconfig; path = Pods/Pods.xcconfig; sourceTree = SOURCE_ROOT; }; - DA14F8BD159F91AA005EF7AA /* KIFTestStep+displayMasterView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestStep+displayMasterView.h"; sourceTree = ""; }; - DA14F8BE159F91AA005EF7AA /* KIFTestStep+displayMasterView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestStep+displayMasterView.m"; sourceTree = ""; }; - DA1B555415B50E1F00F1D675 /* KIFTestScenario+settingsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestScenario+settingsView.h"; sourceTree = ""; }; - DA1B555515B50E1F00F1D675 /* KIFTestScenario+settingsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestScenario+settingsView.m"; sourceTree = ""; }; - DA1B555815B50FFE00F1D675 /* KIFTestStep+updateSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestStep+updateSettings.h"; sourceTree = ""; }; - DA1B555915B50FFE00F1D675 /* KIFTestStep+updateSettings.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestStep+updateSettings.m"; sourceTree = ""; }; - DA319788159ABC4E0027A608 /* UserSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserSpec.m; sourceTree = ""; }; - DA584DF5159C037200173134 /* Coderwall (Integration Tests).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Coderwall (Integration Tests).app"; sourceTree = BUILT_PRODUCTS_DIR; }; - DA584E28159C049400173134 /* CoderwallTestController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoderwallTestController.h; sourceTree = ""; }; - DA584E29159C049400173134 /* CoderwallTestController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoderwallTestController.m; sourceTree = ""; }; - DA584E38159C087800173134 /* libPods-test.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-test.a"; path = "Pods/build/Release-iphoneos/libPods-test.a"; sourceTree = ""; }; - DA95C7F115DE0E8F0019961E /* libPods-integration.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-integration.a"; path = "../../../../Library/Developer/Xcode/DerivedData/Coderwall-delofgfcuyplymdxwfqqzgcqfoby/Build/Products/Debug-iphoneos/libPods-integration.a"; sourceTree = ""; }; - DA97709215C38EA70033B741 /* KIFTestStep+textField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestStep+textField.h"; sourceTree = ""; }; - DA97709315C38EA70033B741 /* KIFTestStep+textField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestStep+textField.m"; sourceTree = ""; }; - DAB000EB159C0C8800F773A2 /* KIFTestScenario+masterView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestScenario+masterView.h"; sourceTree = ""; }; - DAB000EC159C0C8800F773A2 /* KIFTestScenario+masterView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestScenario+masterView.m"; sourceTree = ""; }; - DAB00111159F88CD00F773A2 /* UIViewController+appDelegateUser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+appDelegateUser.h"; sourceTree = ""; }; - DAB00112159F88CD00F773A2 /* UIViewController+appDelegateUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+appDelegateUser.m"; sourceTree = ""; }; - DAF6FED615C22FC000108BED /* KIFTestScenario+searchView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestScenario+searchView.h"; sourceTree = ""; }; - DAF6FED715C22FC000108BED /* KIFTestScenario+searchView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestScenario+searchView.m"; sourceTree = ""; }; - DAF6FEDA15C2341B00108BED /* KIFTestScenario+searchResultsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestScenario+searchResultsView.h"; sourceTree = ""; }; - DAF6FEDB15C2341B00108BED /* KIFTestScenario+searchResultsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestScenario+searchResultsView.m"; sourceTree = ""; }; - DAF6FEDD15C240E300108BED /* KIFTestStep+pullToRefresh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KIFTestStep+pullToRefresh.h"; sourceTree = ""; }; - DAF6FEDE15C240E300108BED /* KIFTestStep+pullToRefresh.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KIFTestStep+pullToRefresh.m"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - BE60B66214EFA64100CF7151 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BEFC77571513BCEC00C10939 /* QuartzCore.framework in Frameworks */, - BE60B66A14EFA64100CF7151 /* UIKit.framework in Frameworks */, - BE60B66C14EFA64100CF7151 /* Foundation.framework in Frameworks */, - BE60B66E14EFA64100CF7151 /* CoreGraphics.framework in Frameworks */, - B89AFBB8A81D4BD7AF69C5BE /* libPods.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE60B68814EFA64100CF7151 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DA584E39159C087800173134 /* libPods-test.a in Frameworks */, - DA319786159ABBA70027A608 /* CoreGraphics.framework in Frameworks */, - DA319784159ABB8D0027A608 /* QuartzCore.framework in Frameworks */, - BE60B68F14EFA64100CF7151 /* UIKit.framework in Frameworks */, - BE60B69014EFA64100CF7151 /* Foundation.framework in Frameworks */, - 6D729B358A2140D4BD3BB7BF /* libPods-CoderwallTests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DA584DC1159C037200173134 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DA95C7F215DE0E8F0019961E /* libPods-integration.a in Frameworks */, - DA584DC2159C037200173134 /* QuartzCore.framework in Frameworks */, - DA584DC3159C037200173134 /* UIKit.framework in Frameworks */, - DA584DC4159C037200173134 /* Foundation.framework in Frameworks */, - DA584DC5159C037200173134 /* CoreGraphics.framework in Frameworks */, - 9FC5BBE4830E41E8AF27C74A /* libPods-Integration Tests.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - BE60B65A14EFA64000CF7151 = { - isa = PBXGroup; - children = ( - BED43C9F153D7512005AEDDB /* iTunesArtwork.png */, - BED43CA0153D7512005AEDDB /* iTunesArtwork@2x.png */, - BE60B66F14EFA64100CF7151 /* Coderwall */, - BE60B69314EFA64100CF7151 /* CoderwallTests */, - DA584E27159C046C00173134 /* IntegrationTests */, - BE60B66814EFA64100CF7151 /* Frameworks */, - BE60B66614EFA64100CF7151 /* Products */, - DA3197CE159BE9830027A608 /* Vendor */, - D56FB123D143438FB77AA2AB /* Pods.xcconfig */, - C064312C91C34276AA8658A2 /* Pods-CoderwallTests.xcconfig */, - B396B7359D4147B7ADD95EFC /* Pods-Integration Tests.xcconfig */, - ); - sourceTree = ""; - }; - BE60B66614EFA64100CF7151 /* Products */ = { - isa = PBXGroup; - children = ( - BE60B66514EFA64100CF7151 /* Coderwall.app */, - BE60B68C14EFA64100CF7151 /* CoderwallTests.xctest */, - DA584DF5159C037200173134 /* Coderwall (Integration Tests).app */, - ); - name = Products; - sourceTree = ""; - }; - BE60B66814EFA64100CF7151 /* Frameworks */ = { - isa = PBXGroup; - children = ( - BD6E7CF697D54B3B9BC70AB5 /* libPods.a */, - DA95C7F115DE0E8F0019961E /* libPods-integration.a */, - DA584E38159C087800173134 /* libPods-test.a */, - BEFC77541513BCDC00C10939 /* QuartzCore.framework */, - BE60B66914EFA64100CF7151 /* UIKit.framework */, - BE60B66B14EFA64100CF7151 /* Foundation.framework */, - BE60B66D14EFA64100CF7151 /* CoreGraphics.framework */, - 0FE6FFAC1B664BBD80FE8E5D /* libPods-CoderwallTests.a */, - 31FDF00A1367428BBD07FFFA /* libPods-Integration Tests.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - BE60B66F14EFA64100CF7151 /* Coderwall */ = { - isa = PBXGroup; - children = ( - DAB00110159F88A200F773A2 /* Categories */, - BECA2C6F15285FB1006767DF /* Resources */, - BE60B6A714EFB09700CF7151 /* Models */, - BE60B6A814EFB0A000CF7151 /* Controllers */, - BE60B6A914EFB0AF00CF7151 /* Views */, - BE60B67814EFA64100CF7151 /* AppDelegate.h */, - BE60B67914EFA64100CF7151 /* AppDelegate.m */, - BE60B67014EFA64100CF7151 /* Supporting Files */, - BE9B908418CF4C4E00849ADA /* Colours.h */, - BE9AEADF18CFEE6100D8C6F7 /* Images.xcassets */, - ); - path = Coderwall; - sourceTree = ""; - }; - BE60B67014EFA64100CF7151 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - BE60B67114EFA64100CF7151 /* Coderwall-Info.plist */, - BE60B67214EFA64100CF7151 /* InfoPlist.strings */, - BE60B67514EFA64100CF7151 /* main.m */, - BE60B67714EFA64100CF7151 /* Coderwall-Prefix.pch */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - BE60B69314EFA64100CF7151 /* CoderwallTests */ = { - isa = PBXGroup; - children = ( - DA319787159ABC270027A608 /* Models */, - BE60B69414EFA64100CF7151 /* Supporting Files */, - ); - path = CoderwallTests; - sourceTree = ""; - }; - BE60B69414EFA64100CF7151 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - BE60B69514EFA64100CF7151 /* CoderwallTests-Info.plist */, - BE60B69614EFA64100CF7151 /* InfoPlist.strings */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - BE60B6A714EFB09700CF7151 /* Models */ = { - isa = PBXGroup; - children = ( - BE60B6AA14EFB0FD00CF7151 /* User.h */, - BE60B6AB14EFB0FD00CF7151 /* User.m */, - BE07C366151DC8CA00CAE177 /* ImageLoader.h */, - BE07C367151DC8CA00CAE177 /* ImageLoader.m */, - ); - path = Models; - sourceTree = ""; - }; - BE60B6A814EFB0A000CF7151 /* Controllers */ = { - isa = PBXGroup; - children = ( - BE74BFB81503858700433091 /* iPhone */, - BE74BFB91503858E00433091 /* Shared */, - BE74BFB71503857200433091 /* iPad */, - ); - path = Controllers; - sourceTree = ""; - }; - BE60B6A914EFB0AF00CF7151 /* Views */ = { - isa = PBXGroup; - children = ( - BE60B76014F0615600CF7151 /* ViewExtensions */, - BE60B67B14EFA64100CF7151 /* MainStoryboard_iPhone.storyboard */, - BE60B67E14EFA64100CF7151 /* MainStoryboard_iPad.storyboard */, - ); - path = Views; - sourceTree = ""; - }; - BE60B76014F0615600CF7151 /* ViewExtensions */ = { - isa = PBXGroup; - children = ( - BE1C7F7F14F17C1B00E460AC /* BadgeCell.h */, - BE1C7F8014F17C1B00E460AC /* BadgeCell.m */, - BE5663E814F2E856002BC157 /* AccomplishmentCell.h */, - BE5663E914F2E856002BC157 /* AccomplishmentsCell.m */, - BE9E92FE14F5658400FC3704 /* StatCell.h */, - BE9E92FF14F5658400FC3704 /* StatCell.m */, - BE886C5314F953E0003BC113 /* ClearSearchBar.h */, - BE886C5414F953E0003BC113 /* ClearSearchBar.m */, - BE546A6415019A3D00B9A200 /* iPadBadgeCell.h */, - BE546A6515019A3D00B9A200 /* iPadBadgeCell.m */, - BE546A6E15028B7800B9A200 /* ProfileCell.h */, - BE546A6F15028B7800B9A200 /* ProfileCell.m */, - BE546A711502E81500B9A200 /* iPadAccomplishmentCell.h */, - BE546A721502E81500B9A200 /* iPadAccomplishmentCell.m */, - BE9AEADC18CFDE7D00D8C6F7 /* AvatarView.h */, - BE9AEADD18CFDE7D00D8C6F7 /* AvatarView.m */, - BE9AEAE418D1167000D8C6F7 /* BadgeCollectionViewCell.h */, - BE9AEAE518D1167000D8C6F7 /* BadgeCollectionViewCell.m */, - BE9AEAE718D1254500D8C6F7 /* EmptyCollectionViewCell.h */, - BE9AEAE818D1254500D8C6F7 /* EmptyCollectionViewCell.m */, - ); - name = ViewExtensions; - path = "View Extensions"; - sourceTree = ""; - }; - BE74BFB71503857200433091 /* iPad */ = { - isa = PBXGroup; - children = ( - BE546A6B15028AE900B9A200 /* SummaryViewController.h */, - BE546A6C15028AE900B9A200 /* SummaryViewController.m */, - BE19C3E915038F6200AAEE5E /* DetailViewController.h */, - BE19C3EA15038F6200AAEE5E /* DetailViewController.m */, - BE9AEAE118D1145B00D8C6F7 /* BadgesCollectionViewController.h */, - BE9AEAE218D1145B00D8C6F7 /* BadgesCollectionViewController.m */, - ); - path = iPad; - sourceTree = ""; - }; - BE74BFB81503858700433091 /* iPhone */ = { - isa = PBXGroup; - children = ( - BE60B6A414EFB09100CF7151 /* ProfileViewController.h */, - BE60B6A514EFB09100CF7151 /* ProfileViewController.m */, - BE1C7F7814F137E800E460AC /* BadgesViewController.h */, - BE1C7F7914F137E800E460AC /* BadgesViewController.m */, - BE9E92FB14F463AF00FC3704 /* StatsViewController.h */, - BE9E92FC14F463AF00FC3704 /* StatsViewController.m */, - ); - path = iPhone; - sourceTree = ""; - }; - BE74BFB91503858E00433091 /* Shared */ = { - isa = PBXGroup; - children = ( - BE60B75414EFC4D500CF7151 /* MasterViewController.h */, - BE60B75514EFC4D500CF7151 /* MasterViewController.m */, - BE73BA1414F8FFAB00220316 /* SettingsViewController.h */, - BE73BA1514F8FFAB00220316 /* SettingsViewController.m */, - BE886C4F14F95249003BC113 /* SearchViewController.h */, - BE886C5014F95249003BC113 /* SearchViewController.m */, - BEDD01CF15005369006C4C29 /* SearchResultsViewController.h */, - BEDD01D015005369006C4C29 /* SearchResultsViewController.m */, - ); - path = Shared; - sourceTree = ""; - }; - BECA2C6F15285FB1006767DF /* Resources */ = { - isa = PBXGroup; - children = ( - BECA2C7015285FB1006767DF /* iPad */, - BECA2C7515285FB1006767DF /* iPhone */, - BECA2C7815285FB1006767DF /* Shared */, - ); - path = Resources; - sourceTree = ""; - }; - BECA2C7015285FB1006767DF /* iPad */ = { - isa = PBXGroup; - children = ( - BECA2C7115285FB1006767DF /* app-icon-ipad.png */, - BECA2C7215285FB1006767DF /* app-icon-ipad@2x.png */, - BECA2C7315285FB1006767DF /* iPadBadgeBg.png */, - BECA2C7415285FB1006767DF /* iPadBadgeBg@2x.png */, - ); - path = iPad; - sourceTree = ""; - }; - BECA2C7515285FB1006767DF /* iPhone */ = { - isa = PBXGroup; - children = ( - BECA2C7615285FB1006767DF /* app-icon-iphone.png */, - BECA2C7715285FB1006767DF /* app-icon-iphone@2x.png */, - ); - path = iPhone; - sourceTree = ""; - }; - BECA2C7815285FB1006767DF /* Shared */ = { - isa = PBXGroup; - children = ( - BECA2C7915285FB1006767DF /* accomplishments.png */, - BECA2C7A15285FB1006767DF /* accomplishments@2x.png */, - BECA2C7B15285FB1006767DF /* app-store-icon.png */, - BECA2C7C15285FB1006767DF /* app-store-icon@2x.png */, - BECA2C7D15285FB1006767DF /* badges.png */, - BECA2C7E15285FB1006767DF /* badges@2x.png */, - BECA2C7F15285FB1006767DF /* defaultavatar.png */, - BECA2C8015285FB1006767DF /* inset-logo.png */, - BECA2C8115285FB1006767DF /* inset-logo@2x.png */, - BECA2C8215285FB1006767DF /* PanelBg.png */, - BECA2C8315285FB1006767DF /* PanelBg@2x.png */, - BECA2C8415285FB1006767DF /* profile.png */, - BECA2C8515285FB1006767DF /* profile@2x.png */, - BECA2C8615285FB1006767DF /* search.png */, - BECA2C8715285FB1006767DF /* search@2x.png */, - BECA2C8815285FB1006767DF /* settings.png */, - BECA2C8915285FB1006767DF /* settings@2x.png */, - BECA2C8A15285FB1006767DF /* stats.png */, - BECA2C8B15285FB1006767DF /* stats@2x.png */, - BECA2C8C15285FB1006767DF /* TableBottomBg.png */, - BECA2C8D15285FB1006767DF /* TableBottomBg@2x.png */, - BECA2C8E15285FB1006767DF /* TableMiddleBg.png */, - BECA2C8F15285FB1006767DF /* TableMiddleBg@2x.png */, - BECA2C9015285FB1006767DF /* TableTopBg.png */, - BECA2C9115285FB1006767DF /* TableTopBg@2x.png */, - ); - path = Shared; - sourceTree = ""; - }; - DA319787159ABC270027A608 /* Models */ = { - isa = PBXGroup; - children = ( - DA319788159ABC4E0027A608 /* UserSpec.m */, - ); - path = Models; - sourceTree = ""; - }; - DA3197CE159BE9830027A608 /* Vendor */ = { - isa = PBXGroup; - children = ( - ); - path = Vendor; - sourceTree = ""; - }; - DA584E27159C046C00173134 /* IntegrationTests */ = { - isa = PBXGroup; - children = ( - DA584E28159C049400173134 /* CoderwallTestController.h */, - DA584E29159C049400173134 /* CoderwallTestController.m */, - DAB000E9159C097B00F773A2 /* Scenarios */, - DAB0012E159F90C300F773A2 /* Steps */, - ); - path = IntegrationTests; - sourceTree = ""; - }; - DAB000E9159C097B00F773A2 /* Scenarios */ = { - isa = PBXGroup; - children = ( - DAB000EB159C0C8800F773A2 /* KIFTestScenario+masterView.h */, - DAB000EC159C0C8800F773A2 /* KIFTestScenario+masterView.m */, - DA1B555415B50E1F00F1D675 /* KIFTestScenario+settingsView.h */, - DA1B555515B50E1F00F1D675 /* KIFTestScenario+settingsView.m */, - DAF6FED615C22FC000108BED /* KIFTestScenario+searchView.h */, - DAF6FED715C22FC000108BED /* KIFTestScenario+searchView.m */, - DAF6FEDA15C2341B00108BED /* KIFTestScenario+searchResultsView.h */, - DAF6FEDB15C2341B00108BED /* KIFTestScenario+searchResultsView.m */, - ); - path = Scenarios; - sourceTree = ""; - }; - DAB00110159F88A200F773A2 /* Categories */ = { - isa = PBXGroup; - children = ( - DAB00111159F88CD00F773A2 /* UIViewController+appDelegateUser.h */, - DAB00112159F88CD00F773A2 /* UIViewController+appDelegateUser.m */, - ); - path = Categories; - sourceTree = ""; - }; - DAB0012E159F90C300F773A2 /* Steps */ = { - isa = PBXGroup; - children = ( - DA14F8BD159F91AA005EF7AA /* KIFTestStep+displayMasterView.h */, - DA14F8BE159F91AA005EF7AA /* KIFTestStep+displayMasterView.m */, - DA1B555815B50FFE00F1D675 /* KIFTestStep+updateSettings.h */, - DA1B555915B50FFE00F1D675 /* KIFTestStep+updateSettings.m */, - DAF6FEDD15C240E300108BED /* KIFTestStep+pullToRefresh.h */, - DAF6FEDE15C240E300108BED /* KIFTestStep+pullToRefresh.m */, - DA97709215C38EA70033B741 /* KIFTestStep+textField.h */, - DA97709315C38EA70033B741 /* KIFTestStep+textField.m */, - ); - path = Steps; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - BE60B66414EFA64100CF7151 /* Coderwall */ = { - isa = PBXNativeTarget; - buildConfigurationList = BE60B69E14EFA64100CF7151 /* Build configuration list for PBXNativeTarget "Coderwall" */; - buildPhases = ( - BE60B66114EFA64100CF7151 /* Sources */, - BE60B66214EFA64100CF7151 /* Frameworks */, - BE60B66314EFA64100CF7151 /* Resources */, - 1F3514AF4CE1426DA5FE4609 /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Coderwall; - productName = Coderwall; - productReference = BE60B66514EFA64100CF7151 /* Coderwall.app */; - productType = "com.apple.product-type.application"; - }; - BE60B68B14EFA64100CF7151 /* CoderwallTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = BE60B6A114EFA64100CF7151 /* Build configuration list for PBXNativeTarget "CoderwallTests" */; - buildPhases = ( - A88BAFAD4286452ABE41FBD6 /* Check Pods Manifest.lock */, - BE60B68714EFA64100CF7151 /* Sources */, - BE60B68814EFA64100CF7151 /* Frameworks */, - BE60B68914EFA64100CF7151 /* Resources */, - 1F3514AF4CE1426DA5FE4609 /* Copy Pods Resources */, - BE60B68A14EFA64100CF7151 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - DA7A2A2215E281E400422453 /* PBXTargetDependency */, - ); - name = CoderwallTests; - productName = CoderwallTests; - productReference = BE60B68C14EFA64100CF7151 /* CoderwallTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - DA584DA7159C037200173134 /* Integration Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = DA584DF2159C037200173134 /* Build configuration list for PBXNativeTarget "Integration Tests" */; - buildPhases = ( - BF4E4170A7BE45A1A9A3509C /* Check Pods Manifest.lock */, - DA584DA8159C037200173134 /* Sources */, - DA584DC1159C037200173134 /* Frameworks */, - DA584DC7159C037200173134 /* Resources */, - DA584DF1159C037200173134 /* Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Integration Tests"; - productName = Coderwall; - productReference = DA584DF5159C037200173134 /* Coderwall (Integration Tests).app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BE60B65C14EFA64000CF7151 /* Project object */ = { - isa = PBXProject; - attributes = { - LastTestingUpgradeCheck = 0510; - LastUpgradeCheck = 0510; - ORGANIZATIONNAME = "Bearded Apps"; - TargetAttributes = { - BE60B66414EFA64100CF7151 = { - DevelopmentTeam = EZYXDEN3J9; - }; - }; - }; - buildConfigurationList = BE60B65F14EFA64000CF7151 /* Build configuration list for PBXProject "Coderwall" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = BE60B65A14EFA64000CF7151; - productRefGroup = BE60B66614EFA64100CF7151 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - BE60B66414EFA64100CF7151 /* Coderwall */, - BE60B68B14EFA64100CF7151 /* CoderwallTests */, - DA584DA7159C037200173134 /* Integration Tests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - BE60B66314EFA64100CF7151 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE60B67414EFA64100CF7151 /* InfoPlist.strings in Resources */, - BE60B67D14EFA64100CF7151 /* MainStoryboard_iPhone.storyboard in Resources */, - BE60B68014EFA64100CF7151 /* MainStoryboard_iPad.storyboard in Resources */, - BECA2C9215285FB2006767DF /* app-icon-ipad.png in Resources */, - BECA2C9315285FB2006767DF /* app-icon-ipad@2x.png in Resources */, - BECA2C9415285FB2006767DF /* iPadBadgeBg.png in Resources */, - BECA2C9515285FB2006767DF /* iPadBadgeBg@2x.png in Resources */, - BECA2C9615285FB2006767DF /* app-icon-iphone.png in Resources */, - BECA2C9715285FB2006767DF /* app-icon-iphone@2x.png in Resources */, - BECA2C9815285FB2006767DF /* accomplishments.png in Resources */, - BECA2C9915285FB2006767DF /* accomplishments@2x.png in Resources */, - BECA2C9A15285FB2006767DF /* app-store-icon.png in Resources */, - BECA2C9B15285FB2006767DF /* app-store-icon@2x.png in Resources */, - BECA2C9C15285FB2006767DF /* badges.png in Resources */, - BECA2C9D15285FB2006767DF /* badges@2x.png in Resources */, - BECA2C9E15285FB2006767DF /* defaultavatar.png in Resources */, - BECA2C9F15285FB2006767DF /* inset-logo.png in Resources */, - BECA2CA015285FB2006767DF /* inset-logo@2x.png in Resources */, - BECA2CA115285FB2006767DF /* PanelBg.png in Resources */, - BECA2CA215285FB2006767DF /* PanelBg@2x.png in Resources */, - BECA2CA315285FB2006767DF /* profile.png in Resources */, - BECA2CA415285FB2006767DF /* profile@2x.png in Resources */, - BECA2CA515285FB2006767DF /* search.png in Resources */, - BECA2CA615285FB2006767DF /* search@2x.png in Resources */, - BE9AEAE018CFEE6100D8C6F7 /* Images.xcassets in Resources */, - BECA2CA715285FB2006767DF /* settings.png in Resources */, - BECA2CA815285FB2006767DF /* settings@2x.png in Resources */, - BECA2CA915285FB2006767DF /* stats.png in Resources */, - BECA2CAA15285FB2006767DF /* stats@2x.png in Resources */, - BECA2CAB15285FB2006767DF /* TableBottomBg.png in Resources */, - BECA2CAC15285FB2006767DF /* TableBottomBg@2x.png in Resources */, - BECA2CAD15285FB2006767DF /* TableMiddleBg.png in Resources */, - BECA2CAE15285FB2006767DF /* TableMiddleBg@2x.png in Resources */, - BECA2CAF15285FB2006767DF /* TableTopBg.png in Resources */, - BECA2CB015285FB2006767DF /* TableTopBg@2x.png in Resources */, - BED43CA1153D7512005AEDDB /* iTunesArtwork.png in Resources */, - BED43CA2153D7512005AEDDB /* iTunesArtwork@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE60B68914EFA64100CF7151 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE60B69814EFA64100CF7151 /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DA584DC7159C037200173134 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DA584DC8159C037200173134 /* InfoPlist.strings in Resources */, - DA584DC9159C037200173134 /* MainStoryboard_iPhone.storyboard in Resources */, - DA584DCA159C037200173134 /* MainStoryboard_iPad.storyboard in Resources */, - DA584DCB159C037200173134 /* app-icon-ipad.png in Resources */, - DA584DCC159C037200173134 /* app-icon-ipad@2x.png in Resources */, - DA584DCD159C037200173134 /* iPadBadgeBg.png in Resources */, - DA584DCE159C037200173134 /* iPadBadgeBg@2x.png in Resources */, - DA584DCF159C037200173134 /* app-icon-iphone.png in Resources */, - DA584DD0159C037200173134 /* app-icon-iphone@2x.png in Resources */, - DA584DD1159C037200173134 /* accomplishments.png in Resources */, - DA584DD2159C037200173134 /* accomplishments@2x.png in Resources */, - DA584DD3159C037200173134 /* app-store-icon.png in Resources */, - DA584DD4159C037200173134 /* app-store-icon@2x.png in Resources */, - DA584DD5159C037200173134 /* badges.png in Resources */, - DA584DD6159C037200173134 /* badges@2x.png in Resources */, - DA584DD7159C037200173134 /* defaultavatar.png in Resources */, - DA584DD8159C037200173134 /* inset-logo.png in Resources */, - DA584DD9159C037200173134 /* inset-logo@2x.png in Resources */, - DA584DDA159C037200173134 /* PanelBg.png in Resources */, - DA584DDB159C037200173134 /* PanelBg@2x.png in Resources */, - DA584DDC159C037200173134 /* profile.png in Resources */, - DA584DDD159C037200173134 /* profile@2x.png in Resources */, - DA584DDE159C037200173134 /* search.png in Resources */, - DA584DDF159C037200173134 /* search@2x.png in Resources */, - DA584DE0159C037200173134 /* settings.png in Resources */, - DA584DE1159C037200173134 /* settings@2x.png in Resources */, - DA584DE2159C037200173134 /* stats.png in Resources */, - DA584DE3159C037200173134 /* stats@2x.png in Resources */, - DA584DE4159C037200173134 /* TableBottomBg.png in Resources */, - DA584DE5159C037200173134 /* TableBottomBg@2x.png in Resources */, - DA584DE6159C037200173134 /* TableMiddleBg.png in Resources */, - DA584DE7159C037200173134 /* TableMiddleBg@2x.png in Resources */, - DA584DE8159C037200173134 /* TableTopBg.png in Resources */, - DA584DE9159C037200173134 /* TableTopBg@2x.png in Resources */, - DA584DEE159C037200173134 /* iTunesArtwork.png in Resources */, - DA584DEF159C037200173134 /* iTunesArtwork@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 1F3514AF4CE1426DA5FE4609 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Pods-CoderwallTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - A88BAFAD4286452ABE41FBD6 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - BE60B68A14EFA64100CF7151 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${PROJECT_DIR}/Scripts/RunPlatformUnitTests\"\n"; - showEnvVarsInLog = 0; - }; - BF4E4170A7BE45A1A9A3509C /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - DA584DF1159C037200173134 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Pods-Integration Tests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - BE60B66114EFA64100CF7151 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - BE60B67614EFA64100CF7151 /* main.m in Sources */, - BE60B67A14EFA64100CF7151 /* AppDelegate.m in Sources */, - BE60B6A614EFB09100CF7151 /* ProfileViewController.m in Sources */, - BE60B6AC14EFB0FD00CF7151 /* User.m in Sources */, - BE60B75614EFC4D500CF7151 /* MasterViewController.m in Sources */, - BE1C7F7A14F137E800E460AC /* BadgesViewController.m in Sources */, - BE9AEAE618D1167000D8C6F7 /* BadgeCollectionViewCell.m in Sources */, - BE1C7F8114F17C1B00E460AC /* BadgeCell.m in Sources */, - BE9AEADE18CFDE7D00D8C6F7 /* AvatarView.m in Sources */, - BE5663EA14F2E856002BC157 /* AccomplishmentsCell.m in Sources */, - BE9E92FD14F463AF00FC3704 /* StatsViewController.m in Sources */, - BE9E930014F5658500FC3704 /* StatCell.m in Sources */, - BE73BA1614F8FFAB00220316 /* SettingsViewController.m in Sources */, - BE886C5114F95249003BC113 /* SearchViewController.m in Sources */, - BE886C5514F953E0003BC113 /* ClearSearchBar.m in Sources */, - BE9AEAE918D1254500D8C6F7 /* EmptyCollectionViewCell.m in Sources */, - BEDD01D11500536A006C4C29 /* SearchResultsViewController.m in Sources */, - BE546A6615019A3D00B9A200 /* iPadBadgeCell.m in Sources */, - BE546A6D15028AE900B9A200 /* SummaryViewController.m in Sources */, - BE546A7015028B7800B9A200 /* ProfileCell.m in Sources */, - BE546A731502E81600B9A200 /* iPadAccomplishmentCell.m in Sources */, - BE19C3EB15038F6200AAEE5E /* DetailViewController.m in Sources */, - BE07C368151DC8CA00CAE177 /* ImageLoader.m in Sources */, - DAB00113159F88CD00F773A2 /* UIViewController+appDelegateUser.m in Sources */, - BE9AEAE318D1145B00D8C6F7 /* BadgesCollectionViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE60B68714EFA64100CF7151 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DA319789159ABC4E0027A608 /* UserSpec.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DA584DA8159C037200173134 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DAB00116159F8D3C00F773A2 /* UIViewController+appDelegateUser.m in Sources */, - DAB00117159F8D3C00F773A2 /* User.m in Sources */, - DAB00118159F8D3C00F773A2 /* ImageLoader.m in Sources */, - DAB00119159F8D3C00F773A2 /* ProfileViewController.m in Sources */, - DAB0011A159F8D3C00F773A2 /* BadgesViewController.m in Sources */, - DAB0011C159F8D3C00F773A2 /* StatsViewController.m in Sources */, - DAB0011D159F8D3C00F773A2 /* MasterViewController.m in Sources */, - DAB0011E159F8D3C00F773A2 /* SettingsViewController.m in Sources */, - DAB0011F159F8D3C00F773A2 /* SearchViewController.m in Sources */, - DAB00120159F8D3C00F773A2 /* SearchResultsViewController.m in Sources */, - DAB00122159F8D3C00F773A2 /* SummaryViewController.m in Sources */, - DAB00124159F8D3C00F773A2 /* DetailViewController.m in Sources */, - DAB00125159F8D3C00F773A2 /* BadgeCell.m in Sources */, - DAB00126159F8D3C00F773A2 /* AccomplishmentsCell.m in Sources */, - DAB00127159F8D3C00F773A2 /* StatCell.m in Sources */, - DAB00128159F8D3C00F773A2 /* ClearSearchBar.m in Sources */, - DAB00129159F8D3C00F773A2 /* iPadBadgeCell.m in Sources */, - DAB0012A159F8D3C00F773A2 /* ProfileCell.m in Sources */, - DAB0012B159F8D3C00F773A2 /* iPadAccomplishmentCell.m in Sources */, - DAB0012C159F8D3C00F773A2 /* AppDelegate.m in Sources */, - DAB0012D159F8D3C00F773A2 /* main.m in Sources */, - DA584E2A159C049400173134 /* CoderwallTestController.m in Sources */, - DAB000ED159C0C8800F773A2 /* KIFTestScenario+masterView.m in Sources */, - DA14F8BF159F91AA005EF7AA /* KIFTestStep+displayMasterView.m in Sources */, - DA1B555615B50E1F00F1D675 /* KIFTestScenario+settingsView.m in Sources */, - DA1B555A15B50FFE00F1D675 /* KIFTestStep+updateSettings.m in Sources */, - DAF6FED815C22FC000108BED /* KIFTestScenario+searchView.m in Sources */, - DAF6FEDC15C2341B00108BED /* KIFTestScenario+searchResultsView.m in Sources */, - DAF6FEDF15C240E400108BED /* KIFTestStep+pullToRefresh.m in Sources */, - DA97709415C38EA70033B741 /* KIFTestStep+textField.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - DA7A2A2215E281E400422453 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = BE60B66414EFA64100CF7151 /* Coderwall */; - targetProxy = DA7A2A2115E281E400422453 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - BE60B67214EFA64100CF7151 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - BE60B67314EFA64100CF7151 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - BE60B67B14EFA64100CF7151 /* MainStoryboard_iPhone.storyboard */ = { - isa = PBXVariantGroup; - children = ( - BE60B67C14EFA64100CF7151 /* en */, - ); - name = MainStoryboard_iPhone.storyboard; - path = ..; - sourceTree = ""; - }; - BE60B67E14EFA64100CF7151 /* MainStoryboard_iPad.storyboard */ = { - isa = PBXVariantGroup; - children = ( - BE60B67F14EFA64100CF7151 /* en */, - ); - name = MainStoryboard_iPad.storyboard; - path = ..; - sourceTree = ""; - }; - BE60B69614EFA64100CF7151 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - BE60B69714EFA64100CF7151 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - BE60B69C14EFA64100CF7151 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)/**", - "$(SRCROOT)/Vendor/**", - ); - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - BE60B69D14EFA64100CF7151 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)/**", - "$(SRCROOT)/Vendor/**", - ); - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - BE60B69F14EFA64100CF7151 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D56FB123D143438FB77AA2AB /* Pods.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = "iPhone Distribution: Will McKenzie (EZYXDEN3J9)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DSTROOT = /tmp/xcodeproj.dst; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Coderwall/Coderwall-Prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INFOPLIST_FILE = "Coderwall/Coderwall-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SHARED_PRECOMPS_DIR = "$(CACHE_ROOT)/SharedPrecompiledHeaders; $(inherited)"; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - BE60B6A014EFA64100CF7151 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D56FB123D143438FB77AA2AB /* Pods.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - CODE_SIGN_IDENTITY = "iPhone Distribution: Will McKenzie (EZYXDEN3J9)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DSTROOT = /tmp/xcodeproj.dst; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Coderwall/Coderwall-Prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INFOPLIST_FILE = "Coderwall/Coderwall-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - LIBRARY_SEARCH_PATHS = "$(inherited)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; - SHARED_PRECOMPS_DIR = "$(CACHE_ROOT)/SharedPrecompiledHeaders; $(inherited)"; - SKIP_INSTALL = NO; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; - BE60B6A214EFA64100CF7151 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C064312C91C34276AA8658A2 /* Pods-CoderwallTests.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Coderwall.app/Coderwall"; - CODE_SIGN_IDENTITY = "iPhone Distribution: Will McKenzie (EZYXDEN3J9)"; - DSTROOT = /tmp/xcodeproj.dst; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Coderwall/Coderwall-Prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = "\"$(PODS_ROOT)/Kiwi/Kiwi/\""; - INFOPLIST_FILE = "CoderwallTests/CoderwallTests-Info.plist"; - INSTALL_PATH = /Applications; - OTHER_LDFLAGS = ( - "-ObjC", - "-all_load", - "-framework", - UIKit, - "-framework", - QuartzCore, - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - TEST_HOST = "$(BUNDLE_LOADER)"; - USER_HEADER_SEARCH_PATHS = ""; - }; - name = Debug; - }; - BE60B6A314EFA64100CF7151 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C064312C91C34276AA8658A2 /* Pods-CoderwallTests.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/Coderwall.app/Coderwall"; - CODE_SIGN_IDENTITY = "iPhone Distribution: Will McKenzie (EZYXDEN3J9)"; - DSTROOT = /tmp/xcodeproj.dst; - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Coderwall/Coderwall-Prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = "\"$(PODS_ROOT)/Kiwi/Kiwi/\""; - INFOPLIST_FILE = "CoderwallTests/CoderwallTests-Info.plist"; - INSTALL_PATH = /Applications; - OTHER_LDFLAGS = ( - "-ObjC", - "-all_load", - "-framework", - UIKit, - "-framework", - QuartzCore, - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - TEST_HOST = "$(BUNDLE_LOADER)"; - USER_HEADER_SEARCH_PATHS = ""; - }; - name = Release; - }; - DA584DF3159C037200173134 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B396B7359D4147B7ADD95EFC /* Pods-Integration Tests.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - DSTROOT = /tmp/xcodeproj.dst; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Coderwall/Coderwall-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "RUN_KIF_TESTS=1", - ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"$(PODS_ROOT)/Headers\"", - "\"$(PODS_ROOT)/Headers/DejalActivityView\"", - "\"$(PODS_ROOT)/Headers/EGOTableViewPullRefresh\"", - "\"$(PODS_ROOT)/Headers/SBJson\"", - "\"$(PODS_ROOT)/Headers/KIF\"", - "\"$(PODS_ROOT)/Kiwi/Kiwi/\"", - ); - INFOPLIST_FILE = "Coderwall copy-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/Crittercism_v3_1_5/CrittercismExample/CrittercismExample/CrittercismSDK\"", - "\"$(SRCROOT)/Crittercism_v3_1_5/CrittercismSDK\"", - "\"$(SRCROOT)/../../../../Library/Developer/Xcode/DerivedData/Coderwall-delofgfcuyplymdxwfqqzgcqfoby/Build/Products/Debug-iphoneos\"", - ); - PRODUCT_NAME = "Coderwall (Integration Tests)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - USER_HEADER_SEARCH_PATHS = "$(inherited)"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - DA584DF4159C037200173134 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = B396B7359D4147B7ADD95EFC /* Pods-Integration Tests.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Distribution"; - DSTROOT = /tmp/xcodeproj.dst; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Coderwall/Coderwall-Prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "RUN_KIF_TESTS=1", - ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"$(PODS_ROOT)/Headers\"", - "\"$(PODS_ROOT)/Headers/DejalActivityView\"", - "\"$(PODS_ROOT)/Headers/EGOTableViewPullRefresh\"", - "\"$(PODS_ROOT)/Headers/SBJson\"", - "\"$(PODS_ROOT)/Headers/KIF\"", - "\"$(PODS_ROOT)/Kiwi/Kiwi/\"", - ); - INFOPLIST_FILE = "Coderwall copy-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/Crittercism_v3_1_5/CrittercismExample/CrittercismExample/CrittercismSDK\"", - "\"$(SRCROOT)/Crittercism_v3_1_5/CrittercismSDK\"", - "\"$(SRCROOT)/../../../../Library/Developer/Xcode/DerivedData/Coderwall-delofgfcuyplymdxwfqqzgcqfoby/Build/Products/Debug-iphoneos\"", - ); - PRODUCT_NAME = "Coderwall (Integration Tests)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - USER_HEADER_SEARCH_PATHS = "$(inherited)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - BE60B65F14EFA64000CF7151 /* Build configuration list for PBXProject "Coderwall" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BE60B69C14EFA64100CF7151 /* Debug */, - BE60B69D14EFA64100CF7151 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BE60B69E14EFA64100CF7151 /* Build configuration list for PBXNativeTarget "Coderwall" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BE60B69F14EFA64100CF7151 /* Debug */, - BE60B6A014EFA64100CF7151 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BE60B6A114EFA64100CF7151 /* Build configuration list for PBXNativeTarget "CoderwallTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BE60B6A214EFA64100CF7151 /* Debug */, - BE60B6A314EFA64100CF7151 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DA584DF2159C037200173134 /* Build configuration list for PBXNativeTarget "Integration Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DA584DF3159C037200173134 /* Debug */, - DA584DF4159C037200173134 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BE60B65C14EFA64000CF7151 /* Project object */; -} diff --git a/Coderwall.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Coderwall.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100755 index 7b01843..0000000 --- a/Coderwall.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Coderwall.xcodeproj/project.xcworkspace/xcshareddata/Coderwall.xccheckout b/Coderwall.xcodeproj/project.xcworkspace/xcshareddata/Coderwall.xccheckout deleted file mode 100644 index 6fa3713..0000000 --- a/Coderwall.xcodeproj/project.xcworkspace/xcshareddata/Coderwall.xccheckout +++ /dev/null @@ -1,53 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - E5E0AE2C-C46F-4120-BA30-10DDD9E50762 - IDESourceControlProjectName - Coderwall - IDESourceControlProjectOriginsDictionary - - 28917784-8F51-49FF-A794-809ED5C6B2B3 - https://github.com/OiNutter/Coderwall-iOS.git - 35982531-96EA-42E6-9CC0-99C2E87DC00C - git://github.com/InfiniteLoopDK/ILTesting.git - - IDESourceControlProjectPath - Coderwall.xcodeproj/project.xcworkspace - IDESourceControlProjectRelativeInstallPathDictionary - - 28917784-8F51-49FF-A794-809ED5C6B2B3 - ../.. - 35982531-96EA-42E6-9CC0-99C2E87DC00C - ../../Vendor/ILTesting - - IDESourceControlProjectURL - https://github.com/OiNutter/Coderwall-iOS.git - IDESourceControlProjectVersion - 110 - IDESourceControlProjectWCCIdentifier - 28917784-8F51-49FF-A794-809ED5C6B2B3 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 28917784-8F51-49FF-A794-809ED5C6B2B3 - IDESourceControlWCCName - Coderwall-iOS - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 35982531-96EA-42E6-9CC0-99C2E87DC00C - IDESourceControlWCCName - ILTesting - - - - diff --git a/Coderwall.xcodeproj/project.xcworkspace/xcuserdata/James.xcuserdatad/UserInterfaceState.xcuserstate b/Coderwall.xcodeproj/project.xcworkspace/xcuserdata/James.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index d83ec2b..0000000 Binary files a/Coderwall.xcodeproj/project.xcworkspace/xcuserdata/James.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/Coderwall.xcodeproj/project.xcworkspace/xcuserdata/will.xcuserdatad/WorkspaceSettings.xcsettings b/Coderwall.xcodeproj/project.xcworkspace/xcuserdata/will.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100755 index bfffcfe..0000000 --- a/Coderwall.xcodeproj/project.xcworkspace/xcuserdata/will.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/Coderwall.xcodeproj/xcshareddata/xcschemes/Coderwall.xcscheme b/Coderwall.xcodeproj/xcshareddata/xcschemes/Coderwall.xcscheme deleted file mode 100755 index 4cac52c..0000000 --- a/Coderwall.xcodeproj/xcshareddata/xcschemes/Coderwall.xcscheme +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Coderwall.xcodeproj/xcshareddata/xcschemes/Integration Tests.xcscheme b/Coderwall.xcodeproj/xcshareddata/xcschemes/Integration Tests.xcscheme deleted file mode 100755 index 4f32493..0000000 --- a/Coderwall.xcodeproj/xcshareddata/xcschemes/Integration Tests.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Coderwall.xcodeproj/xcshareddata/xcschemes/Unit Tests.xcscheme b/Coderwall.xcodeproj/xcshareddata/xcschemes/Unit Tests.xcscheme deleted file mode 100755 index 0128fa1..0000000 --- a/Coderwall.xcodeproj/xcshareddata/xcschemes/Unit Tests.xcscheme +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Coderwall.xcodeproj/xcuserdata/James.xcuserdatad/xcschemes/xcschememanagement.plist b/Coderwall.xcodeproj/xcuserdata/James.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index e40d8e8..0000000 --- a/Coderwall.xcodeproj/xcuserdata/James.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - SuppressBuildableAutocreation - - BE60B66414EFA64100CF7151 - - primary - - - BE60B68B14EFA64100CF7151 - - primary - - - DA584DA7159C037200173134 - - primary - - - - - diff --git a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist deleted file mode 100755 index be116ce..0000000 --- a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - diff --git a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist deleted file mode 100644 index fe2b454..0000000 --- a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Coderwall - Release.xcscheme b/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Coderwall - Release.xcscheme deleted file mode 100755 index c44a58d..0000000 --- a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Coderwall - Release.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Coderwall.xcscheme b/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Coderwall.xcscheme deleted file mode 100755 index 4cac52c..0000000 --- a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Coderwall.xcscheme +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/xcschememanagement.plist b/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100755 index 740f342..0000000 --- a/Coderwall.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,52 +0,0 @@ - - - - - SchemeUserState - - Coderwall - Release.xcscheme - - orderHint - 1 - - Coderwall.xcscheme - - orderHint - 0 - - Coderwall.xcscheme_^#shared#^_ - - orderHint - 2 - - Integration Tests.xcscheme_^#shared#^_ - - orderHint - 3 - - Unit Tests.xcscheme_^#shared#^_ - - orderHint - 4 - - - SuppressBuildableAutocreation - - BE60B66414EFA64100CF7151 - - primary - - - BE60B68B14EFA64100CF7151 - - primary - - - DA584DA7159C037200173134 - - primary - - - - - diff --git a/Coderwall.xcworkspace/contents.xcworkspacedata b/Coderwall.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index dac16d1..0000000 --- a/Coderwall.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Coderwall.xcworkspace/xcshareddata/Coderwall.xccheckout b/Coderwall.xcworkspace/xcshareddata/Coderwall.xccheckout deleted file mode 100644 index c56ebcc..0000000 --- a/Coderwall.xcworkspace/xcshareddata/Coderwall.xccheckout +++ /dev/null @@ -1,53 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - EA7E222C-9617-4717-99A2-2B261F9A6487 - IDESourceControlProjectName - Coderwall - IDESourceControlProjectOriginsDictionary - - 120A8388-824B-477E-8DD6-882EC20C3858 - git://github.com/InfiniteLoopDK/ILTesting.git - 3C4996F1-3DBB-4940-BA5F-DA44CEB2DFA7 - https://github.com/OiNutter/Coderwall-iOS.git - - IDESourceControlProjectPath - Coderwall.xcworkspace - IDESourceControlProjectRelativeInstallPathDictionary - - 120A8388-824B-477E-8DD6-882EC20C3858 - ../Vendor/ILTesting - 3C4996F1-3DBB-4940-BA5F-DA44CEB2DFA7 - .. - - IDESourceControlProjectURL - https://github.com/OiNutter/Coderwall-iOS.git - IDESourceControlProjectVersion - 110 - IDESourceControlProjectWCCIdentifier - 3C4996F1-3DBB-4940-BA5F-DA44CEB2DFA7 - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 3C4996F1-3DBB-4940-BA5F-DA44CEB2DFA7 - IDESourceControlWCCName - Coderwall-iOS - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 120A8388-824B-477E-8DD6-882EC20C3858 - IDESourceControlWCCName - ILTesting - - - - diff --git a/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/UserInterfaceState.xcuserstate b/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 8107ba6..0000000 Binary files a/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/WorkspaceSettings.xcsettings b/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100644 index 659c876..0000000 --- a/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,10 +0,0 @@ - - - - - HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges - - SnapshotAutomaticallyBeforeSignificantChanges - - - diff --git a/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist deleted file mode 100644 index ed9a9b4..0000000 --- a/Coderwall.xcworkspace/xcuserdata/will.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/Coderwall/.DS_Store b/Coderwall/.DS_Store deleted file mode 100755 index 5008ddf..0000000 Binary files a/Coderwall/.DS_Store and /dev/null differ diff --git a/Coderwall/AppDelegate.h b/Coderwall/AppDelegate.h deleted file mode 100755 index 03770ad..0000000 --- a/Coderwall/AppDelegate.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// AppDelegate.h -// Coderwall -// -// Created by Will on 18/02/2012. -// Copyright 2012 Bearded Apps. All rights reserved. -// - - -#import -#import "User.h" - - -@interface AppDelegate : UIResponder - -@property (strong, nonatomic) UIWindow *window; -@property (strong, nonatomic) User *currentUser; - -@end diff --git a/Coderwall/AppDelegate.m b/Coderwall/AppDelegate.m deleted file mode 100755 index 0fbed77..0000000 --- a/Coderwall/AppDelegate.m +++ /dev/null @@ -1,145 +0,0 @@ -// -// AppDelegate.m -// Coderwall -// -// Created by Will on 18/02/2012. -// Copyright 2012 Bearded Apps. All rights reserved. -// - - -#import "AppDelegate.h" -#import "User.h" -#import "DejalActivityView.h" -#import "ImageLoader.h" - -#if RUN_KIF_TESTS -#import "CoderwallTestController.h" -#endif - - -@interface AppDelegate () -- (void)registerForNetworkNotifications; -- (void)showConnectionError:(NSNotification *)notification; -- (void)showHTTPResponseError:(NSNotification *)notification; -- (void)showLoadingOverlay; -- (void)removeLoadingOverlay; -- (void)loadCurrentUser; -@end - - -@implementation AppDelegate - -@synthesize window = _window; -@synthesize currentUser = _currentUser; - - -#pragma mark - UIApplicationDelegate Protocol Methods - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { - UISplitViewController *svc = (UISplitViewController *)self.window.rootViewController; - UINavigationController *navigationController = [svc.viewControllers lastObject]; - svc.delegate = (id)navigationController.topViewController; - } - - [self registerForNetworkNotifications]; - [self loadCurrentUser]; - - return YES; -} - -- (void)applicationDidBecomeActive:(UIApplication *)application -{ -#if RUN_KIF_TESTS - [[CoderwallTestController sharedInstance] startTestingWithCompletionBlock:^{ - exit([[CoderwallTestController sharedInstance] failureCount]); - }]; -#endif -} - - -#pragma mark - Internal Methods - -- (void)registerForNetworkNotifications -{ - NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; - - [notificationCenter addObserver:self - selector:@selector(showConnectionError:) - name:@"ConnectionError" - object:nil]; - [notificationCenter addObserver:self - selector:@selector(showHTTPResponseError:) - name:@"ResponseError" - object:nil]; - [notificationCenter addObserver:self - selector:@selector(showLoadingOverlay) - name:@"Loading" - object:nil]; - [notificationCenter addObserver:self - selector:@selector(removeLoadingOverlay) - name:@"LoadingFinished" - object:nil]; -} - -- (void)showConnectionError:(NSNotification *)notification -{ - NSString *title = @"Error connecting to server, please try again in a few moments"; - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title - message:nil - delegate:nil - cancelButtonTitle:@"OK" - otherButtonTitles:nil]; - [alert show]; -} - -- (void)showHTTPResponseError:(NSNotification *)notification -{ - NSString *message; - NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)notification.object; - NSInteger code = [httpResponse statusCode]; - - switch (code) { - case 404: - message = @"Sorry, there seems to be a problem finding the requested user. Please " - @"check you typed the username correctly and that the user exists."; - break; - default: - message = @"Sorry, we seem to be having problems loading the requested user. " - @"Please try again in a few minutes."; - break; - } - - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:message - message:nil - delegate:nil - cancelButtonTitle:@"OK" - otherButtonTitles:nil]; - [alert show]; -} - -- (void)showLoadingOverlay -{ - [DejalBezelActivityView activityViewForView:self.window.rootViewController.view]; -} - -- (void)removeLoadingOverlay -{ - [DejalBezelActivityView removeView]; -} - -- (void)loadCurrentUser -{ - // Load current user from NSUserDefaults - NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; - NSString *userName = [userDefaults stringForKey:@"UserName"]; - - if (userName != (id)[NSNull null] && userName.length > 0) { - self.currentUser = [[User alloc] initWithUsername:userName]; - } else { - self.currentUser = nil; - } -} - -@end diff --git a/Coderwall/Categories/UIViewController+appDelegateUser.h b/Coderwall/Categories/UIViewController+appDelegateUser.h deleted file mode 100755 index 93e0cee..0000000 --- a/Coderwall/Categories/UIViewController+appDelegateUser.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// UIViewController+appDelegateUser.h -// Coderwall -// -// Created by modocache on 6/30/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import -#import "User.h" - - -@interface UIViewController (appDelegateUser) - -@property (readwrite, nonatomic) User *currentUser; - -@end diff --git a/Coderwall/Categories/UIViewController+appDelegateUser.m b/Coderwall/Categories/UIViewController+appDelegateUser.m deleted file mode 100755 index d82af06..0000000 --- a/Coderwall/Categories/UIViewController+appDelegateUser.m +++ /dev/null @@ -1,30 +0,0 @@ -// -// UIViewController+appDelegateUser.m -// Coderwall -// -// Created by modocache on 6/30/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "UIViewController+appDelegateUser.h" -#import "AppDelegate.h" - - -@implementation UIViewController (appDelegateUser) - -#pragma mark - Public Interface - -- (User *)currentUser -{ - AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; - return appDelegate.currentUser; -} - -- (void)setCurrentUser:(User *)currentUser -{ - AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; - appDelegate.currentUser = currentUser; -} - -@end diff --git a/Coderwall/Coderwall-Info.plist b/Coderwall/Coderwall-Info.plist deleted file mode 100755 index 368ba44..0000000 --- a/Coderwall/Coderwall-Info.plist +++ /dev/null @@ -1,56 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIcons - - CFBundleIcons~ipad - - CFBundleIdentifier - Bearded-Apps.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.1 - CFBundleSignature - ???? - CFBundleVersion - 1.1 - LSRequiresIPhoneOS - - UIMainStoryboardFile - MainStoryboard_iPhone - UIMainStoryboardFile~ipad - MainStoryboard_iPad - UIPrerenderedIcon - - UIRequiredDeviceCapabilities - - armv7 - - UIStatusBarStyle - UIStatusBarStyleLightContent - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/Coderwall/Coderwall-Prefix.pch b/Coderwall/Coderwall-Prefix.pch deleted file mode 100755 index 02ea8c0..0000000 --- a/Coderwall/Coderwall-Prefix.pch +++ /dev/null @@ -1,15 +0,0 @@ -// -// Prefix header for all source files of the 'Coderwall' target in the 'Coderwall' project -// - -#import - -#ifndef __IPHONE_5_0 -#warning "This project uses features only available in iOS SDK 5.0 and later." -#endif - -#ifdef __OBJC__ - #import - #import - #import "Colours.h" -#endif diff --git a/Coderwall/Colours.h b/Coderwall/Colours.h deleted file mode 100644 index 13f7918..0000000 --- a/Coderwall/Colours.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Colours.h -// Coderwall -// -// Created by Will Mckenzie on 11/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#ifndef Coderwall_Colours_h -#define Coderwall_Colours_h - -#define cwBlueColor [UIColor colorWithRed:57.0/255.0 green:140.0/255.0 blue:206.0/255.0 alpha:1] -#define cwDarkGreyColor [UIColor colorWithRed:52.0/255.0 green:49.0/255.0 blue:49.0/255.0 alpha:1] -#define cwLightGreyColor [UIColor colorWithRed:236.0/255.0 green:236.0/255.0 blue:236.0/255.0 alpha:1] - -#endif diff --git a/Coderwall/Controllers/Shared/MasterViewController.h b/Coderwall/Controllers/Shared/MasterViewController.h deleted file mode 100755 index 185f93f..0000000 --- a/Coderwall/Controllers/Shared/MasterViewController.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// MasterViewController.h -// Coderwall -// -// Created by Will on 18/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import - - -@interface MasterViewController : UITabBarController - -- (void)showSearchResults; - -@end diff --git a/Coderwall/Controllers/Shared/MasterViewController.m b/Coderwall/Controllers/Shared/MasterViewController.m deleted file mode 100755 index b09a51e..0000000 --- a/Coderwall/Controllers/Shared/MasterViewController.m +++ /dev/null @@ -1,127 +0,0 @@ -// -// MasterViewController.m -// Coderwall -// -// Created by Will on 18/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "MasterViewController.h" - -#import "ImageLoader.h" -#import "UIViewController+appDelegateUser.h" -#import "User.h" - - -@interface MasterViewController () -- (void)setUserName; -- (void)preloadBadges; -@end - - -@implementation MasterViewController - - -#pragma mark - Object Lifecycle - -- (id)initWithCoder:(NSCoder *)coder -{ - self = [super initWithCoder:coder]; - if (self) { - NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; - [notificationCenter addObserver:self - selector:@selector(setUserName) - name:@"UserChanged" - object:nil]; - [notificationCenter addObserver:self - selector:@selector(preloadBadges) - name:@"UserChanged" - object:nil]; - } - return self; -} - -- (void)dealloc -{ - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - - -#pragma mark - UITabBarController Overrides - --(void) viewDidLoad -{ - [super viewDidLoad]; - - // Add Coderwall logo to navigation bar - if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad) { - UIImage *image = [UIImage imageNamed:@"inset-logo.png"]; - UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; - UIBarButtonItem *logoButtonItem = [[UIBarButtonItem alloc] initWithCustomView:imageView]; - self.navigationItem.leftBarButtonItem = logoButtonItem; - } - - self.navigationController.navigationBar.barTintColor = cwDarkGreyColor; - self.navigationController.navigationBar.tintColor = cwBlueColor; - self.tabBar.translucent = NO; - self.tabBar.barTintColor = cwLightGreyColor; - self.tabBar.tintColor = cwBlueColor; - - self.navigationController.navigationBar.translucent = NO; - self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; - - self.navigationItem.rightBarButtonItem.accessibilityLabel = @"Settings"; - - UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" - style:UIBarButtonItemStylePlain - target:nil - action:nil]; - backButton.accessibilityLabel = @"Back"; - self.navigationItem.backBarButtonItem = backButton; - - if(!self.currentUser) - [self performSegueWithIdentifier:@"ShowSettings" sender:self]; - -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - return UIInterfaceOrientationIsLandscape(interfaceOrientation); - } else { - return (interfaceOrientation == UIInterfaceOrientationPortrait); - } -} - - -#pragma mark - Public Interface - -- (void)showSearchResults -{ - [self performSegueWithIdentifier:@"SearchResults" sender:self]; -} - - -#pragma mark - Internal Methods - -- (void)setUserName -{ - // Get current User - if ([[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPad) { - User *user = self.currentUser; - if(user != (id)[NSNull null] && ![user.userName isEqual: @""] && user.userName.length != 0) { - self.navigationItem.title = user.userName; - } - } -} - -- (void)preloadBadges -{ - for (NSDictionary *badge in self.currentUser.badges) { - NSURL *url = [NSURL URLWithString:[badge objectForKey:@"badge"]]; - [ImageLoader loadImageFromURL:url usingCache:YES]; - } -} - -@end diff --git a/Coderwall/Controllers/Shared/SearchResultsViewController.h b/Coderwall/Controllers/Shared/SearchResultsViewController.h deleted file mode 100755 index 827400a..0000000 --- a/Coderwall/Controllers/Shared/SearchResultsViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// SearchResultsViewController.h -// Coderwall -// -// Created by Will on 02/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import - - -@interface SearchResultsViewController : UITabBarController - -@end diff --git a/Coderwall/Controllers/Shared/SearchResultsViewController.m b/Coderwall/Controllers/Shared/SearchResultsViewController.m deleted file mode 100755 index e78c079..0000000 --- a/Coderwall/Controllers/Shared/SearchResultsViewController.m +++ /dev/null @@ -1,61 +0,0 @@ -// -// SearchResultsViewController.m -// Coderwall -// -// Created by Will on 02/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "SearchResultsViewController.h" -#import "UIViewController+appDelegateUser.h" -#import "User.h" - - -@interface SearchResultsViewController () - -@end - - -@implementation SearchResultsViewController - - -#pragma mark - UIViewController Overrides - -- (void)viewDidLoad -{ - [super viewDidLoad]; - self.tabBar.tintColor = cwBlueColor; -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - - if (self.currentUser && self.currentUser.userName.length != 0) { - self.navigationItem.title = self.currentUser.userName; - } -} - -- (void)viewDidDisappear:(BOOL)animated -{ - [super viewDidDisappear:animated]; - - NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; -#pragma message "FIXME - If current user is not set, -showHTTPResponseError is called when view is popped." - NSString *userName = [userDefaults stringForKey:@"UserName"]; - [self setCurrentUser:[[User alloc] initWithUsername:userName]]; - - [[NSNotificationCenter defaultCenter] postNotificationName:@"UserChanged" object:self]; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - return UIInterfaceOrientationIsLandscape(interfaceOrientation); - } else { - return (interfaceOrientation == UIInterfaceOrientationPortrait); - } -} - -@end diff --git a/Coderwall/Controllers/Shared/SearchViewController.h b/Coderwall/Controllers/Shared/SearchViewController.h deleted file mode 100755 index 9544872..0000000 --- a/Coderwall/Controllers/Shared/SearchViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// SearchViewController.h -// Coderwall -// -// Created by Will on 25/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import - - -@interface SearchViewController : UIViewController - -@end diff --git a/Coderwall/Controllers/Shared/SearchViewController.m b/Coderwall/Controllers/Shared/SearchViewController.m deleted file mode 100755 index d25e65b..0000000 --- a/Coderwall/Controllers/Shared/SearchViewController.m +++ /dev/null @@ -1,74 +0,0 @@ -// -// SearchViewController.m -// Coderwall -// -// Created by Will on 25/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "SearchViewController.h" -#import "User.h" -#import "UIViewController+appDelegateUser.h" -#import "MasterViewController.h" - - -@interface SearchViewController () - -- (void)loadResultsView; - -@end - - -@implementation SearchViewController - - -#pragma mark - UIViewController Overrides - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - return UIInterfaceOrientationIsLandscape(interfaceOrientation); - } else { - return (interfaceOrientation == UIInterfaceOrientationPortrait); - } -} - - -#pragma mark - UISearchBarDelegate Protocol Methods - -- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar -{ - if(searchBar.text.length > 0){ - User *user = [[User alloc] initWithUsername:searchBar.text]; - [self setCurrentUser:user]; - [searchBar resignFirstResponder]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(loadResultsView) - name:@"UserChanged" - object:nil]; - } else { - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"You must enter a username!" - message:nil - delegate:nil - cancelButtonTitle:@"OK" - otherButtonTitles:nil]; - [alert show]; - } -} - -- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar -{ - [searchBar resignFirstResponder]; -} - - -#pragma mark - Internal Methods - -- (void)loadResultsView -{ - [[NSNotificationCenter defaultCenter] removeObserver:self name:@"UserChanged" object:nil]; - [(MasterViewController *)self.parentViewController showSearchResults]; -} - -@end diff --git a/Coderwall/Controllers/Shared/SettingsViewController.h b/Coderwall/Controllers/Shared/SettingsViewController.h deleted file mode 100755 index 83411be..0000000 --- a/Coderwall/Controllers/Shared/SettingsViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// SettingsViewController.h -// Coderwall -// -// Created by Will on 25/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import - - -@interface SettingsViewController : UIViewController - -@end diff --git a/Coderwall/Controllers/Shared/SettingsViewController.m b/Coderwall/Controllers/Shared/SettingsViewController.m deleted file mode 100755 index d386c0f..0000000 --- a/Coderwall/Controllers/Shared/SettingsViewController.m +++ /dev/null @@ -1,97 +0,0 @@ - // -// SettingsViewController.m -// Coderwall -// -// Created by Will on 25/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "SettingsViewController.h" - -#import "UIViewController+appDelegateUser.h" -#import "User.h" - - -@interface SettingsViewController () - -@property (nonatomic, strong) IBOutlet UIImageView *backgroundImageView; -@property (nonatomic, strong) IBOutlet UITextField *usernameField; - -- (IBAction)userNameChanged:(id)sender; - -@end - - -@implementation SettingsViewController - -@synthesize backgroundImageView = _backgroundImageView; -@synthesize usernameField = _usernameField; - - -#pragma mark - UIViewController Overrides - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - UIImage *backgroundImage = [UIImage imageNamed:@"PanelBg.png"]; - backgroundImage = [backgroundImage resizableImageWithCapInsets:UIEdgeInsetsMake(10, 0, 15, 0)]; - self.backgroundImageView.image = backgroundImage; - self.usernameField.clearButtonMode = UITextFieldViewModeWhileEditing; -} - -- (void)viewWillAppear:(BOOL)animated -{ - NSString *username = [[NSUserDefaults standardUserDefaults] stringForKey:@"UserName"]; - self.usernameField.text = username; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - return UIInterfaceOrientationIsLandscape(interfaceOrientation); - } else { - return (interfaceOrientation == UIInterfaceOrientationPortrait); - } -} - - -#pragma mark - Internal Methods - -- (IBAction)userNameChanged:(id)sender -{ - if (self.usernameField.text.length > 0) { - NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; - [userDefaults setValue:self.usernameField.text forKey:@"UserName"]; - [userDefaults synchronize]; - - [self setCurrentUser:[[User alloc] initWithUsername:self.usernameField.text]]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"UserChanged" object:self]; - [self.navigationController popViewControllerAnimated:YES]; - - } else { - NSString *title = NSLocalizedString(@"You must enter a username!", - @"Alert title for invalid settings view input."); - NSString *cancelTitle = NSLocalizedString(@"OK", - @"Cancel button for invalid settings view input."); - - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title - message:nil - delegate:nil - cancelButtonTitle:cancelTitle - otherButtonTitles:nil]; - [alert show]; - } -} - -- (BOOL)textFieldShouldReturn:(UITextField *)textField { - if (textField == self.usernameField) { - [textField resignFirstResponder]; - [self userNameChanged:textField]; - return NO; - } - return YES; -} - -@end diff --git a/Coderwall/Controllers/iPad/BadgesCollectionViewController.h b/Coderwall/Controllers/iPad/BadgesCollectionViewController.h deleted file mode 100644 index e7a1ed8..0000000 --- a/Coderwall/Controllers/iPad/BadgesCollectionViewController.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// BadgesCollectionViewController.h -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import -#import - -@interface BadgesCollectionViewController : UICollectionViewController -{ - NSArray *badges; - - UIRefreshControl *_ios6RefreshHeaderView; - - EGORefreshTableHeaderView *_refreshHeaderView; - - BOOL _reloading; -} - -@property NSArray *badges; - -- (void)loadData; -@end diff --git a/Coderwall/Controllers/iPad/BadgesCollectionViewController.m b/Coderwall/Controllers/iPad/BadgesCollectionViewController.m deleted file mode 100644 index 1f896de..0000000 --- a/Coderwall/Controllers/iPad/BadgesCollectionViewController.m +++ /dev/null @@ -1,199 +0,0 @@ -// -// BadgesCollectionViewController.m -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import "BadgesCollectionViewController.h" -#import -#import -#import -#import -#import - -@interface BadgesCollectionViewController () - -@end - -@implementation BadgesCollectionViewController - -@synthesize badges; - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTable) name:@"UserChanged" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ConnectionError" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ResponseError" object:nil]; - return self; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - if (_refreshHeaderView == nil) { - - //if (![UIRefreshControl class]) { - - EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.collectionView.bounds.size.height, self.view.frame.size.width, self.collectionView.bounds.size.height)]; - view.delegate = self; - view.backgroundColor = [UIColor clearColor]; - [self.collectionView addSubview:view]; - _refreshHeaderView = view; - - [_refreshHeaderView refreshLastUpdatedDate]; - - /*} else { - - _ios6RefreshHeaderView = [[UIRefreshControl alloc]init]; - [_ios6RefreshHeaderView addTarget:self action:@selector(refreshTable:) forControlEvents:UIControlEventValueChanged UIControlEventValueChanged]; - [self.collectionView addSubview:_ios6RefreshHeaderView]; - - }*/ - } - - if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) - self.navigationController.navigationBar.tintColor = cwDarkGreyColor; - else - self.navigationController.navigationBar.barTintColor = cwDarkGreyColor; - - self.navigationController.navigationBar.translucent = NO; - self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; - - [self loadData]; -} - --(void)refreshTable:(UIRefreshControl *)sender -{ - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingCollectionViewData) withObject:nil afterDelay:0]; -} - -- (void)loadData -{ - User *user = [self currentUser]; - badges = [[NSArray alloc] initWithArray:user.badges]; -} - -- (void)reloadTable -{ - [self loadData]; - [self.collectionView reloadData]; - _reloading = NO; -} - --(void)resetReloading -{ - [self performSelector:@selector(doneLoadingCollectionViewData) withObject:nil afterDelay:0]; - _reloading = NO; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - return (interfaceOrientation == UIInterfaceOrientationPortrait); -} - -#pragma mark - Table view data source - -- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView -{ - return 1; -} - -- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section -{ - return [self.badges count] > 0 ? [self.badges count] : 1; -} - -// The cell that is returned must be retrieved from a call to -dequeueReusableCellWithReuseIdentifier:forIndexPath: -- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath -{ - if([self.badges count] == 0){ - EmptyCollectionViewCell *cell = (EmptyCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"emptyCell" forIndexPath:indexPath]; - [cell.title setText:@"No Badges Awarded Yet"]; - return cell; - } else { - BadgeCollectionViewCell *cell = (BadgeCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"badgeCell" forIndexPath:indexPath]; - NSDictionary *badge = [self.badges objectAtIndex:indexPath.item]; - - NSString *descriptionText = [badge objectForKey:@"description"]; - - [cell.title setText:[badge objectForKey:@"name"]]; - [cell.detail setText:descriptionText]; - - NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",[badge objectForKey:@"badge"]]]; - [cell.badge setImage:[ImageLoader loadImageFromURL:url usingCache:YES]]; - - return cell; - } -} - -#pragma mark - -#pragma mark Data Source Loading / Reloading Methods - -- (void)doneLoadingCollectionViewData{ - - // model should call this when its done loading - if (_refreshHeaderView != nil) - { - [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.collectionView]; - } - else - { - [_ios6RefreshHeaderView endRefreshing]; - } - -} - -#pragma mark - -#pragma mark UIScrollViewDelegate Methods - -- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ - - [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView]; - -} - -- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ - - if (_ios6RefreshHeaderView != nil) - { - [_ios6RefreshHeaderView beginRefreshing]; - [self refreshTable:_ios6RefreshHeaderView]; - } - else - { - [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView]; - } -} - -#pragma mark - -#pragma mark EGORefreshTableHeaderDelegate Methods - -- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{ - - _reloading = YES; - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingCollectionViewData) withObject:nil afterDelay:0]; - -} - -- (BOOL) egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{ - - return _reloading; // should return if data source model is reloading - -} - -- (NSDate*) egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{ - - return [NSDate date]; // should return date data source was last changed - -} - - -@end diff --git a/Coderwall/Controllers/iPad/DetailViewController.h b/Coderwall/Controllers/iPad/DetailViewController.h deleted file mode 100755 index 2d7963a..0000000 --- a/Coderwall/Controllers/iPad/DetailViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// DetailViewController.h -// Coderwall -// -// Created by Will on 04/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface DetailViewController : UITabBarController - -@end diff --git a/Coderwall/Controllers/iPad/DetailViewController.m b/Coderwall/Controllers/iPad/DetailViewController.m deleted file mode 100755 index aefd43c..0000000 --- a/Coderwall/Controllers/iPad/DetailViewController.m +++ /dev/null @@ -1,22 +0,0 @@ -// -// DetailViewController.m -// Coderwall -// -// Created by Will on 04/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "DetailViewController.h" - -@interface DetailViewController () - -@end - -@implementation DetailViewController - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight); -} - -@end diff --git a/Coderwall/Controllers/iPad/SummaryViewController.h b/Coderwall/Controllers/iPad/SummaryViewController.h deleted file mode 100755 index 59cd161..0000000 --- a/Coderwall/Controllers/iPad/SummaryViewController.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// SummaryViewController.h -// Coderwall -// -// Created by Will on 03/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import -#import "EGORefreshTableHeaderView.h" - -@interface SummaryViewController : UITableViewController -{ - NSArray *statsData; - NSArray *sections; - EGORefreshTableHeaderView *_refreshHeaderView; - BOOL _reloading; -} - -@property NSArray *statsData; -@property NSArray *sections; - -- (void)loadData; - -@end diff --git a/Coderwall/Controllers/iPad/SummaryViewController.m b/Coderwall/Controllers/iPad/SummaryViewController.m deleted file mode 100755 index 93647e8..0000000 --- a/Coderwall/Controllers/iPad/SummaryViewController.m +++ /dev/null @@ -1,290 +0,0 @@ -// -// SummaryViewController.m -// Coderwall -// -// Created by Will on 03/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "SummaryViewController.h" -#import "ProfileCell.h" -#import "StatCell.h" -#import "User.h" -#import "UIViewController+appDelegateUser.h" -#import "DejalActivityView.h" - -@interface SummaryViewController () - -@end - -@implementation SummaryViewController - -@synthesize statsData; -@synthesize sections; - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTable) name:@"UserChanged" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ConnectionError" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ResponseError" object:nil]; - return self; -} - -- (void)loadData -{ - [super viewDidLoad]; - - User *user = [self currentUser]; - - if(user != (id)[NSNull null] && ![user.userName isEqual: @""] && user.userName.length != 0){ - NSMutableArray *data = [[NSMutableArray alloc] init]; - NSMutableArray *keys = [[NSMutableArray alloc] init]; - NSMutableArray *stats; - - NSString *summaryDetails = @""; - - if(user.title != (id)[NSNull null] && user.title != nil) - summaryDetails = [summaryDetails stringByAppendingString:user.title]; - - if(summaryDetails.length != 0 && user.company != (id)[NSNull null] && user.company != nil && user.company.length != 0) - summaryDetails = [summaryDetails stringByAppendingString:@" at "]; - - if(user.company != (id)[NSNull null] && user.company != nil) - summaryDetails = [summaryDetails stringByAppendingString:user.company]; - - if(summaryDetails.length != 0) - summaryDetails = [summaryDetails stringByAppendingString:@"\n"]; - - summaryDetails = [summaryDetails stringByAppendingString:user.location]; - - NSArray *profileData;// = [NSArray alloc]; - NSArray *profileKeys;// = [NSArray alloc]; - - if(user.thumbnail != nil){ - profileData = [[NSArray alloc] initWithObjects:user.name,summaryDetails,user.thumbnail,nil]; - profileKeys = [[NSArray alloc] initWithObjects:@"fullName",@"summary",@"avatar", nil]; - } else { - profileData = [[NSArray alloc] initWithObjects:user.name,summaryDetails,nil]; - profileKeys = [[NSArray alloc] initWithObjects:@"fullName",@"summary", nil]; - } - NSDictionary *userProfile = [[NSDictionary alloc] initWithObjects:profileData forKeys: profileKeys]; - - [data addObject:[[NSArray alloc] initWithObjects:userProfile,nil]]; - [keys addObject:@"Profile"]; - - if(user.stats != (id)[NSNull null] && user.stats.count > 0) - stats = [[NSMutableArray alloc] initWithArray:user.stats]; - else - stats = [[NSMutableArray alloc] init]; - - // Create endorsements dictionary - NSArray *labels = [[NSArray alloc] initWithObjects:@"description", @"number",nil]; - NSArray *values = [[NSArray alloc] initWithObjects:@"Endorsements", user.endorsements, nil]; - NSDictionary *endorsements = [[NSDictionary alloc] initWithObjects:values forKeys:labels]; - [stats addObject:endorsements]; - [data addObject:stats]; - [keys addObject:@"Statistics"]; - - if(user.specialities != (id)[NSNull null] && user.specialities != nil){ - [data addObject:user.specialities]; - [keys addObject:@"Specialities"]; - } - - statsData = [[NSArray alloc] initWithArray:data]; - sections = [[NSArray alloc] initWithArray:keys]; - - if([NSStringFromClass([self.parentViewController class]) isEqualToString:@"MasterViewController"]){ - UIButton* fakeButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"inset-logo.png"]]; - UIBarButtonItem *fakeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:fakeButton]; - self.parentViewController.navigationItem.leftBarButtonItem = fakeButtonItem; - self.parentViewController.navigationItem.title = [[NSString alloc] initWithString:user.userName]; - } - } - - [self.tableView setBackgroundView:nil]; - - if (_refreshHeaderView == nil) { - - EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height)]; - view.delegate = self; - view.backgroundColor = [UIColor clearColor]; - [self.tableView addSubview:view]; - _refreshHeaderView = view; - - } - - // update the last update date - [_refreshHeaderView refreshLastUpdatedDate]; -} - -- (void)reloadTable -{ - [self loadData]; - [self.tableView reloadData]; - _reloading = NO; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - [self loadData]; -} - --(void)resetReloading -{ - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - _reloading = NO; -} - -- (void)viewDidAppear:(BOOL)animated -{ - [super viewDidAppear:animated]; - self.tableView.frame = CGRectMake(-10, 0, 330, self.tableView.frame.size.height); -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight); -} - -#pragma mark - Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView -{ - // Return the number of sections. - return self.sections.count; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -{ - return [(NSArray *)[self.statsData objectAtIndex:section] count]; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - - if([(NSString *)[sections objectAtIndex:indexPath.section] isEqual: @"Profile"]){ - - ProfileCell *cell = [tableView dequeueReusableCellWithIdentifier:@"profileCell"]; - NSArray *section = (NSArray *)[statsData objectAtIndex:indexPath.section]; - NSDictionary *item = (NSDictionary *)[section objectAtIndex:indexPath.row]; - cell.title.text = [item objectForKey:@"fullName"]; - cell.detail.text = [item objectForKey:@"summary"]; - [cell.avatar setImage:[UIImage imageNamed:@"defaultavatar.png"]]; - - if([item objectForKey:@"avatar"]){ - [DejalBezelActivityView activityViewForView:cell.avatar]; - dispatch_queue_t downloadQueue = dispatch_queue_create("download queue", NULL); - dispatch_async(downloadQueue, ^{ - User *user = [self currentUser]; - UIImage *userAvatar = [user getAvatar]; - NSArray * objs = [NSArray arrayWithObjects:cell.avatar,userAvatar, nil]; - [self performSelectorOnMainThread:@selector(setUserAvatar:) - withObject:objs - waitUntilDone:YES]; - }); - } - return cell; - - } else if([(NSString *)[sections objectAtIndex:indexPath.section] isEqual: @"Specialities"]){ - - StatCell *cell = [tableView dequeueReusableCellWithIdentifier:@"statCell"]; - NSString *item = (NSString *)[(NSArray *)[statsData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]; - cell.title.text = item; - cell.number.text = @""; - - return cell; - - } else { - - StatCell *cell = [tableView dequeueReusableCellWithIdentifier:@"statCell"]; - NSArray *section = (NSArray *)[statsData objectAtIndex:indexPath.section]; - NSDictionary *item = (NSDictionary *)[section objectAtIndex:indexPath.row]; - cell.title.text = [item objectForKey:@"description"]; - cell.number.text = [(NSNumber *)[item objectForKey:@"number"] stringValue]; - - return cell; - - } - -} - -- (void)setUserAvatar:(NSArray *)objs -{ - if([objs count]>1) - [[objs objectAtIndex:0] setImage:[objs objectAtIndex:1]]; - else - [[objs objectAtIndex:0] setImage:[UIImage imageNamed:@"defaultavatar.png"]]; - [DejalActivityView removeView]; -} - -- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { - - return [sections objectAtIndex:section]; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath -{ - if([(NSString *)[sections objectAtIndex:indexPath.section] isEqual: @"Profile"]){ - return 325; - } else { - - CGFloat height = 45; - - return height; - - } -} - - -#pragma mark - -#pragma mark Data Source Loading / Reloading Methods - -- (void)doneLoadingTableViewData{ - // model should call this when its done loading - [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView]; -} - - -#pragma mark - -#pragma mark UIScrollViewDelegate Methods - -- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ - - [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView]; - -} - -- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ - - [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView]; - -} - - -#pragma mark - -#pragma mark EGORefreshTableHeaderDelegate Methods - -- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{ - - _reloading = YES; - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - -} - -- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{ - - return _reloading; // should return if data source model is reloading - -} - -- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{ - - return [NSDate date]; // should return date data source was last changed - -} - -@end diff --git a/Coderwall/Controllers/iPhone/BadgesViewController.h b/Coderwall/Controllers/iPhone/BadgesViewController.h deleted file mode 100755 index ee3722b..0000000 --- a/Coderwall/Controllers/iPhone/BadgesViewController.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// BadgesViewController.h -// Coderwall -// -// Created by Will on 19/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import -#import "EGORefreshTableHeaderView.h" - -@interface BadgesViewController : UITableViewController -{ - NSArray *badges; - - UIRefreshControl *_ios6RefreshHeaderView; - - EGORefreshTableHeaderView *_refreshHeaderView; - - BOOL _reloading; -} - -@property NSArray *badges; - -- (void)loadData; - -@end diff --git a/Coderwall/Controllers/iPhone/BadgesViewController.m b/Coderwall/Controllers/iPhone/BadgesViewController.m deleted file mode 100755 index f994386..0000000 --- a/Coderwall/Controllers/iPhone/BadgesViewController.m +++ /dev/null @@ -1,209 +0,0 @@ -// -// BadgesViewController.m -// Coderwall -// -// Created by Will on 19/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "BadgesViewController.h" -#import "User.h" -#import "UIViewController+appDelegateUser.h" -#import "BadgeCell.h" -#import "ImageLoader.h" - -@interface BadgesViewController () - -@end - -@implementation BadgesViewController - -@synthesize badges; - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTable) name:@"UserChanged" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ConnectionError" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ResponseError" object:nil]; - return self; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - if (_refreshHeaderView == nil) { - - //if (![UIRefreshControl class]) { - - EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height)]; - view.delegate = self; - view.backgroundColor = [UIColor clearColor]; - [self.tableView addSubview:view]; - _refreshHeaderView = view; - [_refreshHeaderView refreshLastUpdatedDate]; - - /*} else { - - _ios6RefreshHeaderView = [[UIRefreshControl alloc]init]; - [_ios6RefreshHeaderView addTarget:self action:@selector(refreshTable:) forControlEvents:UIControlEventValueChanged]; - [_ios6RefreshHeaderView setTintColor: cwDarkGreyColor]; - self.refreshControl = _ios6RefreshHeaderView; - - }*/ - } - - [self loadData]; - -} - --(void)refreshTable:(UIRefreshControl *)sender -{ - NSLog(@"Refresh Table"); - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; -} - -- (void)loadData -{ - User *user = [self currentUser]; - badges = [[NSArray alloc] initWithArray:user.badges]; -} - -- (void)reloadTable -{ - [self loadData]; - [self.tableView reloadData]; - _reloading = NO; -} - --(void)resetReloading -{ - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - _reloading = NO; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - return (interfaceOrientation == UIInterfaceOrientationPortrait); -} - -#pragma mark - Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView -{ - // Return the number of sections. - return 1; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -{ - return [self.badges count] > 0 ? [self.badges count] : 1; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - if([self.badges count] == 0){ - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"emptyCell"]; - cell.textLabel.text = @"No Badges Awarded Yet"; - return cell; - } else { - BadgeCell *cell = [tableView dequeueReusableCellWithIdentifier:@"badgeCell"]; - - // Configure the cell... - NSDictionary *badge = [self.badges objectAtIndex:indexPath.row]; - [cell.title setText:[badge objectForKey:@"name"]]; - - NSString *descriptionText = [badge objectForKey:@"description"]; - [cell.detail setText:descriptionText]; - - NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@",[badge objectForKey:@"badge"]]]; - [cell.badge setImage:[ImageLoader loadImageFromURL:url usingCache:YES]]; - - return cell; - } -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath -{ - if([badges count]==0){ - return 100; - } else { - int height = 100; - if(indexPath.row == 0) - height += 10; - - if(indexPath.row == self.badges.count-1) - height+=10; - - return height; - } -} - -#pragma mark - -#pragma mark Data Source Loading / Reloading Methods - -- (void)doneLoadingTableViewData{ - - // model should call this when its done loading - if (_refreshHeaderView != nil) - { - [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView]; - } - else - { - [_ios6RefreshHeaderView endRefreshing]; - } - -} - -#pragma mark - -#pragma mark UIScrollViewDelegate Methods - -- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ - - [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView]; - -} - -- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ - - if (_ios6RefreshHeaderView != nil) - { - [_ios6RefreshHeaderView beginRefreshing]; - [self refreshTable:_ios6RefreshHeaderView]; - } - else - { - [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView]; - } -} - -#pragma mark - -#pragma mark EGORefreshTableHeaderDelegate Methods - -- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{ - - _reloading = YES; - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - -} - -- (BOOL) egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{ - - return _reloading; // should return if data source model is reloading - -} - -- (NSDate*) egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{ - - return [NSDate date]; // should return date data source was last changed - -} - - -@end \ No newline at end of file diff --git a/Coderwall/Controllers/iPhone/ProfileViewController.h b/Coderwall/Controllers/iPhone/ProfileViewController.h deleted file mode 100755 index 77339b5..0000000 --- a/Coderwall/Controllers/iPhone/ProfileViewController.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// ProfileViewController.h -// Coderwall -// -// Created by Will on 18/02/2012. -// Copyright (c) 2012 __MyCompanyName__. All rights reserved. -// - -#import -#import "EGORefreshTableHeaderView.h" -#import "AvatarView.h" - -@interface ProfileViewController : UIViewController -{ - IBOutlet UILabel *fullName; - IBOutlet UILabel *summary; - IBOutlet AvatarView *avatar; - IBOutlet UIScrollView *profileScrollView; - - UIRefreshControl *_ios6RefreshHeaderView; - - EGORefreshTableHeaderView *_refreshHeaderView; - - - - // Reloading var should really be your tableviews datasource - // Putting it here for demo purposes - BOOL _reloading; -} - -@end diff --git a/Coderwall/Controllers/iPhone/ProfileViewController.m b/Coderwall/Controllers/iPhone/ProfileViewController.m deleted file mode 100755 index c7d6b39..0000000 --- a/Coderwall/Controllers/iPhone/ProfileViewController.m +++ /dev/null @@ -1,214 +0,0 @@ -// -// ProfileViewController.m -// Coderwall -// -// Created by Will on 18/02/2012. -// Copyright (c) 2012 __MyCompanyName__. All rights reserved. -// - -#import "ProfileViewController.h" -#import "UIViewController+appDelegateUser.h" -#import "User.h" -#import "DejalActivityView.h" - -@interface ProfileViewController () - -@end - -@implementation ProfileViewController - -- (id) initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadView) name:@"UserChanged" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ConnectionError" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ResponseError" object:nil]; - return self; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - // Do any additional setup after loading the view, typically from a nib. - if (_refreshHeaderView == nil) { - - //if (![UIRefreshControl class]) { - EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - profileScrollView.bounds.size.height, profileScrollView.frame.size.width, profileScrollView.bounds.size.height)]; - view.delegate = self; - view.backgroundColor = [UIColor clearColor]; - [profileScrollView addSubview:view]; - _refreshHeaderView = view; - - // update the last update date - [_refreshHeaderView refreshLastUpdatedDate]; - - /*} - else - { - _ios6RefreshHeaderView = [[UIRefreshControl alloc]init]; - [_ios6RefreshHeaderView addTarget:self action:@selector(refreshTable:) forControlEvents:UIControlEventValueChanged]; - [profileScrollView addSubview:_ios6RefreshHeaderView]; - }*/ - - } - - if([summary.text isEqual: @"Summary"]) - [summary setText:@""]; - - if([fullName.text isEqual: @"Full Name"]) - [fullName setText:@""]; - - [self loadData]; - -} - --(void)refreshTable:(UIRefreshControl *)sender -{ - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; -} - -- (void)loadData -{ - - User *user = [self currentUser]; - if(user != (id)[NSNull null] && ![user.userName isEqual: @""] && user.userName.length != 0){ - [fullName setText:user.name]; - NSString *summaryDetails = @""; - - if(user.title != (id)[NSNull null] && user.title != nil) - summaryDetails = [summaryDetails stringByAppendingString:user.title]; - - if(summaryDetails.length != 0 && user.company != (id)[NSNull null] && user.company != nil && user.company.length != 0) - summaryDetails = [summaryDetails stringByAppendingString:@" at "]; - - if(user.company != (id)[NSNull null] && user.company != nil) - summaryDetails = [summaryDetails stringByAppendingString:user.company]; - - if(summaryDetails.length != 0) - summaryDetails = [summaryDetails stringByAppendingString:@"\n"]; - - summaryDetails = [summaryDetails stringByAppendingString:user.location]; - - [summary setText:summaryDetails]; - - [avatar setImage:[UIImage imageNamed:@"defaultavatar.png"]]; - if(user.thumbnail != nil){ - [DejalBezelActivityView activityViewForView:avatar]; - dispatch_queue_t downloadQueue = dispatch_queue_create("avatar downloader", NULL); - dispatch_async(downloadQueue,^{ - UIImage *userAvatar = [user getAvatar]; - [self performSelectorOnMainThread:@selector(setUserAvatar:) - withObject:userAvatar - waitUntilDone:YES]; - }); - } - } else { - [summary setText:@""]; - [fullName setText:@""]; - [avatar setImage:[UIImage imageNamed:@"defaultavatar.png"]]; - } - - -} - -- (void)setUserAvatar:(UIImage *)userAvatar -{ - if(userAvatar) - [avatar setImage:userAvatar]; - else - [avatar setImage:[UIImage imageNamed:@"defaultavatar.png"]]; - - [avatar setContentMode:UIViewContentModeScaleAspectFill]; - [avatar setClipsToBounds:YES]; - - [DejalActivityView removeView]; - -} - --(void)reloadView -{ - _reloading = NO; - [self loadData]; -} - --(void)resetReloading -{ - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - _reloading = NO; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) - return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight); - else - return (interfaceOrientation == UIInterfaceOrientationPortrait); -} - -#pragma mark - -#pragma mark Data Source Loading / Reloading Methods - -- (void)doneLoadingTableViewData{ - - // model should call this when its done loading - if (_refreshHeaderView != nil) - { - [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:profileScrollView]; - } - else - { - [_ios6RefreshHeaderView endRefreshing]; - } - -} - - -#pragma mark - -#pragma mark UIScrollViewDelegate Methods - -- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ - - [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView]; - -} - -- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ - - if (_ios6RefreshHeaderView != nil) - { - [_ios6RefreshHeaderView beginRefreshing]; - [self refreshTable:_ios6RefreshHeaderView]; - } - else - { - [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView]; - } -} - -#pragma mark - -#pragma mark EGORefreshTableHeaderDelegate Methods - -- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{ - - _reloading = YES; - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - -} - -- (BOOL) egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{ - - return _reloading; // should return if data source model is reloading - -} - -- (NSDate*) egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{ - - return [NSDate date]; // should return date data source was last changed - -} - -@end diff --git a/Coderwall/Controllers/iPhone/StatsViewController.h b/Coderwall/Controllers/iPhone/StatsViewController.h deleted file mode 100755 index 6f16c0f..0000000 --- a/Coderwall/Controllers/iPhone/StatsViewController.h +++ /dev/null @@ -1,29 +0,0 @@ -// -// StatsViewControllerViewController.h -// Coderwall -// -// Created by Will on 21/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import -#import "EGORefreshTableHeaderView.h" - -@interface StatsViewController : UITableViewController -{ - NSArray *statsData; - NSArray *sections; - UIRefreshControl *_ios6RefreshHeaderView; - - EGORefreshTableHeaderView *_refreshHeaderView; - // Reloading var should really be your tableviews datasource - // Putting it here for demo purposes - BOOL _reloading; -} - -@property NSArray *statsData; -@property NSArray *sections; - -- (void) loadData; - -@end diff --git a/Coderwall/Controllers/iPhone/StatsViewController.m b/Coderwall/Controllers/iPhone/StatsViewController.m deleted file mode 100755 index d00691b..0000000 --- a/Coderwall/Controllers/iPhone/StatsViewController.m +++ /dev/null @@ -1,227 +0,0 @@ -// -// StatsViewControllerViewController.m -// Coderwall -// -// Created by Will on 21/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "StatsViewController.h" -#import "UIViewController+appDelegateUser.h" -#import "User.h" -#import "StatCell.h" - -@interface StatsViewController () - -@end - -@implementation StatsViewController - -@synthesize statsData; -@synthesize sections; - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTable) name:@"UserChanged" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ConnectionError" object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetReloading) name:@"ResponseError" object:nil]; - return self; -} - -- (void)viewDidLoad -{ - [super viewDidLoad]; - - if (_refreshHeaderView == nil) { - - //if (![UIRefreshControl class]) { - EGORefreshTableHeaderView *view = [[EGORefreshTableHeaderView alloc] initWithFrame:CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height)]; - view.delegate = self; - view.backgroundColor = [UIColor clearColor]; - [self.tableView addSubview:view]; - _refreshHeaderView = view; - - [_refreshHeaderView refreshLastUpdatedDate]; - /*} - - else - { - _ios6RefreshHeaderView = [[UIRefreshControl alloc]init]; - [_ios6RefreshHeaderView addTarget:self action:@selector(refreshTable:) forControlEvents:UIControlEventValueChanged]; - self.refreshControl = _ios6RefreshHeaderView; - }*/ - } - - [self loadData]; -} - --(void)refreshTable:(UIRefreshControl *)refresh -{ - _reloading = YES; - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; -} - -- (void)loadData -{ - - User *user = [self currentUser]; - NSMutableArray *data = [[NSMutableArray alloc] init]; - NSMutableArray *keys = [[NSMutableArray alloc] init]; - NSMutableArray *stats; - - if(user.stats != (id)[NSNull null] && user.stats.count > 0) - stats = [[NSMutableArray alloc] initWithArray:user.stats]; - else - stats = [[NSMutableArray alloc] init]; - - // Create endorsements dictionary - NSArray *labels = [[NSArray alloc] initWithObjects:@"description", @"number",nil]; - NSArray *values = [[NSArray alloc] initWithObjects:@"Endorsements", (user.endorsements != nil) ? user.endorsements: [NSNumber numberWithInt:0], nil]; - NSDictionary *endorsements = [[NSDictionary alloc] initWithObjects:values forKeys:labels]; - [stats addObject:endorsements]; - [data addObject:stats]; - [keys addObject:@"Statistics"]; - - if(user.specialities != nil && user.specialities != (id)[NSNull null]){ - [data addObject:user.specialities]; - [keys addObject:@"Specialities"]; - } - - statsData = [[NSArray alloc] initWithArray:data]; - sections = [[NSArray alloc] initWithArray:keys]; - -} - -- (void)reloadTable -{ - [self loadData]; - [self.tableView reloadData]; - _reloading = NO; -} - --(void)resetReloading -{ - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - _reloading = NO; -} - - -- (void)viewDidAppear:(BOOL)animated -{ - [super viewDidAppear:animated]; - self.tableView.frame = CGRectMake(-10, 0, 330, self.tableView.frame.size.height); -} - -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation -{ - return (interfaceOrientation == UIInterfaceOrientationPortrait); -} - -#pragma mark - Table view data source - -- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView -{ - // Return the number of sections. - return [self.sections count]; -} - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -{ - return [(NSArray *)[self.statsData objectAtIndex:section] count]; -} - -- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - - StatCell *cell = [tableView dequeueReusableCellWithIdentifier:@"statCell"]; - if([(NSString *)[sections objectAtIndex:indexPath.section] isEqual: @"Specialities"]){ - NSString *item = (NSString *)[(NSArray *)[statsData objectAtIndex:indexPath.section] objectAtIndex:indexPath.row]; - cell.title.text = item; - cell.number.text = @""; - } else { - NSArray *section = (NSArray *)[statsData objectAtIndex:indexPath.section]; - NSDictionary *item = (NSDictionary *)[section objectAtIndex:indexPath.row]; - cell.title.text = [item objectForKey:@"description"]; - cell.number.text = [(NSNumber *)[item objectForKey:@"number"] stringValue]; - } - - return cell; -} - -- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { - - return [sections objectAtIndex:section]; -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath -{ - return 45; -} - -#pragma mark - -#pragma mark Data Source Loading / Reloading Methods - -- (void)doneLoadingTableViewData{ - - // model should call this when its done loading - if (_refreshHeaderView != nil) - { - [_refreshHeaderView egoRefreshScrollViewDataSourceDidFinishedLoading:self.tableView]; - } - else - { - [_ios6RefreshHeaderView endRefreshing]; - } - -} - -#pragma mark - -#pragma mark UIScrollViewDelegate Methods - -- (void)scrollViewDidScroll:(UIScrollView *)scrollView{ - - [_refreshHeaderView egoRefreshScrollViewDidScroll:scrollView]; - -} - -- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ - - if (_ios6RefreshHeaderView != nil) - { - [_ios6RefreshHeaderView beginRefreshing]; - [self refreshTable:_ios6RefreshHeaderView]; - } - else - { - [_refreshHeaderView egoRefreshScrollViewDidEndDragging:scrollView]; - } -} - -#pragma mark - -#pragma mark EGORefreshTableHeaderDelegate Methods - -- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view{ - - _reloading = YES; - User *user = [self currentUser]; - [user refresh]; - [self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:0]; - -} - -- (BOOL) egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view{ - - return _reloading; // should return if data source model is reloading - -} - -- (NSDate*) egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view{ - - return [NSDate date]; // should return date data source was last changed - -} - -@end diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29-1.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29-1.png deleted file mode 100644 index 6f81eb7..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29-1.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29.png deleted file mode 100644 index 6f81eb7..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png deleted file mode 100644 index 1a1fb0e..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x-1.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png deleted file mode 100644 index 1a1fb0e..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon29x29@2x.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40.png deleted file mode 100644 index e030a7c..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x-1.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x-1.png deleted file mode 100644 index 7339a09..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x-1.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png deleted file mode 100644 index 7339a09..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon40x40@2x.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon50x50.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon50x50.png deleted file mode 100644 index bfc1588..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon50x50.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon50x50@2x.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon50x50@2x.png deleted file mode 100644 index f1ad3ca..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon50x50@2x.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon57x57.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon57x57.png deleted file mode 100644 index d50ded4..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon57x57.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon57x57@2x.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon57x57@2x.png deleted file mode 100644 index 54873fb..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon57x57@2x.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png deleted file mode 100644 index 321594b..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon60x60@2x.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon72x72.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon72x72.png deleted file mode 100644 index 2d55ce4..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon72x72.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon72x72@2x.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon72x72@2x.png deleted file mode 100644 index 3d84897..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon72x72@2x.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon76x76.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon76x76.png deleted file mode 100644 index beb47c9..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon76x76.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon76x76@2x.png b/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon76x76@2x.png deleted file mode 100644 index fe61e77..0000000 Binary files a/Coderwall/Images.xcassets/AppIcon.appiconset/AppIcon76x76@2x.png and /dev/null differ diff --git a/Coderwall/Images.xcassets/AppIcon.appiconset/Contents.json b/Coderwall/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 3c6d38a..0000000 --- a/Coderwall/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "images" : [ - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "AppIcon29x29.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "AppIcon29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "AppIcon40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "57x57", - "idiom" : "iphone", - "filename" : "AppIcon57x57.png", - "scale" : "1x" - }, - { - "size" : "57x57", - "idiom" : "iphone", - "filename" : "AppIcon57x57@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "AppIcon60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "AppIcon29x29-1.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "AppIcon29x29@2x-1.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "AppIcon40x40.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "AppIcon40x40@2x-1.png", - "scale" : "2x" - }, - { - "size" : "50x50", - "idiom" : "ipad", - "filename" : "AppIcon50x50.png", - "scale" : "1x" - }, - { - "size" : "50x50", - "idiom" : "ipad", - "filename" : "AppIcon50x50@2x.png", - "scale" : "2x" - }, - { - "size" : "72x72", - "idiom" : "ipad", - "filename" : "AppIcon72x72.png", - "scale" : "1x" - }, - { - "size" : "72x72", - "idiom" : "ipad", - "filename" : "AppIcon72x72@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "AppIcon76x76.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "AppIcon76x76@2x.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Coderwall/Images.xcassets/LaunchImage.launchimage/Contents.json b/Coderwall/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index 0e8b0ff..0000000 --- a/Coderwall/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "images" : [ - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Coderwall/Models/ImageLoader.h b/Coderwall/Models/ImageLoader.h deleted file mode 100755 index 9f8ec4d..0000000 --- a/Coderwall/Models/ImageLoader.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// ImageLoader.h -// Coderwall -// -// Created by Will on 24/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface ImageLoader : NSObject -{ - NSMutableData *receivedData; -} - -+ (UIImage *) loadImageFromURL:(NSURL *)url usingCache:(BOOL) useCache; - -@end diff --git a/Coderwall/Models/ImageLoader.m b/Coderwall/Models/ImageLoader.m deleted file mode 100755 index fcd6ce3..0000000 --- a/Coderwall/Models/ImageLoader.m +++ /dev/null @@ -1,39 +0,0 @@ -// -// ImageLoader.m -// Coderwall -// -// Created by Will on 24/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "ImageLoader.h" - -@implementation ImageLoader - -+ (UIImage *) loadImageFromURL:(NSURL *)url usingCache:(BOOL)useCache -{ - NSURLRequestCachePolicy connectionCache = (useCache) ? NSURLRequestUseProtocolCachePolicy : NSURLRequestReloadRevalidatingCacheData; - NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url - cachePolicy:connectionCache - timeoutInterval:60.0]; - NSError *error = [[NSError alloc] init]; - NSHTTPURLResponse *responseCode = nil; - NSData *imageData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&responseCode error:&error]; - if(responseCode) - return [UIImage imageWithData:imageData]; - else - return nil; -} - -- (NSCachedURLResponse *)connection:(NSURLConnection *)connection - willCacheResponse:(NSCachedURLResponse *)cachedResponse -{ - NSCachedURLResponse *memOnlyCachedResponse = - [[NSCachedURLResponse alloc] initWithResponse:cachedResponse.response - data:cachedResponse.data - userInfo:cachedResponse.userInfo - storagePolicy:NSURLCacheStorageAllowedInMemoryOnly]; - return memOnlyCachedResponse; -} - -@end diff --git a/Coderwall/Models/User.h b/Coderwall/Models/User.h deleted file mode 100755 index 1d65aea..0000000 --- a/Coderwall/Models/User.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// User.h -// Coderwall -// -// Created by Will on 17/02/2012. -// Copyright 2012 __MyCompanyName__. All rights reserved. -// - -#import - -@interface User : NSObject -{ - - @private - NSString *__strong userName; - NSString *__strong name; - NSString *__strong location; - NSString *__strong title; - NSString *__strong company; - NSString *__strong thumbnail; - NSNumber *__strong endorsements; - NSArray *__strong badges; - NSArray *__strong accomplishments; - NSArray *__strong stats; - NSArray *__strong specialities; - NSMutableData *receivedData; - -} - -@property (strong) NSString *userName; -@property (strong) NSString *name; -@property (strong) NSString *location; -@property (strong) NSString *title; -@property (strong) NSString *company; -@property (strong) NSString *thumbnail; -@property (strong) NSNumber *endorsements; -@property (strong) NSArray *badges; -@property (strong) NSArray *accomplishments; -@property (strong) NSArray *stats; -@property (strong) NSArray *specialities; - -- (id) initWithUsername:(NSString *) userName; -- (void) load:(NSString *) userName withCache:(BOOL) useCache; -- (void) refresh; -- (void) setDetails:(NSDictionary *) details; -- (UIImage *) getAvatar; - -@end diff --git a/Coderwall/Models/User.m b/Coderwall/Models/User.m deleted file mode 100755 index 1c4bab9..0000000 --- a/Coderwall/Models/User.m +++ /dev/null @@ -1,141 +0,0 @@ -// -// User.m -// Coderwall -// -// Created by Will on 17/02/2012. -// Copyright 2012 Bearded Apps. All rights reserved. -// - -#import "User.h" -#import "SBJson4.h" -#import "ImageLoader.h" - -@implementation User - -@synthesize userName; -@synthesize name; -@synthesize location; -@synthesize title; -@synthesize company; -@synthesize thumbnail; -@synthesize endorsements; -@synthesize badges; -@synthesize accomplishments; -@synthesize stats; -@synthesize specialities; - -- (id)init -{ - return [self initWithUsername:@""]; -} - -- (id) initWithUsername:(NSString *) user -{ - self = [super init]; - - [self load:user withCache:YES]; - - return self; -} - -- (void) load:(NSString *) user withCache:(BOOL) useCache -{ - NSURLRequestCachePolicy connectionCache = (useCache) ? NSURLRequestUseProtocolCachePolicy : NSURLRequestReloadRevalidatingCacheData; - NSString *urlString = [NSString stringWithFormat:@"http://coderwall.com/%@.json?full=true", user]; - NSURLRequest *urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString ] - cachePolicy:connectionCache - timeoutInterval:60.0]; - - NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self]; - - if (connection) { - receivedData = [NSMutableData data]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"Loading" object:self]; - } else { - [[NSNotificationCenter defaultCenter] postNotificationName:@"ConnectionError" object:connection]; - } -} - -- (void) refresh -{ - [self load:self.userName withCache:NO]; -} - -- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response -{ - NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response; - int code = (int)[httpResponse statusCode]; - if(code == 200){ - [receivedData setLength:0]; - } else { - [connection cancel]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"LoadingFinished" object:self]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"ResponseError" object:response]; - } -} - -- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data -{ - - // Append the new data to receivedData. - // receivedData is an instance variable declared elsewhere. - [receivedData appendData:data]; -} - -- (void)connectionDidFinishLoading:(NSURLConnection *)connection -{ - NSString *response = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding]; - NSData *data = [response dataUsingEncoding:NSUTF8StringEncoding]; - [self setDetails:[NSJSONSerialization JSONObjectWithData:data options:0 error:nil]]; -} - -- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error -{ - [[NSNotificationCenter defaultCenter] postNotificationName:@"LoadingFinished" object:self]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"ConnectionError" object:connection]; -} - -- (void) setDetails:(NSDictionary *) details -{ - @try{ - self.userName = [details objectForKey:@"username"] ? [details objectForKey:@"username"] : @""; - self.name = [details objectForKey:@"name"] ? [details objectForKey:@"name"] : @""; - self.location = [details objectForKey:@"location"] ? [details objectForKey:@"location"]: nil; - self.title = [details objectForKey:@"title"] ? [details objectForKey:@"title"] : nil; - self.company = [details objectForKey:@"company"] ? [details objectForKey:@"company"] : nil; - self.thumbnail = [details objectForKey:@"thumbnail"] ? [details objectForKey:@"thumbnail"] : nil; - self.endorsements = [details objectForKey:@"endorsements"] ? [details objectForKey:@"endorsements"] : 0; - self.badges = [details objectForKey:@"badges"] ? [details objectForKey:@"badges"] : nil; - self.accomplishments = [details objectForKey:@"accomplishments"] ? [details objectForKey:@"accomplishments"] : nil; - self.stats = [details objectForKey:@"stats"] ? [details objectForKey:@"stats"] : nil; - self.specialities = [details objectForKey:@"specialities"] ? [details objectForKey:@"specialities"] : nil; - [[NSNotificationCenter defaultCenter] postNotificationName:@"LoadingFinished" object:self]; - [[NSNotificationCenter defaultCenter] postNotificationName:@"UserChanged" object:self]; - } - @catch(NSException *e) - { - NSLog(@"Exception: %@", e); - } - -} - -- (UIImage *) getAvatar -{ - int size = 200; - if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2) - size = 400; - - NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?s=%d",self.thumbnail,size]]; - NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url - cachePolicy:NSURLRequestUseProtocolCachePolicy - timeoutInterval:60.0]; - NSError *error = [[NSError alloc] init]; - NSHTTPURLResponse *responseCode = nil; - NSData *imageData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&responseCode error:&error]; - if(responseCode) - return [UIImage imageWithData:imageData]; - else - return [UIImage imageNamed:@"defaultavatar.png"]; -} - -@end diff --git a/Coderwall/Resources-old/Retina/app-icon-retina.png b/Coderwall/Resources-old/Retina/app-icon-retina.png deleted file mode 100755 index e3637f3..0000000 Binary files a/Coderwall/Resources-old/Retina/app-icon-retina.png and /dev/null differ diff --git a/Coderwall/Resources-old/Standard/app-icon.png b/Coderwall/Resources-old/Standard/app-icon.png deleted file mode 100755 index 0ed7b6e..0000000 Binary files a/Coderwall/Resources-old/Standard/app-icon.png and /dev/null differ diff --git a/Coderwall/Resources-old/Standard/inset-logo.png b/Coderwall/Resources-old/Standard/inset-logo.png deleted file mode 100755 index 06f2916..0000000 Binary files a/Coderwall/Resources-old/Standard/inset-logo.png and /dev/null differ diff --git a/Coderwall/Resources-old/iPad/app-icon-ipad.png b/Coderwall/Resources-old/iPad/app-icon-ipad.png deleted file mode 100755 index b236851..0000000 Binary files a/Coderwall/Resources-old/iPad/app-icon-ipad.png and /dev/null differ diff --git a/Coderwall/Resources-old/iPad/iPadBadgeBg.png b/Coderwall/Resources-old/iPad/iPadBadgeBg.png deleted file mode 100755 index 372a6ab..0000000 Binary files a/Coderwall/Resources-old/iPad/iPadBadgeBg.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/PanelBg.png b/Coderwall/Resources/Shared/PanelBg.png deleted file mode 100755 index a77491a..0000000 Binary files a/Coderwall/Resources/Shared/PanelBg.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/PanelBg@2x.png b/Coderwall/Resources/Shared/PanelBg@2x.png deleted file mode 100755 index 718a6bf..0000000 Binary files a/Coderwall/Resources/Shared/PanelBg@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/TableBottomBg.png b/Coderwall/Resources/Shared/TableBottomBg.png deleted file mode 100755 index d68fe6c..0000000 Binary files a/Coderwall/Resources/Shared/TableBottomBg.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/TableBottomBg@2x.png b/Coderwall/Resources/Shared/TableBottomBg@2x.png deleted file mode 100755 index 2404ce5..0000000 Binary files a/Coderwall/Resources/Shared/TableBottomBg@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/TableMiddleBg.png b/Coderwall/Resources/Shared/TableMiddleBg.png deleted file mode 100755 index 4a32ff4..0000000 Binary files a/Coderwall/Resources/Shared/TableMiddleBg.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/TableMiddleBg@2x.png b/Coderwall/Resources/Shared/TableMiddleBg@2x.png deleted file mode 100755 index 7fbcf3b..0000000 Binary files a/Coderwall/Resources/Shared/TableMiddleBg@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/TableTopBg.png b/Coderwall/Resources/Shared/TableTopBg.png deleted file mode 100755 index 6a6abdc..0000000 Binary files a/Coderwall/Resources/Shared/TableTopBg.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/TableTopBg@2x.png b/Coderwall/Resources/Shared/TableTopBg@2x.png deleted file mode 100755 index 455b6ff..0000000 Binary files a/Coderwall/Resources/Shared/TableTopBg@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/accomplishments.png b/Coderwall/Resources/Shared/accomplishments.png deleted file mode 100755 index 4dc743c..0000000 Binary files a/Coderwall/Resources/Shared/accomplishments.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/accomplishments@2x.png b/Coderwall/Resources/Shared/accomplishments@2x.png deleted file mode 100755 index b44b2d8..0000000 Binary files a/Coderwall/Resources/Shared/accomplishments@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/app-store-icon.png b/Coderwall/Resources/Shared/app-store-icon.png deleted file mode 100755 index d039c8e..0000000 Binary files a/Coderwall/Resources/Shared/app-store-icon.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/app-store-icon@2x.png b/Coderwall/Resources/Shared/app-store-icon@2x.png deleted file mode 100755 index fd38333..0000000 Binary files a/Coderwall/Resources/Shared/app-store-icon@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/badges.png b/Coderwall/Resources/Shared/badges.png deleted file mode 100755 index 59eda63..0000000 Binary files a/Coderwall/Resources/Shared/badges.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/badges@2x.png b/Coderwall/Resources/Shared/badges@2x.png deleted file mode 100755 index 8067be1..0000000 Binary files a/Coderwall/Resources/Shared/badges@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/defaultavatar.png b/Coderwall/Resources/Shared/defaultavatar.png deleted file mode 100755 index ac84c77..0000000 Binary files a/Coderwall/Resources/Shared/defaultavatar.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/inset-logo.png b/Coderwall/Resources/Shared/inset-logo.png deleted file mode 100755 index a882da3..0000000 Binary files a/Coderwall/Resources/Shared/inset-logo.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/inset-logo@2x.png b/Coderwall/Resources/Shared/inset-logo@2x.png deleted file mode 100755 index 1fbc86d..0000000 Binary files a/Coderwall/Resources/Shared/inset-logo@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/profile.png b/Coderwall/Resources/Shared/profile.png deleted file mode 100755 index b22b1c6..0000000 Binary files a/Coderwall/Resources/Shared/profile.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/profile@2x.png b/Coderwall/Resources/Shared/profile@2x.png deleted file mode 100755 index 68adf4d..0000000 Binary files a/Coderwall/Resources/Shared/profile@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/search.png b/Coderwall/Resources/Shared/search.png deleted file mode 100755 index 008d876..0000000 Binary files a/Coderwall/Resources/Shared/search.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/search@2x.png b/Coderwall/Resources/Shared/search@2x.png deleted file mode 100755 index 3b427bf..0000000 Binary files a/Coderwall/Resources/Shared/search@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/settings.png b/Coderwall/Resources/Shared/settings.png deleted file mode 100755 index 546195b..0000000 Binary files a/Coderwall/Resources/Shared/settings.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/settings@2x.png b/Coderwall/Resources/Shared/settings@2x.png deleted file mode 100755 index d33d9ab..0000000 Binary files a/Coderwall/Resources/Shared/settings@2x.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/stats.png b/Coderwall/Resources/Shared/stats.png deleted file mode 100755 index a73e1d8..0000000 Binary files a/Coderwall/Resources/Shared/stats.png and /dev/null differ diff --git a/Coderwall/Resources/Shared/stats@2x.png b/Coderwall/Resources/Shared/stats@2x.png deleted file mode 100755 index 007a088..0000000 Binary files a/Coderwall/Resources/Shared/stats@2x.png and /dev/null differ diff --git a/Coderwall/Resources/iPad/app-icon-ipad.png b/Coderwall/Resources/iPad/app-icon-ipad.png deleted file mode 100755 index 89e28a2..0000000 Binary files a/Coderwall/Resources/iPad/app-icon-ipad.png and /dev/null differ diff --git a/Coderwall/Resources/iPad/app-icon-ipad@2x.png b/Coderwall/Resources/iPad/app-icon-ipad@2x.png deleted file mode 100755 index 45bf9a2..0000000 Binary files a/Coderwall/Resources/iPad/app-icon-ipad@2x.png and /dev/null differ diff --git a/Coderwall/Resources/iPad/iPadBadgeBg.png b/Coderwall/Resources/iPad/iPadBadgeBg.png deleted file mode 100755 index 69047e2..0000000 Binary files a/Coderwall/Resources/iPad/iPadBadgeBg.png and /dev/null differ diff --git a/Coderwall/Resources/iPad/iPadBadgeBg@2x.png b/Coderwall/Resources/iPad/iPadBadgeBg@2x.png deleted file mode 100755 index 1599f10..0000000 Binary files a/Coderwall/Resources/iPad/iPadBadgeBg@2x.png and /dev/null differ diff --git a/Coderwall/Resources/iPhone/app-icon-iphone.png b/Coderwall/Resources/iPhone/app-icon-iphone.png deleted file mode 100755 index 2dc9ecc..0000000 Binary files a/Coderwall/Resources/iPhone/app-icon-iphone.png and /dev/null differ diff --git a/Coderwall/Resources/iPhone/app-icon-iphone@2x.png b/Coderwall/Resources/iPhone/app-icon-iphone@2x.png deleted file mode 100755 index 57a81de..0000000 Binary files a/Coderwall/Resources/iPhone/app-icon-iphone@2x.png and /dev/null differ diff --git a/Coderwall/Views/.DS_Store b/Coderwall/Views/.DS_Store deleted file mode 100755 index 5008ddf..0000000 Binary files a/Coderwall/Views/.DS_Store and /dev/null differ diff --git a/Coderwall/Views/View Extensions/AccomplishmentCell.h b/Coderwall/Views/View Extensions/AccomplishmentCell.h deleted file mode 100755 index 9eb4637..0000000 --- a/Coderwall/Views/View Extensions/AccomplishmentCell.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// AccomplishmentsViewCell.h -// Coderwall -// -// Created by Will on 20/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface AccomplishmentCell : UITableViewCell -{ - IBOutlet UILabel *__weak detail; - IBOutlet NSLayoutConstraint *__weak textHeight; -} -@property (weak) UILabel *detail; -@property (weak) NSLayoutConstraint *textHeight; - -@end diff --git a/Coderwall/Views/View Extensions/AccomplishmentsCell.m b/Coderwall/Views/View Extensions/AccomplishmentsCell.m deleted file mode 100755 index e8e8b0d..0000000 --- a/Coderwall/Views/View Extensions/AccomplishmentsCell.m +++ /dev/null @@ -1,31 +0,0 @@ -// -// AccomplishmentsViewCell.m -// Coderwall -// -// Created by Will on 20/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "AccomplishmentCell.h" - -@implementation AccomplishmentCell - -@synthesize detail, textHeight; - -- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier -{ - self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; - if (self) { - // Initialization code - } - return self; -} - -- (void)setSelected:(BOOL)selected animated:(BOOL)animated -{ - [super setSelected:selected animated:animated]; - - // Configure the view for the selected state -} - -@end diff --git a/Coderwall/Views/View Extensions/AvatarView.h b/Coderwall/Views/View Extensions/AvatarView.h deleted file mode 100644 index d9bb16e..0000000 --- a/Coderwall/Views/View Extensions/AvatarView.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// AvatarView.h -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import - -@interface AvatarView : UIView - -@property (nonatomic, strong) UIImage *image; - -@end diff --git a/Coderwall/Views/View Extensions/AvatarView.m b/Coderwall/Views/View Extensions/AvatarView.m deleted file mode 100644 index 7fe7ab5..0000000 --- a/Coderwall/Views/View Extensions/AvatarView.m +++ /dev/null @@ -1,152 +0,0 @@ -// -// AvatarView.m -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import "AvatarView.h" - -@interface AvatarView () - -- (void)setup; - -@end - -@implementation AvatarView - -@synthesize image = _image; - -- (void)setImage:(UIImage *)image -{ - _image = image; - - [self setNeedsDisplay]; -} - -- (void)setup -{ - self.backgroundColor = [UIColor clearColor]; -} - -- (id)init -{ - return [self initWithFrame:CGRectMake(0, 0, 128.f, 128.f)]; -} - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) - { - [self setup]; - } - - return self; -} - -- (id)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) - { - [self setup]; - } - - return self; -} - -#pragma mark - Drawing - -- (void)drawRect:(CGRect)rect -{ - // Image rect - CGRect imageRect = CGRectMake(0, 0, rect.size.width, rect.size.height); - - // Start working with the mask - CGColorSpaceRef maskColorSpaceRef = CGColorSpaceCreateDeviceGray(); - CGContextRef mainMaskContextRef = CGBitmapContextCreate(NULL, - rect.size.width, - rect.size.height, - 8, - rect.size.width, - maskColorSpaceRef, - 0); - CGContextRef shineMaskContextRef = CGBitmapContextCreate(NULL, - rect.size.width, - rect.size.height, - 8, - rect.size.width, - maskColorSpaceRef, - 0); - CGColorSpaceRelease(maskColorSpaceRef); - CGContextSetFillColorWithColor(mainMaskContextRef, [UIColor blackColor].CGColor); - CGContextSetFillColorWithColor(shineMaskContextRef, [UIColor blackColor].CGColor); - CGContextFillRect(mainMaskContextRef, rect); - CGContextFillRect(shineMaskContextRef, rect); - CGContextSetFillColorWithColor(mainMaskContextRef, [UIColor whiteColor].CGColor); - CGContextSetFillColorWithColor(shineMaskContextRef, [UIColor whiteColor].CGColor); - - // Create main mask shape - CGContextMoveToPoint(mainMaskContextRef, 0, 0); - CGContextAddEllipseInRect(mainMaskContextRef, imageRect); - CGContextFillPath(mainMaskContextRef); - // Create shine mask shape - CGContextTranslateCTM(shineMaskContextRef, -(rect.size.width / 4), rect.size.height / 4 * 3); - CGContextRotateCTM(shineMaskContextRef, -45.f); - CGContextMoveToPoint(shineMaskContextRef, 0, 0); - CGContextFillRect(shineMaskContextRef, CGRectMake(0, - 0, - rect.size.width / 8 * 5, - rect.size.height)); - - CGImageRef mainMaskImageRef = CGBitmapContextCreateImage(mainMaskContextRef); - CGImageRef shineMaskImageRef = CGBitmapContextCreateImage(shineMaskContextRef); - CGContextRelease(mainMaskContextRef); - CGContextRelease(shineMaskContextRef); - // Done with mask context - - CGContextRef contextRef = UIGraphicsGetCurrentContext(); - CGContextSaveGState(contextRef); - - CGImageRef imageRef = CGImageCreateWithMask(self.image.CGImage, mainMaskImageRef); - - CGContextTranslateCTM(contextRef, 0, rect.size.height); - CGContextScaleCTM(contextRef, 1.0, -1.0); - - CGContextSaveGState(contextRef); - - // Draw image - CGContextDrawImage(contextRef, rect, imageRef); - - CGContextRestoreGState(contextRef); - CGContextSaveGState(contextRef); - - // Clip to shine's mask - CGContextClipToMask(contextRef, self.bounds, mainMaskImageRef); - CGContextClipToMask(contextRef, self.bounds, shineMaskImageRef); - CGContextSetBlendMode(contextRef, kCGBlendModeLighten); - //CGContextDrawLinearGradient(contextRef, [self alphaGradient], CGPointMake(0, 0), CGPointMake(0, self.bounds.size.height), 0); - - CGImageRelease(mainMaskImageRef); - CGImageRelease(shineMaskImageRef); - CGImageRelease(imageRef); - // Done with image - - CGContextRestoreGState(contextRef); - - CGContextSetLineWidth(contextRef, 0); - //CGContextSetStrokeColorWithColor(contextRef, self.borderColor.CGColor); - CGContextMoveToPoint(contextRef, 0, 0); - CGContextAddEllipseInRect(contextRef, imageRect); - // Drop shadow - /*CGContextSetShadowWithColor(contextRef, - self.shadowOffset, - self.shadowBlur, - self.shadowColor.CGColor);*/ - CGContextStrokePath(contextRef); - CGContextRestoreGState(contextRef); -} - -@end diff --git a/Coderwall/Views/View Extensions/BadgeCell.h b/Coderwall/Views/View Extensions/BadgeCell.h deleted file mode 100755 index 79d681b..0000000 --- a/Coderwall/Views/View Extensions/BadgeCell.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// BadgeViewCell.h -// Coderwall -// -// Created by Will on 19/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface BadgeCell : UITableViewCell -{ - IBOutlet UIImageView *__weak badge; - IBOutlet UILabel *__weak title; - IBOutlet UILabel *__weak detail; -} - -@property (weak) UIImageView *badge; -@property (weak) UILabel *title; -@property (weak) UILabel *detail; - -@end diff --git a/Coderwall/Views/View Extensions/BadgeCell.m b/Coderwall/Views/View Extensions/BadgeCell.m deleted file mode 100755 index 6cf2037..0000000 --- a/Coderwall/Views/View Extensions/BadgeCell.m +++ /dev/null @@ -1,17 +0,0 @@ -// -// BadgeViewCell.m -// Coderwall -// -// Created by Will on 19/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "BadgeCell.h" - -@implementation BadgeCell - -@synthesize badge; -@synthesize detail; -@synthesize title; - -@end diff --git a/Coderwall/Views/View Extensions/BadgeCollectionViewCell.h b/Coderwall/Views/View Extensions/BadgeCollectionViewCell.h deleted file mode 100644 index 2f63b53..0000000 --- a/Coderwall/Views/View Extensions/BadgeCollectionViewCell.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// BadgeCollectionViewCell.h -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import - -@interface BadgeCollectionViewCell : UICollectionViewCell -{ - IBOutlet UIImageView *__weak badge; - IBOutlet UILabel *__weak title; - IBOutlet UILabel *__weak detail; -} - -@property (weak) UIImageView *badge; -@property (weak) UILabel *title; -@property (weak) UILabel *detail; - -@end diff --git a/Coderwall/Views/View Extensions/BadgeCollectionViewCell.m b/Coderwall/Views/View Extensions/BadgeCollectionViewCell.m deleted file mode 100644 index aa4a466..0000000 --- a/Coderwall/Views/View Extensions/BadgeCollectionViewCell.m +++ /dev/null @@ -1,17 +0,0 @@ -// -// BadgeCollectionViewCell.m -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import "BadgeCollectionViewCell.h" - -@implementation BadgeCollectionViewCell - -@synthesize badge; -@synthesize detail; -@synthesize title; - -@end diff --git a/Coderwall/Views/View Extensions/ClearSearchBar.h b/Coderwall/Views/View Extensions/ClearSearchBar.h deleted file mode 100755 index 4868f78..0000000 --- a/Coderwall/Views/View Extensions/ClearSearchBar.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// ClearSearchBar.h -// Coderwall -// -// Created by Will on 25/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface ClearSearchBar : UISearchBar - -@end diff --git a/Coderwall/Views/View Extensions/ClearSearchBar.m b/Coderwall/Views/View Extensions/ClearSearchBar.m deleted file mode 100755 index c5ce849..0000000 --- a/Coderwall/Views/View Extensions/ClearSearchBar.m +++ /dev/null @@ -1,35 +0,0 @@ -// -// ClearSearchBar.m -// Coderwall -// -// Created by Will on 25/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "ClearSearchBar.h" -#import "QuartzCore/QuartzCore.h" - -@implementation ClearSearchBar - -- (id)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - self.accessibilityLabel = @"Search for username"; - } - return self; -} - - -// Only override drawRect: if you perform custom drawing. -// An empty implementation adversely affects performance during animation. -- (void)drawRect:(CGRect)rect -{ - // Drawing code - [super drawRect:rect]; - [[self.subviews objectAtIndex:0] removeFromSuperview]; - [self setBackgroundColor:[UIColor clearColor]]; -} - - -@end diff --git a/Coderwall/Views/View Extensions/EmptyCollectionViewCell.h b/Coderwall/Views/View Extensions/EmptyCollectionViewCell.h deleted file mode 100644 index 79c2d5b..0000000 --- a/Coderwall/Views/View Extensions/EmptyCollectionViewCell.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// EmptyCollectionViewCell.h -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import - -@interface EmptyCollectionViewCell : UICollectionViewCell -{ - IBOutlet UILabel *__weak title; -} - -@property (weak) UILabel *title; - -@end diff --git a/Coderwall/Views/View Extensions/EmptyCollectionViewCell.m b/Coderwall/Views/View Extensions/EmptyCollectionViewCell.m deleted file mode 100644 index 90772cc..0000000 --- a/Coderwall/Views/View Extensions/EmptyCollectionViewCell.m +++ /dev/null @@ -1,15 +0,0 @@ -// -// EmptyCollectionViewCell.m -// Coderwall -// -// Created by Will Mckenzie on 12/03/2014. -// Copyright (c) 2014 Bearded Apps. All rights reserved. -// - -#import "EmptyCollectionViewCell.h" - -@implementation EmptyCollectionViewCell - -@synthesize title; - -@end diff --git a/Coderwall/Views/View Extensions/ProfileCell.h b/Coderwall/Views/View Extensions/ProfileCell.h deleted file mode 100755 index cc26296..0000000 --- a/Coderwall/Views/View Extensions/ProfileCell.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// ProfileCell.h -// Coderwall -// -// Created by Will on 03/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import -#import "AvatarView.h" - -@interface ProfileCell : UITableViewCell -{ - IBOutlet AvatarView *__weak avatar; - IBOutlet UILabel *__weak title; - IBOutlet UILabel *__weak detail; -} - -@property (weak) AvatarView *avatar; -@property (weak) UILabel *title; -@property (weak) UILabel *detail; - -@end diff --git a/Coderwall/Views/View Extensions/ProfileCell.m b/Coderwall/Views/View Extensions/ProfileCell.m deleted file mode 100755 index 3cfdd48..0000000 --- a/Coderwall/Views/View Extensions/ProfileCell.m +++ /dev/null @@ -1,17 +0,0 @@ -// -// ProfileCell.m -// Coderwall -// -// Created by Will on 03/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "ProfileCell.h" - -@implementation ProfileCell - -@synthesize avatar; -@synthesize title; -@synthesize detail; - -@end diff --git a/Coderwall/Views/View Extensions/SpecialityCell.h b/Coderwall/Views/View Extensions/SpecialityCell.h deleted file mode 100755 index 220be88..0000000 --- a/Coderwall/Views/View Extensions/SpecialityCell.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// SpecialityCell.h -// Coderwall -// -// Created by Will on 22/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface SpecialityCell : UITableViewCell -{ - IBOutlet UILabel *speciality; -} - -@property UILabel *speciality; - --(void) setYPos:(CGFloat) yPos; - -@end \ No newline at end of file diff --git a/Coderwall/Views/View Extensions/SpecialityCell.m b/Coderwall/Views/View Extensions/SpecialityCell.m deleted file mode 100755 index 7b8b69d..0000000 --- a/Coderwall/Views/View Extensions/SpecialityCell.m +++ /dev/null @@ -1,36 +0,0 @@ -// -// SpecialityCell.m -// Coderwall -// -// Created by Will on 22/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "SpecialityCell.h" - -@implementation SpecialityCell - -@synthesize speciality; - --(void) setYPos:(CGFloat) yPos -{ - speciality.frame = CGRectMake(speciality.frame.origin.x, yPos, speciality.frame.size.width, speciality.frame.size.height); -} - -- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier -{ - self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; - if (self) { - // Initialization code - } - return self; -} - -- (void)setSelected:(BOOL)selected animated:(BOOL)animated -{ - [super setSelected:selected animated:animated]; - - // Configure the view for the selected state -} - -@end diff --git a/Coderwall/Views/View Extensions/StatCell.h b/Coderwall/Views/View Extensions/StatCell.h deleted file mode 100755 index bf2aaf1..0000000 --- a/Coderwall/Views/View Extensions/StatCell.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// StatsViewCell.h -// Coderwall -// -// Created by Will on 22/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface StatCell : UITableViewCell -{ - IBOutlet UILabel *__weak title; - IBOutlet UILabel *__weak number; -} - -@property (weak) UILabel *title; -@property (weak) UILabel *number; - --(void) setYPos:(CGFloat) yPos; - -@end diff --git a/Coderwall/Views/View Extensions/StatCell.m b/Coderwall/Views/View Extensions/StatCell.m deleted file mode 100755 index 267fbc6..0000000 --- a/Coderwall/Views/View Extensions/StatCell.m +++ /dev/null @@ -1,38 +0,0 @@ -// -// StatsViewCell.m -// Coderwall -// -// Created by Will on 22/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "StatCell.h" - -@implementation StatCell - -@synthesize title; -@synthesize number; - --(void) setYPos:(CGFloat)yPos -{ - title.frame = CGRectMake(title.frame.origin.x, yPos, title.frame.size.width, title.frame.size.height); - number.frame = CGRectMake(number.frame.origin.x, yPos, number.frame.size.width, number.frame.size.height); -} - -- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier -{ - self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; - if (self) { - // Initialization code - } - return self; -} - -- (void)setSelected:(BOOL)selected animated:(BOOL)animated -{ - [super setSelected:selected animated:animated]; - - // Configure the view for the selected state -} - -@end diff --git a/Coderwall/Views/View Extensions/iPadAccomplishmentCell.h b/Coderwall/Views/View Extensions/iPadAccomplishmentCell.h deleted file mode 100755 index c82c098..0000000 --- a/Coderwall/Views/View Extensions/iPadAccomplishmentCell.h +++ /dev/null @@ -1,32 +0,0 @@ -// -// iPadAccomplishmentCell.h -// Coderwall -// -// Created by Will on 04/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface iPadAccomplishmentCell : UITableViewCell -{ - IBOutlet UILabel *detail1; - IBOutlet UIImageView * bg1; - - IBOutlet UILabel *detail2; - IBOutlet UIImageView * bg2; - - IBOutlet UILabel *detail3; - IBOutlet UIImageView * bg3; -} - -@property UILabel *detail1; -@property UIImageView *bg1; - -@property UILabel *detail2; -@property UIImageView *bg2; - -@property UILabel *detail3; -@property UIImageView *bg3; - -@end diff --git a/Coderwall/Views/View Extensions/iPadAccomplishmentCell.m b/Coderwall/Views/View Extensions/iPadAccomplishmentCell.m deleted file mode 100755 index 830fc05..0000000 --- a/Coderwall/Views/View Extensions/iPadAccomplishmentCell.m +++ /dev/null @@ -1,22 +0,0 @@ -// -// iPadAccomplishmentCell.m -// Coderwall -// -// Created by Will on 04/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "iPadAccomplishmentCell.h" - -@implementation iPadAccomplishmentCell - -@synthesize detail1; -@synthesize bg1; - -@synthesize detail2; -@synthesize bg2; - -@synthesize detail3; -@synthesize bg3; - -@end diff --git a/Coderwall/Views/View Extensions/iPadBadgeCell.h b/Coderwall/Views/View Extensions/iPadBadgeCell.h deleted file mode 100755 index 9a4f2f3..0000000 --- a/Coderwall/Views/View Extensions/iPadBadgeCell.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// iPadBadgeCellCell.h -// Coderwall -// -// Created by Will on 03/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -@interface iPadBadgeCell : UITableViewCell -{ - IBOutlet UIImageView *__weak badge1; - IBOutlet UILabel *__weak title1; - IBOutlet UILabel *__weak detail1; - IBOutlet UIImageView *__weak bg1; - - IBOutlet UIImageView *__weak badge2; - IBOutlet UILabel *__weak title2; - IBOutlet UILabel *__weak detail2; - IBOutlet UIImageView *__weak bg2; - - IBOutlet UIImageView *__weak badge3; - IBOutlet UILabel *__weak title3; - IBOutlet UILabel *__weak detail3; - IBOutlet UIImageView *__weak bg3; - -} - -@property (weak) UIImageView *badge1; -@property (weak) UILabel *title1; -@property (weak) UILabel *detail1; -@property (weak) UIImageView *bg1; - -@property (weak) UIImageView *badge2; -@property (weak) UILabel *title2; -@property (weak) UILabel *detail2; -@property (weak) UIImageView *bg2; - -@property (weak) UIImageView *badge3; -@property (weak) UILabel *title3; -@property (weak) UILabel *detail3; -@property (weak) UIImageView *bg3; -@end diff --git a/Coderwall/Views/View Extensions/iPadBadgeCell.m b/Coderwall/Views/View Extensions/iPadBadgeCell.m deleted file mode 100755 index 40dd721..0000000 --- a/Coderwall/Views/View Extensions/iPadBadgeCell.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// iPadBadgeCellCell.m -// Coderwall -// -// Created by Will on 03/03/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "iPadBadgeCell.h" - -@implementation iPadBadgeCell - -@synthesize badge1; -@synthesize detail1; -@synthesize title1; -@synthesize bg1; - -@synthesize badge2; -@synthesize detail2; -@synthesize title2; -@synthesize bg2; - -@synthesize badge3; -@synthesize detail3; -@synthesize title3; -@synthesize bg3; - -@end diff --git a/Coderwall/en.lproj/InfoPlist.strings b/Coderwall/en.lproj/InfoPlist.strings deleted file mode 100755 index 477b28f..0000000 --- a/Coderwall/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/Coderwall/en.lproj/MainStoryboard_iPad.storyboard b/Coderwall/en.lproj/MainStoryboard_iPad.storyboard deleted file mode 100755 index 54cb3bf..0000000 --- a/Coderwall/en.lproj/MainStoryboard_iPad.storyboard +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - You will need to have signed up on Coderwall with your GitHub user account first. If you haven't already done that go to http://coderwall.com and sign up now. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Coderwall/en.lproj/MainStoryboard_iPhone.storyboard b/Coderwall/en.lproj/MainStoryboard_iPhone.storyboard deleted file mode 100755 index a7a3c2f..0000000 --- a/Coderwall/en.lproj/MainStoryboard_iPhone.storyboard +++ /dev/null @@ -1,567 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - You will need to have signed up on Coderwall with your GitHub user account first. If you haven't already done that go to http://coderwall.com and sign up now. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Coderwall/main.m b/Coderwall/main.m deleted file mode 100755 index c93b404..0000000 --- a/Coderwall/main.m +++ /dev/null @@ -1,18 +0,0 @@ -// -// main.m -// Coderwall -// -// Created by Will on 18/02/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - -#import "AppDelegate.h" - -int main(int argc, char *argv[]) -{ - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/CoderwallTests/CoderwallTests-Info.plist b/CoderwallTests/CoderwallTests-Info.plist deleted file mode 100755 index 6b5fad8..0000000 --- a/CoderwallTests/CoderwallTests-Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - Bearded-Apps.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/CoderwallTests/Models/UserSpec.m b/CoderwallTests/Models/UserSpec.m deleted file mode 100755 index eab3166..0000000 --- a/CoderwallTests/Models/UserSpec.m +++ /dev/null @@ -1,62 +0,0 @@ -// -// UserSpec.m -// Coderwall -// -// Created by modocache on 27/06/2012. -// - -#import "Kiwi.h" -#import "ILCannedURLProtocol.h" -#import "User.h" - - -SPEC_BEGIN(UserSpec) - -describe(@"", ^{ - - NSDictionary *testResponseHeaders = \ - [NSDictionary dictionaryWithObject:@"application/json; charset=utf-8" - forKey:@"Content-Type"]; - - NSString *testResponseString = \ - @"{" - @" \"accounts\": {" - @" \"github\": \"coderwally\"" - @" }, " - @" \"badges\": [" - @" {" - @" \"badge\": \"http://cdn.coderwall.com/assets/badges/forked1-ccde995368958c2e041acd64d8e4445f.png\", " - @" \"created\": \"2012-05-24T09:21:22Z\", " - @" \"description\": \"Have a project valued enough to be forked by someone else\", " - @" \"name\": \"Forked\"" - @" }, " - @" {" - @" \"badge\": \"http://cdn.coderwall.com/assets/badges/altrustic-ac4b637a6c9fb3801257550f0a870acc.png\", " - @" \"created\": \"2012-05-17T11:56:47Z\", " - @" \"description\": \"Increase developer well-being by sharing at least 20 open source projects\", " - @" \"name\": \"Altruist\"" - @" }" - @" ], " - @" \"endorsements\": 0, " - @" \"location\": \"Brooklyn, NY\", " - @" \"name\": \"Wally Coder\", " - @" \"team\": null, " - @" \"username\": \"coderwally\"" - @"}"; - - NSData *testResponseData = [testResponseString dataUsingEncoding:NSUTF8StringEncoding]; - - xit(@"should show a useful description", ^{}); - - it(@"should download user info", ^{ - [NSURLProtocol registerClass:[ILCannedURLProtocol class]]; - [ILCannedURLProtocol setCannedStatusCode:200]; - [ILCannedURLProtocol setCannedHeaders:testResponseHeaders]; - [ILCannedURLProtocol setCannedResponseData:testResponseData]; - - User *user = [User new]; - [[expectFutureValue(user.userName) shouldEventually] equal:@"coderwally"]; - }); -}); - -SPEC_END \ No newline at end of file diff --git a/CoderwallTests/en.lproj/InfoPlist.strings b/CoderwallTests/en.lproj/InfoPlist.strings deleted file mode 100755 index 477b28f..0000000 --- a/CoderwallTests/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/Gemfile b/Gemfile deleted file mode 100755 index 00a6b3f..0000000 --- a/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' - -gem 'cocoapods' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100755 index 629d8d5..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,12 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - cocoapods (0.5.1) - xcodeproj (~> 0.1.0) - xcodeproj (0.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - cocoapods diff --git a/Icons/App Icon [Rounded]/AppIcon29x29.png b/Icons/App Icon [Rounded]/AppIcon29x29.png deleted file mode 100644 index 6f81eb7..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon29x29.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon29x29@2x.png b/Icons/App Icon [Rounded]/AppIcon29x29@2x.png deleted file mode 100644 index 1a1fb0e..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon29x29@2x.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon40x40.png b/Icons/App Icon [Rounded]/AppIcon40x40.png deleted file mode 100644 index e030a7c..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon40x40.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon40x40@2x.png b/Icons/App Icon [Rounded]/AppIcon40x40@2x.png deleted file mode 100644 index 7339a09..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon40x40@2x.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon50x50.png b/Icons/App Icon [Rounded]/AppIcon50x50.png deleted file mode 100644 index bfc1588..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon50x50.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon50x50@2x.png b/Icons/App Icon [Rounded]/AppIcon50x50@2x.png deleted file mode 100644 index f1ad3ca..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon50x50@2x.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon57x57.png b/Icons/App Icon [Rounded]/AppIcon57x57.png deleted file mode 100644 index d50ded4..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon57x57.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon57x57@2x.png b/Icons/App Icon [Rounded]/AppIcon57x57@2x.png deleted file mode 100644 index 54873fb..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon57x57@2x.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon60x60.png b/Icons/App Icon [Rounded]/AppIcon60x60.png deleted file mode 100644 index 09037da..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon60x60.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon60x60@2x.png b/Icons/App Icon [Rounded]/AppIcon60x60@2x.png deleted file mode 100644 index 321594b..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon60x60@2x.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon72x72.png b/Icons/App Icon [Rounded]/AppIcon72x72.png deleted file mode 100644 index 2d55ce4..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon72x72.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon72x72@2x.png b/Icons/App Icon [Rounded]/AppIcon72x72@2x.png deleted file mode 100644 index 3d84897..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon72x72@2x.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon76x76.png b/Icons/App Icon [Rounded]/AppIcon76x76.png deleted file mode 100644 index beb47c9..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon76x76.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/AppIcon76x76@2x.png b/Icons/App Icon [Rounded]/AppIcon76x76@2x.png deleted file mode 100644 index fe61e77..0000000 Binary files a/Icons/App Icon [Rounded]/AppIcon76x76@2x.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/iTunesArtwork.png b/Icons/App Icon [Rounded]/iTunesArtwork.png deleted file mode 100644 index 931c6ba..0000000 Binary files a/Icons/App Icon [Rounded]/iTunesArtwork.png and /dev/null differ diff --git a/Icons/App Icon [Rounded]/iTunesArtwork@2x.png b/Icons/App Icon [Rounded]/iTunesArtwork@2x.png deleted file mode 100644 index ec18526..0000000 Binary files a/Icons/App Icon [Rounded]/iTunesArtwork@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon29x29.png b/Icons/App Icon [Squared]/AppIcon29x29.png deleted file mode 100644 index cbc1d2a..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon29x29.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon29x29@2x.png b/Icons/App Icon [Squared]/AppIcon29x29@2x.png deleted file mode 100644 index 76fb602..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon29x29@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon40x40.png b/Icons/App Icon [Squared]/AppIcon40x40.png deleted file mode 100644 index 8f28efa..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon40x40.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon40x40@2x.png b/Icons/App Icon [Squared]/AppIcon40x40@2x.png deleted file mode 100644 index 3420988..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon40x40@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon50x50.png b/Icons/App Icon [Squared]/AppIcon50x50.png deleted file mode 100644 index 600be8b..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon50x50.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon50x50@2x.png b/Icons/App Icon [Squared]/AppIcon50x50@2x.png deleted file mode 100644 index 05812a0..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon50x50@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon57x57.png b/Icons/App Icon [Squared]/AppIcon57x57.png deleted file mode 100644 index 85b61db..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon57x57.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon57x57@2x.png b/Icons/App Icon [Squared]/AppIcon57x57@2x.png deleted file mode 100644 index cf46db1..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon57x57@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon60x60.png b/Icons/App Icon [Squared]/AppIcon60x60.png deleted file mode 100644 index 6ebce90..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon60x60.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon60x60@2x.png b/Icons/App Icon [Squared]/AppIcon60x60@2x.png deleted file mode 100644 index 6825358..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon60x60@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon72x72.png b/Icons/App Icon [Squared]/AppIcon72x72.png deleted file mode 100644 index 74b6276..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon72x72.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon72x72@2x.png b/Icons/App Icon [Squared]/AppIcon72x72@2x.png deleted file mode 100644 index 1badd73..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon72x72@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon76x76.png b/Icons/App Icon [Squared]/AppIcon76x76.png deleted file mode 100644 index 5368dfd..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon76x76.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/AppIcon76x76@2x.png b/Icons/App Icon [Squared]/AppIcon76x76@2x.png deleted file mode 100644 index bc9d232..0000000 Binary files a/Icons/App Icon [Squared]/AppIcon76x76@2x.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/iTunesArtwork.png b/Icons/App Icon [Squared]/iTunesArtwork.png deleted file mode 100644 index b5fdbc6..0000000 Binary files a/Icons/App Icon [Squared]/iTunesArtwork.png and /dev/null differ diff --git a/Icons/App Icon [Squared]/iTunesArtwork@2x.png b/Icons/App Icon [Squared]/iTunesArtwork@2x.png deleted file mode 100644 index 0373e6b..0000000 Binary files a/Icons/App Icon [Squared]/iTunesArtwork@2x.png and /dev/null differ diff --git a/IntegrationTests/CoderwallTestController.h b/IntegrationTests/CoderwallTestController.h deleted file mode 100755 index 58dfba6..0000000 --- a/IntegrationTests/CoderwallTestController.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// CoderwallTestController.h -// Coderwall -// -// Created by modocache on 27/06/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import -#import - - -@interface CoderwallTestController : KIFTestCase - -@end diff --git a/IntegrationTests/CoderwallTestController.m b/IntegrationTests/CoderwallTestController.m deleted file mode 100755 index d8390a1..0000000 --- a/IntegrationTests/CoderwallTestController.m +++ /dev/null @@ -1,107 +0,0 @@ -// -// CoderwallTestController.m -// Coderwall -// -// Created by modocache on 27/06/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "CoderwallTestController.h" - -#import "KIFTestScenario+masterView.h" -#import "KIFTestScenario+settingsView.h" -#import "KIFTestScenario+searchView.h" -#import "KIFTestScenario+searchResultsView.h" - - -@interface CoderwallTestController () -- (void)initializePhoneScenarios; -- (void)initializePadScenarios; -@end - - -@implementation CoderwallTestController - - -#pragma mark - KIFTestController Overrides - -- (void)initializeScenarios -{ - if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { - [self initializePadScenarios]; - } else { - [self initializePhoneScenarios]; - } -} - - -#pragma mark - Internal Methods - -- (void)initializePhoneScenarios -{ - // Master View - [self addScenario:[KIFTestScenario scenarioToDisplayMasterViewWithoutSettingUser]]; - - [self addScenario:[KIFTestScenario scenarioToDisplayBadgesView]]; - [self addScenario:[KIFTestScenario scenarioToDisplayAccomplishmentsView]]; - [self addScenario:[KIFTestScenario scenarioToDisplayStatsView]]; - [self addScenario:[KIFTestScenario scenarioToDisplaySearchView]]; - - // Settings View - [self addScenario:[KIFTestScenario scenarioToDisplaySettingsView]]; - [self addScenario:[KIFTestScenario scenarioToSetInvalidSettingsUsername]]; - [self addScenario:[KIFTestScenario scenarioToSetNonexistentSettingsUsername]]; - [self addScenario:[KIFTestScenario scenarioToSetSettingsUsername:@"modocache"]]; - - [self addScenario:[KIFTestScenario scenarioToDisplayMasterViewWithoutSettingUser]]; - - // Search - [self addScenario:[KIFTestScenario scenarioToDisplaySearchView]]; - [self addScenario:[KIFTestScenario scenarioToSearchForUsername:@"OiNutter"]]; - [self addScenario:[KIFTestScenario scenarioToDisplayBadgesView]]; - [self addScenario:[KIFTestScenario scenarioToDisplayAccomplishmentsView]]; - [self addScenario:[KIFTestScenario scenarioToDisplayStatsView]]; - - [self addScenario:[KIFTestScenario scenarioToPopToSearchView]]; - [self addScenario:[KIFTestScenario scenarioToSearchForInvalidUsername]]; - - // Reset application state. - [self addScenario:[KIFTestScenario scenarioToClearUserDefaults]]; -} - -- (void)initializePadScenarios -{ - // Master View - [self addScenario:[KIFTestScenario scenarioToDisplayMasterViewWithoutSettingUser]]; - - [self addScenario:[KIFTestScenario scenarioToDisplayBadgesView]]; - [self addScenario:[KIFTestScenario scenarioToDisplayAccomplishmentsView]]; - [self addScenario:[KIFTestScenario scenarioToDisplaySearchView]]; - - // Settings View - [self addScenario:[KIFTestScenario scenarioToDisplaySettingsView]]; - // Cannot dismiss UIAlertView in landscape orientation - // https://github.com/square/KIF/issues/60 - // [self addScenario:[KIFTestScenario scenarioToSetInvalidSettingsUsername]]; - // [self addScenario:[KIFTestScenario scenarioToSetNonexistentSettingsUsername]]; - [self addScenario:[KIFTestScenario scenarioToSetSettingsUsername:@"modocache"]]; - - [self addScenario:[KIFTestScenario scenarioToDisplayMasterViewWithoutSettingUser]]; - - // Search - [self addScenario:[KIFTestScenario scenarioToDisplaySearchView]]; - [self addScenario:[KIFTestScenario scenarioToSearchForUsername:@"OiNutter"]]; - [self addScenario:[KIFTestScenario scenarioToDisplayBadgesView]]; - [self addScenario:[KIFTestScenario scenarioToDisplayAccomplishmentsView]]; - - [self addScenario:[KIFTestScenario scenarioToPopToSearchView]]; - // Cannot dismiss UIAlertView in landscape orientation - // https://github.com/square/KIF/issues/60 - // [self addScenario:[KIFTestScenario scenarioToSearchForInvalidUsername]]; - - // Reset application state. - [self addScenario:[KIFTestScenario scenarioToClearUserDefaults]]; -} - -@end \ No newline at end of file diff --git a/IntegrationTests/Scenarios/KIFTestScenario+masterView.h b/IntegrationTests/Scenarios/KIFTestScenario+masterView.h deleted file mode 100755 index c542798..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+masterView.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// KIFTestScenario+masterView.h -// Coderwall -// -// Created by modocache on 27/06/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario.h" - - -@interface KIFTestScenario (masterView) - -+ (id)scenarioToDisplayMasterViewWithoutSettingUser; -+ (id)scenarioToDisplayBadgesView; -+ (id)scenarioToDisplayAccomplishmentsView; -+ (id)scenarioToDisplayStatsView; -+ (id)scenarioToDisplaySearchView; - -@end diff --git a/IntegrationTests/Scenarios/KIFTestScenario+masterView.m b/IntegrationTests/Scenarios/KIFTestScenario+masterView.m deleted file mode 100755 index 2fac72e..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+masterView.m +++ /dev/null @@ -1,64 +0,0 @@ -// -// KIFTestScenario+masterView.m -// Coderwall -// -// Created by modocache on 27/06/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario+masterView.h" - -#import "AppDelegate.h" -#import "KIFTestController.h" -#import "KIFTestStep.h" -#import "KIFTestStep+displayMasterView.h" -#import "UIView-KIFAdditions.h" - - -@implementation KIFTestScenario (masterView) - - -#pragma mark - Public Interface - -+ (id)scenarioToDisplayMasterViewWithoutSettingUser -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can access master view."]; - [scenario addStep:[KIFTestStep stepToPopToMasterView]]; - return scenario; -} - -+ (id)scenarioToDisplayBadgesView -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can segue to badges view from master view."]; - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"Badges"]]; - return scenario; -} - -+ (id)scenarioToDisplayAccomplishmentsView -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can segue to accomplishments view from master view."]; - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"Accomplishments"]]; - return scenario; -} - -+ (id)scenarioToDisplayStatsView -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can segue to stats view from master view."]; - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"Stats"]]; - return scenario; -} - -+ (id)scenarioToDisplaySearchView -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can segue to search view from master view."]; - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"Search"]]; - return scenario; -} - -@end diff --git a/IntegrationTests/Scenarios/KIFTestScenario+searchResultsView.h b/IntegrationTests/Scenarios/KIFTestScenario+searchResultsView.h deleted file mode 100755 index a224254..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+searchResultsView.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// KIFTestScenario+searchResultsView.h -// Coderwall -// -// Created by modocache on 7/26/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario.h" - - -@interface KIFTestScenario (searchResultsView) - -+ (id)scenarioToPopToSearchView; - -@end diff --git a/IntegrationTests/Scenarios/KIFTestScenario+searchResultsView.m b/IntegrationTests/Scenarios/KIFTestScenario+searchResultsView.m deleted file mode 100755 index a69d4e0..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+searchResultsView.m +++ /dev/null @@ -1,29 +0,0 @@ -// -// KIFTestScenario+searchResultsView.m -// Coderwall -// -// Created by modocache on 7/26/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario+searchResultsView.h" - -#import "KIFTestStep.h" -#import "KIFTestStep+textField.h" - - -@implementation KIFTestScenario (searchResultsView) - -+ (id)scenarioToPopToSearchView -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can go back to search view from results view."]; - - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"Back"]]; - [scenario addStep:[KIFTestStep stepToClearTextFieldWithLabel:@"Search for username"]]; - - return scenario; -} - -@end diff --git a/IntegrationTests/Scenarios/KIFTestScenario+searchView.h b/IntegrationTests/Scenarios/KIFTestScenario+searchView.h deleted file mode 100755 index 3027935..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+searchView.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// KIFTestScenario+searchView.h -// Coderwall -// -// Created by modocache on 7/26/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario.h" - - -@interface KIFTestScenario (searchView) - -+ (id)scenarioToSearchForUsername:(NSString *)username; -+ (id)scenarioToSearchForInvalidUsername; - -@end diff --git a/IntegrationTests/Scenarios/KIFTestScenario+searchView.m b/IntegrationTests/Scenarios/KIFTestScenario+searchView.m deleted file mode 100755 index 153adc2..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+searchView.m +++ /dev/null @@ -1,47 +0,0 @@ -// -// KIFTestScenario+searchView.m -// Coderwall -// -// Created by modocache on 7/26/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario+searchView.h" - -#import "KIFTestStep.h" - - -@implementation KIFTestScenario (searchView) - - -#pragma mark - Public Interface - -+ (id)scenarioToSearchForUsername:(NSString *)username -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can search for username."]; - - NSString *text = [NSString stringWithFormat:@"%@\n", username]; - [scenario addStep:[KIFTestStep stepToEnterText:text - intoViewWithAccessibilityLabel:@"Search for username"]]; - [scenario addStep:[KIFTestStep stepToWaitForViewWithAccessibilityLabel:@"Full Name"]]; - - return scenario; -} - -+ (id)scenarioToSearchForInvalidUsername -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User is informed of error when attempting search for " - @"invalid username."]; - - [scenario addStep:[KIFTestStep stepToEnterText:@"____doesn't_exist____\n" - intoViewWithAccessibilityLabel:@"Search for username"]]; - // Alert is displayed - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"OK"]]; - - return scenario; -} - -@end diff --git a/IntegrationTests/Scenarios/KIFTestScenario+settingsView.h b/IntegrationTests/Scenarios/KIFTestScenario+settingsView.h deleted file mode 100755 index 0199dde..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+settingsView.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// KIFTestScenario+settingsView.h -// Coderwall -// -// Created by modocache on 27/06/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario.h" - - -@interface KIFTestScenario (settingsView) - -+ (id)scenarioToClearUserDefaults; -+ (id)scenarioToDisplaySettingsView; -+ (id)scenarioToSetSettingsUsername:(NSString *)username; -+ (id)scenarioToSetInvalidSettingsUsername; -+ (id)scenarioToSetNonexistentSettingsUsername; - -@end diff --git a/IntegrationTests/Scenarios/KIFTestScenario+settingsView.m b/IntegrationTests/Scenarios/KIFTestScenario+settingsView.m deleted file mode 100755 index 82204f2..0000000 --- a/IntegrationTests/Scenarios/KIFTestScenario+settingsView.m +++ /dev/null @@ -1,88 +0,0 @@ -// -// KIFTestScenario+settingsView.m -// Coderwall -// -// Created by modocache on 27/06/2012. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestScenario+settingsView.h" - -#import "KIFTestStep.h" -#import "KIFTestStep+updateSettings.h" - - -@implementation KIFTestScenario (settingsView) - - -#pragma mark - Public Interface - -+ (id)scenarioToClearUserDefaults -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"Reset user defaults."]; - - [scenario addStep:[KIFTestStep stepToClearUserDefaults]]; - - return scenario; -} - -+ (id)scenarioToDisplaySettingsView -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can segue to settings view from master view."]; - - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"Settings"]]; - - return scenario; -} - -+ (id)scenarioToSetSettingsUsername:(NSString *)username -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User can update username value in settings view."]; - - NSString *input = [NSString stringWithFormat:@"%@\n", username]; - [scenario addStepsFromArray:[KIFTestStep stepsToUpdateUsername:input]]; - - // Update should be successful, which means no alert view is displayed. - [scenario addStep:[KIFTestStep stepToWaitForAbsenceOfViewWithAccessibilityLabel:@"OK"]]; - // Back button should still be displayed. - [scenario addStep:[KIFTestStep stepToWaitForTappableViewWithAccessibilityLabel:@"Back"]]; - - return scenario; -} - -+ (id)scenarioToSetInvalidSettingsUsername -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User cannot input blank username in settings view."]; - - [scenario addStepsFromArray:[KIFTestStep stepsToUpdateUsername:@"\n"]]; - - // Update should not be successful. Check for alert to be displayed. - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"OK"]]; - // Back button should still be displayed. - [scenario addStep:[KIFTestStep stepToWaitForTappableViewWithAccessibilityLabel:@"Back"]]; - - return scenario; -} - -+ (id)scenarioToSetNonexistentSettingsUsername -{ - KIFTestScenario *scenario = [KIFTestScenario scenarioWithDescription: - @"User should be alerted when the coderwall user they entered " - @"doesn't exist."]; - - [scenario addStepsFromArray:[KIFTestStep stepsToUpdateUsername:@"____doesn't_exist____\n"]]; - - // Update should not be successful. Check for alert to be displayed. - [scenario addStep:[KIFTestStep stepToTapViewWithAccessibilityLabel:@"OK"]]; - // Back button should still be displayed. - [scenario addStep:[KIFTestStep stepToWaitForTappableViewWithAccessibilityLabel:@"Back"]]; - - return scenario; -} - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+displayMasterView.h b/IntegrationTests/Steps/KIFTestStep+displayMasterView.h deleted file mode 100755 index c919a9a..0000000 --- a/IntegrationTests/Steps/KIFTestStep+displayMasterView.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// KIFTestStep+displayMasterView.h -// Coderwall -// -// Created by modocache on 6/30/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import - - -@interface KIFTestStepValidation (displayMasterView) - -+ (id)stepToPopToMasterView; - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+displayMasterView.m b/IntegrationTests/Steps/KIFTestStep+displayMasterView.m deleted file mode 100755 index efb41b5..0000000 --- a/IntegrationTests/Steps/KIFTestStep+displayMasterView.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// KIFTestStep+displayMasterView.m -// Coderwall -// -// Created by modocache on 6/30/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestStep+displayMasterView.h" -#import "UIView-KIFAdditions.h" - - -@implementation KIFTestStep (displayMasterView) - - -#pragma mark - Public Interface - -+ (id)stepToPopToMasterView -{ - return [KIFTestStep stepToTapViewWithAccessibilityLabel:@"Back"]; -} - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+pullToRefresh.h b/IntegrationTests/Steps/KIFTestStep+pullToRefresh.h deleted file mode 100755 index 1163ae4..0000000 --- a/IntegrationTests/Steps/KIFTestStep+pullToRefresh.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// KIFTestStep+pullToRefresh.h -// Coderwall -// -// Created by modocache on 7/26/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestStep.h" - - -@interface KIFTestStep (pullToRefresh) - -+ (id)stepsToPullToRefresh; - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+pullToRefresh.m b/IntegrationTests/Steps/KIFTestStep+pullToRefresh.m deleted file mode 100755 index ffa0350..0000000 --- a/IntegrationTests/Steps/KIFTestStep+pullToRefresh.m +++ /dev/null @@ -1,25 +0,0 @@ -// -// KIFTestStep+pullToRefresh.m -// Coderwall -// -// Created by modocache on 7/26/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestStep+pullToRefresh.h" - - -@implementation KIFTestStep (pullToRefresh) - -+ (id)stepsToPullToRefresh -{ - NSMutableArray *steps = [NSMutableArray array]; - - [steps addObject:[KIFTestStep stepToSwipeViewWithAccessibilityLabel:nil - inDirection:KIFSwipeDirectionDown]]; - - return steps; -} - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+textField.h b/IntegrationTests/Steps/KIFTestStep+textField.h deleted file mode 100755 index 9397891..0000000 --- a/IntegrationTests/Steps/KIFTestStep+textField.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// KIFTestStep+textField.h -// Coderwall -// -// Created by modocache on 7/27/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - -#import "KIFTestStep.h" - -@interface KIFTestStep (textField) - -+ (id)stepToClearTextFieldWithLabel:(NSString *)label; - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+textField.m b/IntegrationTests/Steps/KIFTestStep+textField.m deleted file mode 100755 index b89bec6..0000000 --- a/IntegrationTests/Steps/KIFTestStep+textField.m +++ /dev/null @@ -1,51 +0,0 @@ -// -// KIFTestStep+textField.m -// Coderwall -// -// Created by modocache on 7/27/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestStep+textField.h" - -#import "UIAccessibilityElement-KIFAdditions.h" - - -@interface KIFTestStep (InternalAPI) -+ (UIAccessibilityElement *)_accessibilityElementWithLabel:(NSString *)label - accessibilityValue:(NSString *)value - tappable:(BOOL)mustBeTappable - traits:(UIAccessibilityTraits)traits - error:(out NSError **)error; -@end - - -@implementation KIFTestStep (textField) - -+ (id)stepToClearTextFieldWithLabel:(NSString *)label -{ - return [KIFTestStep stepWithDescription:@"Clear text field with label" - executionBlock: - ^KIFTestStepResult(KIFTestStep *step, NSError *__autoreleasing *error) { - UIAccessibilityElement *element = - [self _accessibilityElementWithLabel:label - accessibilityValue:nil - tappable:YES - traits:UIAccessibilityTraitNone - error:error]; - - if (!element) { - return KIFTestStepResultFailure; - } - - UITextField *textField = - (UITextField *)[UIAccessibilityElement viewContainingAccessibilityElement:element]; - - textField.text = @""; - - return KIFTestStepResultSuccess; - }]; -} - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+updateSettings.h b/IntegrationTests/Steps/KIFTestStep+updateSettings.h deleted file mode 100755 index 2c7b936..0000000 --- a/IntegrationTests/Steps/KIFTestStep+updateSettings.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// KIFTestStep+updateSettings.h -// Coderwall -// -// Created by modocache on 6/30/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestStep.h" - - -@interface KIFTestStep (updateSettings) - -+ (NSArray *)stepsToUpdateUsername:(NSString *)username; -+ (id)stepToClearUserDefaults; - -@end diff --git a/IntegrationTests/Steps/KIFTestStep+updateSettings.m b/IntegrationTests/Steps/KIFTestStep+updateSettings.m deleted file mode 100755 index 45d32e4..0000000 --- a/IntegrationTests/Steps/KIFTestStep+updateSettings.m +++ /dev/null @@ -1,45 +0,0 @@ -// -// KIFTestStep+updateSettings.m -// Coderwall -// -// Created by modocache on 6/30/12. -// Copyright (c) 2012 Bearded Apps. All rights reserved. -// - - -#import "KIFTestStep+updateSettings.h" - -#import "KIFTestStep+textField.h" - - -@implementation KIFTestStep (updateSettings) - - -#pragma mark - Public Interface - -+ (NSArray *)stepsToUpdateUsername:(NSString *)username -{ - NSMutableArray *steps = [NSMutableArray array]; - __block NSString *newUsername = username; - - [steps addObject:[KIFTestStep stepToClearTextFieldWithLabel:@"Username"]]; - [steps addObject:[KIFTestStep stepToEnterText:newUsername - intoViewWithAccessibilityLabel:@"Username"]]; - - return steps; -} - -+ (id)stepToClearUserDefaults -{ - return [KIFTestStep stepWithDescription:@"Clear NSUserDefaults" - executionBlock: - ^KIFTestStepResult(KIFTestStep *step, NSError *__autoreleasing *error) { - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - [defaults removeObjectForKey:@"UserName"]; - [defaults synchronize]; - - return KIFTestStepResultSuccess; - }]; -} - -@end diff --git a/MIT-LICENSE b/MIT-LICENSE deleted file mode 100755 index 1cf1c2c..0000000 --- a/MIT-LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2012 Will McKenzie http://oinutter.co.uk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/PSDs/App Icon Template [3.3].psd b/PSDs/App Icon Template [3.3].psd deleted file mode 100644 index 582c4d8..0000000 Binary files a/PSDs/App Icon Template [3.3].psd and /dev/null differ diff --git a/PSDs/ProfileBg.psd b/PSDs/ProfileBg.psd deleted file mode 100755 index c2f4e33..0000000 Binary files a/PSDs/ProfileBg.psd and /dev/null differ diff --git a/PSDs/TableBg.psd b/PSDs/TableBg.psd deleted file mode 100755 index c933859..0000000 Binary files a/PSDs/TableBg.psd and /dev/null differ diff --git a/PSDs/mikael_eidenberg_iphone_template01.psd b/PSDs/mikael_eidenberg_iphone_template01.psd deleted file mode 100644 index 115fbbf..0000000 Binary files a/PSDs/mikael_eidenberg_iphone_template01.psd and /dev/null differ diff --git a/Podfile b/Podfile deleted file mode 100755 index d40e515..0000000 --- a/Podfile +++ /dev/null @@ -1,13 +0,0 @@ -platform :ios, '6.0' - -pod 'SBJson', '>= 4.0' -pod 'DejalActivityView', '>= 1.0' -pod 'EGOTableViewPullRefresh', '>= 0.1' - -target 'CoderwallTests' do - pod 'Kiwi', '>= 1.0.0' -end - -target 'Integration Tests' do - pod 'KIF', '>= 0.0.1' -end diff --git a/Podfile.lock b/Podfile.lock deleted file mode 100644 index 30b3dc1..0000000 --- a/Podfile.lock +++ /dev/null @@ -1,28 +0,0 @@ -PODS: - - DejalActivityView (1.2) - - EGOTableViewPullRefresh (0.1.0) - - KIF (2.0.0) - - Kiwi (2.2.3): - - Kiwi/SenTestingKit - - Kiwi/ARC (2.2.3) - - Kiwi/NonARC (2.2.3) - - Kiwi/SenTestingKit (2.2.3): - - Kiwi/ARC - - Kiwi/NonARC - - SBJson (4.0.0) - -DEPENDENCIES: - - DejalActivityView (>= 1.0) - - EGOTableViewPullRefresh (>= 0.1) - - KIF (>= 0.0.1) - - Kiwi (>= 1.0.0) - - SBJson (>= 4.0) - -SPEC CHECKSUMS: - DejalActivityView: 3a7f7a2be287c0f25f547762815c40709b02169c - EGOTableViewPullRefresh: 6ba637ce6dd3186b503d2d91e6b3a08a26d650f5 - KIF: ff3b46deb62ce3f8e99c6a2c786729e1eea241ba - Kiwi: 04c51e880831d291748ec702d42c4101f7eb95c9 - SBJson: f3c686806e8e36ab89e020189ac582ba26ec4220 - -COCOAPODS: 0.29.0 diff --git a/Pods/BuildHeaders/DejalActivityView/DejalActivityView.h b/Pods/BuildHeaders/DejalActivityView/DejalActivityView.h deleted file mode 120000 index c04383d..0000000 --- a/Pods/BuildHeaders/DejalActivityView/DejalActivityView.h +++ /dev/null @@ -1 +0,0 @@ -../../DejalActivityView/DejalActivityView.h \ No newline at end of file diff --git a/Pods/BuildHeaders/EGOTableViewPullRefresh/EGORefreshTableHeaderView.h b/Pods/BuildHeaders/EGOTableViewPullRefresh/EGORefreshTableHeaderView.h deleted file mode 120000 index dff642c..0000000 --- a/Pods/BuildHeaders/EGOTableViewPullRefresh/EGORefreshTableHeaderView.h +++ /dev/null @@ -1 +0,0 @@ -../../EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/CGGeometry-KIFAdditions.h b/Pods/BuildHeaders/KIF/CGGeometry-KIFAdditions.h deleted file mode 120000 index 35ffff7..0000000 --- a/Pods/BuildHeaders/KIF/CGGeometry-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/CGGeometry-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/KIF.h b/Pods/BuildHeaders/KIF/KIF.h deleted file mode 120000 index fc2b544..0000000 --- a/Pods/BuildHeaders/KIF/KIF.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIF.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/KIFSystemTestActor.h b/Pods/BuildHeaders/KIF/KIFSystemTestActor.h deleted file mode 120000 index 138a856..0000000 --- a/Pods/BuildHeaders/KIF/KIFSystemTestActor.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFSystemTestActor.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/KIFTestActor.h b/Pods/BuildHeaders/KIF/KIFTestActor.h deleted file mode 120000 index e902220..0000000 --- a/Pods/BuildHeaders/KIF/KIFTestActor.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTestActor.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/KIFTestCase.h b/Pods/BuildHeaders/KIF/KIFTestCase.h deleted file mode 120000 index ce31bdd..0000000 --- a/Pods/BuildHeaders/KIF/KIFTestCase.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTestCase.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/KIFTestStepValidation.h b/Pods/BuildHeaders/KIF/KIFTestStepValidation.h deleted file mode 120000 index bc6f36d..0000000 --- a/Pods/BuildHeaders/KIF/KIFTestStepValidation.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTestStepValidation.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/KIFTypist.h b/Pods/BuildHeaders/KIF/KIFTypist.h deleted file mode 120000 index 6fddce5..0000000 --- a/Pods/BuildHeaders/KIF/KIFTypist.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTypist.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/KIFUITestActor.h b/Pods/BuildHeaders/KIF/KIFUITestActor.h deleted file mode 120000 index 52828a3..0000000 --- a/Pods/BuildHeaders/KIF/KIFUITestActor.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFUITestActor.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/LoadableCategory.h b/Pods/BuildHeaders/KIF/LoadableCategory.h deleted file mode 120000 index 4387676..0000000 --- a/Pods/BuildHeaders/KIF/LoadableCategory.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/LoadableCategory.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/NSBundle-KIFAdditions.h b/Pods/BuildHeaders/KIF/NSBundle-KIFAdditions.h deleted file mode 120000 index 24ffece..0000000 --- a/Pods/BuildHeaders/KIF/NSBundle-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/NSBundle-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/NSError-KIFAdditions.h b/Pods/BuildHeaders/KIF/NSError-KIFAdditions.h deleted file mode 120000 index 34d8e71..0000000 --- a/Pods/BuildHeaders/KIF/NSError-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/NSError-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/NSFileManager-KIFAdditions.h b/Pods/BuildHeaders/KIF/NSFileManager-KIFAdditions.h deleted file mode 120000 index c7dbbcf..0000000 --- a/Pods/BuildHeaders/KIF/NSFileManager-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/NSFileManager-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/SenTestCase-KIFAdditions.h b/Pods/BuildHeaders/KIF/SenTestCase-KIFAdditions.h deleted file mode 120000 index 6ea742f..0000000 --- a/Pods/BuildHeaders/KIF/SenTestCase-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/SenTestCase-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/UIAccessibilityElement-KIFAdditions.h b/Pods/BuildHeaders/KIF/UIAccessibilityElement-KIFAdditions.h deleted file mode 120000 index 288b611..0000000 --- a/Pods/BuildHeaders/KIF/UIAccessibilityElement-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIAccessibilityElement-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/UIApplication-KIFAdditions.h b/Pods/BuildHeaders/KIF/UIApplication-KIFAdditions.h deleted file mode 120000 index 2f9fad6..0000000 --- a/Pods/BuildHeaders/KIF/UIApplication-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIApplication-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/UIScrollView-KIFAdditions.h b/Pods/BuildHeaders/KIF/UIScrollView-KIFAdditions.h deleted file mode 120000 index 36415b8..0000000 --- a/Pods/BuildHeaders/KIF/UIScrollView-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIScrollView-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/UITouch-KIFAdditions.h b/Pods/BuildHeaders/KIF/UITouch-KIFAdditions.h deleted file mode 120000 index 5547163..0000000 --- a/Pods/BuildHeaders/KIF/UITouch-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UITouch-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/UIView-KIFAdditions.h b/Pods/BuildHeaders/KIF/UIView-KIFAdditions.h deleted file mode 120000 index b875a3e..0000000 --- a/Pods/BuildHeaders/KIF/UIView-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIView-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/KIF/UIWindow-KIFAdditions.h b/Pods/BuildHeaders/KIF/UIWindow-KIFAdditions.h deleted file mode 120000 index 82db207..0000000 --- a/Pods/BuildHeaders/KIF/UIWindow-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIWindow-KIFAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWAfterAllNode.h b/Pods/BuildHeaders/Kiwi/KWAfterAllNode.h deleted file mode 120000 index 9eeb57f..0000000 --- a/Pods/BuildHeaders/Kiwi/KWAfterAllNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWAfterAllNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWAfterEachNode.h b/Pods/BuildHeaders/Kiwi/KWAfterEachNode.h deleted file mode 120000 index b807288..0000000 --- a/Pods/BuildHeaders/Kiwi/KWAfterEachNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWAfterEachNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWAny.h b/Pods/BuildHeaders/Kiwi/KWAny.h deleted file mode 120000 index 0d334e7..0000000 --- a/Pods/BuildHeaders/Kiwi/KWAny.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWAny.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWAsyncVerifier.h b/Pods/BuildHeaders/Kiwi/KWAsyncVerifier.h deleted file mode 120000 index 55ca577..0000000 --- a/Pods/BuildHeaders/Kiwi/KWAsyncVerifier.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWAsyncVerifier.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeBetweenMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeBetweenMatcher.h deleted file mode 120000 index 75f9442..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeBetweenMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeBetweenMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeEmptyMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeEmptyMatcher.h deleted file mode 120000 index fc8c89a..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeEmptyMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeEmptyMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeIdenticalToMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeIdenticalToMatcher.h deleted file mode 120000 index 6e8e6be..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeIdenticalToMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeKindOfClassMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeKindOfClassMatcher.h deleted file mode 120000 index d4170aa..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeKindOfClassMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeMemberOfClassMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeMemberOfClassMatcher.h deleted file mode 120000 index 9b96c09..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeMemberOfClassMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeSubclassOfClassMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeSubclassOfClassMatcher.h deleted file mode 120000 index ce788b7..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeSubclassOfClassMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeTrueMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeTrueMatcher.h deleted file mode 120000 index 6bbe534..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeTrueMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeTrueMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeWithinMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeWithinMatcher.h deleted file mode 120000 index ab3ad9d..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeWithinMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeWithinMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeZeroMatcher.h b/Pods/BuildHeaders/Kiwi/KWBeZeroMatcher.h deleted file mode 120000 index 5c6a52d..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeZeroMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeZeroMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeforeAllNode.h b/Pods/BuildHeaders/Kiwi/KWBeforeAllNode.h deleted file mode 120000 index e50bbfc..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeforeAllNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWBeforeAllNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBeforeEachNode.h b/Pods/BuildHeaders/Kiwi/KWBeforeEachNode.h deleted file mode 120000 index e25d754..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBeforeEachNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWBeforeEachNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBlock.h b/Pods/BuildHeaders/Kiwi/KWBlock.h deleted file mode 120000 index 0262aa9..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBlock.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWBlock.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBlockNode.h b/Pods/BuildHeaders/Kiwi/KWBlockNode.h deleted file mode 120000 index 250e21b..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBlockNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWBlockNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWBlockRaiseMatcher.h b/Pods/BuildHeaders/Kiwi/KWBlockRaiseMatcher.h deleted file mode 120000 index 0e3150b..0000000 --- a/Pods/BuildHeaders/Kiwi/KWBlockRaiseMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBlockRaiseMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWCallSite.h b/Pods/BuildHeaders/Kiwi/KWCallSite.h deleted file mode 120000 index 693a01b..0000000 --- a/Pods/BuildHeaders/Kiwi/KWCallSite.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWCallSite.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWCaptureSpy.h b/Pods/BuildHeaders/Kiwi/KWCaptureSpy.h deleted file mode 120000 index 54a3ca2..0000000 --- a/Pods/BuildHeaders/Kiwi/KWCaptureSpy.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWCaptureSpy.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWChangeMatcher.h b/Pods/BuildHeaders/Kiwi/KWChangeMatcher.h deleted file mode 120000 index be6e80b..0000000 --- a/Pods/BuildHeaders/Kiwi/KWChangeMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWChangeMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWConformToProtocolMatcher.h b/Pods/BuildHeaders/Kiwi/KWConformToProtocolMatcher.h deleted file mode 120000 index 749ed75..0000000 --- a/Pods/BuildHeaders/Kiwi/KWConformToProtocolMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWConformToProtocolMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWContainMatcher.h b/Pods/BuildHeaders/Kiwi/KWContainMatcher.h deleted file mode 120000 index 672fd9f..0000000 --- a/Pods/BuildHeaders/Kiwi/KWContainMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWContainMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWContainStringMatcher.h b/Pods/BuildHeaders/Kiwi/KWContainStringMatcher.h deleted file mode 120000 index 3ee51f0..0000000 --- a/Pods/BuildHeaders/Kiwi/KWContainStringMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWContainStringMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWContextNode.h b/Pods/BuildHeaders/Kiwi/KWContextNode.h deleted file mode 120000 index 7f72f76..0000000 --- a/Pods/BuildHeaders/Kiwi/KWContextNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWContextNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWCountType.h b/Pods/BuildHeaders/Kiwi/KWCountType.h deleted file mode 120000 index 1f02227..0000000 --- a/Pods/BuildHeaders/Kiwi/KWCountType.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWCountType.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWDeviceInfo.h b/Pods/BuildHeaders/Kiwi/KWDeviceInfo.h deleted file mode 120000 index 3e3bb0c..0000000 --- a/Pods/BuildHeaders/Kiwi/KWDeviceInfo.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWDeviceInfo.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWEqualMatcher.h b/Pods/BuildHeaders/Kiwi/KWEqualMatcher.h deleted file mode 120000 index e842675..0000000 --- a/Pods/BuildHeaders/Kiwi/KWEqualMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWEqualMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExample.h b/Pods/BuildHeaders/Kiwi/KWExample.h deleted file mode 120000 index 0141492..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExample.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExample.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExampleDelegate.h b/Pods/BuildHeaders/Kiwi/KWExampleDelegate.h deleted file mode 120000 index 0e13935..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExampleDelegate.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleDelegate.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExampleNode.h b/Pods/BuildHeaders/Kiwi/KWExampleNode.h deleted file mode 120000 index 6fd1790..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExampleNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWExampleNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExampleNodeVisitor.h b/Pods/BuildHeaders/Kiwi/KWExampleNodeVisitor.h deleted file mode 120000 index 0347cd9..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExampleNodeVisitor.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleNodeVisitor.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExampleSuite.h b/Pods/BuildHeaders/Kiwi/KWExampleSuite.h deleted file mode 120000 index 849831b..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExampleSuite.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleSuite.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExampleSuiteBuilder.h b/Pods/BuildHeaders/Kiwi/KWExampleSuiteBuilder.h deleted file mode 120000 index 84f06e2..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExampleSuiteBuilder.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleSuiteBuilder.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExistVerifier.h b/Pods/BuildHeaders/Kiwi/KWExistVerifier.h deleted file mode 120000 index 3f0dc32..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExistVerifier.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWExistVerifier.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWExpectationType.h b/Pods/BuildHeaders/Kiwi/KWExpectationType.h deleted file mode 120000 index 216d889..0000000 --- a/Pods/BuildHeaders/Kiwi/KWExpectationType.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExpectationType.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWFailure.h b/Pods/BuildHeaders/Kiwi/KWFailure.h deleted file mode 120000 index 2b5a88d..0000000 --- a/Pods/BuildHeaders/Kiwi/KWFailure.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWFailure.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWFormatter.h b/Pods/BuildHeaders/Kiwi/KWFormatter.h deleted file mode 120000 index 234fa84..0000000 --- a/Pods/BuildHeaders/Kiwi/KWFormatter.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWFormatter.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWFutureObject.h b/Pods/BuildHeaders/Kiwi/KWFutureObject.h deleted file mode 120000 index e1e1806..0000000 --- a/Pods/BuildHeaders/Kiwi/KWFutureObject.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWFutureObject.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWGenericMatchEvaluator.h b/Pods/BuildHeaders/Kiwi/KWGenericMatchEvaluator.h deleted file mode 120000 index e47bfc2..0000000 --- a/Pods/BuildHeaders/Kiwi/KWGenericMatchEvaluator.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWGenericMatchEvaluator.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWGenericMatcher.h b/Pods/BuildHeaders/Kiwi/KWGenericMatcher.h deleted file mode 120000 index ed0db0e..0000000 --- a/Pods/BuildHeaders/Kiwi/KWGenericMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWGenericMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWGenericMatchingAdditions.h b/Pods/BuildHeaders/Kiwi/KWGenericMatchingAdditions.h deleted file mode 120000 index 4b296a2..0000000 --- a/Pods/BuildHeaders/Kiwi/KWGenericMatchingAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWGenericMatchingAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWHaveMatcher.h b/Pods/BuildHeaders/Kiwi/KWHaveMatcher.h deleted file mode 120000 index 6603a8d..0000000 --- a/Pods/BuildHeaders/Kiwi/KWHaveMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWHaveMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWHaveValueMatcher.h b/Pods/BuildHeaders/Kiwi/KWHaveValueMatcher.h deleted file mode 120000 index aa68353..0000000 --- a/Pods/BuildHeaders/Kiwi/KWHaveValueMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWHaveValueMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWInequalityMatcher.h b/Pods/BuildHeaders/Kiwi/KWInequalityMatcher.h deleted file mode 120000 index 563f299..0000000 --- a/Pods/BuildHeaders/Kiwi/KWInequalityMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWInequalityMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWIntercept.h b/Pods/BuildHeaders/Kiwi/KWIntercept.h deleted file mode 120000 index 5aab538..0000000 --- a/Pods/BuildHeaders/Kiwi/KWIntercept.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWIntercept.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWInvocationCapturer.h b/Pods/BuildHeaders/Kiwi/KWInvocationCapturer.h deleted file mode 120000 index 786c20d..0000000 --- a/Pods/BuildHeaders/Kiwi/KWInvocationCapturer.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWInvocationCapturer.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWItNode.h b/Pods/BuildHeaders/Kiwi/KWItNode.h deleted file mode 120000 index 115be89..0000000 --- a/Pods/BuildHeaders/Kiwi/KWItNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWItNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMatchVerifier.h b/Pods/BuildHeaders/Kiwi/KWMatchVerifier.h deleted file mode 120000 index 741e295..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMatchVerifier.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWMatchVerifier.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMatcher.h b/Pods/BuildHeaders/Kiwi/KWMatcher.h deleted file mode 120000 index 6d1fda1..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMatcherFactory.h b/Pods/BuildHeaders/Kiwi/KWMatcherFactory.h deleted file mode 120000 index 053ae05..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMatcherFactory.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatcherFactory.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMatchers.h b/Pods/BuildHeaders/Kiwi/KWMatchers.h deleted file mode 120000 index 37dc93d..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMatchers.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatchers.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMatching.h b/Pods/BuildHeaders/Kiwi/KWMatching.h deleted file mode 120000 index 5094f6c..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMatching.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatching.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMessagePattern.h b/Pods/BuildHeaders/Kiwi/KWMessagePattern.h deleted file mode 120000 index 7db1ee2..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMessagePattern.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWMessagePattern.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMessageSpying.h b/Pods/BuildHeaders/Kiwi/KWMessageSpying.h deleted file mode 120000 index f2b7dc0..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMessageSpying.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMessageSpying.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMessageTracker.h b/Pods/BuildHeaders/Kiwi/KWMessageTracker.h deleted file mode 120000 index 0529de7..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMessageTracker.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMessageTracker.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWMock.h b/Pods/BuildHeaders/Kiwi/KWMock.h deleted file mode 120000 index d07edac..0000000 --- a/Pods/BuildHeaders/Kiwi/KWMock.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Mocking/KWMock.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWNilMatcher.h b/Pods/BuildHeaders/Kiwi/KWNilMatcher.h deleted file mode 120000 index fbe052f..0000000 --- a/Pods/BuildHeaders/Kiwi/KWNilMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWNilMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWNull.h b/Pods/BuildHeaders/Kiwi/KWNull.h deleted file mode 120000 index af2cb10..0000000 --- a/Pods/BuildHeaders/Kiwi/KWNull.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWNull.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWObjCUtilities.h b/Pods/BuildHeaders/Kiwi/KWObjCUtilities.h deleted file mode 120000 index f6cc0b9..0000000 --- a/Pods/BuildHeaders/Kiwi/KWObjCUtilities.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWObjCUtilities.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWPendingNode.h b/Pods/BuildHeaders/Kiwi/KWPendingNode.h deleted file mode 120000 index 7ff39e4..0000000 --- a/Pods/BuildHeaders/Kiwi/KWPendingNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWPendingNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWProbe.h b/Pods/BuildHeaders/Kiwi/KWProbe.h deleted file mode 120000 index d6cdabb..0000000 --- a/Pods/BuildHeaders/Kiwi/KWProbe.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWProbe.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWProbePoller.h b/Pods/BuildHeaders/Kiwi/KWProbePoller.h deleted file mode 120000 index a1aee4c..0000000 --- a/Pods/BuildHeaders/Kiwi/KWProbePoller.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWProbePoller.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWRaiseMatcher.h b/Pods/BuildHeaders/Kiwi/KWRaiseMatcher.h deleted file mode 120000 index 4f4b4d9..0000000 --- a/Pods/BuildHeaders/Kiwi/KWRaiseMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWRaiseMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWReceiveMatcher.h b/Pods/BuildHeaders/Kiwi/KWReceiveMatcher.h deleted file mode 120000 index c7c16f0..0000000 --- a/Pods/BuildHeaders/Kiwi/KWReceiveMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWReceiveMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWRegisterMatchersNode.h b/Pods/BuildHeaders/Kiwi/KWRegisterMatchersNode.h deleted file mode 120000 index 0d88f5d..0000000 --- a/Pods/BuildHeaders/Kiwi/KWRegisterMatchersNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWRegisterMatchersNode.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWRegularExpressionPatternMatcher.h b/Pods/BuildHeaders/Kiwi/KWRegularExpressionPatternMatcher.h deleted file mode 120000 index 322e8d1..0000000 --- a/Pods/BuildHeaders/Kiwi/KWRegularExpressionPatternMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWReporting.h b/Pods/BuildHeaders/Kiwi/KWReporting.h deleted file mode 120000 index d220f49..0000000 --- a/Pods/BuildHeaders/Kiwi/KWReporting.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWReporting.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWRespondToSelectorMatcher.h b/Pods/BuildHeaders/Kiwi/KWRespondToSelectorMatcher.h deleted file mode 120000 index 53da1b3..0000000 --- a/Pods/BuildHeaders/Kiwi/KWRespondToSelectorMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWSpec.h b/Pods/BuildHeaders/Kiwi/KWSpec.h deleted file mode 120000 index b35172e..0000000 --- a/Pods/BuildHeaders/Kiwi/KWSpec.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWSpec.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWStringContainsMatcher.h b/Pods/BuildHeaders/Kiwi/KWStringContainsMatcher.h deleted file mode 120000 index 43c9cd4..0000000 --- a/Pods/BuildHeaders/Kiwi/KWStringContainsMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWStringContainsMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWStringPrefixMatcher.h b/Pods/BuildHeaders/Kiwi/KWStringPrefixMatcher.h deleted file mode 120000 index 351d3e7..0000000 --- a/Pods/BuildHeaders/Kiwi/KWStringPrefixMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWStringPrefixMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWStringUtilities.h b/Pods/BuildHeaders/Kiwi/KWStringUtilities.h deleted file mode 120000 index e6225dc..0000000 --- a/Pods/BuildHeaders/Kiwi/KWStringUtilities.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWStringUtilities.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWStub.h b/Pods/BuildHeaders/Kiwi/KWStub.h deleted file mode 120000 index 6c8519f..0000000 --- a/Pods/BuildHeaders/Kiwi/KWStub.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWStub.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWSymbolicator.h b/Pods/BuildHeaders/Kiwi/KWSymbolicator.h deleted file mode 120000 index 2bc8b59..0000000 --- a/Pods/BuildHeaders/Kiwi/KWSymbolicator.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWSymbolicator.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWUserDefinedMatcher.h b/Pods/BuildHeaders/Kiwi/KWUserDefinedMatcher.h deleted file mode 120000 index 241b176..0000000 --- a/Pods/BuildHeaders/Kiwi/KWUserDefinedMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWUserDefinedMatcher.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWValue.h b/Pods/BuildHeaders/Kiwi/KWValue.h deleted file mode 120000 index f5aabfb..0000000 --- a/Pods/BuildHeaders/Kiwi/KWValue.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWValue.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWVerifying.h b/Pods/BuildHeaders/Kiwi/KWVerifying.h deleted file mode 120000 index 10c41b7..0000000 --- a/Pods/BuildHeaders/Kiwi/KWVerifying.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWVerifying.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KWWorkarounds.h b/Pods/BuildHeaders/Kiwi/KWWorkarounds.h deleted file mode 120000 index 5394bed..0000000 --- a/Pods/BuildHeaders/Kiwi/KWWorkarounds.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWWorkarounds.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/Kiwi.h b/Pods/BuildHeaders/Kiwi/Kiwi.h deleted file mode 120000 index 90584f1..0000000 --- a/Pods/BuildHeaders/Kiwi/Kiwi.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/Kiwi.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KiwiBlockMacros.h b/Pods/BuildHeaders/Kiwi/KiwiBlockMacros.h deleted file mode 120000 index c040758..0000000 --- a/Pods/BuildHeaders/Kiwi/KiwiBlockMacros.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KiwiBlockMacros.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KiwiConfiguration.h b/Pods/BuildHeaders/Kiwi/KiwiConfiguration.h deleted file mode 120000 index cdd209e..0000000 --- a/Pods/BuildHeaders/Kiwi/KiwiConfiguration.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KiwiConfiguration.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/KiwiMacros.h b/Pods/BuildHeaders/Kiwi/KiwiMacros.h deleted file mode 120000 index 936b359..0000000 --- a/Pods/BuildHeaders/Kiwi/KiwiMacros.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KiwiMacros.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSInvocation+KiwiAdditions.h b/Pods/BuildHeaders/Kiwi/NSInvocation+KiwiAdditions.h deleted file mode 120000 index 216b70b..0000000 --- a/Pods/BuildHeaders/Kiwi/NSInvocation+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSInvocation+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSInvocation+OCMAdditions.h b/Pods/BuildHeaders/Kiwi/NSInvocation+OCMAdditions.h deleted file mode 120000 index 5d505e9..0000000 --- a/Pods/BuildHeaders/Kiwi/NSInvocation+OCMAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSInvocation+OCMAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSMethodSignature+KiwiAdditions.h b/Pods/BuildHeaders/Kiwi/NSMethodSignature+KiwiAdditions.h deleted file mode 120000 index 816f65b..0000000 --- a/Pods/BuildHeaders/Kiwi/NSMethodSignature+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSNumber+KiwiAdditions.h b/Pods/BuildHeaders/Kiwi/NSNumber+KiwiAdditions.h deleted file mode 120000 index aa1be1c..0000000 --- a/Pods/BuildHeaders/Kiwi/NSNumber+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSNumber+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSObject+KiwiMockAdditions.h b/Pods/BuildHeaders/Kiwi/NSObject+KiwiMockAdditions.h deleted file mode 120000 index eba045f..0000000 --- a/Pods/BuildHeaders/Kiwi/NSObject+KiwiMockAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSObject+KiwiSpyAdditions.h b/Pods/BuildHeaders/Kiwi/NSObject+KiwiSpyAdditions.h deleted file mode 120000 index 9746eaf..0000000 --- a/Pods/BuildHeaders/Kiwi/NSObject+KiwiSpyAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSObject+KiwiStubAdditions.h b/Pods/BuildHeaders/Kiwi/NSObject+KiwiStubAdditions.h deleted file mode 120000 index 09dc8ad..0000000 --- a/Pods/BuildHeaders/Kiwi/NSObject+KiwiStubAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSObject+KiwiVerifierAdditions.h b/Pods/BuildHeaders/Kiwi/NSObject+KiwiVerifierAdditions.h deleted file mode 120000 index 9def95d..0000000 --- a/Pods/BuildHeaders/Kiwi/NSObject+KiwiVerifierAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSProxy+KiwiVerifierAdditions.h b/Pods/BuildHeaders/Kiwi/NSProxy+KiwiVerifierAdditions.h deleted file mode 120000 index f58050d..0000000 --- a/Pods/BuildHeaders/Kiwi/NSProxy+KiwiVerifierAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/NSValue+KiwiAdditions.h b/Pods/BuildHeaders/Kiwi/NSValue+KiwiAdditions.h deleted file mode 120000 index e411b0c..0000000 --- a/Pods/BuildHeaders/Kiwi/NSValue+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSValue+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/Kiwi/SenTestSuite+KiwiAdditions.h b/Pods/BuildHeaders/Kiwi/SenTestSuite+KiwiAdditions.h deleted file mode 120000 index e1e643a..0000000 --- a/Pods/BuildHeaders/Kiwi/SenTestSuite+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4.h b/Pods/BuildHeaders/SBJson/SBJson4.h deleted file mode 120000 index f7a65c8..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4Parser.h b/Pods/BuildHeaders/SBJson/SBJson4Parser.h deleted file mode 120000 index da1b0ed..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4Parser.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4Parser.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4StreamParser.h b/Pods/BuildHeaders/SBJson/SBJson4StreamParser.h deleted file mode 120000 index ca9fdbe..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4StreamParser.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamParser.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4StreamParserState.h b/Pods/BuildHeaders/SBJson/SBJson4StreamParserState.h deleted file mode 120000 index a912176..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4StreamParserState.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamParserState.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4StreamTokeniser.h b/Pods/BuildHeaders/SBJson/SBJson4StreamTokeniser.h deleted file mode 120000 index f56f4e1..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4StreamTokeniser.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamTokeniser.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4StreamWriter.h b/Pods/BuildHeaders/SBJson/SBJson4StreamWriter.h deleted file mode 120000 index 0c27043..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4StreamWriter.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamWriter.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4StreamWriterState.h b/Pods/BuildHeaders/SBJson/SBJson4StreamWriterState.h deleted file mode 120000 index 2d24add..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4StreamWriterState.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamWriterState.h \ No newline at end of file diff --git a/Pods/BuildHeaders/SBJson/SBJson4Writer.h b/Pods/BuildHeaders/SBJson/SBJson4Writer.h deleted file mode 120000 index 8f3db6d..0000000 --- a/Pods/BuildHeaders/SBJson/SBJson4Writer.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4Writer.h \ No newline at end of file diff --git a/Pods/DejalActivityView/DejalActivityView.h b/Pods/DejalActivityView/DejalActivityView.h deleted file mode 100644 index ace2ac3..0000000 --- a/Pods/DejalActivityView/DejalActivityView.h +++ /dev/null @@ -1,141 +0,0 @@ -// -// DejalActivityView.h -// Dejal Open Source -// -// Created by David Sinclair on 2009-07-26. -// Copyright (c) 2009-2013 Dejal Systems, LLC. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// - Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// - -#import - - -@interface DejalActivityView : UIView - -// The view to contain the activity indicator and label. The bezel style has a semi-transparent rounded rectangle, others are fully transparent: -@property (nonatomic, strong, readonly) UIView *borderView; - -// The activity indicator view: -@property (nonatomic, strong, readonly) UIActivityIndicatorView *activityIndicator; - -// The activity label: -@property (nonatomic, strong, readonly) UILabel *activityLabel; - -// A fixed width for the label text, or zero to automatically calculate the text size (normally set on creation of the view object): -@property (nonatomic) NSUInteger labelWidth; - -// Whether to show the network activity indicator in the status bar. Set to YES if the activity is network-related. This can be toggled on and off as desired while the activity view is visible (e.g. have it on while fetching data, then disable it while parsing it). By default it is not shown: -@property (nonatomic) BOOL showNetworkActivityIndicator; - -// Returns the currently displayed activity view, or nil if there isn't one: -+ (DejalActivityView *)currentActivityView; - -// Creates and adds an activity view centered within the specified view, using the label "Loading...". Returns the activity view, already added as a subview of the specified view: -+ (DejalActivityView *)activityViewForView:(UIView *)addToView; - -// Creates and adds an activity view centered within the specified view, using the specified label. Returns the activity view, already added as a subview of the specified view: -+ (DejalActivityView *)activityViewForView:(UIView *)addToView withLabel:(NSString *)labelText; - -// Creates and adds an activity view centered within the specified view, using the specified label and a fixed label width. The fixed width is useful if you want to change the label text while the view is visible. Returns the activity view, already added as a subview of the specified view: -+ (DejalActivityView *)activityViewForView:(UIView *)addToView withLabel:(NSString *)labelText width:(NSUInteger)aLabelWidth; - -// Designated initializer. Configures the activity view using the specified label text and width, and adds as a subview of the specified view: -- (DejalActivityView *)initForView:(UIView *)addToView withLabel:(NSString *)labelText width:(NSUInteger)aLabelWidth; - -// Immediately removes and releases the view without any animation: -+ (void)removeView; - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -// These methods are exposed for subclasses to override to customize the appearance and behavior; see the implementation for details: - -@interface DejalActivityView () - -- (UIView *)viewForView:(UIView *)view; -- (CGRect)enclosingFrame; -- (void)setupBackground; -- (UIView *)makeBorderView; -- (UIActivityIndicatorView *)makeActivityIndicator; -- (UILabel *)makeActivityLabelWithText:(NSString *)labelText; -- (void)animateShow; -- (void)animateRemove; - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@interface DejalWhiteActivityView : DejalActivityView - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@interface DejalBezelActivityView : DejalActivityView - -// Animates the view out from the superview and releases it, or simply removes and releases it immediately if not animating: -+ (void)removeViewAnimated:(BOOL)animated; - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@interface DejalKeyboardActivityView : DejalBezelActivityView - -// Creates and adds a keyboard-style activity view, using the label "Loading...". Returns the activity view, already covering the keyboard, or nil if the keyboard isn't currently displayed: -+ (DejalKeyboardActivityView *)activityView; - -// Creates and adds a keyboard-style activity view, using the specified label. Returns the activity view, already covering the keyboard, or nil if the keyboard isn't currently displayed: -+ (DejalKeyboardActivityView *)activityViewWithLabel:(NSString *)labelText; - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@interface UIApplication (KeyboardView) - -- (UIView *)keyboardView; - -@end; - diff --git a/Pods/DejalActivityView/DejalActivityView.m b/Pods/DejalActivityView/DejalActivityView.m deleted file mode 100644 index b0e3edf..0000000 --- a/Pods/DejalActivityView/DejalActivityView.m +++ /dev/null @@ -1,864 +0,0 @@ -// -// DejalActivityView.m -// Dejal Open Source -// -// Created by David Sinclair on 2009-07-26. -// Copyright (c) 2009-2013 Dejal Systems, LLC. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without modification, -// are permitted provided that the following conditions are met: -// -// - Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Credit: inspired by Matt Gallagher's LoadingView blog post: -// http://cocoawithlove.com/2009/04/showing-message-over-iphone-keyboard.html -// - - -#import "DejalActivityView.h" -#import - - -@interface DejalActivityView () - -@property (nonatomic, strong) UIView *originalView; -@property (nonatomic, strong) UIView *borderView; -@property (nonatomic, strong) UIActivityIndicatorView *activityIndicator; -@property (nonatomic, strong) UILabel *activityLabel; - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@implementation DejalActivityView - -@synthesize originalView, borderView, activityIndicator, activityLabel, labelWidth, showNetworkActivityIndicator; - -static DejalActivityView *dejalActivityView = nil; - -/* - currentActivityView - - Returns the currently displayed activity view, or nil if there isn't one. - - Written by DJS 2009-07. -*/ - -+ (DejalActivityView *)currentActivityView; -{ - return dejalActivityView; -} - -/* - activityViewForView: - - Creates and adds an activity view centered within the specified view, using the label "Loading...". Returns the activity view, already added as a subview of the specified view. - - Written by DJS 2009-07. - Changed by DJS 2010-06 to add "new" prefix to the method name to make it clearer that this returns a retained object. - Changed by DJS 2011-08 to remove the "new" prefix again. -*/ - -+ (DejalActivityView *)activityViewForView:(UIView *)addToView; -{ - return [self activityViewForView:addToView withLabel:NSLocalizedString(@"Loading...", @"Default DejalActivtyView label text") width:0]; -} - -/* - activityViewForView:withLabel: - - Creates and adds an activity view centered within the specified view, using the specified label. Returns the activity view, already added as a subview of the specified view. - - Written by DJS 2009-07. - Changed by DJS 2010-06 to add "new" prefix to the method name to make it clearer that this returns a retained object. - Changed by DJS 2011-08 to remove the "new" prefix again. -*/ - -+ (DejalActivityView *)activityViewForView:(UIView *)addToView withLabel:(NSString *)labelText; -{ - return [self activityViewForView:addToView withLabel:labelText width:0]; -} - -/* - activityViewForView:withLabel:width: - - Creates and adds an activity view centered within the specified view, using the specified label and a fixed label width. The fixed width is useful if you want to change the label text while the view is visible. Returns the activity view, already added as a subview of the specified view. - - Written by DJS 2009-07. - Changed by DJS 2010-06 to add "new" prefix to the method name to make it clearer that this returns a retained object. - Changed by DJS 2011-08 to remove the "new" prefix again, and move the singleton stuff to here. -*/ - -+ (DejalActivityView *)activityViewForView:(UIView *)addToView withLabel:(NSString *)labelText width:(NSUInteger)aLabelWidth; -{ - // Immediately remove any existing activity view: - if (dejalActivityView) - [self removeView]; - - // Remember the new view (so this is a singleton): - dejalActivityView = [[self alloc] initForView:addToView withLabel:labelText width:aLabelWidth]; - - return dejalActivityView; -} - -/* - initForView:withLabel:width: - - Designated initializer. Configures the activity view using the specified label text and width, and adds as a subview of the specified view. - - Written by DJS 2009-07. - Changed by DJS 2011-08 to move the singleton stuff to the calling class method, where it should be. -*/ - -- (DejalActivityView *)initForView:(UIView *)addToView withLabel:(NSString *)labelText width:(NSUInteger)aLabelWidth; -{ - if (!(self = [super initWithFrame:CGRectZero])) - return nil; - - // Allow subclasses to change the view to which to add the activity view (e.g. to cover the keyboard): - self.originalView = addToView; - addToView = [self viewForView:addToView]; - - // Configure this view (the background) and its subviews: - [self setupBackground]; - self.labelWidth = aLabelWidth; - self.borderView = [self makeBorderView]; - self.activityIndicator = [self makeActivityIndicator]; - self.activityLabel = [self makeActivityLabelWithText:labelText]; - - // Assemble the subviews: - [addToView addSubview:self]; - [self addSubview:self.borderView]; - [self.borderView addSubview:self.activityIndicator]; - [self.borderView addSubview:self.activityLabel]; - - // Animate the view in, if appropriate: - [self animateShow]; - - return self; -} - -- (void)dealloc; -{ - if ([dejalActivityView isEqual:self]) - dejalActivityView = nil; -} - -/* - removeView - - Immediately removes and releases the view without any animation. - - Written by DJS 2009-07. - Changed by DJS 2009-09 to disable the network activity indicator if it was shown by this view. -*/ - -+ (void)removeView; -{ - if (!dejalActivityView) - return; - - if (dejalActivityView.showNetworkActivityIndicator) - [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; - - [dejalActivityView removeFromSuperview]; - - // Remove the global reference: - dejalActivityView = nil; -} - -/* - viewForView: - - Returns the view to which to add the activity view. By default returns the same view. Subclasses may override this to change the view. - - Written by DJS 2009-07. -*/ - -- (UIView *)viewForView:(UIView *)view; -{ - return view; -} - -/* - enclosingFrame - - Returns the frame to use for the activity view. Defaults to the superview's bounds. Subclasses may override this to use something different, if desired. - - Written by DJS 2009-07. -*/ - -- (CGRect)enclosingFrame; -{ - return self.superview.bounds; -} - -/* - setupBackground - - Configure the background of the activity view. - - Written by DJS 2009-07. -*/ - -- (void)setupBackground; -{ - self.opaque = NO; - self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; -} - -/* - makeBorderView - - Returns a new view to contain the activity indicator and label. By default this view is transparent. Subclasses may override this method, optionally calling super, to use a different or customized view. - - Written by DJS 2009-07. - Changed by DJS 2011-11 to simplify and make it easier to override. -*/ - -- (UIView *)makeBorderView; -{ - UIView *view = [[UIView alloc] initWithFrame:CGRectZero]; - - view.opaque = NO; - view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; - - return view; -} - -/* - makeActivityIndicator - - Returns a new activity indicator view. Subclasses may override this method, optionally calling super, to use a different or customized view. - - Written by DJS 2009-07. - Changed by DJS 2011-11 to simplify and make it easier to override. -*/ - -- (UIActivityIndicatorView *)makeActivityIndicator; -{ - UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; - - [indicator startAnimating]; - - return indicator; -} - -/* - makeActivityLabelWithText: - - Returns a new activity label. Subclasses may override this method, optionally calling super, to use a different or customized view. - - Written by DJS 2009-07. - Changed by DJS 2011-11 to simplify and make it easier to override. - Changed by chrisledet 2013-01 to use NSTextAlignmentLeft instead of the deprecated UITextAlignmentLeft. -*/ - -- (UILabel *)makeActivityLabelWithText:(NSString *)labelText; -{ - UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero]; - - label.font = [UIFont systemFontOfSize:[UIFont systemFontSize]]; - label.textAlignment = NSTextAlignmentLeft; - label.textColor = [UIColor blackColor]; - label.backgroundColor = [UIColor clearColor]; - label.shadowColor = [UIColor whiteColor]; - label.shadowOffset = CGSizeMake(0.0, 1.0); - label.text = labelText; - - return label; -} - -/* - layoutSubviews - - Positions and sizes the various views that make up the activity view, including after rotation. - - Written by DJS 2009-07. -*/ - -- (void)layoutSubviews; -{ - self.frame = [self enclosingFrame]; - - // If we're animating a transform, don't lay out now, as can't use the frame property when transforming: - if (!CGAffineTransformIsIdentity(self.borderView.transform)) - return; - -#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0 - CGSize textSize = [self.activityLabel.text sizeWithFont:[UIFont systemFontOfSize:[UIFont systemFontSize]]]; -#else - CGSize textSize = [self.activityLabel.text sizeWithAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:[UIFont systemFontSize]]}]; -#endif - - // Use the fixed width if one is specified: - if (self.labelWidth > 10) - textSize.width = self.labelWidth; - - self.activityLabel.frame = CGRectMake(self.activityLabel.frame.origin.x, self.activityLabel.frame.origin.y, textSize.width, textSize.height); - - // Calculate the size and position for the border view: with the indicator to the left of the label, and centered in the receiver: - CGRect borderFrame = CGRectZero; - borderFrame.size.width = self.activityIndicator.frame.size.width + textSize.width + 25.0; - borderFrame.size.height = self.activityIndicator.frame.size.height + 10.0; - borderFrame.origin.x = floor(0.5 * (self.frame.size.width - borderFrame.size.width)); - borderFrame.origin.y = floor(0.5 * (self.frame.size.height - borderFrame.size.height - 20.0)); - self.borderView.frame = borderFrame; - - // Calculate the position of the indicator: vertically centered and at the left of the border view: - CGRect indicatorFrame = self.activityIndicator.frame; - indicatorFrame.origin.x = 10.0; - indicatorFrame.origin.y = 0.5 * (borderFrame.size.height - indicatorFrame.size.height); - self.activityIndicator.frame = indicatorFrame; - - // Calculate the position of the label: vertically centered and at the right of the border view: - CGRect labelFrame = self.activityLabel.frame; - labelFrame.origin.x = borderFrame.size.width - labelFrame.size.width - 10.0; - labelFrame.origin.y = floor(0.5 * (borderFrame.size.height - labelFrame.size.height)); - self.activityLabel.frame = labelFrame; -} - -/* - animateShow - - Animates the view into visibility. Does nothing for the simple activity view. - - Written by DJS 2009-07. -*/ - -- (void)animateShow; -{ - // Does nothing by default -} - -/* - animateRemove - - Animates the view out of visibiltiy. Does nothng for the simple activity view. - - Written by DJS 2009-07. -*/ - -- (void)animateRemove; -{ - // Does nothing by default -} - -/* - setShowNetworkActivityIndicator: - - Sets whether or not to show the network activity indicator in the status bar. Set to YES if the activity is network-related. This can be toggled on and off as desired while the activity view is visible (e.g. have it on while fetching data, then disable it while parsing it). By default it is not shown. - - Written by DJS 2009-09. -*/ - -- (void)setShowNetworkActivityIndicator:(BOOL)show; -{ - showNetworkActivityIndicator = show; - - [UIApplication sharedApplication].networkActivityIndicatorVisible = show; -} - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@implementation DejalWhiteActivityView - -/* - makeActivityIndicator - - Returns a new activity indicator view. This subclass uses a white activity indicator instead of gray. - - Written by DJS 2009-10. - Changed by DJS 2011-11 to simplify and make it easier to override. -*/ - -- (UIActivityIndicatorView *)makeActivityIndicator; -{ - UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; - - [indicator startAnimating]; - - return indicator; -} - -/* - makeActivityLabelWithText: - - Returns a new activity label. This subclass uses white text instead of black. - - Written by DJS 2009-10. - Changed by DJS 2011-11 to simplify and make it easier to override. -*/ - -- (UILabel *)makeActivityLabelWithText:(NSString *)labelText; -{ - UILabel *label = [super makeActivityLabelWithText:labelText]; - - label.textColor = [UIColor whiteColor]; - label.shadowColor = [UIColor blackColor]; - - return label; -} - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@implementation DejalBezelActivityView - -/* - viewForView: - - Returns the view to which to add the activity view. For the bezel style, if there is a keyboard displayed, the view is changed to the keyboard's superview. - - Written by DJS 2009-07. -*/ - -- (UIView *)viewForView:(UIView *)view; -{ - UIView *keyboardView = [[UIApplication sharedApplication] keyboardView]; - - if (keyboardView) - view = keyboardView.superview; - - return view; -} - -/* - enclosingFrame - - Returns the frame to use for the activity view. For the bezel style, if there is a keyboard displayed, the frame is changed to cover the keyboard too. - - Written by DJS 2009-07. -*/ - -- (CGRect)enclosingFrame; -{ - CGRect frame = [super enclosingFrame]; - - if (self.superview != self.originalView) - frame = [self.originalView convertRect:self.originalView.bounds toView:self.superview]; - - return frame; -} - -/* - setupBackground - - Configure the background of the activity view. - - Written by DJS 2009-07. -*/ - -- (void)setupBackground; -{ - [super setupBackground]; - - self.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.35]; -} - -/* - makeBorderView - - Returns a new view to contain the activity indicator and label. The bezel style has a semi-transparent rounded rectangle. - - Written by DJS 2009-07. - Changed by DJS 2011-11 to simplify and make it easier to override. -*/ - -- (UIView *)makeBorderView; -{ - UIView *view = [super makeBorderView]; - - view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5]; - view.layer.cornerRadius = 10.0; - - return view; -} - -/* - makeActivityIndicator - - Returns a new activity indicator view. The bezel style uses a large white indicator. - - Written by DJS 2009-07. - Changed by DJS 2011-11 to simplify and make it easier to override. -*/ - -- (UIActivityIndicatorView *)makeActivityIndicator; -{ - UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; - - [indicator startAnimating]; - - return indicator; -} - -/* - makeActivityLabelWithText: - - Returns a new activity label. The bezel style uses centered white text. - - Written by DJS 2009-07. - Changed by Suleman Sidat 2011-07 to support a multi-line label. - Changed by DJS 2011-11 to simplify and make it easier to override. - Changed by chrisledet 2013-01 to use NSTextAlignmentCenter and NSLineBreakByWordWrapping instead of the deprecated UITextAlignmentCenter and UILineBreakModeWordWrap. -*/ - -- (UILabel *)makeActivityLabelWithText:(NSString *)labelText; -{ - UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero]; - - label.font = [UIFont boldSystemFontOfSize:[UIFont systemFontSize]]; - label.textAlignment = NSTextAlignmentCenter; - label.textColor = [UIColor whiteColor]; - label.backgroundColor = [UIColor clearColor]; - label.numberOfLines = 0; - label.lineBreakMode = NSLineBreakByWordWrapping; - label.text = labelText; - - return label; -} - -/* - layoutSubviews - - Positions and sizes the various views that make up the activity view, including after rotation. - - Written by DJS 2009-07. - Changed by Suleman Sidat 2011-07 to support a multi-line label. -*/ - -- (void)layoutSubviews; -{ - // If we're animating a transform, don't lay out now, as can't use the frame property when transforming: - if (!CGAffineTransformIsIdentity(self.borderView.transform)) - return; - - self.frame = [self enclosingFrame]; - - CGSize maxSize = CGSizeMake(260, 400); - -#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0 - CGSize textSize = [self.activityLabel.text sizeWithFont:[UIFont boldSystemFontOfSize:[UIFont systemFontSize]] - constrainedToSize:maxSize - lineBreakMode:self.activityLabel.lineBreakMode]; -#else - NSMutableParagraphStyle *para = [NSMutableParagraphStyle new]; - para.lineBreakMode = self.activityLabel.lineBreakMode; - CGSize textSize = [self.activityLabel.text boundingRectWithSize:maxSize - options:NSStringDrawingUsesLineFragmentOrigin - attributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:[UIFont systemFontSize]], - NSParagraphStyleAttributeName:para} - context:nil].size; -#endif - - // Use the fixed width if one is specified: - if (self.labelWidth > 10) - textSize.width = self.labelWidth; - - // Require that the label be at least as wide as the indicator, since that width is used for the border view: - if (textSize.width < self.activityIndicator.frame.size.width) - textSize.width = self.activityIndicator.frame.size.width + 10.0; - - // If there's no label text, don't need to allow height for it: - if (self.activityLabel.text.length == 0) - textSize.height = 0.0; - - self.activityLabel.frame = CGRectMake(self.activityLabel.frame.origin.x, self.activityLabel.frame.origin.y, textSize.width, textSize.height); - - // Calculate the size and position for the border view: with the indicator vertically above the label, and centered in the receiver: - CGRect borderFrame = CGRectZero; - borderFrame.size.width = textSize.width + 30.0; - borderFrame.size.height = self.activityIndicator.frame.size.height + textSize.height + 40.0; - borderFrame.origin.x = floor(0.5 * (self.frame.size.width - borderFrame.size.width)); - borderFrame.origin.y = floor(0.5 * (self.frame.size.height - borderFrame.size.height)); - self.borderView.frame = borderFrame; - - // Calculate the position of the indicator: horizontally centered and near the top of the border view: - CGRect indicatorFrame = self.activityIndicator.frame; - indicatorFrame.origin.x = 0.5 * (borderFrame.size.width - indicatorFrame.size.width); - indicatorFrame.origin.y = 20.0; - self.activityIndicator.frame = indicatorFrame; - - // Calculate the position of the label: horizontally centered and near the bottom of the border view: - CGRect labelFrame = self.activityLabel.frame; - labelFrame.origin.x = floor(0.5 * (borderFrame.size.width - labelFrame.size.width)); - labelFrame.origin.y = borderFrame.size.height - labelFrame.size.height - 10.0; - self.activityLabel.frame = labelFrame; -} - -/* - animateShow - - Animates the view into visibility. For the bezel style, fades in the background and zooms the bezel down from a large size. - - Written by DJS 2009-07. -*/ - -- (void)animateShow; -{ - self.alpha = 0.0; - self.borderView.transform = CGAffineTransformMakeScale(3.0, 3.0); - - [UIView beginAnimations:nil context:nil]; -// [UIView setAnimationDuration:5.0]; // Uncomment to see the animation in slow motion - - self.borderView.transform = CGAffineTransformIdentity; - self.alpha = 1.0; - - [UIView commitAnimations]; -} - -/* - animateRemove - - Animates the view out, deferring the removal until the animation is complete. For the bezel style, fades out the background and zooms the bezel down to half size. - - Written by DJS 2009-07. - Changed by DJS 2009-09 to disable the network activity indicator if it was shown by this view. -*/ - -- (void)animateRemove; -{ - if (self.showNetworkActivityIndicator) - [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; - - self.borderView.transform = CGAffineTransformIdentity; - - [UIView beginAnimations:nil context:nil]; -// [UIView setAnimationDuration:5.0]; // Uncomment to see the animation in slow motion - [UIView setAnimationDelegate:self]; - [UIView setAnimationDidStopSelector:@selector(removeAnimationDidStop:finished:context:)]; - - self.borderView.transform = CGAffineTransformMakeScale(0.5, 0.5); - self.alpha = 0.0; - - [UIView commitAnimations]; -} - -- (void)removeAnimationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context; -{ - [[self class] removeView]; -} - -/* - removeViewAnimated: - - Animates the view out from the superview and releases it, or simply removes and releases it immediately if not animating. - - Written by DJS 2009-07. -*/ - -+ (void)removeViewAnimated:(BOOL)animated; -{ - if (!dejalActivityView) - return; - - if (animated) - [dejalActivityView animateRemove]; - else - [[self class] removeView]; -} - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@implementation DejalKeyboardActivityView - -/* - activityView - - Creates and adds a keyboard-style activity view, using the label "Loading...". Returns the activity view, already covering the keyboard, or nil if the keyboard isn't currently displayed. - - Written by DJS 2009-07. - Changed by DJS 2010-06 to add "new" prefix to the method name to make it clearer that this returns a retained object. - Changed by DJS 2011-08 to remove the "new" prefix again. -*/ - -+ (DejalKeyboardActivityView *)activityView; -{ - return [self activityViewWithLabel:NSLocalizedString(@"Loading...", @"Default DejalActivtyView label text")]; -} - -/* - activityViewWithLabel: - - Creates and adds a keyboard-style activity view, using the specified label. Returns the activity view, already covering the keyboard, or nil if the keyboard isn't currently displayed. - - Written by DJS 2009-07. - Changed by DJS 2010-06 to add "new" prefix to the method name to make it clearer that this returns a retained object. - Changed by DJS 2011-08 to remove the "new" prefix again. -*/ - -+ (DejalKeyboardActivityView *)activityViewWithLabel:(NSString *)labelText; -{ - UIView *keyboardView = [[UIApplication sharedApplication] keyboardView]; - - if (!keyboardView) - return nil; - else - return (DejalKeyboardActivityView *)[self activityViewForView:keyboardView withLabel:labelText]; -} - -/* - viewForView: - - Returns the view to which to add the activity view. For the keyboard style, returns the same view (which will already be the keyboard). - - Written by DJS 2009-07. -*/ - -- (UIView *)viewForView:(UIView *)view; -{ - return view; -} - -/* - animateShow - - Animates the view into visibility. For the keyboard style, simply fades in. - - Written by DJS 2009-07. -*/ - -- (void)animateShow; -{ - self.alpha = 0.0; - - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:1.0]; - - self.alpha = 1.0; - - [UIView commitAnimations]; -} - -/* - animateRemove - - Animates the view out, deferring the removal until the animation is complete. For the keyboard style, simply fades out. - - Written by DJS 2009-07. -*/ - -- (void)animateRemove; -{ - [UIView beginAnimations:nil context:nil]; - [UIView setAnimationDuration:1.0]; - [UIView setAnimationDelegate:self]; - [UIView setAnimationDidStopSelector:@selector(removeAnimationDidStop:finished:context:)]; - - self.alpha = 0.0; - - [UIView commitAnimations]; -} - -/* - setupBackground - - Configure the background of the activity view. - - Written by DJS 2009-07. -*/ - -- (void)setupBackground; -{ - [super setupBackground]; - - self.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.85]; -} - -/* - makeBorderView - - Returns a new view to contain the activity indicator and label. The keyboard style has a transparent border. - - Written by DJS 2009-07. - Changed by DJS 2011-11 to simplify and make it easier to override. -*/ - -- (UIView *)makeBorderView; -{ - UIView *view = [super makeBorderView]; - - view.backgroundColor = nil; - - return view; -} - -@end - - -// ---------------------------------------------------------------------------------------- -// MARK: - -// ---------------------------------------------------------------------------------------- - - -@implementation UIApplication (KeyboardView) - -// keyboardView -// -// Copyright Matt Gallagher 2009. All rights reserved. -// -// Permission is given to use this source code file, free of charge, in any -// project, commercial or otherwise, entirely at your risk, with the condition -// that any redistribution (in part or whole) of source code must retain -// this copyright and permission notice. Attribution in compiled projects is -// appreciated but not required. - -- (UIView *)keyboardView; -{ - NSArray *windows = [self windows]; - for (UIWindow *window in [windows reverseObjectEnumerator]) - { - for (UIView *view in [window subviews]) - { - // UIPeripheralHostView is used from iOS 4.0, UIKeyboard was used in previous versions: - if (!strcmp(object_getClassName(view), "UIPeripheralHostView") || !strcmp(object_getClassName(view), "UIKeyboard")) - { - return view; - } - } - } - - return nil; -} - -@end - diff --git a/Pods/DejalActivityView/License.txt b/Pods/DejalActivityView/License.txt deleted file mode 100644 index 36e06a2..0000000 --- a/Pods/DejalActivityView/License.txt +++ /dev/null @@ -1,17 +0,0 @@ -Please see the "Dejal Open Source License" web page for more information. - -Attribution is required, but a non-attribution license is also available. - - - ------ - -Copyright (c) 2002-2013 Dejal Systems, LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - diff --git a/Pods/DejalActivityView/README.markdown b/Pods/DejalActivityView/README.markdown deleted file mode 100644 index 030cf6b..0000000 --- a/Pods/DejalActivityView/README.markdown +++ /dev/null @@ -1,130 +0,0 @@ -DejalActivityView -================= - -DejalActivityView conveniently displays a horizontal, bezel-style, or keyboard-covering view with a spinning activity indicator and adjustable text. - - -Donations ---------- - -I wrote DejalActivityView for my own use, but I'm making it available for the benefit of the iOS developer community. - -If you find it useful, a donation via PayPal (or something from my Amazon.com Wish List) would be very much appreciated. Appropriate links can be found on the Dejal Developer page: - - - - -Latest Version --------------- - -You can find the latest version of this code via the GitHub repository: - - - -For news on updates, also check out the Dejal Developer page or the Dejal Blog filtered for DejalActivityView posts: - - - - -Requirements ------------- - -- Xcode 4.2 or later. -- iOS 5 or later. -- ARC. - - -Features --------- - -- **DejalActivityView**: a simple horizontal-style loading view, intended for situations where you have a blank view while loading data. -- **DejalWhiteActivityView**: the same as the simple one, but with a white indicator and text instead of black, for use in dark views. -- **DejalBezelActivityView**: an animated round-rect-enclosed variation, with a gray background covering the parent view. -- **DejalKeyboardActivityView**: displays over the keyboard. Rarely used nowadays (and may be removed in a future version; let me know if you need it). -- A demo project is included. - - -Usage ------ - -Include the DejalActivityView.h and DejalActivityView.m files in your project. - -To display the basic `DejalActivityView`, simply use: - - [DejalActivityView activityViewForView:self.view]; - -The activity view is automatically added as a subview of the specified view (e.g. the current content view). No need to save the result to an ivar. - -You can instead specify a custom label via: - - [DejalActivityView activityViewForView:self.view withLabel:@"Processing..."]; - -Or specify a custom width, e.g. so you can change the label while it is being displayed without upsetting the geometry, via: - - [DejalActivityView activityViewForView:self.view withLabel:@"Connecting..." width:100]; - -You can also have it manage the network activity indicator in the status bar, e.g.: - - [DejalActivityView activityViewForView:self.view].showNetworkActivityIndicator = YES; - -Then when you're done with it, simply invoke this to get rid of it: - - [DejalActivityView removeView]; - -The other variations are similar. So for example you can display `DejalBezelActivityView` via: - - [DejalBezelActivityView activityViewForView:self.view]; - -The `[DejalBezelActivityView activityViewForView:withLabel:]` and `[DejalBezelActivityView activityViewForView:withLabel:width:]` variations are also available. - -To remove with animation, call: - - [DejalBezelActivityView removeViewAnimated:YES]; - -There are other options too; see the [DejalActivityView blog posts](http://www.dejal.com/blog/dejalactivityview) for full details, screenshots, and a demo movie. Or try the included demo project. - - -License and Warranty --------------------- - -This code uses the standard BSD license. See the included License.txt file. Please also see the [Dejal Open Source License](http://www.dejal.com/developer/license/) web page for more information. - -You can use this code at no cost, with attribution. A non-attribution license is also available, for a fee. - -You're welcome to use it in commercial, closed-source, open source, free or any other kind of software, as long as you credit Dejal appropriately. - -The placement and format of the credit is up to you, but I prefer the credit to be in the software's "About" window or view, if any. Alternatively, you could put the credit in the software's documentation, or on the web page for the product. The suggested format for the attribution is: - -> Includes DejalActivityView code from [Dejal](http://www.dejal.com/developer/). - -Where possible, please link the text "Dejal" to the Dejal Developer web page, or include the page's URL: . - -This code comes with no warranty of any kind. I hope it'll be useful to you, but I make no guarantees regarding its functionality or otherwise. - - -Credits -------- - -This work was inspired in part by Matt Gallagher's excellent article, [Showing a "Loading..." message over the iPhone keyboard](http://cocoawithlove.com/2009/04/showing-message-over-iphone-keyboard.html). My code only uses the `-keyboardView` method from his article, but he deserves credit and thanks for that and many other helpful articles. - - -Support / Contact / Bugs / Features ------------------------------------ - -I can't promise to answer questions about how to use the code. - -If you create an app that uses the code, please tell me about it. - -If you want to submit a feature request or bug report, please use [GitHub's issue tracker for this project](https://github.com/Dejal/DejalActivityView/issues). Or preferably fork the code and implement the feature/fix yourself, then submit a pull request. - -Enjoy! - -David Sinclair -Dejal Systems, LLC - - -Contact: -More open source projects: -Open source announcements on Twitter: -General Dejal news on Twitter: - diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.h b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.h deleted file mode 100755 index 0ec72f0..0000000 --- a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.h +++ /dev/null @@ -1,65 +0,0 @@ -// -// EGORefreshTableHeaderView.h -// Demo -// -// Created by Devin Doty on 10/14/09October14. -// Copyright 2009 enormego. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import -#import - -typedef enum{ - EGOOPullRefreshPulling = 0, - EGOOPullRefreshNormal, - EGOOPullRefreshLoading, -} EGOPullRefreshState; - -@protocol EGORefreshTableHeaderDelegate; -@interface EGORefreshTableHeaderView : UIView { - - id _delegate; - EGOPullRefreshState _state; - - UILabel *_lastUpdatedLabel; - UILabel *_statusLabel; - CALayer *_arrowImage; - UIActivityIndicatorView *_activityView; - - -} - -@property(nonatomic,assign) id delegate; - -- (id)initWithFrame:(CGRect)frame arrowImageName:(NSString *)arrow textColor:(UIColor *)textColor; - -- (void)refreshLastUpdatedDate; -- (void)egoRefreshScrollViewDidScroll:(UIScrollView *)scrollView; -- (void)egoRefreshScrollViewDidEndDragging:(UIScrollView *)scrollView; -- (void)egoRefreshScrollViewDataSourceDidFinishedLoading:(UIScrollView *)scrollView; - -@end -@protocol EGORefreshTableHeaderDelegate -- (void)egoRefreshTableHeaderDidTriggerRefresh:(EGORefreshTableHeaderView*)view; -- (BOOL)egoRefreshTableHeaderDataSourceIsLoading:(EGORefreshTableHeaderView*)view; -@optional -- (NSDate*)egoRefreshTableHeaderDataSourceLastUpdated:(EGORefreshTableHeaderView*)view; -@end diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.m b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.m deleted file mode 100755 index 332f8a8..0000000 --- a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.m +++ /dev/null @@ -1,263 +0,0 @@ -// -// EGORefreshTableHeaderView.m -// Demo -// -// Created by Devin Doty on 10/14/09October14. -// Copyright 2009 enormego. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import "EGORefreshTableHeaderView.h" - - -#define TEXT_COLOR [UIColor colorWithRed:87.0/255.0 green:108.0/255.0 blue:137.0/255.0 alpha:1.0] -#define FLIP_ANIMATION_DURATION 0.18f - - -@interface EGORefreshTableHeaderView (Private) -- (void)setState:(EGOPullRefreshState)aState; -@end - -@implementation EGORefreshTableHeaderView - -@synthesize delegate=_delegate; - - -- (id)initWithFrame:(CGRect)frame arrowImageName:(NSString *)arrow textColor:(UIColor *)textColor { - if((self = [super initWithFrame:frame])) { - - self.autoresizingMask = UIViewAutoresizingFlexibleWidth; - self.backgroundColor = [UIColor colorWithRed:226.0/255.0 green:231.0/255.0 blue:237.0/255.0 alpha:1.0]; - - UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, frame.size.height - 30.0f, self.frame.size.width, 20.0f)]; - label.autoresizingMask = UIViewAutoresizingFlexibleWidth; - label.font = [UIFont systemFontOfSize:12.0f]; - label.textColor = textColor; - label.shadowColor = [UIColor colorWithWhite:0.9f alpha:1.0f]; - label.shadowOffset = CGSizeMake(0.0f, 1.0f); - label.backgroundColor = [UIColor clearColor]; - label.textAlignment = NSTextAlignmentCenter; - [self addSubview:label]; - _lastUpdatedLabel=label; - [label release]; - - label = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, frame.size.height - 48.0f, self.frame.size.width, 20.0f)]; - label.autoresizingMask = UIViewAutoresizingFlexibleWidth; - label.font = [UIFont boldSystemFontOfSize:13.0f]; - label.textColor = textColor; - label.shadowColor = [UIColor colorWithWhite:0.9f alpha:1.0f]; - label.shadowOffset = CGSizeMake(0.0f, 1.0f); - label.backgroundColor = [UIColor clearColor]; - label.textAlignment = NSTextAlignmentCenter; - [self addSubview:label]; - _statusLabel=label; - [label release]; - - CALayer *layer = [CALayer layer]; - layer.frame = CGRectMake(25.0f, frame.size.height - 65.0f, 30.0f, 55.0f); - layer.contentsGravity = kCAGravityResizeAspect; - layer.contents = (id)[UIImage imageNamed:arrow].CGImage; - -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000 - if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) { - layer.contentsScale = [[UIScreen mainScreen] scale]; - } -#endif - - [[self layer] addSublayer:layer]; - _arrowImage=layer; - - UIActivityIndicatorView *view = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; - view.frame = CGRectMake(25.0f, frame.size.height - 38.0f, 20.0f, 20.0f); - [self addSubview:view]; - _activityView = view; - [view release]; - - - [self setState:EGOOPullRefreshNormal]; - - } - - return self; - -} - -- (id)initWithFrame:(CGRect)frame { - return [self initWithFrame:frame arrowImageName:@"blueArrow.png" textColor:TEXT_COLOR]; -} - -#pragma mark - -#pragma mark Setters - -- (void)refreshLastUpdatedDate { - - if ([_delegate respondsToSelector:@selector(egoRefreshTableHeaderDataSourceLastUpdated:)]) { - - NSDate *date = [_delegate egoRefreshTableHeaderDataSourceLastUpdated:self]; - - [NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault]; - NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; - [dateFormatter setDateStyle:NSDateFormatterShortStyle]; - [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; - - _lastUpdatedLabel.text = [NSString stringWithFormat:@"Last Updated: %@", [dateFormatter stringFromDate:date]]; - [[NSUserDefaults standardUserDefaults] setObject:_lastUpdatedLabel.text forKey:@"EGORefreshTableView_LastRefresh"]; - [[NSUserDefaults standardUserDefaults] synchronize]; - - } else { - - _lastUpdatedLabel.text = nil; - - } - -} - -- (void)setState:(EGOPullRefreshState)aState{ - - switch (aState) { - case EGOOPullRefreshPulling: - - _statusLabel.text = NSLocalizedString(@"Release to refresh...", @"Release to refresh status"); - [CATransaction begin]; - [CATransaction setAnimationDuration:FLIP_ANIMATION_DURATION]; - _arrowImage.transform = CATransform3DMakeRotation((M_PI / 180.0) * 180.0f, 0.0f, 0.0f, 1.0f); - [CATransaction commit]; - - break; - case EGOOPullRefreshNormal: - - if (_state == EGOOPullRefreshPulling) { - [CATransaction begin]; - [CATransaction setAnimationDuration:FLIP_ANIMATION_DURATION]; - _arrowImage.transform = CATransform3DIdentity; - [CATransaction commit]; - } - - _statusLabel.text = NSLocalizedString(@"Pull down to refresh...", @"Pull down to refresh status"); - [_activityView stopAnimating]; - [CATransaction begin]; - [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; - _arrowImage.hidden = NO; - _arrowImage.transform = CATransform3DIdentity; - [CATransaction commit]; - - [self refreshLastUpdatedDate]; - - break; - case EGOOPullRefreshLoading: - - _statusLabel.text = NSLocalizedString(@"Loading...", @"Loading Status"); - [_activityView startAnimating]; - [CATransaction begin]; - [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions]; - _arrowImage.hidden = YES; - [CATransaction commit]; - - break; - default: - break; - } - - _state = aState; -} - - -#pragma mark - -#pragma mark ScrollView Methods - -- (void)egoRefreshScrollViewDidScroll:(UIScrollView *)scrollView { - - if (_state == EGOOPullRefreshLoading) { - - CGFloat offset = MAX(scrollView.contentOffset.y * -1, 0); - offset = MIN(offset, 60); - scrollView.contentInset = UIEdgeInsetsMake(offset, 0.0f, 0.0f, 0.0f); - - } else if (scrollView.isDragging) { - - BOOL _loading = NO; - if ([_delegate respondsToSelector:@selector(egoRefreshTableHeaderDataSourceIsLoading:)]) { - _loading = [_delegate egoRefreshTableHeaderDataSourceIsLoading:self]; - } - - if (_state == EGOOPullRefreshPulling && scrollView.contentOffset.y > -65.0f && scrollView.contentOffset.y < 0.0f && !_loading) { - [self setState:EGOOPullRefreshNormal]; - } else if (_state == EGOOPullRefreshNormal && scrollView.contentOffset.y < -65.0f && !_loading) { - [self setState:EGOOPullRefreshPulling]; - } - - if (scrollView.contentInset.top != 0) { - scrollView.contentInset = UIEdgeInsetsZero; - } - - } - -} - -- (void)egoRefreshScrollViewDidEndDragging:(UIScrollView *)scrollView { - - BOOL _loading = NO; - if ([_delegate respondsToSelector:@selector(egoRefreshTableHeaderDataSourceIsLoading:)]) { - _loading = [_delegate egoRefreshTableHeaderDataSourceIsLoading:self]; - } - - if (scrollView.contentOffset.y <= - 65.0f && !_loading) { - - if ([_delegate respondsToSelector:@selector(egoRefreshTableHeaderDidTriggerRefresh:)]) { - [_delegate egoRefreshTableHeaderDidTriggerRefresh:self]; - } - - [self setState:EGOOPullRefreshLoading]; - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationDuration:0.2]; - scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f); - [UIView commitAnimations]; - - } - -} - -- (void)egoRefreshScrollViewDataSourceDidFinishedLoading:(UIScrollView *)scrollView { - - [UIView beginAnimations:nil context:NULL]; - [UIView setAnimationDuration:.3]; - [scrollView setContentInset:UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, 0.0f)]; - [UIView commitAnimations]; - - [self setState:EGOOPullRefreshNormal]; - -} - - -#pragma mark - -#pragma mark Dealloc - -- (void)dealloc { - - _delegate=nil; - _activityView = nil; - _statusLabel = nil; - _arrowImage = nil; - _lastUpdatedLabel = nil; - [super dealloc]; -} - - -@end diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow.png deleted file mode 100644 index 6d2ffbc..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow@2x.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow@2x.png deleted file mode 100644 index ec4ec0e..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow@2x.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow.png deleted file mode 100644 index d6240d4..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow@2x.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow@2x.png deleted file mode 100644 index a6a7e55..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow@2x.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow.png deleted file mode 100644 index d69e9d9..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow@2x.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow@2x.png deleted file mode 100644 index 9d42357..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow@2x.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow.png deleted file mode 100644 index 4bf5690..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow@2x.png b/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow@2x.png deleted file mode 100644 index 7056974..0000000 Binary files a/Pods/EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow@2x.png and /dev/null differ diff --git a/Pods/EGOTableViewPullRefresh/README b/Pods/EGOTableViewPullRefresh/README deleted file mode 100755 index e69de29..0000000 diff --git a/Pods/Headers/DejalActivityView/DejalActivityView.h b/Pods/Headers/DejalActivityView/DejalActivityView.h deleted file mode 120000 index c04383d..0000000 --- a/Pods/Headers/DejalActivityView/DejalActivityView.h +++ /dev/null @@ -1 +0,0 @@ -../../DejalActivityView/DejalActivityView.h \ No newline at end of file diff --git a/Pods/Headers/EGOTableViewPullRefresh/EGORefreshTableHeaderView.h b/Pods/Headers/EGOTableViewPullRefresh/EGORefreshTableHeaderView.h deleted file mode 120000 index dff642c..0000000 --- a/Pods/Headers/EGOTableViewPullRefresh/EGORefreshTableHeaderView.h +++ /dev/null @@ -1 +0,0 @@ -../../EGOTableViewPullRefresh/EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.h \ No newline at end of file diff --git a/Pods/Headers/KIF/CGGeometry-KIFAdditions.h b/Pods/Headers/KIF/CGGeometry-KIFAdditions.h deleted file mode 120000 index 35ffff7..0000000 --- a/Pods/Headers/KIF/CGGeometry-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/CGGeometry-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/KIF.h b/Pods/Headers/KIF/KIF.h deleted file mode 120000 index fc2b544..0000000 --- a/Pods/Headers/KIF/KIF.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIF.h \ No newline at end of file diff --git a/Pods/Headers/KIF/KIFSystemTestActor.h b/Pods/Headers/KIF/KIFSystemTestActor.h deleted file mode 120000 index 138a856..0000000 --- a/Pods/Headers/KIF/KIFSystemTestActor.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFSystemTestActor.h \ No newline at end of file diff --git a/Pods/Headers/KIF/KIFTestActor.h b/Pods/Headers/KIF/KIFTestActor.h deleted file mode 120000 index e902220..0000000 --- a/Pods/Headers/KIF/KIFTestActor.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTestActor.h \ No newline at end of file diff --git a/Pods/Headers/KIF/KIFTestCase.h b/Pods/Headers/KIF/KIFTestCase.h deleted file mode 120000 index ce31bdd..0000000 --- a/Pods/Headers/KIF/KIFTestCase.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTestCase.h \ No newline at end of file diff --git a/Pods/Headers/KIF/KIFTestStepValidation.h b/Pods/Headers/KIF/KIFTestStepValidation.h deleted file mode 120000 index bc6f36d..0000000 --- a/Pods/Headers/KIF/KIFTestStepValidation.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTestStepValidation.h \ No newline at end of file diff --git a/Pods/Headers/KIF/KIFTypist.h b/Pods/Headers/KIF/KIFTypist.h deleted file mode 120000 index 6fddce5..0000000 --- a/Pods/Headers/KIF/KIFTypist.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFTypist.h \ No newline at end of file diff --git a/Pods/Headers/KIF/KIFUITestActor.h b/Pods/Headers/KIF/KIFUITestActor.h deleted file mode 120000 index 52828a3..0000000 --- a/Pods/Headers/KIF/KIFUITestActor.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Classes/KIFUITestActor.h \ No newline at end of file diff --git a/Pods/Headers/KIF/NSBundle-KIFAdditions.h b/Pods/Headers/KIF/NSBundle-KIFAdditions.h deleted file mode 120000 index 24ffece..0000000 --- a/Pods/Headers/KIF/NSBundle-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/NSBundle-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/NSError-KIFAdditions.h b/Pods/Headers/KIF/NSError-KIFAdditions.h deleted file mode 120000 index 34d8e71..0000000 --- a/Pods/Headers/KIF/NSError-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/NSError-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/NSFileManager-KIFAdditions.h b/Pods/Headers/KIF/NSFileManager-KIFAdditions.h deleted file mode 120000 index c7dbbcf..0000000 --- a/Pods/Headers/KIF/NSFileManager-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/NSFileManager-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/SenTestCase-KIFAdditions.h b/Pods/Headers/KIF/SenTestCase-KIFAdditions.h deleted file mode 120000 index 6ea742f..0000000 --- a/Pods/Headers/KIF/SenTestCase-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/SenTestCase-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/UIAccessibilityElement-KIFAdditions.h b/Pods/Headers/KIF/UIAccessibilityElement-KIFAdditions.h deleted file mode 120000 index 288b611..0000000 --- a/Pods/Headers/KIF/UIAccessibilityElement-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIAccessibilityElement-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/UIApplication-KIFAdditions.h b/Pods/Headers/KIF/UIApplication-KIFAdditions.h deleted file mode 120000 index 2f9fad6..0000000 --- a/Pods/Headers/KIF/UIApplication-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIApplication-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/UIScrollView-KIFAdditions.h b/Pods/Headers/KIF/UIScrollView-KIFAdditions.h deleted file mode 120000 index 36415b8..0000000 --- a/Pods/Headers/KIF/UIScrollView-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIScrollView-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/UITouch-KIFAdditions.h b/Pods/Headers/KIF/UITouch-KIFAdditions.h deleted file mode 120000 index 5547163..0000000 --- a/Pods/Headers/KIF/UITouch-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UITouch-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/UIView-KIFAdditions.h b/Pods/Headers/KIF/UIView-KIFAdditions.h deleted file mode 120000 index b875a3e..0000000 --- a/Pods/Headers/KIF/UIView-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIView-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/KIF/UIWindow-KIFAdditions.h b/Pods/Headers/KIF/UIWindow-KIFAdditions.h deleted file mode 120000 index 82db207..0000000 --- a/Pods/Headers/KIF/UIWindow-KIFAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../KIF/Additions/UIWindow-KIFAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWAfterAllNode.h b/Pods/Headers/Kiwi/KWAfterAllNode.h deleted file mode 120000 index 9eeb57f..0000000 --- a/Pods/Headers/Kiwi/KWAfterAllNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWAfterAllNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWAfterEachNode.h b/Pods/Headers/Kiwi/KWAfterEachNode.h deleted file mode 120000 index b807288..0000000 --- a/Pods/Headers/Kiwi/KWAfterEachNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWAfterEachNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWAny.h b/Pods/Headers/Kiwi/KWAny.h deleted file mode 120000 index 0d334e7..0000000 --- a/Pods/Headers/Kiwi/KWAny.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWAny.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWAsyncVerifier.h b/Pods/Headers/Kiwi/KWAsyncVerifier.h deleted file mode 120000 index 55ca577..0000000 --- a/Pods/Headers/Kiwi/KWAsyncVerifier.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWAsyncVerifier.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeBetweenMatcher.h b/Pods/Headers/Kiwi/KWBeBetweenMatcher.h deleted file mode 120000 index 75f9442..0000000 --- a/Pods/Headers/Kiwi/KWBeBetweenMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeBetweenMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeEmptyMatcher.h b/Pods/Headers/Kiwi/KWBeEmptyMatcher.h deleted file mode 120000 index fc8c89a..0000000 --- a/Pods/Headers/Kiwi/KWBeEmptyMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeEmptyMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeIdenticalToMatcher.h b/Pods/Headers/Kiwi/KWBeIdenticalToMatcher.h deleted file mode 120000 index 6e8e6be..0000000 --- a/Pods/Headers/Kiwi/KWBeIdenticalToMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeKindOfClassMatcher.h b/Pods/Headers/Kiwi/KWBeKindOfClassMatcher.h deleted file mode 120000 index d4170aa..0000000 --- a/Pods/Headers/Kiwi/KWBeKindOfClassMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeMemberOfClassMatcher.h b/Pods/Headers/Kiwi/KWBeMemberOfClassMatcher.h deleted file mode 120000 index 9b96c09..0000000 --- a/Pods/Headers/Kiwi/KWBeMemberOfClassMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeSubclassOfClassMatcher.h b/Pods/Headers/Kiwi/KWBeSubclassOfClassMatcher.h deleted file mode 120000 index ce788b7..0000000 --- a/Pods/Headers/Kiwi/KWBeSubclassOfClassMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeTrueMatcher.h b/Pods/Headers/Kiwi/KWBeTrueMatcher.h deleted file mode 120000 index 6bbe534..0000000 --- a/Pods/Headers/Kiwi/KWBeTrueMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeTrueMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeWithinMatcher.h b/Pods/Headers/Kiwi/KWBeWithinMatcher.h deleted file mode 120000 index ab3ad9d..0000000 --- a/Pods/Headers/Kiwi/KWBeWithinMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeWithinMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeZeroMatcher.h b/Pods/Headers/Kiwi/KWBeZeroMatcher.h deleted file mode 120000 index 5c6a52d..0000000 --- a/Pods/Headers/Kiwi/KWBeZeroMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBeZeroMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeforeAllNode.h b/Pods/Headers/Kiwi/KWBeforeAllNode.h deleted file mode 120000 index e50bbfc..0000000 --- a/Pods/Headers/Kiwi/KWBeforeAllNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWBeforeAllNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBeforeEachNode.h b/Pods/Headers/Kiwi/KWBeforeEachNode.h deleted file mode 120000 index e25d754..0000000 --- a/Pods/Headers/Kiwi/KWBeforeEachNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWBeforeEachNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBlock.h b/Pods/Headers/Kiwi/KWBlock.h deleted file mode 120000 index 0262aa9..0000000 --- a/Pods/Headers/Kiwi/KWBlock.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWBlock.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBlockNode.h b/Pods/Headers/Kiwi/KWBlockNode.h deleted file mode 120000 index 250e21b..0000000 --- a/Pods/Headers/Kiwi/KWBlockNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWBlockNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWBlockRaiseMatcher.h b/Pods/Headers/Kiwi/KWBlockRaiseMatcher.h deleted file mode 120000 index 0e3150b..0000000 --- a/Pods/Headers/Kiwi/KWBlockRaiseMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWBlockRaiseMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWCallSite.h b/Pods/Headers/Kiwi/KWCallSite.h deleted file mode 120000 index 693a01b..0000000 --- a/Pods/Headers/Kiwi/KWCallSite.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWCallSite.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWCaptureSpy.h b/Pods/Headers/Kiwi/KWCaptureSpy.h deleted file mode 120000 index 54a3ca2..0000000 --- a/Pods/Headers/Kiwi/KWCaptureSpy.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWCaptureSpy.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWChangeMatcher.h b/Pods/Headers/Kiwi/KWChangeMatcher.h deleted file mode 120000 index be6e80b..0000000 --- a/Pods/Headers/Kiwi/KWChangeMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWChangeMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWConformToProtocolMatcher.h b/Pods/Headers/Kiwi/KWConformToProtocolMatcher.h deleted file mode 120000 index 749ed75..0000000 --- a/Pods/Headers/Kiwi/KWConformToProtocolMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWConformToProtocolMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWContainMatcher.h b/Pods/Headers/Kiwi/KWContainMatcher.h deleted file mode 120000 index 672fd9f..0000000 --- a/Pods/Headers/Kiwi/KWContainMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWContainMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWContainStringMatcher.h b/Pods/Headers/Kiwi/KWContainStringMatcher.h deleted file mode 120000 index 3ee51f0..0000000 --- a/Pods/Headers/Kiwi/KWContainStringMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWContainStringMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWContextNode.h b/Pods/Headers/Kiwi/KWContextNode.h deleted file mode 120000 index 7f72f76..0000000 --- a/Pods/Headers/Kiwi/KWContextNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWContextNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWCountType.h b/Pods/Headers/Kiwi/KWCountType.h deleted file mode 120000 index 1f02227..0000000 --- a/Pods/Headers/Kiwi/KWCountType.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWCountType.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWDeviceInfo.h b/Pods/Headers/Kiwi/KWDeviceInfo.h deleted file mode 120000 index 3e3bb0c..0000000 --- a/Pods/Headers/Kiwi/KWDeviceInfo.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWDeviceInfo.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWEqualMatcher.h b/Pods/Headers/Kiwi/KWEqualMatcher.h deleted file mode 120000 index e842675..0000000 --- a/Pods/Headers/Kiwi/KWEqualMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWEqualMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExample.h b/Pods/Headers/Kiwi/KWExample.h deleted file mode 120000 index 0141492..0000000 --- a/Pods/Headers/Kiwi/KWExample.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExample.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExampleDelegate.h b/Pods/Headers/Kiwi/KWExampleDelegate.h deleted file mode 120000 index 0e13935..0000000 --- a/Pods/Headers/Kiwi/KWExampleDelegate.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleDelegate.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExampleNode.h b/Pods/Headers/Kiwi/KWExampleNode.h deleted file mode 120000 index 6fd1790..0000000 --- a/Pods/Headers/Kiwi/KWExampleNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWExampleNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExampleNodeVisitor.h b/Pods/Headers/Kiwi/KWExampleNodeVisitor.h deleted file mode 120000 index 0347cd9..0000000 --- a/Pods/Headers/Kiwi/KWExampleNodeVisitor.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleNodeVisitor.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExampleSuite.h b/Pods/Headers/Kiwi/KWExampleSuite.h deleted file mode 120000 index 849831b..0000000 --- a/Pods/Headers/Kiwi/KWExampleSuite.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleSuite.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExampleSuiteBuilder.h b/Pods/Headers/Kiwi/KWExampleSuiteBuilder.h deleted file mode 120000 index 84f06e2..0000000 --- a/Pods/Headers/Kiwi/KWExampleSuiteBuilder.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExampleSuiteBuilder.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExistVerifier.h b/Pods/Headers/Kiwi/KWExistVerifier.h deleted file mode 120000 index 3f0dc32..0000000 --- a/Pods/Headers/Kiwi/KWExistVerifier.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWExistVerifier.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWExpectationType.h b/Pods/Headers/Kiwi/KWExpectationType.h deleted file mode 120000 index 216d889..0000000 --- a/Pods/Headers/Kiwi/KWExpectationType.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWExpectationType.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWFailure.h b/Pods/Headers/Kiwi/KWFailure.h deleted file mode 120000 index 2b5a88d..0000000 --- a/Pods/Headers/Kiwi/KWFailure.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWFailure.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWFormatter.h b/Pods/Headers/Kiwi/KWFormatter.h deleted file mode 120000 index 234fa84..0000000 --- a/Pods/Headers/Kiwi/KWFormatter.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWFormatter.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWFutureObject.h b/Pods/Headers/Kiwi/KWFutureObject.h deleted file mode 120000 index e1e1806..0000000 --- a/Pods/Headers/Kiwi/KWFutureObject.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWFutureObject.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWGenericMatchEvaluator.h b/Pods/Headers/Kiwi/KWGenericMatchEvaluator.h deleted file mode 120000 index e47bfc2..0000000 --- a/Pods/Headers/Kiwi/KWGenericMatchEvaluator.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWGenericMatchEvaluator.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWGenericMatcher.h b/Pods/Headers/Kiwi/KWGenericMatcher.h deleted file mode 120000 index ed0db0e..0000000 --- a/Pods/Headers/Kiwi/KWGenericMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWGenericMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWGenericMatchingAdditions.h b/Pods/Headers/Kiwi/KWGenericMatchingAdditions.h deleted file mode 120000 index 4b296a2..0000000 --- a/Pods/Headers/Kiwi/KWGenericMatchingAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWGenericMatchingAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWHaveMatcher.h b/Pods/Headers/Kiwi/KWHaveMatcher.h deleted file mode 120000 index 6603a8d..0000000 --- a/Pods/Headers/Kiwi/KWHaveMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWHaveMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWHaveValueMatcher.h b/Pods/Headers/Kiwi/KWHaveValueMatcher.h deleted file mode 120000 index aa68353..0000000 --- a/Pods/Headers/Kiwi/KWHaveValueMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWHaveValueMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWInequalityMatcher.h b/Pods/Headers/Kiwi/KWInequalityMatcher.h deleted file mode 120000 index 563f299..0000000 --- a/Pods/Headers/Kiwi/KWInequalityMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWInequalityMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWIntercept.h b/Pods/Headers/Kiwi/KWIntercept.h deleted file mode 120000 index 5aab538..0000000 --- a/Pods/Headers/Kiwi/KWIntercept.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWIntercept.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWInvocationCapturer.h b/Pods/Headers/Kiwi/KWInvocationCapturer.h deleted file mode 120000 index 786c20d..0000000 --- a/Pods/Headers/Kiwi/KWInvocationCapturer.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWInvocationCapturer.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWItNode.h b/Pods/Headers/Kiwi/KWItNode.h deleted file mode 120000 index 115be89..0000000 --- a/Pods/Headers/Kiwi/KWItNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWItNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMatchVerifier.h b/Pods/Headers/Kiwi/KWMatchVerifier.h deleted file mode 120000 index 741e295..0000000 --- a/Pods/Headers/Kiwi/KWMatchVerifier.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWMatchVerifier.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMatcher.h b/Pods/Headers/Kiwi/KWMatcher.h deleted file mode 120000 index 6d1fda1..0000000 --- a/Pods/Headers/Kiwi/KWMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMatcherFactory.h b/Pods/Headers/Kiwi/KWMatcherFactory.h deleted file mode 120000 index 053ae05..0000000 --- a/Pods/Headers/Kiwi/KWMatcherFactory.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatcherFactory.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMatchers.h b/Pods/Headers/Kiwi/KWMatchers.h deleted file mode 120000 index 37dc93d..0000000 --- a/Pods/Headers/Kiwi/KWMatchers.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatchers.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMatching.h b/Pods/Headers/Kiwi/KWMatching.h deleted file mode 120000 index 5094f6c..0000000 --- a/Pods/Headers/Kiwi/KWMatching.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMatching.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMessagePattern.h b/Pods/Headers/Kiwi/KWMessagePattern.h deleted file mode 120000 index 7db1ee2..0000000 --- a/Pods/Headers/Kiwi/KWMessagePattern.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWMessagePattern.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMessageSpying.h b/Pods/Headers/Kiwi/KWMessageSpying.h deleted file mode 120000 index f2b7dc0..0000000 --- a/Pods/Headers/Kiwi/KWMessageSpying.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMessageSpying.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMessageTracker.h b/Pods/Headers/Kiwi/KWMessageTracker.h deleted file mode 120000 index 0529de7..0000000 --- a/Pods/Headers/Kiwi/KWMessageTracker.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWMessageTracker.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWMock.h b/Pods/Headers/Kiwi/KWMock.h deleted file mode 120000 index d07edac..0000000 --- a/Pods/Headers/Kiwi/KWMock.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Mocking/KWMock.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWNilMatcher.h b/Pods/Headers/Kiwi/KWNilMatcher.h deleted file mode 120000 index fbe052f..0000000 --- a/Pods/Headers/Kiwi/KWNilMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWNilMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWNull.h b/Pods/Headers/Kiwi/KWNull.h deleted file mode 120000 index af2cb10..0000000 --- a/Pods/Headers/Kiwi/KWNull.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWNull.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWObjCUtilities.h b/Pods/Headers/Kiwi/KWObjCUtilities.h deleted file mode 120000 index f6cc0b9..0000000 --- a/Pods/Headers/Kiwi/KWObjCUtilities.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWObjCUtilities.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWPendingNode.h b/Pods/Headers/Kiwi/KWPendingNode.h deleted file mode 120000 index 7ff39e4..0000000 --- a/Pods/Headers/Kiwi/KWPendingNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWPendingNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWProbe.h b/Pods/Headers/Kiwi/KWProbe.h deleted file mode 120000 index d6cdabb..0000000 --- a/Pods/Headers/Kiwi/KWProbe.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWProbe.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWProbePoller.h b/Pods/Headers/Kiwi/KWProbePoller.h deleted file mode 120000 index a1aee4c..0000000 --- a/Pods/Headers/Kiwi/KWProbePoller.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWProbePoller.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWRaiseMatcher.h b/Pods/Headers/Kiwi/KWRaiseMatcher.h deleted file mode 120000 index 4f4b4d9..0000000 --- a/Pods/Headers/Kiwi/KWRaiseMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWRaiseMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWReceiveMatcher.h b/Pods/Headers/Kiwi/KWReceiveMatcher.h deleted file mode 120000 index c7c16f0..0000000 --- a/Pods/Headers/Kiwi/KWReceiveMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWReceiveMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWRegisterMatchersNode.h b/Pods/Headers/Kiwi/KWRegisterMatchersNode.h deleted file mode 120000 index 0d88f5d..0000000 --- a/Pods/Headers/Kiwi/KWRegisterMatchersNode.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Nodes/KWRegisterMatchersNode.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWRegularExpressionPatternMatcher.h b/Pods/Headers/Kiwi/KWRegularExpressionPatternMatcher.h deleted file mode 120000 index 322e8d1..0000000 --- a/Pods/Headers/Kiwi/KWRegularExpressionPatternMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWReporting.h b/Pods/Headers/Kiwi/KWReporting.h deleted file mode 120000 index d220f49..0000000 --- a/Pods/Headers/Kiwi/KWReporting.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWReporting.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWRespondToSelectorMatcher.h b/Pods/Headers/Kiwi/KWRespondToSelectorMatcher.h deleted file mode 120000 index 53da1b3..0000000 --- a/Pods/Headers/Kiwi/KWRespondToSelectorMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWSpec.h b/Pods/Headers/Kiwi/KWSpec.h deleted file mode 120000 index b35172e..0000000 --- a/Pods/Headers/Kiwi/KWSpec.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWSpec.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWStringContainsMatcher.h b/Pods/Headers/Kiwi/KWStringContainsMatcher.h deleted file mode 120000 index 43c9cd4..0000000 --- a/Pods/Headers/Kiwi/KWStringContainsMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWStringContainsMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWStringPrefixMatcher.h b/Pods/Headers/Kiwi/KWStringPrefixMatcher.h deleted file mode 120000 index 351d3e7..0000000 --- a/Pods/Headers/Kiwi/KWStringPrefixMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWStringPrefixMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWStringUtilities.h b/Pods/Headers/Kiwi/KWStringUtilities.h deleted file mode 120000 index e6225dc..0000000 --- a/Pods/Headers/Kiwi/KWStringUtilities.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWStringUtilities.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWStub.h b/Pods/Headers/Kiwi/KWStub.h deleted file mode 120000 index 6c8519f..0000000 --- a/Pods/Headers/Kiwi/KWStub.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWStub.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWSymbolicator.h b/Pods/Headers/Kiwi/KWSymbolicator.h deleted file mode 120000 index 2bc8b59..0000000 --- a/Pods/Headers/Kiwi/KWSymbolicator.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/NonARC/KWSymbolicator.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWUserDefinedMatcher.h b/Pods/Headers/Kiwi/KWUserDefinedMatcher.h deleted file mode 120000 index 241b176..0000000 --- a/Pods/Headers/Kiwi/KWUserDefinedMatcher.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Matchers/KWUserDefinedMatcher.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWValue.h b/Pods/Headers/Kiwi/KWValue.h deleted file mode 120000 index f5aabfb..0000000 --- a/Pods/Headers/Kiwi/KWValue.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWValue.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWVerifying.h b/Pods/Headers/Kiwi/KWVerifying.h deleted file mode 120000 index 10c41b7..0000000 --- a/Pods/Headers/Kiwi/KWVerifying.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Verifiers/KWVerifying.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KWWorkarounds.h b/Pods/Headers/Kiwi/KWWorkarounds.h deleted file mode 120000 index 5394bed..0000000 --- a/Pods/Headers/Kiwi/KWWorkarounds.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KWWorkarounds.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/Kiwi.h b/Pods/Headers/Kiwi/Kiwi.h deleted file mode 120000 index 90584f1..0000000 --- a/Pods/Headers/Kiwi/Kiwi.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/Kiwi.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KiwiBlockMacros.h b/Pods/Headers/Kiwi/KiwiBlockMacros.h deleted file mode 120000 index c040758..0000000 --- a/Pods/Headers/Kiwi/KiwiBlockMacros.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KiwiBlockMacros.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KiwiConfiguration.h b/Pods/Headers/Kiwi/KiwiConfiguration.h deleted file mode 120000 index cdd209e..0000000 --- a/Pods/Headers/Kiwi/KiwiConfiguration.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KiwiConfiguration.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/KiwiMacros.h b/Pods/Headers/Kiwi/KiwiMacros.h deleted file mode 120000 index 936b359..0000000 --- a/Pods/Headers/Kiwi/KiwiMacros.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/KiwiMacros.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSInvocation+KiwiAdditions.h b/Pods/Headers/Kiwi/NSInvocation+KiwiAdditions.h deleted file mode 120000 index 216b70b..0000000 --- a/Pods/Headers/Kiwi/NSInvocation+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSInvocation+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSInvocation+OCMAdditions.h b/Pods/Headers/Kiwi/NSInvocation+OCMAdditions.h deleted file mode 120000 index 5d505e9..0000000 --- a/Pods/Headers/Kiwi/NSInvocation+OCMAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSInvocation+OCMAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSMethodSignature+KiwiAdditions.h b/Pods/Headers/Kiwi/NSMethodSignature+KiwiAdditions.h deleted file mode 120000 index 816f65b..0000000 --- a/Pods/Headers/Kiwi/NSMethodSignature+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSNumber+KiwiAdditions.h b/Pods/Headers/Kiwi/NSNumber+KiwiAdditions.h deleted file mode 120000 index aa1be1c..0000000 --- a/Pods/Headers/Kiwi/NSNumber+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSNumber+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSObject+KiwiMockAdditions.h b/Pods/Headers/Kiwi/NSObject+KiwiMockAdditions.h deleted file mode 120000 index eba045f..0000000 --- a/Pods/Headers/Kiwi/NSObject+KiwiMockAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSObject+KiwiSpyAdditions.h b/Pods/Headers/Kiwi/NSObject+KiwiSpyAdditions.h deleted file mode 120000 index 9746eaf..0000000 --- a/Pods/Headers/Kiwi/NSObject+KiwiSpyAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSObject+KiwiStubAdditions.h b/Pods/Headers/Kiwi/NSObject+KiwiStubAdditions.h deleted file mode 120000 index 09dc8ad..0000000 --- a/Pods/Headers/Kiwi/NSObject+KiwiStubAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSObject+KiwiVerifierAdditions.h b/Pods/Headers/Kiwi/NSObject+KiwiVerifierAdditions.h deleted file mode 120000 index 9def95d..0000000 --- a/Pods/Headers/Kiwi/NSObject+KiwiVerifierAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSProxy+KiwiVerifierAdditions.h b/Pods/Headers/Kiwi/NSProxy+KiwiVerifierAdditions.h deleted file mode 120000 index f58050d..0000000 --- a/Pods/Headers/Kiwi/NSProxy+KiwiVerifierAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/NSValue+KiwiAdditions.h b/Pods/Headers/Kiwi/NSValue+KiwiAdditions.h deleted file mode 120000 index e411b0c..0000000 --- a/Pods/Headers/Kiwi/NSValue+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/Classes/Core/NSValue+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/Headers/Kiwi/SenTestSuite+KiwiAdditions.h b/Pods/Headers/Kiwi/SenTestSuite+KiwiAdditions.h deleted file mode 120000 index e1e643a..0000000 --- a/Pods/Headers/Kiwi/SenTestSuite+KiwiAdditions.h +++ /dev/null @@ -1 +0,0 @@ -../../Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.h \ No newline at end of file diff --git a/Pods/Headers/SBJson/SBJson4.h b/Pods/Headers/SBJson/SBJson4.h deleted file mode 120000 index f7a65c8..0000000 --- a/Pods/Headers/SBJson/SBJson4.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4.h \ No newline at end of file diff --git a/Pods/Headers/SBJson/SBJson4Parser.h b/Pods/Headers/SBJson/SBJson4Parser.h deleted file mode 120000 index da1b0ed..0000000 --- a/Pods/Headers/SBJson/SBJson4Parser.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4Parser.h \ No newline at end of file diff --git a/Pods/Headers/SBJson/SBJson4StreamParser.h b/Pods/Headers/SBJson/SBJson4StreamParser.h deleted file mode 120000 index ca9fdbe..0000000 --- a/Pods/Headers/SBJson/SBJson4StreamParser.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamParser.h \ No newline at end of file diff --git a/Pods/Headers/SBJson/SBJson4StreamTokeniser.h b/Pods/Headers/SBJson/SBJson4StreamTokeniser.h deleted file mode 120000 index f56f4e1..0000000 --- a/Pods/Headers/SBJson/SBJson4StreamTokeniser.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamTokeniser.h \ No newline at end of file diff --git a/Pods/Headers/SBJson/SBJson4StreamWriter.h b/Pods/Headers/SBJson/SBJson4StreamWriter.h deleted file mode 120000 index 0c27043..0000000 --- a/Pods/Headers/SBJson/SBJson4StreamWriter.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4StreamWriter.h \ No newline at end of file diff --git a/Pods/Headers/SBJson/SBJson4Writer.h b/Pods/Headers/SBJson/SBJson4Writer.h deleted file mode 120000 index 8f3db6d..0000000 --- a/Pods/Headers/SBJson/SBJson4Writer.h +++ /dev/null @@ -1 +0,0 @@ -../../SBJson/src/main/objc/SBJson4Writer.h \ No newline at end of file diff --git a/Pods/KIF/Additions/CGGeometry-KIFAdditions.h b/Pods/KIF/Additions/CGGeometry-KIFAdditions.h deleted file mode 100644 index e84ae2e..0000000 --- a/Pods/KIF/Additions/CGGeometry-KIFAdditions.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// CGGeometry-KIFAdditions.h -// KIF -// -// Created by Eric Firestone on 5/22/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - -CG_INLINE CGPoint CGPointCenteredInRect(CGRect bounds) { - return CGPointMake(bounds.origin.x + bounds.size.width * 0.5f, bounds.origin.y + bounds.size.height * 0.5f); -} - -CG_INLINE CGPoint CGPointMidPoint(CGPoint point1, CGPoint point2) { - return CGPointMake((point1.x + point2.x) / 2.0, (point1.y + point2.y) / 2.0); -} diff --git a/Pods/KIF/Additions/CGGeometry-KIFAdditions.m b/Pods/KIF/Additions/CGGeometry-KIFAdditions.m deleted file mode 100644 index bb4062b..0000000 --- a/Pods/KIF/Additions/CGGeometry-KIFAdditions.m +++ /dev/null @@ -1,11 +0,0 @@ -// -// CGGeometry-KIFAdditions.m -// KIF -// -// Created by Eric Firestone on 5/22/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "CGGeometry-KIFAdditions.h" - diff --git a/Pods/KIF/Additions/LoadableCategory.h b/Pods/KIF/Additions/LoadableCategory.h deleted file mode 100644 index 92259bb..0000000 --- a/Pods/KIF/Additions/LoadableCategory.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// LoadableCategory.h -// KIF -// -// Created by Karl Stenerud on 7/16/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -/** Make all categories in the current file loadable without using -load-all. - * - * Normally, compilers will skip linking files that contain only categories. - * Adding a call to this macro adds a dummy class, which causes the linker - * to add the file. - * - * @param UNIQUE_NAME A globally unique name. - */ -#define MAKE_CATEGORIES_LOADABLE(UNIQUE_NAME) @interface FORCELOAD_##UNIQUE_NAME : NSObject @end @implementation FORCELOAD_##UNIQUE_NAME @end diff --git a/Pods/KIF/Additions/NSBundle-KIFAdditions.h b/Pods/KIF/Additions/NSBundle-KIFAdditions.h deleted file mode 100644 index 60cbe68..0000000 --- a/Pods/KIF/Additions/NSBundle-KIFAdditions.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// NSBundle+KIFAdditions.h -// KIF -// -// Created by Brian Nickel on 7/27/13. -// -// - -#import - -@interface NSBundle (KIFAdditions) - -+ (NSBundle *)KIFTestBundle; - -@end diff --git a/Pods/KIF/Additions/NSBundle-KIFAdditions.m b/Pods/KIF/Additions/NSBundle-KIFAdditions.m deleted file mode 100644 index 8b34f69..0000000 --- a/Pods/KIF/Additions/NSBundle-KIFAdditions.m +++ /dev/null @@ -1,27 +0,0 @@ -// -// NSBundle+KIFAdditions.m -// KIF -// -// Created by Brian Nickel on 7/27/13. -// -// - -#import "NSBundle-KIFAdditions.h" -#import "KIFTestCase.h" -#import "LoadableCategory.h" - -MAKE_CATEGORIES_LOADABLE(NSBundle_KIFAdditions) - -@implementation NSBundle (KIFAdditions) - -+ (NSBundle *)KIFTestBundle -{ - static NSBundle *bundle; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - bundle = [self bundleForClass:[KIFTestCase class]]; - }); - return bundle; -} - -@end diff --git a/Pods/KIF/Additions/NSError-KIFAdditions.h b/Pods/KIF/Additions/NSError-KIFAdditions.h deleted file mode 100644 index 9232560..0000000 --- a/Pods/KIF/Additions/NSError-KIFAdditions.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// NSError+KIFAdditions.h -// KIF -// -// Created by Brian Nickel on 7/27/13. -// -// - -#import - -@interface NSError (KIFAdditions) - -+ (instancetype)KIFErrorWithUnderlyingError:(NSError *)underlyingError format:(NSString *)format, ... NS_FORMAT_FUNCTION(2,3); -+ (instancetype)KIFErrorWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); - -@end diff --git a/Pods/KIF/Additions/NSError-KIFAdditions.m b/Pods/KIF/Additions/NSError-KIFAdditions.m deleted file mode 100644 index 3cba684..0000000 --- a/Pods/KIF/Additions/NSError-KIFAdditions.m +++ /dev/null @@ -1,37 +0,0 @@ -// -// NSError+KIFAdditions.m -// KIF -// -// Created by Brian Nickel on 7/27/13. -// -// - -#import "NSError-KIFAdditions.h" -#import "LoadableCategory.h" -#import "KIFTestActor.h" - -MAKE_CATEGORIES_LOADABLE(NSError_KIFAdditions) - -@implementation NSError (KIFAdditions) - -+ (instancetype)KIFErrorWithFormat:(NSString *)format, ... -{ - va_list args; - va_start(args, format); - NSString *description = [[[NSString alloc] initWithFormat:format arguments:args] autorelease]; - va_end(args); - - return [self errorWithDomain:@"KIFTest" code:KIFTestStepResultFailure userInfo:@{NSLocalizedDescriptionKey: description}]; -} - -+ (instancetype)KIFErrorWithUnderlyingError:(NSError *)underlyingError format:(NSString *)format, ... -{ - va_list args; - va_start(args, format); - NSString *description = [[[NSString alloc] initWithFormat:format arguments:args] autorelease]; - va_end(args); - - return [self errorWithDomain:@"KIFTest" code:KIFTestStepResultFailure userInfo:@{NSLocalizedDescriptionKey: description, NSUnderlyingErrorKey: underlyingError}]; -} - -@end diff --git a/Pods/KIF/Additions/NSFileManager-KIFAdditions.h b/Pods/KIF/Additions/NSFileManager-KIFAdditions.h deleted file mode 100644 index 5875d54..0000000 --- a/Pods/KIF/Additions/NSFileManager-KIFAdditions.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// NSFileManager-KIFAdditions.h -// KIF -// -// Created by Michael Thole on 6/1/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - - -@interface NSFileManager (KIFAdditions) - -- (NSString *)createUserDirectory:(NSSearchPathDirectory)searchPath; -- (BOOL)recursivelyCreateDirectory:(NSString *)path; - -@end diff --git a/Pods/KIF/Additions/NSFileManager-KIFAdditions.m b/Pods/KIF/Additions/NSFileManager-KIFAdditions.m deleted file mode 100644 index b41f4a5..0000000 --- a/Pods/KIF/Additions/NSFileManager-KIFAdditions.m +++ /dev/null @@ -1,67 +0,0 @@ -// -// NSFileManager-KIFAdditions.m -// KIF -// -// Created by Michael Thole on 6/1/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "NSFileManager-KIFAdditions.h" -#import "LoadableCategory.h" - - -MAKE_CATEGORIES_LOADABLE(NSFileManager_KIFAdditions) - - -@implementation NSFileManager (KIFAdditions) - -#pragma mark Public Methods - -- (NSString *)createUserDirectory:(NSSearchPathDirectory)searchPath; -{ - NSArray *paths = NSSearchPathForDirectoriesInDomains(searchPath, NSUserDomainMask, YES); - if (!paths.count) { - return nil; - } - - NSString *rootDirectory = paths[0]; - - BOOL isDir; - BOOL created = NO; - if ([self fileExistsAtPath:rootDirectory isDirectory:&isDir] && isDir) { - created = YES; - } else { - created = [self recursivelyCreateDirectory:rootDirectory]; - } - - return created ? rootDirectory : nil; -} - -- (BOOL)recursivelyCreateDirectory:(NSString *)path; -{ - BOOL isDir = NO; - BOOL isParentADir = NO; - NSString *parentDir = nil; - - if (![self fileExistsAtPath:path isDirectory:&isDir]) { - // if file doesn't exist, first create parent - parentDir = [path stringByDeletingLastPathComponent]; - - if (!parentDir.length || [parentDir isEqualToString:@"/"]) { - isParentADir = YES; - } else { - isParentADir = [self recursivelyCreateDirectory:parentDir]; - } - - if (isParentADir) { - isDir = [self createDirectoryAtPath:path withIntermediateDirectories:NO attributes:nil error:nil]; - } else { - return NO; - } - } - - return isDir; -} - -@end diff --git a/Pods/KIF/Additions/SenTestCase-KIFAdditions.h b/Pods/KIF/Additions/SenTestCase-KIFAdditions.h deleted file mode 100644 index c86cb55..0000000 --- a/Pods/KIF/Additions/SenTestCase-KIFAdditions.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// SenTestCase-KIFAdditions.h -// KIF -// -// Created by Brian Nickel on 8/23/13. -// -// - -#import -#import "KIFTestActor.h" - -@interface SenTestCase (KIFAdditions) - -@end diff --git a/Pods/KIF/Additions/SenTestCase-KIFAdditions.m b/Pods/KIF/Additions/SenTestCase-KIFAdditions.m deleted file mode 100644 index 8f2fe06..0000000 --- a/Pods/KIF/Additions/SenTestCase-KIFAdditions.m +++ /dev/null @@ -1,33 +0,0 @@ -// -// SenTestCase-KIFAdditions.m -// KIF -// -// Created by Brian Nickel on 8/23/13. -// -// - -#import "SenTestCase-KIFAdditions.h" -#import "LoadableCategory.h" - -MAKE_CATEGORIES_LOADABLE(SenTestCase_KIFAdditions) - -@implementation SenTestCase (KIFAdditions) - -- (void)failWithException:(NSException *)exception stopTest:(BOOL)stop -{ - if (stop) { - [self raiseAfterFailure]; - } - [self failWithException:exception]; - [self continueAfterFailure]; -} - -- (void)failWithExceptions:(NSArray *)exceptions stopTest:(BOOL)stop -{ - NSException *lastException = exceptions.lastObject; - for (NSException *exception in exceptions) { - [self failWithException:exception stopTest:(exception == lastException ? stop : NO)]; - } -} - -@end diff --git a/Pods/KIF/Additions/UIAccessibilityElement-KIFAdditions.h b/Pods/KIF/Additions/UIAccessibilityElement-KIFAdditions.h deleted file mode 100644 index a4942ec..0000000 --- a/Pods/KIF/Additions/UIAccessibilityElement-KIFAdditions.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// UIAccessibilityElement-KIFAdditions.h -// KIF -// -// Created by Eric Firestone on 5/23/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - - -@interface UIAccessibilityElement (KIFAdditions) - -/*! - @abstract Finds the first view that the accessibility element is part of. - @discussion There is not always a one-to-one mapping between views and accessibility elements. Accessibility elements may not even map to the view you will expect. For instance, table view cell accessibility elements return the @c UITableView and keyboard keys map to the keyboard as a whole. - - @param element The accessibility element. - @return The first matching @c UIView as determined by the accessibility API. - */ -+ (UIView *)viewContainingAccessibilityElement:(UIAccessibilityElement *)element; - -/*! - @abstract Finds an accessibility element and view with a matching label, value, and traits, optionally passing a tappability test. - @discussion This method combines @c +accessibilityElementWithLabel:value:traits:error: and @c +viewContainingAccessibilityElement:tappable:error: for convenience. - @param foundElement The found accessibility element or @c nil if the method returns @c NO. Can be @c NULL. - @param foundView The first matching view for @c foundElement as determined by the accessibility API or @c nil if the view is hidden or fails the tappability test. Can be @c NULL. - @param label The accessibility label of the element to wait for. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - @param error A reference to an error object to be populated when no matching element or view is found. Can be @c NULL. - @result @c YES if the element and view were found. Otherwise @c NO. - */ -+ (BOOL)accessibilityElement:(out UIAccessibilityElement **)foundElement view:(out UIView **)foundView withLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits tappable:(BOOL)mustBeTappable error:(out NSError **)error; - -/*! - @abstract Finds an accessibility element with a matching label, value, and traits. - @discussion This functionality is identical to -[UIApplication accessibilityElementWithLabel:accessibilityValue:traits:] except that it detailed error messaging in the case where the element cannot be found. - @param label The accessibility label of the element to wait for. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - @param error A reference to an error object to be populated when no element is found. Can be @c NULL. - @return The found accessibility element. If @c nil see the @c error for a detailed reason. - */ -+ (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits error:(out NSError **)error; - -/*! - @abstract Finds and attempts to make visible a view for a given accessibility element. - @discussion If the element is found, off screen, and is inside a scroll view, this method will attempt to programmatically scroll the view onto the screen before performing any logic as to if the view is tappable. - - @param element The accessibility element. - @param mustBeTappable If @c YES, a tappability test will be performed. - @param error A reference to an error object to be populated when no element is found. Can be @c NULL. - @return The first matching view as determined by the accessibility API or nil if the view is hidden or fails the tappability test. - */ -+ (UIView *)viewContainingAccessibilityElement:(UIAccessibilityElement *)element tappable:(BOOL)mustBeTappable error:(NSError **)error; - -@end diff --git a/Pods/KIF/Additions/UIAccessibilityElement-KIFAdditions.m b/Pods/KIF/Additions/UIAccessibilityElement-KIFAdditions.m deleted file mode 100644 index 6916731..0000000 --- a/Pods/KIF/Additions/UIAccessibilityElement-KIFAdditions.m +++ /dev/null @@ -1,132 +0,0 @@ -// -// UIAccessibilityElement-KIFAdditions.m -// KIF -// -// Created by Eric Firestone on 5/23/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "NSError-KIFAdditions.h" -#import "UIAccessibilityElement-KIFAdditions.h" -#import "UIApplication-KIFAdditions.h" -#import "UIScrollView-KIFAdditions.h" -#import "UIView-KIFAdditions.h" -#import "LoadableCategory.h" -#import "KIFTestActor.h" - -MAKE_CATEGORIES_LOADABLE(UIAccessibilityElement_KIFAdditions) - - -@implementation UIAccessibilityElement (KIFAdditions) - -+ (UIView *)viewContainingAccessibilityElement:(UIAccessibilityElement *)element; -{ - while (element && ![element isKindOfClass:[UIView class]]) { - element = [element accessibilityContainer]; - } - - return (UIView *)element; -} - -+ (BOOL)accessibilityElement:(out UIAccessibilityElement **)foundElement view:(out UIView **)foundView withLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits tappable:(BOOL)mustBeTappable error:(out NSError **)error; -{ - UIAccessibilityElement *element = [self accessibilityElementWithLabel:label value:value traits:traits error:error]; - if (!element) { - return NO; - } - - UIView *view = [self viewContainingAccessibilityElement:element tappable:mustBeTappable error:error]; - if (!view) { - return NO; - } - - if (foundElement) { *foundElement = element; } - if (foundView) { *foundView = view; } - return YES; -} - -+ (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits error:(out NSError **)error; -{ - UIAccessibilityElement *element = [[UIApplication sharedApplication] accessibilityElementWithLabel:label accessibilityValue:value traits:traits]; - if (element || !error) { - return element; - } - - element = [[UIApplication sharedApplication] accessibilityElementWithLabel:label accessibilityValue:nil traits:traits]; - // For purposes of a better error message, see if we can find the view, just not a view with the specified value. - if (value && element) { - *error = [NSError KIFErrorWithFormat:@"Found an accessibility element with the label \"%@\", but with the value \"%@\", not \"%@\"", label, element.accessibilityValue, value]; - return nil; - } - - // Check the traits, too. - element = [[UIApplication sharedApplication] accessibilityElementWithLabel:label accessibilityValue:nil traits:UIAccessibilityTraitNone]; - if (traits != UIAccessibilityTraitNone && element) { - *error = [NSError KIFErrorWithFormat:@"Found an accessibility element with the label \"%@\", but not with the traits \"%llu\"", label, traits]; - return nil; - } - - *error = [NSError KIFErrorWithFormat:@"Failed to find accessibility element with the label \"%@\"", label]; - return nil; -} - -+ (UIView *)viewContainingAccessibilityElement:(UIAccessibilityElement *)element tappable:(BOOL)mustBeTappable error:(NSError **)error; -{ - // Small safety mechanism. If someone calls this method after a failing call to accessibilityElementWithLabel:..., we don't want to wipe out the error message. - if (!element && error && *error) { - return nil; - } - - // Make sure the element is visible - UIView *view = [UIAccessibilityElement viewContainingAccessibilityElement:element]; - if (!view) { - if (error) { - *error = [NSError KIFErrorWithFormat:@"Cannot find view containing accessibility element with the label \"%@\"", element.accessibilityLabel]; - } - return nil; - } - - // Scroll the view to be visible if necessary - UIScrollView *scrollView = (UIScrollView *)view; - while (scrollView && ![scrollView isKindOfClass:[UIScrollView class]]) { - scrollView = (UIScrollView *)scrollView.superview; - } - if (scrollView) { - if ((UIAccessibilityElement *)view == element) { - [scrollView scrollViewToVisible:view animated:YES]; - } else { - CGRect elementFrame = [view.window convertRect:element.accessibilityFrame toView:scrollView]; - [scrollView scrollRectToVisible:elementFrame animated:YES]; - } - - // Give the scroll view a small amount of time to perform the scroll. - CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.3, false); - } - - if ([[UIApplication sharedApplication] isIgnoringInteractionEvents]) { - if (error) { - *error = [NSError KIFErrorWithFormat:@"Application is ignoring interaction events"]; - } - return nil; - } - - // If we don't require tappability, at least make sure it's not hidden - if ([view isHidden]) { - if (error) { - *error = [NSError KIFErrorWithFormat:@"Accessibility element with label \"%@\" is hidden.", element.accessibilityLabel]; - } - return nil; - } - - if (mustBeTappable && !view.isProbablyTappable) { - if (error) { - *error = [NSError KIFErrorWithFormat:@"Accessibility element with label \"%@\" is not tappable. It may be blocked by other views.", element.accessibilityLabel]; - } - return nil; - } - - return view; -} - -@end diff --git a/Pods/KIF/Additions/UIApplication-KIFAdditions.h b/Pods/KIF/Additions/UIApplication-KIFAdditions.h deleted file mode 100644 index c26aa39..0000000 --- a/Pods/KIF/Additions/UIApplication-KIFAdditions.h +++ /dev/null @@ -1,84 +0,0 @@ -// -// UIApplication-KIFAdditions.h -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - -#define UIApplicationCurrentRunMode ([[UIApplication sharedApplication] currentRunLoopMode]) - -/*! - @abstract When mocking @c -openURL:, this notification is posted. - */ -UIKIT_EXTERN NSString *const UIApplicationDidMockOpenURLNotification; - -/*! - @abstract The key for the opened URL in the @c UIApplicationDidMockOpenURLNotification notification. - */ -UIKIT_EXTERN NSString *const UIApplicationOpenedURLKey; - -@interface UIApplication (KIFAdditions) - -/*! - @abstract Finds an accessibility element with a matching label, value, and traits across all windows in the application starting at the frontmost window. - @param label The accessibility label of the element to search for. - @param value The accessibility value of the element to search for. If @c nil, all values will be accepted. - @param traits The accessibility traits of the element to search for. Elements that do not include at least these traits are ignored. - @return The found accessibility element or @c nil if the element could not be found. - */ -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label accessibilityValue:(NSString *)value traits:(UIAccessibilityTraits)traits; - -/*! - @abstract Finds an accessibility element where @c matchBlock returns @c YES, across all windows in the application starting at the fronmost window. - @discussion This method should be used if @c accessibilityElementWithLabel:accessibilityValue:traits: does not meet your requirements. For example, if you are searching for an element that begins with a pattern or if of a certain view type. - @param matchBlock. A block to be performed on each element to see if it passes. - */ -- (UIAccessibilityElement *)accessibilityElementMatchingBlock:(BOOL(^)(UIAccessibilityElement *))matchBlock; - -/*! - @returns The window containing the keyboard or @c nil if the keyboard is not visible. - */ -- (UIWindow *)keyboardWindow; - -/*! - @returns The topmost window containing a @c UIPickerView. - */ -- (UIWindow *)pickerViewWindow; - -/*! - @returns The topmost window containing a @c UIDimmingView. - */ -- (UIWindow *)dimmingViewWindow; - -/*! - @returns All windows in the application, including the key window even if it does not appear in @c -windows. - */ -- (NSArray *)windowsWithKeyWindow; - -/*! - @returns The current run loop mode. - */ -- (CFStringRef)currentRunLoopMode; - -/*! - @abstract Swizzles the run loop modes so KIF can better switch between them. - */ -+ (void)swizzleRunLoop; - -/*! - @abstract Starts mocking requests to @c -openURL:, announcing all requests with a notification. - @discussion After calling this method, whenever @c -openURL: is called a notification named @c UIApplicationDidMockOpenURLNotification with the URL in the @c UIApplicationOpenedURL will be raised and the normal behavior will be cancelled. - @param returnValue The value to return when @c -openURL: is called. - */ -+ (void)startMockingOpenURLWithReturnValue:(BOOL)returnValue; - -/*! - @abstract Stops the application from mocking requests to @c -openURL:. - */ -+ (void)stopMockingOpenURL; - -@end diff --git a/Pods/KIF/Additions/UIApplication-KIFAdditions.m b/Pods/KIF/Additions/UIApplication-KIFAdditions.m deleted file mode 100644 index e759c65..0000000 --- a/Pods/KIF/Additions/UIApplication-KIFAdditions.m +++ /dev/null @@ -1,192 +0,0 @@ -// -// UIApplication-KIFAdditions.m -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "UIApplication-KIFAdditions.h" -#import "LoadableCategory.h" -#import "UIView-KIFAdditions.h" -#import -#import - -MAKE_CATEGORIES_LOADABLE(UIApplication_KIFAdditions) - -static BOOL _KIF_UIApplicationMockOpenURL = NO; -static BOOL _KIF_UIApplicationMockOpenURL_returnValue = NO; - -@interface UIApplication (Undocumented) -- (void)pushRunLoopMode:(id)arg1; -- (void)pushRunLoopMode:(id)arg1 requester:(id)requester; -- (void)popRunLoopMode:(id)arg1; -- (void)popRunLoopMode:(id)arg1 requester:(id)requester; -@end - -NSString *const UIApplicationDidMockOpenURLNotification = @"UIApplicationDidMockOpenURLNotification"; -NSString *const UIApplicationOpenedURLKey = @"UIApplicationOpenedURL"; -static const void *KIFRunLoopModesKey = &KIFRunLoopModesKey; - -@implementation UIApplication (KIFAdditions) - -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label accessibilityValue:(NSString *)value traits:(UIAccessibilityTraits)traits; -{ - // Go through the array of windows in reverse order to process the frontmost window first. - // When several elements with the same accessibilitylabel are present the one in front will be picked. - for (UIWindow *window in [self.windowsWithKeyWindow reverseObjectEnumerator]) { - UIAccessibilityElement *element = [window accessibilityElementWithLabel:label accessibilityValue:value traits:traits]; - if (element) { - return element; - } - } - - return nil; -} - -- (UIAccessibilityElement *)accessibilityElementMatchingBlock:(BOOL(^)(UIAccessibilityElement *))matchBlock; -{ - for (UIWindow *window in [self.windowsWithKeyWindow reverseObjectEnumerator]) { - UIAccessibilityElement *element = [window accessibilityElementMatchingBlock:matchBlock]; - if (element) { - return element; - } - } - - return nil; -} - -- (UIWindow *)keyboardWindow; -{ - for (UIWindow *window in self.windowsWithKeyWindow) { - if ([NSStringFromClass([window class]) isEqual:@"UITextEffectsWindow"]) { - return window; - } - } - - return nil; -} - -- (UIWindow *)pickerViewWindow; -{ - for (UIWindow *window in self.windowsWithKeyWindow) { - NSArray *pickerViews = [window subviewsWithClassNameOrSuperClassNamePrefix:@"UIPickerView"]; - if (pickerViews.count > 0) { - return window; - } - } - - return nil; -} - -- (UIWindow *)dimmingViewWindow; -{ - for (UIWindow *window in self.windowsWithKeyWindow) { - NSArray *dimmingViews = [window subviewsWithClassNameOrSuperClassNamePrefix:@"UIDimmingView"]; - if (dimmingViews.count > 0) { - return window; - } - } - - return nil; -} - -- (NSArray *)windowsWithKeyWindow -{ - NSMutableArray *windows = self.windows.mutableCopy; - UIWindow *keyWindow = self.keyWindow; - if (![windows containsObject:keyWindow]) { - [windows addObject:keyWindow]; - } - return [windows autorelease]; -} - -- (NSMutableArray *)KIF_runLoopModes; -{ - NSMutableArray *modes = objc_getAssociatedObject(self, KIFRunLoopModesKey); - if (!modes) { - modes = [NSMutableArray arrayWithObject:(id)kCFRunLoopDefaultMode]; - objc_setAssociatedObject(self, KIFRunLoopModesKey, modes, OBJC_ASSOCIATION_RETAIN_NONATOMIC); - } - return modes; -} - -- (CFStringRef)currentRunLoopMode; -{ - return (CFStringRef)[self KIF_runLoopModes].lastObject; -} - -- (void)KIF_pushRunLoopMode:(NSString *)mode; -{ - [[self KIF_runLoopModes] addObject:mode]; - [self KIF_pushRunLoopMode:mode]; -} - -- (void)KIF_pushRunLoopMode:(NSString *)mode requester:(id)requester; -{ - [[self KIF_runLoopModes] addObject:mode]; - [self KIF_pushRunLoopMode:mode requester:requester]; -} - -- (void)KIF_popRunLoopMode:(NSString *)mode; -{ - [[self KIF_runLoopModes] removeLastObject]; - [self KIF_popRunLoopMode:mode]; -} - - -- (void)KIF_popRunLoopMode:(NSString *)mode requester:(id)requester; -{ - [[self KIF_runLoopModes] removeLastObject]; - [self KIF_popRunLoopMode:mode requester:requester]; -} - -- (BOOL)KIF_openURL:(NSURL *)URL; -{ - if (_KIF_UIApplicationMockOpenURL) { - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidMockOpenURLNotification object:self userInfo:@{UIApplicationOpenedURLKey: URL}]; - return _KIF_UIApplicationMockOpenURL_returnValue; - } else { - return [self KIF_openURL:URL]; - } -} - -static inline void Swizzle(Class c, SEL orig, SEL new) -{ - Method origMethod = class_getInstanceMethod(c, orig); - Method newMethod = class_getInstanceMethod(c, new); - if(class_addMethod(c, orig, method_getImplementation(newMethod), method_getTypeEncoding(newMethod))) - class_replaceMethod(c, new, method_getImplementation(origMethod), method_getTypeEncoding(origMethod)); - else - method_exchangeImplementations(origMethod, newMethod); -} - -+ (void)swizzleRunLoop; -{ - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - Swizzle(self, @selector(pushRunLoopMode:), @selector(KIF_pushRunLoopMode:)); - Swizzle(self, @selector(pushRunLoopMode:requester:), @selector(KIF_pushRunLoopMode:requester:)); - Swizzle(self, @selector(popRunLoopMode:), @selector(KIF_popRunLoopMode:)); - Swizzle(self, @selector(popRunLoopMode:requester:), @selector(KIF_popRunLoopMode:requester:)); - }); -} - -+ (void)startMockingOpenURLWithReturnValue:(BOOL)returnValue; -{ - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - Swizzle(self, @selector(openURL:), @selector(KIF_openURL:)); - }); - - _KIF_UIApplicationMockOpenURL = YES; - _KIF_UIApplicationMockOpenURL_returnValue = returnValue; -} - -+ (void)stopMockingOpenURL; -{ - _KIF_UIApplicationMockOpenURL = NO; -} - -@end diff --git a/Pods/KIF/Additions/UIScrollView-KIFAdditions.h b/Pods/KIF/Additions/UIScrollView-KIFAdditions.h deleted file mode 100644 index a97480e..0000000 --- a/Pods/KIF/Additions/UIScrollView-KIFAdditions.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// UIScrollView-KIFAdditions.h -// KIF -// -// Created by Eric Firestone on 5/22/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - - -@interface UIScrollView (KIFAdditions) - -- (void)scrollViewToVisible:(UIView *)view animated:(BOOL)animated; - -@end diff --git a/Pods/KIF/Additions/UIScrollView-KIFAdditions.m b/Pods/KIF/Additions/UIScrollView-KIFAdditions.m deleted file mode 100644 index 60f6cd9..0000000 --- a/Pods/KIF/Additions/UIScrollView-KIFAdditions.m +++ /dev/null @@ -1,58 +0,0 @@ -// -// UIScrollView-KIFAdditions.m -// KIF -// -// Created by Eric Firestone on 5/22/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "UIScrollView-KIFAdditions.h" -#import "LoadableCategory.h" -#import "UIApplication-KIFAdditions.h" -#import "UIView-KIFAdditions.h" - - -MAKE_CATEGORIES_LOADABLE(UIScrollView_KIFAdditions) - - -@implementation UIScrollView (KIFAdditions) - -- (void)scrollViewToVisible:(UIView *)view animated:(BOOL)animated; -{ - BOOL needsUpdate = NO; - CGRect frame = [self.window convertRect:self.frame fromView:self.superview]; - - CGRect viewFrame = [self.window convertRect:view.frame fromView:view.superview]; - CGFloat viewMaxX = viewFrame.origin.x + viewFrame.size.width; - CGFloat viewMaxY = viewFrame.origin.y + viewFrame.size.height; - CGFloat scrollViewMaxX = frame.origin.x + frame.size.width; - CGFloat scrollViewMaxY = frame.origin.y + frame.size.height; - - CGPoint offsetPoint = self.contentOffset; - if (viewMaxX > scrollViewMaxX) { - // The view is to the right of the view port, so scroll it just into view - offsetPoint.x = frame.origin.x + viewFrame.size.width; - needsUpdate = YES; - } else if (viewMaxX < 0.0) { - offsetPoint.x = viewFrame.origin.x; - needsUpdate = YES; - } - - if (viewMaxY > scrollViewMaxY) { - // The view is below the view port, so scroll it just into view - offsetPoint.y = frame.origin.y + viewFrame.size.height; - needsUpdate = YES; - } else if (viewMaxY < 0.0) { - offsetPoint.y = viewFrame.origin.y; - needsUpdate = YES; - } - - if (needsUpdate) { - offsetPoint = [self.window convertPoint:offsetPoint toView:self.superview]; - [self setContentOffset:offsetPoint animated:animated]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.2, false); - } -} - -@end diff --git a/Pods/KIF/Additions/UITouch-KIFAdditions.h b/Pods/KIF/Additions/UITouch-KIFAdditions.h deleted file mode 100644 index b516109..0000000 --- a/Pods/KIF/Additions/UITouch-KIFAdditions.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// UITouch-KIFAdditions.h -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - - -@interface UITouch (KIFAdditions) - -- (id)initInView:(UIView *)view; -- (id)initAtPoint:(CGPoint)point inView:(UIView *)view; - -- (void)setPhase:(UITouchPhase)phase; -- (void)setLocationInWindow:(CGPoint)location; - -@end diff --git a/Pods/KIF/Additions/UITouch-KIFAdditions.m b/Pods/KIF/Additions/UITouch-KIFAdditions.m deleted file mode 100644 index 39096a5..0000000 --- a/Pods/KIF/Additions/UITouch-KIFAdditions.m +++ /dev/null @@ -1,107 +0,0 @@ -// -// UITouch-KIFAdditions.m -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "UITouch-KIFAdditions.h" -#import "LoadableCategory.h" - - -MAKE_CATEGORIES_LOADABLE(UITouch_KIFAdditions) - - -@interface UITouch () { -#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 60000 - // ivars declarations removed in 6.0 - NSTimeInterval _timestamp; - UITouchPhase _phase; - UITouchPhase _savedPhase; - NSUInteger _tapCount; - - UIWindow *_window; - UIView *_view; - UIView *_warpedIntoView; - NSMutableArray *_gestureRecognizers; - NSMutableArray *_forwardingRecord; - - CGPoint _locationInWindow; - CGPoint _previousLocationInWindow; - UInt8 _pathIndex; - UInt8 _pathIdentity; - float _pathMajorRadius; - struct { - unsigned int _firstTouchForView:1; - unsigned int _isTap:1; - unsigned int _isDelayed:1; - unsigned int _sentTouchesEnded:1; - unsigned int _abandonForwardingRecord:1; - } _touchFlags; -#endif -} -- (void)setGestureView:(UIView *)view; -@end - -@implementation UITouch (KIFAdditions) - -- (id)initInView:(UIView *)view; -{ - CGRect frame = view.frame; - CGPoint centerPoint = CGPointMake(frame.size.width * 0.5f, frame.size.height * 0.5f); - return [self initAtPoint:centerPoint inView:view]; -} - -- (id)initAtPoint:(CGPoint)point inWindow:(UIWindow *)window; -{ - self = [super init]; - if (self == nil) { - return nil; - } - - // Create a fake tap touch - _tapCount = 1; - _locationInWindow = point; - _previousLocationInWindow = _locationInWindow; - - UIView *hitTestView = [window hitTest:_locationInWindow withEvent:nil]; - - _window = [window retain]; - _view = [hitTestView retain]; - if ([self respondsToSelector:@selector(setGestureView:)]) { - [self setGestureView:hitTestView]; - } - _phase = UITouchPhaseBegan; - _touchFlags._firstTouchForView = 1; - _touchFlags._isTap = 1; - _timestamp = [[NSProcessInfo processInfo] systemUptime]; - - return self; -} - -- (id)initAtPoint:(CGPoint)point inView:(UIView *)view; -{ - return [self initAtPoint:[view.window convertPoint:point fromView:view] inWindow:view.window]; -} - -- (void)setPhase:(UITouchPhase)phase; -{ - _phase = phase; - _timestamp = [[NSProcessInfo processInfo] systemUptime]; -} - -// -// setLocationInWindow: -// -// Setter to allow access to the _locationInWindow member. -// -- (void)setLocationInWindow:(CGPoint)location -{ - _previousLocationInWindow = _locationInWindow; - _locationInWindow = location; - _timestamp = [[NSProcessInfo processInfo] systemUptime]; -} - -@end diff --git a/Pods/KIF/Additions/UIView-KIFAdditions.h b/Pods/KIF/Additions/UIView-KIFAdditions.h deleted file mode 100644 index 333fc9d..0000000 --- a/Pods/KIF/Additions/UIView-KIFAdditions.h +++ /dev/null @@ -1,85 +0,0 @@ -// -// UIView-KIFAdditions.h -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - -typedef CGPoint KIFDisplacement; - -@interface UIView (KIFAdditions) - -@property (nonatomic, readonly, getter=isProbablyTappable) BOOL probablyTappable; - -- (BOOL)isDescendantOfFirstResponder; -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label; -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label traits:(UIAccessibilityTraits)traits; -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label accessibilityValue:(NSString *)value traits:(UIAccessibilityTraits)traits; - -/*! - @method accessibilityElementMatchingBlock: - @abstract Finds the descendent accessibility element that matches the conditions defined by the match block. - @param matchBlock A block which returns YES for matching elements. - @result The matching accessibility element. - */ -- (UIAccessibilityElement *)accessibilityElementMatchingBlock:(BOOL(^)(UIAccessibilityElement *))matchBlock; - -- (UIView *)subviewWithClassNamePrefix:(NSString *)prefix __deprecated; -- (NSArray *)subviewsWithClassNamePrefix:(NSString *)prefix; -- (UIView *)subviewWithClassNameOrSuperClassNamePrefix:(NSString *)prefix __deprecated; -- (NSArray *)subviewsWithClassNameOrSuperClassNamePrefix:(NSString *)prefix; - -- (void)flash; -- (void)tap; -- (void)tapAtPoint:(CGPoint)point; -- (void)longPressAtPoint:(CGPoint)point duration:(NSTimeInterval)duration; - -/*! - @method dragFromPoint:toPoint: - @abstract Simulates dragging a finger on the screen between the given points. - @discussion Causes the application to dispatch a sequence of touch events which simulate dragging a finger from startPoint to endPoint. - @param startPoint The point at which to start the drag, in the coordinate system of the receiver. - @param endPoint The point at which to end the drag, in the coordinate system of the receiver. - */ -- (void)dragFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint; -- (void)dragFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint steps:(NSUInteger)stepCount; -- (void)dragFromPoint:(CGPoint)startPoint displacement:(KIFDisplacement)displacement steps:(NSUInteger)stepCount; -- (void)dragAlongPathWithPoints:(CGPoint *)points count:(NSInteger)count; - -/*! - @method isTappableWithHitTestResultView: - @abstract Easy hook to override whether a hit test result makes a view tappable. - @discussion Some times, your view hierarchies involve putting overlays over views that would otherwise be tappable. Since KIF doesn't know about these exceptions, you can override this method as a convenient way of hooking in to the check for something being tappable. Your implementation will probably want to call up to super. - @param hitView The view -hitTest: returned when trying to tap on a point inside your view's bounds - @result Whether or not the view is tappable. - */ -- (BOOL)isTappableWithHitTestResultView:(UIView *)hitView; - -/*! - @method isTappableInRect: - @abstract Whether or not the receiver can be tapped inside the given rectangular area. - @discussion Determines whether or not tapping within the given rectangle would actually hit the receiver or one of its children. This is useful for determining if the view is actually on screen and enabled. - @param rect A rectangle specifying an area in the receiver in the receiver's frame coordinates. - @result Whether or not the view is tappable. - */ -- (BOOL)isTappableInRect:(CGRect)rect; - -/*! - @method tappablePointInRect:(CGRect)rect; - @abstract Finds a point in the receiver that is tappable. - @discussion Finds a tappable point in the receiver, where tappable is defined as a point that, when tapped, will hit the receiver. - @param rect A rectangle specifying an area in the receiver in the receiver's frame coordinates. - @result A tappable point in the receivers frame coordinates. - */ -- (CGPoint)tappablePointInRect:(CGRect)rect; - -/*! - @abstract Evaluates if user interaction is enabled including edge cases. - */ -- (BOOL)isUserInteractionActuallyEnabled; - -@end diff --git a/Pods/KIF/Additions/UIView-KIFAdditions.m b/Pods/KIF/Additions/UIView-KIFAdditions.m deleted file mode 100644 index ab4b443..0000000 --- a/Pods/KIF/Additions/UIView-KIFAdditions.m +++ /dev/null @@ -1,581 +0,0 @@ -// -// UIView-KIFAdditions.m -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "UIView-KIFAdditions.h" -#import "CGGeometry-KIFAdditions.h" -#import "UIAccessibilityElement-KIFAdditions.h" -#import "UIApplication-KIFAdditions.h" -#import "UITouch-KIFAdditions.h" -#import - -typedef struct __GSEvent * GSEventRef; - -// -// GSEvent is an undeclared object. We don't need to use it ourselves but some -// Apple APIs (UIScrollView in particular) require the x and y fields to be present. -// -@interface KIFEventProxy : NSObject -{ -@public - unsigned int flags; - unsigned int type; - unsigned int ignored1; - float x1; - float y1; - float x2; - float y2; - unsigned int ignored2[10]; - unsigned int ignored3[7]; - float sizeX; - float sizeY; - float x3; - float y3; - unsigned int ignored4[3]; -} - -@end - -@implementation KIFEventProxy -@end - -// Exposes methods of UITouchesEvent so that the compiler doesn't complain -@interface UIEvent (KIFAdditionsPrivate) - -- (void)_addTouch:(id)arg1 forDelayedDelivery:(BOOL)arg2; -- (void)_clearTouches; -- (void)_setGSEvent:(GSEventRef)event; - -@end - - -@interface NSObject (UIWebDocumentViewInternal) - -- (void)tapInteractionWithLocation:(CGPoint)point; - -@end - -@interface UIView (KIFAdditionsPrivate) - -- (UIEvent *)_eventWithTouch:(UITouch *)touch; - -@end - - -@implementation UIView (KIFAdditions) - -+ (NSSet *)classesToSkipAccessibilitySearchRecursion -{ - static NSSet *classesToSkip; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - // UIDatePicker contains hundreds of thousands of placeholder accessibility elements that aren't useful to KIF, - // so don't recurse into a date picker when searching for matching accessibility elements - classesToSkip = [[NSSet alloc] initWithObjects:[UIDatePicker class], nil]; - }); - - return classesToSkip; -} - -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label -{ - return [self accessibilityElementWithLabel:label traits:UIAccessibilityTraitNone]; -} - -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label traits:(UIAccessibilityTraits)traits; -{ - return [self accessibilityElementWithLabel:label accessibilityValue:nil traits:traits]; -} - -- (UIAccessibilityElement *)accessibilityElementWithLabel:(NSString *)label accessibilityValue:(NSString *)value traits:(UIAccessibilityTraits)traits; -{ - return [self accessibilityElementMatchingBlock:^(UIAccessibilityElement *element) { - - // TODO: This is a temporary fix for an SDK defect. - NSString *accessibilityValue = element.accessibilityValue; - if ([accessibilityValue isKindOfClass:[NSAttributedString class]]) { - accessibilityValue = [(NSAttributedString *)accessibilityValue string]; - } - - BOOL labelsMatch = [element.accessibilityLabel isEqual:label]; - BOOL traitsMatch = ((element.accessibilityTraits) & traits) == traits; - BOOL valuesMatch = !value || [value isEqual:accessibilityValue]; - - return (BOOL)(labelsMatch && traitsMatch && valuesMatch); - }]; -} - -- (UIAccessibilityElement *)accessibilityElementMatchingBlock:(BOOL(^)(UIAccessibilityElement *))matchBlock; -{ - if (self.hidden) { - return nil; - } - - // In case multiple elements with the same label exist, prefer ones that are currently visible - UIAccessibilityElement *matchingButOccludedElement = nil; - - BOOL elementMatches = matchBlock((UIAccessibilityElement *)self); - - if (elementMatches) { - if (self.isTappable) { - return (UIAccessibilityElement *)self; - } else { - matchingButOccludedElement = (UIAccessibilityElement *)self; - } - } - - if ([[[self class] classesToSkipAccessibilitySearchRecursion] containsObject:[self class]]) { - return matchingButOccludedElement; - } - - // Check the subviews first. Even if the receiver says it's an accessibility container, - // the returned objects are UIAccessibilityElementMockViews (which aren't actually views) - // rather than the real subviews it contains. We want the real views if possible. - // UITableViewCell is such an offender. - for (UIView *view in [self.subviews reverseObjectEnumerator]) { - UIAccessibilityElement *element = [view accessibilityElementMatchingBlock:matchBlock]; - if (!element) { - continue; - } - - UIView *viewForElement = [UIAccessibilityElement viewContainingAccessibilityElement:element]; - CGRect accessibilityFrame = [viewForElement.window convertRect:element.accessibilityFrame toView:viewForElement]; - - if ([viewForElement isTappableInRect:accessibilityFrame]) { - return element; - } else { - matchingButOccludedElement = element; - } - } - - NSMutableArray *elementStack = [NSMutableArray arrayWithObject:self]; - - while (elementStack.count) { - UIAccessibilityElement *element = [[[elementStack lastObject] retain] autorelease]; - [elementStack removeLastObject]; - - BOOL elementMatches = matchBlock(element); - - if (elementMatches) { - UIView *viewForElement = [UIAccessibilityElement viewContainingAccessibilityElement:element]; - CGRect accessibilityFrame = [viewForElement.window convertRect:element.accessibilityFrame toView:viewForElement]; - - if ([viewForElement isTappableInRect:accessibilityFrame]) { - return element; - } else { - matchingButOccludedElement = element; - continue; - } - } - - // If the view is an accessibility container, and we didn't find a matching subview, - // then check the actual accessibility elements - NSInteger accessibilityElementCount = element.accessibilityElementCount; - if (accessibilityElementCount == 0 || accessibilityElementCount == NSNotFound) { - continue; - } - - for (NSInteger accessibilityElementIndex = 0; accessibilityElementIndex < accessibilityElementCount; accessibilityElementIndex++) { - UIAccessibilityElement *subelement = [element accessibilityElementAtIndex:accessibilityElementIndex]; - - if (subelement) { - [elementStack addObject:subelement]; - } - } - } - - return matchingButOccludedElement; -} - -- (UIView *)subviewWithClassNamePrefix:(NSString *)prefix; -{ - NSArray *subviews = [self subviewsWithClassNamePrefix:prefix]; - if ([subviews count] == 0) { - return nil; - } - - return subviews[0]; -} - -- (NSArray *)subviewsWithClassNamePrefix:(NSString *)prefix; -{ - NSMutableArray *result = [NSMutableArray array]; - - // Breadth-first population of matching subviews - // First traverse the next level of subviews, adding matches. - for (UIView *view in self.subviews) { - if ([NSStringFromClass([view class]) hasPrefix:prefix]) { - [result addObject:view]; - } - } - - // Now traverse the subviews of the subviews, adding matches. - for (UIView *view in self.subviews) { - NSArray *matchingSubviews = [view subviewsWithClassNamePrefix:prefix]; - [result addObjectsFromArray:matchingSubviews]; - } - - return result; -} - -- (UIView *)subviewWithClassNameOrSuperClassNamePrefix:(NSString *)prefix; -{ - NSArray *subviews = [self subviewsWithClassNameOrSuperClassNamePrefix:prefix]; - if ([subviews count] == 0) { - return nil; - } - - return subviews[0]; -} - -- (NSArray *)subviewsWithClassNameOrSuperClassNamePrefix:(NSString *)prefix; -{ - NSMutableArray * result = [NSMutableArray array]; - - // Breadth-first population of matching subviews - // First traverse the next level of subviews, adding matches - for (UIView *view in self.subviews) { - Class klass = [view class]; - while (klass) { - if ([NSStringFromClass(klass) hasPrefix:prefix]) { - [result addObject:view]; - break; - } - - klass = [klass superclass]; - } - } - - // Now traverse the subviews of the subviews, adding matches - for (UIView *view in self.subviews) { - NSArray * matchingSubviews = [view subviewsWithClassNameOrSuperClassNamePrefix:prefix]; - [result addObjectsFromArray:matchingSubviews]; - } - - return result; -} - - -- (BOOL)isDescendantOfFirstResponder; -{ - if ([self isFirstResponder]) { - return YES; - } - return [self.superview isDescendantOfFirstResponder]; -} - -- (void)flash; -{ - UIColor *originalBackgroundColor = [self.backgroundColor retain]; - for (NSUInteger i = 0; i < 5; i++) { - self.backgroundColor = [UIColor yellowColor]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, .05, false); - self.backgroundColor = [UIColor blueColor]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, .05, false); - } - self.backgroundColor = originalBackgroundColor; - [originalBackgroundColor release]; -} - -- (void)tap; -{ - CGPoint centerPoint = CGPointMake(self.frame.size.width * 0.5f, self.frame.size.height * 0.5f); - - [self tapAtPoint:centerPoint]; -} - -- (void)tapAtPoint:(CGPoint)point; -{ - // Web views don't handle touches in a normal fashion, but they do have a method we can call to tap them - // This may not be necessary anymore. We didn't properly support controls that used gesture recognizers - // when this was added, but we now do. It needs to be tested before we can get rid of it. - id /*UIWebBrowserView*/ webBrowserView = nil; - - if ([NSStringFromClass([self class]) isEqual:@"UIWebBrowserView"]) { - webBrowserView = self; - } else if ([self isKindOfClass:[UIWebView class]]) { - id webViewInternal = nil; - object_getInstanceVariable(self, "_internal", (void **)&webViewInternal); - object_getInstanceVariable(webViewInternal, "browserView", (void **)&webBrowserView); - } - - if (webBrowserView) { - [webBrowserView tapInteractionWithLocation:point]; - return; - } - - // Handle touches in the normal way for other views - UITouch *touch = [[UITouch alloc] initAtPoint:point inView:self]; - [touch setPhase:UITouchPhaseBegan]; - - UIEvent *event = [self _eventWithTouch:touch]; - - [[UIApplication sharedApplication] sendEvent:event]; - - [touch setPhase:UITouchPhaseEnded]; - [[UIApplication sharedApplication] sendEvent:event]; - - // Dispatching the event doesn't actually update the first responder, so fake it - if ([touch.view isDescendantOfView:self] && [self canBecomeFirstResponder]) { - [self becomeFirstResponder]; - } - - [touch release]; -} - -#define DRAG_TOUCH_DELAY 0.01 - -- (void)longPressAtPoint:(CGPoint)point duration:(NSTimeInterval)duration -{ - UITouch *touch = [[UITouch alloc] initAtPoint:point inView:self]; - [touch setPhase:UITouchPhaseBegan]; - - UIEvent *eventDown = [self _eventWithTouch:touch]; - [[UIApplication sharedApplication] sendEvent:eventDown]; - - CFRunLoopRunInMode(kCFRunLoopDefaultMode, DRAG_TOUCH_DELAY, false); - - for (NSTimeInterval timeSpent = DRAG_TOUCH_DELAY; timeSpent < duration; timeSpent += DRAG_TOUCH_DELAY) - { - [touch setPhase:UITouchPhaseStationary]; - - UIEvent *eventStillDown = [self _eventWithTouch:touch]; - [[UIApplication sharedApplication] sendEvent:eventStillDown]; - - CFRunLoopRunInMode(kCFRunLoopDefaultMode, DRAG_TOUCH_DELAY, false); - } - - [touch setPhase:UITouchPhaseEnded]; - UIEvent *eventUp = [self _eventWithTouch:touch]; - [[UIApplication sharedApplication] sendEvent:eventUp]; - - // Dispatching the event doesn't actually update the first responder, so fake it - if ([touch.view isDescendantOfView:self] && [self canBecomeFirstResponder]) { - [self becomeFirstResponder]; - } - - [touch release]; -} - -- (void)dragFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint; -{ - [self dragFromPoint:startPoint toPoint:endPoint steps:3]; -} - - -- (void)dragFromPoint:(CGPoint)startPoint toPoint:(CGPoint)endPoint steps:(NSUInteger)stepCount; -{ - KIFDisplacement displacement = CGPointMake(endPoint.x - startPoint.x, endPoint.y - startPoint.y); - [self dragFromPoint:startPoint displacement:displacement steps:stepCount]; -} - -- (void)dragFromPoint:(CGPoint)startPoint displacement:(KIFDisplacement)displacement steps:(NSUInteger)stepCount; -{ - CGPoint *path = alloca(stepCount * sizeof(CGPoint)); - - for (NSUInteger i = 0; i < stepCount; i++) - { - CGFloat progress = ((CGFloat)i)/(stepCount - 1); - path[i] = CGPointMake(startPoint.x + (progress * displacement.x), - startPoint.y + (progress * displacement.y)); - } - - [self dragAlongPathWithPoints:path count:stepCount]; -} - -- (void)dragAlongPathWithPoints:(CGPoint *)points count:(NSInteger)count; -{ - // we need at least two points in order to make segments - if (count < 2) { - return; - } - - // Create the touch (there should only be one touch object for the whole drag) - UITouch *touch = [[UITouch alloc] initAtPoint:points[0] inView:self]; - [touch setPhase:UITouchPhaseBegan]; - - UIEvent *eventDown = [self _eventWithTouch:touch]; - [[UIApplication sharedApplication] sendEvent:eventDown]; - - CFRunLoopRunInMode(UIApplicationCurrentRunMode, DRAG_TOUCH_DELAY, false); - - for (NSInteger pointIndex = 1; pointIndex < count; pointIndex++) { - [touch setLocationInWindow:[self.window convertPoint:points[pointIndex] fromView:self]]; - [touch setPhase:UITouchPhaseMoved]; - - UIEvent *eventDrag = [self _eventWithTouch:touch]; - [[UIApplication sharedApplication] sendEvent:eventDrag]; - - CFRunLoopRunInMode(UIApplicationCurrentRunMode, DRAG_TOUCH_DELAY, false); - } - - [touch setPhase:UITouchPhaseEnded]; - - UIEvent *eventUp = [self _eventWithTouch:touch]; - [[UIApplication sharedApplication] sendEvent:eventUp]; - - // Dispatching the event doesn't actually update the first responder, so fake it - if (touch.view == self && [self canBecomeFirstResponder]) { - [self becomeFirstResponder]; - } - - while (UIApplicationCurrentRunMode != kCFRunLoopDefaultMode) { - CFRunLoopRunInMode(UIApplicationCurrentRunMode, 0.1, false); - } - [touch release]; -} - -- (BOOL)isProbablyTappable -{ - // There are some issues with the tappability check in UIWebViews, so if the view is a UIWebView we will just skip the check. - return [NSStringFromClass([self class]) isEqualToString:@"UIWebBrowserView"] || self.isTappable; -} - -// Is this view currently on screen? -- (BOOL)isTappable; -{ - return [self isTappableInRect:self.bounds]; -} - -- (BOOL)isTappableInRect:(CGRect)rect; -{ - CGPoint tappablePoint = [self tappablePointInRect:rect]; - - return !isnan(tappablePoint.x); -} - -- (BOOL)isTappableWithHitTestResultView:(UIView *)hitView; -{ - // Special case for UIControls, which may have subviews which don't respond to -hitTest:, - // but which are tappable. In this case the hit view will be the containing - // UIControl, and it will forward the tap to the appropriate subview. - // This applies with UISegmentedControl which contains UISegment views (a private UIView - // representing a single segment). - if ([hitView isKindOfClass:[UIControl class]] && [self isDescendantOfView:hitView]) { - return YES; - } - - // Button views in the nav bar (a private class derived from UINavigationItemView), do not return - // themselves in a -hitTest:. Instead they return the nav bar. - if ([hitView isKindOfClass:[UINavigationBar class]] && [self isNavigationItemView] && [self isDescendantOfView:hitView]) { - return YES; - } - - return [hitView isDescendantOfView:self]; -} - -- (CGPoint)tappablePointInRect:(CGRect)rect; -{ - // Start at the top and recurse down - CGRect frame = [self.window convertRect:rect fromView:self]; - - UIView *hitView = nil; - CGPoint tapPoint = CGPointZero; - - // Mid point - tapPoint = CGPointCenteredInRect(frame); - hitView = [self.window hitTest:tapPoint withEvent:nil]; - if ([self isTappableWithHitTestResultView:hitView]) { - return [self.window convertPoint:tapPoint toView:self]; - } - - // Top left - tapPoint = CGPointMake(frame.origin.x + 1.0f, frame.origin.y + 1.0f); - hitView = [self.window hitTest:tapPoint withEvent:nil]; - if ([self isTappableWithHitTestResultView:hitView]) { - return [self.window convertPoint:tapPoint toView:self]; - } - - // Top right - tapPoint = CGPointMake(frame.origin.x + 1.0f + frame.size.width - 1.0f, frame.origin.y + 1.0f); - hitView = [self.window hitTest:tapPoint withEvent:nil]; - if ([self isTappableWithHitTestResultView:hitView]) { - return [self.window convertPoint:tapPoint toView:self]; - } - - // Bottom left - tapPoint = CGPointMake(frame.origin.x + 1.0f, frame.origin.y + frame.size.height - 1.0f); - hitView = [self.window hitTest:tapPoint withEvent:nil]; - if ([self isTappableWithHitTestResultView:hitView]) { - return [self.window convertPoint:tapPoint toView:self]; - } - - // Bottom right - tapPoint = CGPointMake(frame.origin.x + frame.size.width - 1.0f, frame.origin.y + frame.size.height - 1.0f); - hitView = [self.window hitTest:tapPoint withEvent:nil]; - if ([self isTappableWithHitTestResultView:hitView]) { - return [self.window convertPoint:tapPoint toView:self]; - } - - return CGPointMake(NAN, NAN); -} - -- (UIEvent *)_eventWithTouch:(UITouch *)touch; -{ - UIEvent *event = [[UIApplication sharedApplication] performSelector:@selector(_touchesEvent)]; - - CGPoint location = [touch locationInView:touch.window]; - KIFEventProxy *eventProxy = [[KIFEventProxy alloc] init]; - eventProxy->x1 = location.x; - eventProxy->y1 = location.y; - eventProxy->x2 = location.x; - eventProxy->y2 = location.y; - eventProxy->x3 = location.x; - eventProxy->y3 = location.y; - eventProxy->sizeX = 1.0; - eventProxy->sizeY = 1.0; - eventProxy->flags = ([touch phase] == UITouchPhaseEnded) ? 0x1010180 : 0x3010180; - eventProxy->type = 3001; - - NSSet *allTouches = [event allTouches]; - [event _clearTouches]; - [allTouches makeObjectsPerformSelector:@selector(autorelease)]; - [event _setGSEvent:(struct __GSEvent *)eventProxy]; - [event _addTouch:touch forDelayedDelivery:NO]; - - [eventProxy release]; - return event; -} - -- (BOOL)isUserInteractionActuallyEnabled; -{ - BOOL isUserInteractionEnabled = self.userInteractionEnabled; - - // Navigation item views don't have user interaction enabled, but their parent nav bar does and will forward the event - if (!isUserInteractionEnabled && [self isNavigationItemView]) { - // If this view is inside a nav bar, and the nav bar is enabled, then consider it enabled - UIView *navBar = [self superview]; - while (navBar && ![navBar isKindOfClass:[UINavigationBar class]]) { - navBar = [navBar superview]; - } - if (navBar && navBar.userInteractionEnabled) { - isUserInteractionEnabled = YES; - } - } - - // UIActionsheet Buttons have UIButtonLabels with userInteractionEnabled=NO inside, - // grab the superview UINavigationButton instead. - if (!isUserInteractionEnabled && [self isKindOfClass:NSClassFromString(@"UIButtonLabel")]) { - UIView *button = [self superview]; - while (button && ![button isKindOfClass:NSClassFromString(@"UINavigationButton")]) { - button = [button superview]; - } - if (button && button.userInteractionEnabled) { - isUserInteractionEnabled = YES; - } - } - - return isUserInteractionEnabled; -} - -- (BOOL)isNavigationItemView; -{ - return [self isKindOfClass:NSClassFromString(@"UINavigationItemView")] || [self isKindOfClass:NSClassFromString(@"_UINavigationBarBackIndicatorView")]; -} - -@end diff --git a/Pods/KIF/Additions/UIWindow-KIFAdditions.h b/Pods/KIF/Additions/UIWindow-KIFAdditions.h deleted file mode 100644 index 64c9b2c..0000000 --- a/Pods/KIF/Additions/UIWindow-KIFAdditions.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// UIWindow-KIFAdditions.h -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - - -@interface UIWindow (KIFAdditions) - -- (UIResponder *)firstResponder; - -@end diff --git a/Pods/KIF/Additions/UIWindow-KIFAdditions.m b/Pods/KIF/Additions/UIWindow-KIFAdditions.m deleted file mode 100644 index 893b49e..0000000 --- a/Pods/KIF/Additions/UIWindow-KIFAdditions.m +++ /dev/null @@ -1,15 +0,0 @@ -// -// UIWindow-KIFAdditions.m -// KIF -// -// Created by Eric Firestone on 5/20/11. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "UIWindow-KIFAdditions.h" - - -//@implementation UIWindow (KIFAdditions) -// -//@end diff --git a/Pods/KIF/Classes/KIF.h b/Pods/KIF/Classes/KIF.h deleted file mode 100644 index ee4fe1e..0000000 --- a/Pods/KIF/Classes/KIF.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// KIF.h -// KIF -// -// Created by Jim Puls on 12/21/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFTestActor.h" -#import "KIFTestCase.h" -#import "KIFSystemTestActor.h" -#import "KIFUITestActor.h" - -#import "SenTestCase-KIFAdditions.h" diff --git a/Pods/KIF/Classes/KIFSystemTestActor.h b/Pods/KIF/Classes/KIFSystemTestActor.h deleted file mode 100644 index 08f5a08..0000000 --- a/Pods/KIF/Classes/KIFSystemTestActor.h +++ /dev/null @@ -1,56 +0,0 @@ -// -// KIFTester+Generic.h -// KIF -// -// Created by Brian Nickel on 12/14/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFTestActor.h" - -#define system KIFActorWithClass(KIFSystemTestActor) - -@interface KIFSystemTestActor : KIFTestActor - -/*! - @abstract Waits for a specific NSNotification. - @discussion Useful when a test requires an asynchronous task to complete, especially when that task does not trigger a visible change in the view hierarchy. - @param name The name of the NSNotification. - @param object The object to which the step should listen. Nil value will listen to all objects. - @return The detected NSNotification. - */ -- (NSNotification *)waitForNotificationName:(NSString*)name object:(id)object; - -/*! - @abstract Waits for a specific NSNotification, emitted during or after execution of a block. - @discussion Useful when step execution causes a notification to be emitted, but executes too quickly for waitForNotificationName: to observe it. - An observer will be registered for the notification before the block is executed. - @param name The name of the NSNotification. - @param object The object to which the step should listen. Nil value will listen to all objects. - @param block The block of code to be executed. - @return The detected NSNotification. - */ -- (NSNotification *)waitForNotificationName:(NSString *)name object:(id)object whileExecutingBlock:(void(^)())block; - -/*! - @abstract Simulates a memory warning. - */ -- (void)simulateMemoryWarning; - -/*! - @abstract Waits for the application to request a specific URL while executing a block. - @param URLString The absolute string representation of the URL to detect. - @param block The block of code to be executed. - @param returnValue The value to return from @c +[UIApplication openURL:]. - */ -- (void)waitForApplicationToOpenURL:(NSString *)URLString whileExecutingBlock:(void(^)())block returning:(BOOL)returnValue; - -/*! - @abstract Waits for the application to request any URL while executing a block. - @param block The block of code to be executed. - @param returnValue The value to return from @c +[UIApplication openURL:]. - */ -- (void)waitForApplicationToOpenAnyURLWhileExecutingBlock:(void(^)())block returning:(BOOL)returnValue; - -@end diff --git a/Pods/KIF/Classes/KIFSystemTestActor.m b/Pods/KIF/Classes/KIFSystemTestActor.m deleted file mode 100644 index 44af577..0000000 --- a/Pods/KIF/Classes/KIFSystemTestActor.m +++ /dev/null @@ -1,76 +0,0 @@ -// -// KIFTester+Generic.m -// KIF -// -// Created by Brian Nickel on 12/14/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFSystemTestActor.h" -#import -#import "UIApplication-KIFAdditions.h" -#import "NSError-KIFAdditions.h" - -@implementation KIFSystemTestActor - -- (NSNotification *)waitForNotificationName:(NSString*)name object:(id)object -{ - return [self waitForNotificationName:name object:object whileExecutingBlock:nil]; -} - -- (NSNotification *)waitForNotificationName:(NSString *)name object:(id)object whileExecutingBlock:(void(^)())block -{ - return [self waitForNotificationName:name object:object whileExecutingBlock:block complete:nil]; -} - -- (NSNotification *)waitForNotificationName:(NSString *)name object:(id)object whileExecutingBlock:(void(^)())block complete:(void(^)())complete -{ - __block NSNotification *detectedNotification = nil; - id observer = [[NSNotificationCenter defaultCenter] addObserverForName:name object:object queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) { - [detectedNotification release]; - detectedNotification = [note retain]; - }]; - - if (block) { - block(); - } - - [self runBlock:^KIFTestStepResult(NSError **error) { - KIFTestWaitCondition(detectedNotification, error, @"Waiting for notification \"%@\"", name); - return KIFTestStepResultSuccess; - } complete:^(KIFTestStepResult result, NSError *error) { - [[NSNotificationCenter defaultCenter] removeObserver:observer]; - - if (complete) { - complete(); - } - }]; - - return [detectedNotification autorelease]; -} - -- (void)simulateMemoryWarning -{ - [[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification object:[UIApplication sharedApplication]]; -} - -- (void)waitForApplicationToOpenAnyURLWhileExecutingBlock:(void (^)())block returning:(BOOL)returnValue -{ - [self waitForApplicationToOpenURL:nil whileExecutingBlock:block returning:returnValue]; -} - -- (void)waitForApplicationToOpenURL:(NSString *)URLString whileExecutingBlock:(void (^)())block returning:(BOOL)returnValue -{ - [UIApplication startMockingOpenURLWithReturnValue:returnValue]; - NSNotification *notification = [self waitForNotificationName:UIApplicationDidMockOpenURLNotification object:[UIApplication sharedApplication] whileExecutingBlock:block complete:^{ - [UIApplication stopMockingOpenURL]; - }]; - - NSString *actualURLString = [[notification.userInfo objectForKey:UIApplicationOpenedURLKey] absoluteString]; - if (URLString && ![URLString isEqualToString:actualURLString]) { - [self failWithError:[NSError KIFErrorWithFormat:@"Expected %@, got %@", URLString, actualURLString] stopTest:YES]; - } -} - -@end diff --git a/Pods/KIF/Classes/KIFTestActor.h b/Pods/KIF/Classes/KIFTestActor.h deleted file mode 100644 index 72efd03..0000000 --- a/Pods/KIF/Classes/KIFTestActor.h +++ /dev/null @@ -1,133 +0,0 @@ -// -// KIFTester.h -// KIF -// -// Created by Brian Nickel on 12/13/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import - -#define KIFActorWithClass(clazz) [clazz actorInFile:[NSString stringWithUTF8String:__FILE__] atLine:__LINE__ delegate:self] - -/*! - @define KIFTestCondition - @abstract Tests a condition and returns a failure result if the condition isn't true. - @discussion This is a useful macro for quickly evaluating conditions in a test step. If the condition is false then the current test step will be aborted with a failure result. - @param condition The condition to test. - @param error The NSError object to put the error string into. May be nil, but should usually be the error parameter from the test step execution block. - @param ... A string describing what the failure was that occurred. This may be a format string with additional arguments. - */ -#define KIFTestCondition(condition, error, ...) ({ \ -if (!(condition)) { \ -if (error) { \ -*error = [NSError errorWithDomain:@"KIFTest" code:KIFTestStepResultFailure userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:__VA_ARGS__], NSLocalizedDescriptionKey, nil]]; \ -} \ -return KIFTestStepResultFailure; \ -} \ -}) - -/*! - @define KIFTestWaitCondition - @abstract Tests a condition and returns a wait result if the condition isn't true. - @discussion This is a useful macro for quickly evaluating conditions in a test step. If the condition is false then the current test step will be aborted with a wait result, indicating that it should be called again in the near future. - @param condition The condition to test. - @param error The NSError object to put the error string into. May be nil, but should usually be the error parameter from the test step execution block. - @param ... A string describing why the step needs to wait. This is important since this reason will be considered the cause of a timeout error if the step requires waiting for too long. This may be a format string with additional arguments. - */ -#define KIFTestWaitCondition(condition, error, ...) ({ \ -if (!(condition)) { \ -if (error) { \ -*error = [NSError errorWithDomain:@"KIFTest" code:KIFTestStepResultWait userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithFormat:__VA_ARGS__], NSLocalizedDescriptionKey, nil]]; \ -} \ -return KIFTestStepResultWait; \ -} \ -}) - - -/*! - @enum KIFTestStepResult - @abstract Result codes from a test step. - @constant KIFTestStepResultFailure The step failed and the test controller should move to the next scenario. - @constant KIFTestStepResultSuccess The step succeeded and the test controller should move to the next step in the current scenario. - @constant KIFTestStepResultWait The test isn't ready yet and should be tried again after a short delay. - */ -enum { - KIFTestStepResultFailure = 0, - KIFTestStepResultSuccess, - KIFTestStepResultWait, -}; -typedef NSInteger KIFTestStepResult; - -/*! - @typedef KIFTestExecutionBlock - @param error An error to fill out in the case of a failure or wait condition. Filling out this error is mandatory in these cases to ensure that testing output is useful. - @result A test result code. Returning KIFTestStepResultWait will cause the block to be tried again on the next iteration. - */ -typedef KIFTestStepResult (^KIFTestExecutionBlock)(NSError **error); - -/*! - @typedef KIFTestCompletionBlock - @param result The result of the test, either KIFTestStepResultSuccess or KIFTestStepResultFailure. - @param error An error provided by the test or nil if result is equal to KIFTestStepResultSuccess. - */ -typedef void (^KIFTestCompletionBlock)(KIFTestStepResult result, NSError *error); - -@protocol KIFTestActorDelegate; - -@interface KIFTestActor : NSObject - -+ (instancetype)actorInFile:(NSString *)file atLine:(NSInteger)line delegate:(id)delegate; - -@property (nonatomic, readonly) NSString *file; -@property (nonatomic, readonly) NSInteger line; -@property (nonatomic, readonly) id delegate; -@property (nonatomic) NSTimeInterval executionBlockTimeout; - -- (instancetype)usingTimeout:(NSTimeInterval)executionBlockTimeout; - -- (void)runBlock:(KIFTestExecutionBlock)executionBlock complete:(KIFTestCompletionBlock)completionBlock timeout:(NSTimeInterval)timeout; -- (void)runBlock:(KIFTestExecutionBlock)executionBlock complete:(KIFTestCompletionBlock)completionBlock; -- (void)runBlock:(KIFTestExecutionBlock)executionBlock timeout:(NSTimeInterval)timeout; -- (void)runBlock:(KIFTestExecutionBlock)executionBlock; - -/*! - @method defaultTimeout - @abstract The default amount of time to assign to execution blocks before assuming they failed. - @discussion To change the default value of the timeout property, call +setDefaultTimeout: with a different value. - */ -+ (NSTimeInterval)defaultTimeout; - -/*! - @method setDefaultTimeout: - @abstract Sets the default amount of time to assign to execution blocks before assuming they failed. - */ -+ (void)setDefaultTimeout:(NSTimeInterval)newDefaultTimeout; - -/*! - @abstract Fails the test. - @discussion Mostly useful for test debugging or as a placeholder when building new tests. - */ -- (void)fail; - -- (void)failWithError:(NSError *)error stopTest:(BOOL)stopTest; - -/*! - @abstract Waits for a certain amount of time before returning. - @discussion In general when waiting for the app to get into a known state, it's better to use -waitForTappableViewWithAccessibilityLabel:, however this step may be useful in some situations as well. - @param interval The number of seconds to wait before returning. - */ -- (void)waitForTimeInterval:(NSTimeInterval)timeInterval; - -@end - -@protocol KIFTestActorDelegate - -- (void)failWithException:(NSException *)exception stopTest:(BOOL)stop; -- (void)failWithExceptions:(NSArray *)exceptions stopTest:(BOOL)stop; - -@end - -@interface KIFTestActor (Delegate) -@end diff --git a/Pods/KIF/Classes/KIFTestActor.m b/Pods/KIF/Classes/KIFTestActor.m deleted file mode 100644 index bef0751..0000000 --- a/Pods/KIF/Classes/KIFTestActor.m +++ /dev/null @@ -1,181 +0,0 @@ -// -// KIFTester.m -// KIF -// -// Created by Brian Nickel on 12/13/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFTestActor.h" -#import "NSError-KIFAdditions.h" -#import -#import -#import -#import "UIApplication-KIFAdditions.h" - -@implementation KIFTestActor - -+ (void)load -{ - @autoreleasepool { - NSLog(@"KIFTester loaded"); - [KIFTestActor _enableAccessibility]; - - if ([[[NSProcessInfo processInfo] environment] objectForKey:@"StartKIFManually"]) { - [[NSUserDefaults standardUserDefaults] setBool:YES forKey:SenTestToolKey]; - SenSelfTestMain(); - } - - [UIApplication swizzleRunLoop]; - } -} - -+ (void)_enableAccessibility; -{ - NSString *appSupportLocation = @"/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport"; - - NSDictionary *environment = [[NSProcessInfo processInfo] environment]; - NSString *simulatorRoot = [environment objectForKey:@"IPHONE_SIMULATOR_ROOT"]; - if (simulatorRoot) { - appSupportLocation = [simulatorRoot stringByAppendingString:appSupportLocation]; - } - - void *appSupportLibrary = dlopen([appSupportLocation fileSystemRepresentation], RTLD_LAZY); - - CFStringRef (*copySharedResourcesPreferencesDomainForDomain)(CFStringRef domain) = dlsym(appSupportLibrary, "CPCopySharedResourcesPreferencesDomainForDomain"); - - if (copySharedResourcesPreferencesDomainForDomain) { - CFStringRef accessibilityDomain = copySharedResourcesPreferencesDomainForDomain(CFSTR("com.apple.Accessibility")); - - if (accessibilityDomain) { - CFPreferencesSetValue(CFSTR("ApplicationAccessibilityEnabled"), kCFBooleanTrue, accessibilityDomain, kCFPreferencesAnyUser, kCFPreferencesAnyHost); - CFRelease(accessibilityDomain); - } - } -} - -- (instancetype)initWithFile:(NSString *)file line:(NSInteger)line delegate:(id)delegate -{ - self = [super init]; - if (self) { - _file = [file retain]; - _line = line; - _delegate = delegate; - _executionBlockTimeout = [[self class] defaultTimeout]; - } - return self; -} - -+ (instancetype)actorInFile:(NSString *)file atLine:(NSInteger)line delegate:(id)delegate -{ - return [[[self alloc] initWithFile:file line:line delegate:delegate] autorelease]; -} - -- (instancetype)usingTimeout:(NSTimeInterval)executionBlockTimeout -{ - self.executionBlockTimeout = executionBlockTimeout; - return self; -} - -- (void)runBlock:(KIFTestExecutionBlock)executionBlock complete:(KIFTestCompletionBlock)completionBlock timeout:(NSTimeInterval)timeout -{ - NSDate *startDate = [NSDate date]; - KIFTestStepResult result; - NSError *error = nil; - - while ((result = executionBlock(&error)) == KIFTestStepResultWait && -[startDate timeIntervalSinceNow] < timeout) { - CFRunLoopRunInMode([[UIApplication sharedApplication] currentRunLoopMode] ?: kCFRunLoopDefaultMode, 0.1, false); - } - - if (result == KIFTestStepResultWait) { - error = [NSError KIFErrorWithUnderlyingError:error format:@"The step timed out after %.2f seconds: %@", timeout, error.localizedDescription]; - result = KIFTestStepResultFailure; - } - - if (completionBlock) { - completionBlock(result, error); - } - - if (result == KIFTestStepResultFailure) { - [self failWithError:error stopTest:YES]; - } -} - -- (void)runBlock:(KIFTestExecutionBlock)executionBlock complete:(KIFTestCompletionBlock)completionBlock -{ - [self runBlock:executionBlock complete:completionBlock timeout:self.executionBlockTimeout]; -} - -- (void)runBlock:(KIFTestExecutionBlock)executionBlock timeout:(NSTimeInterval)timeout -{ - [self runBlock:executionBlock complete:nil timeout:timeout]; -} - -- (void)runBlock:(KIFTestExecutionBlock)executionBlock -{ - [self runBlock:executionBlock complete:nil]; -} - -- (void)dealloc -{ - [_file release]; - [super dealloc]; -} - -#pragma mark Class Methods - -static NSTimeInterval KIFTestStepDefaultTimeout = 10.0; - -+ (NSTimeInterval)defaultTimeout; -{ - return KIFTestStepDefaultTimeout; -} - -+ (void)setDefaultTimeout:(NSTimeInterval)newDefaultTimeout; -{ - KIFTestStepDefaultTimeout = newDefaultTimeout; -} - -#pragma mark Generic tests - -- (void)fail -{ - [self runBlock:^KIFTestStepResult(NSError **error) { - KIFTestCondition(NO, error, @"This test always fails"); - }]; -} - -- (void)failWithError:(NSError *)error stopTest:(BOOL)stopTest -{ - [self.delegate failWithException:[NSException failureInFile:self.file atLine:self.line withDescription:error.localizedDescription] stopTest:stopTest]; -} - -- (void)waitForTimeInterval:(NSTimeInterval)timeInterval -{ - NSTimeInterval startTime = [NSDate timeIntervalSinceReferenceDate]; - - [self runBlock:^KIFTestStepResult(NSError **error) { - KIFTestWaitCondition((([NSDate timeIntervalSinceReferenceDate] - startTime) >= timeInterval), error, @"Waiting for time interval to expire."); - return KIFTestStepResultSuccess; - } timeout:timeInterval + 1]; -} - -@end - -@implementation KIFTestActor (Delegate) - -- (void)failWithException:(NSException *)exception stopTest:(BOOL)stop -{ - [self failWithExceptions:@[exception] stopTest:stop]; -} - -- (void)failWithExceptions:(NSArray *)exceptions stopTest:(BOOL)stop -{ - NSException *firstException = [exceptions objectAtIndex:0]; - NSException *newException = [NSException failureInFile:self.file atLine:self.line withDescription:@"Failure in child step: %@", firstException.description]; - - [self.delegate failWithExceptions:[exceptions arrayByAddingObject:newException] stopTest:stop]; -} - -@end diff --git a/Pods/KIF/Classes/KIFTestCase.h b/Pods/KIF/Classes/KIFTestCase.h deleted file mode 100644 index d42d2bd..0000000 --- a/Pods/KIF/Classes/KIFTestCase.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// KIFTestCase.h -// KIF -// -// Created by Brian Nickel on 12/14/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import -#import "SenTestCase-KIFAdditions.h" - -@interface KIFTestCase : SenTestCase - -- (void)beforeAll; -- (void)beforeEach; -- (void)afterEach; -- (void)afterAll; - -@property (nonatomic, assign) BOOL stopTestsOnFirstBigFailure; - -@end - diff --git a/Pods/KIF/Classes/KIFTestCase.m b/Pods/KIF/Classes/KIFTestCase.m deleted file mode 100644 index 510d17e..0000000 --- a/Pods/KIF/Classes/KIFTestCase.m +++ /dev/null @@ -1,95 +0,0 @@ -// -// KIFTestCase.m -// KIF -// -// Created by Brian Nickel on 12/14/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFTestCase.h" -#import "KIFTestActor.h" - -#define SIG(class, selector) [class instanceMethodSignatureForSelector:selector] - -@implementation KIFTestCase - -- (id)initWithInvocation:(NSInvocation *)anInvocation; -{ - self = [super initWithInvocation:anInvocation]; - if (!self) { - return nil; - } - - [self raiseAfterFailure]; - return self; -} - -- (void)beforeEach { } -- (void)afterEach { } -- (void)beforeAll { } -- (void)afterAll { } - -- (void)setUp; -{ - [super setUp]; - - if ([self isNotBeforeOrAfter]) { - [self beforeEach]; - } -} - -- (void)tearDown; -{ - if ([self isNotBeforeOrAfter]) { - [self afterEach]; - } - - [super tearDown]; -} - -+ (NSArray *)testInvocations; -{ - if (self == [KIFTestCase class]) { - return nil; - } - - NSMutableArray *testInvocations = [NSMutableArray arrayWithArray:[super testInvocations]]; - - if ([self instancesRespondToSelector:@selector(beforeAll)]) { - NSInvocation *beforeAll = [NSInvocation invocationWithMethodSignature:SIG(self, @selector(beforeAll))]; - beforeAll.selector = @selector(beforeAll); - [testInvocations insertObject:beforeAll atIndex:0]; - } - - if ([self instancesRespondToSelector:@selector(afterAll)]) { - NSInvocation *afterAll = [NSInvocation invocationWithMethodSignature:SIG(self, @selector(afterAll))]; - afterAll.selector = @selector(afterAll); - [testInvocations addObject:afterAll]; - } - - return testInvocations; -} - -- (BOOL)isNotBeforeOrAfter; -{ - SEL selector = self.invocation.selector; - return selector != @selector(beforeAll) && selector != @selector(afterAll); -} - -- (void)failWithException:(NSException *)exception stopTest:(BOOL)stop -{ - if (stop && self.stopTestsOnFirstBigFailure) { - NSLog(@"Fatal failure encountered: %@", exception.description); - NSLog(@"Stopping tests since stopTestsOnFirstBigFailure = YES"); - - KIFTestActor *waiter = [[[KIFTestActor alloc] init] autorelease]; - [waiter waitForTimeInterval:[[NSDate distantFuture] timeIntervalSinceNow]]; - - return; - } else { - [super failWithException:exception stopTest:stop]; - } -} - -@end diff --git a/Pods/KIF/Classes/KIFTestStepValidation.h b/Pods/KIF/Classes/KIFTestStepValidation.h deleted file mode 100644 index 9dffa1d..0000000 --- a/Pods/KIF/Classes/KIFTestStepValidation.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// KIFTestStepValidation.h -// KIF -// -// Created by Brian Nickel on 7/27/13. -// -// - -#import -#import "KIFTestCase.h" - -#define KIFExpectFailure(stmt) \ -{\ - _MockKIFTestActorDelegate *mockDelegate = [_MockKIFTestActorDelegate mockDelegate];\ - {\ - _MockKIFTestActorDelegate *self = mockDelegate;\ - @try { stmt; }\ - @catch (NSException *exception) { }\ - }\ - if (!mockDelegate.failed) {\ - STFail(@"%s should have failed.", #stmt);\ - }\ -} - -#define KIFExpectFailureWithCount(stmt, cnt) \ -{\ - _MockKIFTestActorDelegate *mockDelegate = [_MockKIFTestActorDelegate mockDelegate];\ - {\ - _MockKIFTestActorDelegate *self = mockDelegate;\ - @try { stmt; }\ - @catch (NSException *exception) { }\ - }\ - if (!mockDelegate.failed) {\ - STFail(@"%s should have failed.", #stmt);\ - }\ - STAssertEquals((NSUInteger)cnt, mockDelegate.exceptions.count, @"Expected a different number of exceptions.");\ -} - - -@interface _MockKIFTestActorDelegate : NSObject -@property (nonatomic, assign) BOOL failed; -@property (nonatomic, retain) NSArray *exceptions; -@property (nonatomic, assign) BOOL stopped; - -+ (instancetype)mockDelegate; - -@end diff --git a/Pods/KIF/Classes/KIFTestStepValidation.m b/Pods/KIF/Classes/KIFTestStepValidation.m deleted file mode 100644 index 53a89fd..0000000 --- a/Pods/KIF/Classes/KIFTestStepValidation.m +++ /dev/null @@ -1,39 +0,0 @@ -// -// KIFTestStepValidation.m -// KIF -// -// Created by Brian Nickel on 7/27/13. -// -// - -#import "KIFTestStepValidation.h" - -@implementation _MockKIFTestActorDelegate - -- (void)failWithException:(NSException *)exception stopTest:(BOOL)stop -{ - [self failWithExceptions:@[exception] stopTest:stop]; -} - -- (void)failWithExceptions:(NSArray *)exceptions stopTest:(BOOL)stop -{ - self.failed = YES; - self.exceptions = exceptions; - self.stopped = stop; - if (stop) { - [[exceptions objectAtIndex:0] raise]; - } -} - -+ (instancetype)mockDelegate -{ - return [[[self alloc] init] autorelease]; -} - -- (void)dealloc -{ - [_exceptions release]; - [super dealloc]; -} - -@end diff --git a/Pods/KIF/Classes/KIFTypist.h b/Pods/KIF/Classes/KIFTypist.h deleted file mode 100644 index 8cbee86..0000000 --- a/Pods/KIF/Classes/KIFTypist.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// KIFTypist.h -// KIF -// -// Created by Pete Hodgson on 8/12/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - - -@interface KIFTypist : NSObject - -+ (BOOL)enterCharacter:(NSString *)characterString; - -@end diff --git a/Pods/KIF/Classes/KIFTypist.m b/Pods/KIF/Classes/KIFTypist.m deleted file mode 100644 index 565a548..0000000 --- a/Pods/KIF/Classes/KIFTypist.m +++ /dev/null @@ -1,169 +0,0 @@ -// -// KIFTypist.m -// KIF -// -// Created by Pete Hodgson on 8/12/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFTypist.h" -#import "UIApplication-KIFAdditions.h" -#import "UIView-KIFAdditions.h" -#import "CGGeometry-KIFAdditions.h" -#import "UIAccessibilityElement-KIFAdditions.h" - -@interface KIFTypist() -+ (NSString *)_representedKeyboardStringForCharacter:(NSString *)characterString; -+ (BOOL)_enterCharacter:(NSString *)characterString history:(NSMutableDictionary *)history; -+ (BOOL)_enterCustomKeyboardCharacter:(NSString *)characterString; -@end - -@implementation KIFTypist - -+ (NSString *)_representedKeyboardStringForCharacter:(NSString *)characterString; -{ - // Interpret control characters appropriately - if ([characterString isEqual:@"\b"]) { - characterString = @"Delete"; - } - - return characterString; -} - -+ (BOOL)enterCharacter:(NSString *)characterString; -{ - return [self _enterCharacter:characterString history:[NSMutableDictionary dictionary]]; -} - -+ (BOOL)_enterCharacter:(NSString *)characterString history:(NSMutableDictionary *)history; -{ - const NSTimeInterval keystrokeDelay = 0.05f; - - // Each key on the keyboard does not have its own view, so we have to ask for the list of keys, - // find the appropriate one, and tap inside the frame of that key on the main keyboard view. - if (!characterString.length) { - return YES; - } - - UIWindow *keyboardWindow = [[UIApplication sharedApplication] keyboardWindow]; - UIView *keyboardView = [[keyboardWindow subviewsWithClassNamePrefix:@"UIKBKeyplaneView"] lastObject]; - - // If we didn't find the standard keyboard view, then we may have a custom keyboard - if (!keyboardView) { - return [self _enterCustomKeyboardCharacter:characterString]; - } - id /*UIKBKeyplane*/ keyplane = [keyboardView valueForKey:@"keyplane"]; - BOOL isShiftKeyplane = [[keyplane valueForKey:@"isShiftKeyplane"] boolValue]; - - NSValue *keyplaneValue = [NSValue valueWithNonretainedObject:keyplane]; - - NSMutableArray *unvisitedForKeyplane = [history objectForKey:keyplaneValue]; - if (!unvisitedForKeyplane) { - unvisitedForKeyplane = [NSMutableArray arrayWithObjects:@"More", @"International", nil]; - if (!isShiftKeyplane) { - [unvisitedForKeyplane insertObject:@"Shift" atIndex:0]; - } - [history setObject:unvisitedForKeyplane forKey:keyplaneValue]; - } - - NSArray *keys = [keyplane valueForKey:@"keys"]; - - // Interpret control characters appropriately - characterString = [self _representedKeyboardStringForCharacter:characterString]; - - id keyToTap = nil; - id modifierKey = nil; - NSString *selectedModifierRepresentedString = nil; - - while (YES) { - for (id/*UIKBKey*/ key in keys) { - NSString *representedString = [key valueForKey:@"representedString"]; - - // Find the key based on the key's represented string - if ([representedString isEqual:characterString]) { - keyToTap = key; - } - - if (!modifierKey && unvisitedForKeyplane.count && [[unvisitedForKeyplane objectAtIndex:0] isEqual:representedString]) { - modifierKey = key; - selectedModifierRepresentedString = representedString; - [unvisitedForKeyplane removeObjectAtIndex:0]; - } - } - - if (keyToTap) { - break; - } - - if (modifierKey) { - break; - } - - if (!unvisitedForKeyplane.count) { - return NO; - } - - // If we didn't find the key or the modifier, then this modifier must not exist on this keyboard. Remove it. - [unvisitedForKeyplane removeObjectAtIndex:0]; - } - - if (keyToTap) { - [keyboardView tapAtPoint:CGPointCenteredInRect([keyToTap frame])]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, keystrokeDelay, false); - - return YES; - } - - // We didn't find anything, so try the symbols pane - if (modifierKey) { - [keyboardView tapAtPoint:CGPointCenteredInRect([modifierKey frame])]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, keystrokeDelay, false); - - // If we're back at a place we've been before, and we still have things to explore in the previous - id /*UIKBKeyplane*/ newKeyplane = [keyboardView valueForKey:@"keyplane"]; - id /*UIKBKeyplane*/ previousKeyplane = [history valueForKey:@"previousKeyplane"]; - - if (newKeyplane == previousKeyplane) { - // Come back to the keyplane that we just tested so that we can try the other modifiers - NSValue *keyplaneValue = [NSValue valueWithNonretainedObject:newKeyplane]; - NSMutableArray *previousKeyplaneHistory = [history objectForKey:keyplaneValue]; - [previousKeyplaneHistory insertObject:[history valueForKey:@"lastModifierRepresentedString"] atIndex:0]; - } else { - [history setValue:keyplane forKey:@"previousKeyplane"]; - [history setValue:selectedModifierRepresentedString forKey:@"lastModifierRepresentedString"]; - } - - return [self _enterCharacter:characterString history:history]; - } - - return NO; -} - -+ (BOOL)_enterCustomKeyboardCharacter:(NSString *)characterString; -{ - const NSTimeInterval keystrokeDelay = 0.05f; - - if (!characterString.length) { - return YES; - } - - characterString = [self _representedKeyboardStringForCharacter:characterString]; - - // For custom keyboards, use the classic methods of looking up views based on accessibility labels - UIWindow *keyboardWindow = [[UIApplication sharedApplication] keyboardWindow]; - - UIAccessibilityElement *element = [keyboardWindow accessibilityElementWithLabel:characterString]; - if (!element) { - return NO; - } - - UIView *view = [UIAccessibilityElement viewContainingAccessibilityElement:element]; - CGRect keyFrame = [view.window convertRect:[element accessibilityFrame] toView:view]; - [view tapAtPoint:CGPointCenteredInRect(keyFrame)]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, keystrokeDelay, false); - - return YES; -} - -@end diff --git a/Pods/KIF/Classes/KIFUITestActor.h b/Pods/KIF/Classes/KIFUITestActor.h deleted file mode 100644 index 6ad5460..0000000 --- a/Pods/KIF/Classes/KIFUITestActor.h +++ /dev/null @@ -1,325 +0,0 @@ -// -// KIFTester+UI.h -// KIF -// -// Created by Brian Nickel on 12/14/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFTestActor.h" -#import -#import "UIView-KIFAdditions.h" - -#define tester KIFActorWithClass(KIFUITestActor) - -/*! - @enum KIFSwipeDirection - @abstract Directions in which to swipe. - @constant KIFSwipeDirectionRight Swipe to the right. - @constant KIFSwipeDirectionLeft Swipe to the left. - @constant KIFSwipeDirectionUp Swipe up. - @constant KIFSwipeDirectionDown Swipe down. - */ -typedef NS_ENUM(NSUInteger, KIFSwipeDirection) { - KIFSwipeDirectionRight, - KIFSwipeDirectionLeft, - KIFSwipeDirectionUp, - KIFSwipeDirectionDown -}; - -#define kKIFMajorSwipeDisplacement 200 -#define kKIFMinorSwipeDisplacement 5 - -static inline KIFDisplacement KIFDisplacementForSwipingInDirection(KIFSwipeDirection direction) -{ - switch (direction) - { - // As discovered on the Frank mailing lists, it won't register as a - // swipe if you move purely horizontally or vertically, so need a - // slight orthogonal offset too. - case KIFSwipeDirectionRight: - return CGPointMake(kKIFMajorSwipeDisplacement, kKIFMinorSwipeDisplacement); - case KIFSwipeDirectionLeft: - return CGPointMake(-kKIFMajorSwipeDisplacement, kKIFMinorSwipeDisplacement); - case KIFSwipeDirectionUp: - return CGPointMake(kKIFMinorSwipeDisplacement, -kKIFMajorSwipeDisplacement); - case KIFSwipeDirectionDown: - return CGPointMake(kKIFMinorSwipeDisplacement, kKIFMajorSwipeDisplacement); - } -} - -@interface KIFUITestActor : KIFTestActor - -/*! - @abstract Waits until a view or accessibility element is present. - @discussion The view or accessibility element with the given label is found in the view hierarchy. If the element isn't found, then the step will attempt to wait until it is. Note that the view does not necessarily have to be visible on the screen, and may be behind another view or offscreen. Views with their hidden property set to YES are ignored. - - If the view you want to wait for is tappable, use the -waitForTappableViewWithAccessibilityLabel: methods instead as they provide a more strict test. - @param label The accessibility label of the element to wait for. - */ -- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label; - -/*! - @abstract Waits until a view or accessibility element is present. - @discussion The view or accessibility element with the given label is found in the view hierarchy. If the element isn't found, then the step will attempt to wait until it is. Note that the view does not necessarily have to be visible on the screen, and may be behind another view or offscreen. Views with their hidden property set to YES are ignored. - - If the view you want to wait for is tappable, use the -waitForTappableViewWithAccessibilityLabel: methods instead as they provide a more strict test. - @param label The accessibility label of the element to wait for. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - */ -- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits; - - -/*! - @abstract Waits until a view or accessibility element is present. - @discussion The view or accessibility element with the given label is found in the view hierarchy. If the element isn't found, then the step will attempt to wait until it is. Note that the view does not necessarily have to be visible on the screen, and may be behind another view or offscreen. Views with their hidden property set to YES are ignored. - - If the view you want to wait for is tappable, use the -waitForTappableViewWithAccessibilityLabel: methods instead as they provide a more strict test. - @param label The accessibility label of the element to wait for. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - @result A configured test step. - */ -- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits; - -/*! - @abstract Waits until a view or accessibility element is no longer present. - @discussion The view or accessibility element with the given label is found in the view hierarchy. If the element is found, then the step will attempt to wait until it isn't. Note that the view does not necessarily have to be visible on the screen, and may be behind another view or offscreen. Views with their hidden property set to YES are considered absent. - @param label The accessibility label of the element to wait for. - */ -- (void)waitForAbsenceOfViewWithAccessibilityLabel:(NSString *)label; - -/*! - @abstract Waits until a view or accessibility element is no longer present. - @discussion The view or accessibility element with the given label is found in the view hierarchy. If the element is found, then the step will attempt to wait until it isn't. Note that the view does not necessarily have to be visible on the screen, and may be behind another view or offscreen. Views with their hidden property set to YES are considered absent. - @param label The accessibility label of the element to wait for. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - */ -- (void)waitForAbsenceOfViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits; - -/*! - @abstract Waits until a view or accessibility element is no longer present. - @discussion The view or accessibility element with the given label is found in the view hierarchy. If the element is found, then the step will attempt to wait until it isn't. Note that the view does not necessarily have to be visible on the screen, and may be behind another view or offscreen. Views with their hidden property set to YES are considered absent. - @param label The accessibility label of the element to wait for. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - */ -- (void)waitForAbsenceOfViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits; - -/*! - @abstract Waits until a view or accessibility element is present and available for tapping. - @discussion The view or accessibility element with the given label is found in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Whether or not a view is tappable is based on -[UIView hitTest:]. - @param label The accessibility label of the element to wait for. - */ -- (UIView *)waitForTappableViewWithAccessibilityLabel:(NSString *)label; - -/*! - @abstract Waits until a view or accessibility element is present and available for tapping. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Whether or not a view is tappable is based on -[UIView hitTest:]. - @param label The accessibility label of the element to wait for. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - */ -- (UIView *)waitForTappableViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits; - -/*! - @abstract Waits until a view or accessibility element is present and available for tapping. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Whether or not a view is tappable is based on -[UIView hitTest:]. - @param label The accessibility label of the element to wait for. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - */ -- (UIView *)waitForTappableViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits; - - -/* - @abstract Waits for an accessibility element and its containing view based on a variety of criteria. - @discussion This method provides a more verbose API for achieving what is available in the waitForView/waitForTappableView family of methods, exposing both the found element and its containing view. - @param element To be populated with the matching accessibility element when found. Can be NULL. - @param view To be populated with the matching view when found. Can be NULL. - @param label The accessibility label of the element to wait for. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to wait for. Elements that do not include at least these traits are ignored. - @param mustBeTappable If YES, only an element that can be tapped on will be returned. - */ -- (void)waitForAccessibilityElement:(UIAccessibilityElement **)element view:(out UIView **)view withLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits tappable:(BOOL)mustBeTappable; - -/*! - @abstract Taps a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, a tap event is simulated in the center of the view or element. - @param label The accessibility label of the element to tap. - */ -- (void)tapViewWithAccessibilityLabel:(NSString *)label; - -/*! - @abstract Taps a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, a tap event is simulated in the center of the view or element. - @param label The accessibility label of the element to tap. - @param traits The accessibility traits of the element to tap. Elements that do not include at least these traits are ignored. - */ -- (void)tapViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits; - -/*! - @abstract Taps a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, a tap event is simulated in the center of the view or element. - - This variation allows finding a particular instance of an accessibility element. For example, a table view might have multiple elements with the accessibility label of "Employee", but only one that also has the accessibility value of "Bob". - @param label The accessibility label of the element to tap. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to tap. Elements that do not include at least these traits are ignored. - */ -- (void)tapViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits; - -/*! - @abstract Taps a particular view in the view heirarchy. - @discussion Unlike the -tapViewWithAccessibilityLabel: family of methods, this method allows you to tap an arbitrary element. Combined with -waitForAccessibilityElement:view:withLabel:value:traits:tappable: or +[UIAccessibilityElement accessibilityElement:view:withLabel:value:traits:tappable:error:] this provides an opportunity for more complex logic. - @param element The accessibility element to tap. - @param view The view containing the accessibility element. - */ -- (void)tapAccessibilityElement:(UIAccessibilityElement *)element inView:(UIView *)view; - -/*! - @abstract Taps the screen at a particular point. - @discussion Taps the screen at a specific point. In general you should use the factory steps that tap a view based on its accessibility label, but there are situations where it's not possible to access a view using accessibility mechanisms. This step is more lenient than the steps that use the accessibility label, and does not wait for any particular view to appear, or validate that the tapped view is enabled or has interaction enabled. Because this step doesn't doesn't validate that a view is present before tapping it, it's good practice to precede this step where possible with a -waitForViewWithAccessibilityLabel: with the label for another view that should appear on the same screen. - - @param screenPoint The point in screen coordinates to tap. Screen points originate from the top left of the screen. - */ -- (void)tapScreenAtPoint:(CGPoint)screenPoint; - -/*! - @abstract Performs a long press on a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, touch events are simulated in the center of the view or element. - @param label The accessibility label of the element to tap. - @param duration The length of time to long press the element. - */ -- (void)longPressViewWithAccessibilityLabel:(NSString *)label duration:(NSTimeInterval)duration; - -/*! - @abstract Performs a long press on a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, touch events are simulated in the center of the view or element. - - This variation allows finding a particular instance of an accessibility element. For example, a table view might have multiple elements with the accessibility label of "Employee", but only one that also has the accessibility value of "Bob". - @param label The accessibility label of the element to tap. - @param value The accessibility value of the element to tap. - @param duration The length of time to long press the element. - */ -- (void)longPressViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value duration:(NSTimeInterval)duration; - -/*! - @abstract Performs a long press on a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, touch events are simulated in the center of the view or element. - - This variation allows finding a particular instance of an accessibility element. For example, a table view might have multiple elements with the accessibility label of "Employee", but only one that also has the accessibility value of "Bob". - @param label The accessibility label of the element to tap. - @param value The accessibility value of the element to tap. - @param traits The accessibility traits of the element to tap. Elements that do not include at least these traits are ignored. - @param duration The length of time to long press the element. - */ -- (void)longPressViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits duration:(NSTimeInterval)duration; - -/*! - @abstract Enters text into a the current first responder. - @discussion Text is entered into the view by simulating taps on the appropriate keyboard keys if the keyboard is already displayed. Useful to enter text in UIWebViews or components with no accessibility labels. - @param text The text to enter. - */ -- (void)enterTextIntoCurrentFirstResponder:(NSString *)text; - -/*! - @abstract Enters text into a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, a tap event is simulated in the center of the view or element, then text is entered into the view by simulating taps on the appropriate keyboard keys. - @param text The text to enter. - @param label The accessibility label of the element to type into. - */ -- (void)enterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label; - -/*! - @abstract Enters text into a particular view in the view hierarchy. - @discussion The view or accessibility element with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present and tappable, a tap event is simulated in the center of the view or element, then text is entered into the view by simulating taps on the appropriate keyboard keys. - @param text The text to enter. - @param label The accessibility label of the element to type into. - @param traits The accessibility traits of the element to type into. Elements that do not include at least these traits are ignored. - @param expectedResult What the text value should be after entry, including any formatting done by the field. If this is nil, the "text" parameter will be used. - */ -- (void)enterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits expectedResult:(NSString *)expectedResult; - -- (void)clearTextFromViewWithAccessibilityLabel:(NSString *)label; -- (void)clearTextFromViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits; - -- (void)clearTextFromAndThenEnterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label; -- (void)clearTextFromAndThenEnterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits expectedResult:(NSString *)expectedResult; - -/*! - @abstract ASelects an item from a currently visible picker view. - @discussion With a picker view already visible, this step will find an item with the given title, select that item, and tap the Done button. - @param title The title of the row to select. - */ -- (void)selectPickerViewRowWithTitle:(NSString *)title; - -/*! - @abstract Toggles a UISwitch into a specified position. - @discussion The UISwitch with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present, the step will return if it's already in the desired position. If the switch is tappable but not in the desired position, a tap event is simulated in the center of the view or element, toggling the switch into the desired position. - @param switchIsOn The desired position of the UISwitch. - @param label The accessibility label of the element to switch. - */ -- (void)setOn:(BOOL)switchIsOn forSwitchWithAccessibilityLabel:(NSString *)label; - -/*! - @abstract Slides a UISlider to a specified value. - @discussion The UISlider with the given label is searched for in the view hierarchy. If the element isn't found or isn't currently tappable, then the step will attempt to wait until it is. Once the view is present, the step will attempt to drag the slider to the new value. The step will fail if it finds a view with the given accessibility label that is not a UISlider or if value is outside of the possible values. Because this step simulates drag events, the value reached may not be the exact value requested and the app may ignore the touch events if the movement is less than the drag gesture recognizer's minimum distance. - @param value The desired value of the UISlider. - @param label The accessibility label of the element to drag. - */ -- (void)setValue:(float)value forSliderWithAccessibilityLabel:(NSString *)label; - -/*! - @abstract Dismisses a popover on screen. - @discussion With a popover up, tap at the top-left corner of the screen. - */ -- (void)dismissPopover; - -/*! - @abstract Select a certain photo from the built in photo picker. - @discussion This set of steps expects that the photo picker has been initiated and that the sheet is up. From there it will tap the "Choose Photo" button and select the desired photo. - @param albumName The name of the album to select the photo from. - @param row The row number in the album for the desired photo. - @param column The column number in the album for the desired photo. - */ -- (void)choosePhotoInAlbum:(NSString *)albumName atRow:(NSInteger)row column:(NSInteger)column; - -/*! - @abstract Taps the row at IndexPath in a view with the given label. - @discussion This step will get the view with the specified accessibility label and tap the row at indexPath. - - For cases where you may need to work from the end of a table view rather than the beginning, negative sections count back from the end of the table view (-1 is the last section) and negative rows count back from the end of the section (-1 is the last row for that section). - @param tableViewLabel Accessibility label of the table view. - @param indexPath Index path of the row to tap. - */ -- (void)tapRowInTableViewWithAccessibilityLabel:(NSString*)tableViewLabel atIndexPath:(NSIndexPath *)indexPath; - -/*! - @abstract Swipes a particular view in the view hierarchy in the given direction. - @discussion The view will get the view with the specified accessibility label and swipe the screen in the given direction from the view's center. - @param label The accessibility label of the view to swipe. - @param direction The direction in which to swipe. - */ -- (void)swipeViewWithAccessibilityLabel:(NSString *)label inDirection:(KIFSwipeDirection)direction; - -/*! - @abstract Scrolls a particular view in the view hierarchy by an amount indicated as a fraction of its size. - @discussion The view will get the view with the specified accessibility label and scroll it by the indicated fraction of its size, with the scroll centered on the center of the view. - @param label The accessibility label of the view to scroll. - @param horizontalFraction The horizontal displacement of the scroll action, as a fraction of the width of the view. - @param verticalFraction The vertical displacement of the scroll action, as a fraction of the height of the view. - */ -- (void)scrollViewWithAccessibilityLabel:(NSString *)label byFractionOfSizeHorizontal:(CGFloat)horizontalFraction vertical:(CGFloat)verticalFraction; - -/*! - @abstract Waits until a view or accessibility element is the first responder. - @discussion The first responder is found by searching the view hierarchy of the application's - main window and its accessibility label is compared to the given value. If they match, the - step returns success else it will attempt to wait until they do. - @param label The accessibility label of the element to wait for. - */ -- (void)waitForFirstResponderWithAccessibilityLabel:(NSString *)label; - -@end diff --git a/Pods/KIF/Classes/KIFUITestActor.m b/Pods/KIF/Classes/KIFUITestActor.m deleted file mode 100644 index ca45166..0000000 --- a/Pods/KIF/Classes/KIFUITestActor.m +++ /dev/null @@ -1,583 +0,0 @@ -// -// KIFTester+UI.m -// KIF -// -// Created by Brian Nickel on 12/14/12. -// Licensed to Square, Inc. under one or more contributor license agreements. -// See the LICENSE file distributed with this work for the terms under -// which Square, Inc. licenses this file to you. - -#import "KIFUITestActor.h" -#import "UIApplication-KIFAdditions.h" -#import "UIWindow-KIFAdditions.h" -#import "UIAccessibilityElement-KIFAdditions.h" -#import "UIView-KIFAdditions.h" -#import "CGGeometry-KIFAdditions.h" -#import "NSError-KIFAdditions.h" -#import "KIFTypist.h" - -@implementation KIFUITestActor - -- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label -{ - return [self waitForViewWithAccessibilityLabel:label value:nil traits:UIAccessibilityTraitNone tappable:NO]; -} - -- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits -{ - return [self waitForViewWithAccessibilityLabel:label value:nil traits:traits tappable:NO]; -} - -- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits -{ - return [self waitForViewWithAccessibilityLabel:label value:value traits:traits tappable:NO]; -} - -- (UIView *)waitForTappableViewWithAccessibilityLabel:(NSString *)label -{ - return [self waitForViewWithAccessibilityLabel:label value:nil traits:UIAccessibilityTraitNone tappable:YES]; -} - -- (UIView *)waitForTappableViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits -{ - return [self waitForViewWithAccessibilityLabel:label value:nil traits:traits tappable:YES]; -} - -- (UIView *)waitForTappableViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits -{ - return [self waitForViewWithAccessibilityLabel:label value:value traits:traits tappable:YES]; -} - -- (UIView *)waitForViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits tappable:(BOOL)mustBeTappable -{ - UIView *view = nil; - [self waitForAccessibilityElement:NULL view:&view withLabel:label value:value traits:traits tappable:mustBeTappable]; - return view; -} - -- (void)waitForAccessibilityElement:(UIAccessibilityElement **)element view:(out UIView **)view withLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits tappable:(BOOL)mustBeTappable -{ - - [self runBlock:^KIFTestStepResult(NSError **error) { - return [UIAccessibilityElement accessibilityElement:element view:view withLabel:label value:value traits:traits tappable:mustBeTappable error:error] ? KIFTestStepResultSuccess : KIFTestStepResultWait; - }]; -} - -- (void)waitForAbsenceOfViewWithAccessibilityLabel:(NSString *)label -{ - [self waitForAbsenceOfViewWithAccessibilityLabel:label traits:UIAccessibilityTraitNone]; -} - -- (void)waitForAbsenceOfViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits -{ - [self waitForAbsenceOfViewWithAccessibilityLabel:label value:nil traits:traits]; -} - -- (void)waitForAbsenceOfViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits -{ - [self runBlock:^KIFTestStepResult(NSError **error) { - // If the app is ignoring interaction events, then wait before doing our analysis - KIFTestWaitCondition(![[UIApplication sharedApplication] isIgnoringInteractionEvents], error, @"Application is ignoring interaction events."); - - // If the element can't be found, then we're done - UIAccessibilityElement *element = [[UIApplication sharedApplication] accessibilityElementWithLabel:label accessibilityValue:value traits:traits]; - if (!element) { - return KIFTestStepResultSuccess; - } - - UIView *view = [UIAccessibilityElement viewContainingAccessibilityElement:element]; - - // If we found an element, but it's not associated with a view, then something's wrong. Wait it out and try again. - KIFTestWaitCondition(view, error, @"Cannot find view containing accessibility element with the label \"%@\"", label); - - // Hidden views count as absent - KIFTestWaitCondition([view isHidden], error, @"Accessibility element with label \"%@\" is visible and not hidden.", label); - - return KIFTestStepResultSuccess; - }]; -} - -- (void)tapViewWithAccessibilityLabel:(NSString *)label -{ - [self tapViewWithAccessibilityLabel:label value:nil traits:UIAccessibilityTraitNone]; -} - -- (void)tapViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits -{ - [self tapViewWithAccessibilityLabel:label value:nil traits:traits]; -} - -- (void)tapViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits -{ - UIView *view = nil; - UIAccessibilityElement *element = nil; - - [self waitForAccessibilityElement:&element view:&view withLabel:label value:value traits:traits tappable:YES]; - [self tapAccessibilityElement:element inView:view]; -} - -- (void)tapAccessibilityElement:(UIAccessibilityElement *)element inView:(UIView *)view -{ - [self runBlock:^KIFTestStepResult(NSError **error) { - - KIFTestWaitCondition(view.isUserInteractionActuallyEnabled, error, @"View is not enabled for interaction"); - - // If the accessibilityFrame is not set, fallback to the view frame. - CGRect elementFrame; - if (CGRectEqualToRect(CGRectZero, element.accessibilityFrame)) { - elementFrame.origin = CGPointZero; - elementFrame.size = view.frame.size; - } else { - elementFrame = [view.window convertRect:element.accessibilityFrame toView:view]; - } - CGPoint tappablePointInElement = [view tappablePointInRect:elementFrame]; - - // This is mostly redundant of the test in _accessibilityElementWithLabel: - KIFTestWaitCondition(!isnan(tappablePointInElement.x), error, @"View is not tappable"); - [view tapAtPoint:tappablePointInElement]; - - KIFTestCondition(![view canBecomeFirstResponder] || [view isDescendantOfFirstResponder], error, @"Failed to make the view into the first responder"); - - return KIFTestStepResultSuccess; - }]; - - // Wait for the view to stabilize. - [self waitForTimeInterval:0.5]; -} - -- (void)tapScreenAtPoint:(CGPoint)screenPoint -{ - [self runBlock:^KIFTestStepResult(NSError **error) { - - // Try all the windows until we get one back that actually has something in it at the given point - UIView *view = nil; - for (UIWindow *window in [[[UIApplication sharedApplication] windowsWithKeyWindow] reverseObjectEnumerator]) { - CGPoint windowPoint = [window convertPoint:screenPoint fromView:nil]; - view = [window hitTest:windowPoint withEvent:nil]; - - // If we hit the window itself, then skip it. - if (view == window || view == nil) { - continue; - } - } - - KIFTestWaitCondition(view, error, @"No view was found at the point %@", NSStringFromCGPoint(screenPoint)); - - // This is mostly redundant of the test in _accessibilityElementWithLabel: - CGPoint viewPoint = [view convertPoint:screenPoint fromView:nil]; - [view tapAtPoint:viewPoint]; - - return KIFTestStepResultSuccess; - }]; -} - -- (void)longPressViewWithAccessibilityLabel:(NSString *)label duration:(NSTimeInterval)duration; -{ - [self longPressViewWithAccessibilityLabel:label value:nil traits:UIAccessibilityTraitNone duration:duration]; -} - -- (void)longPressViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value duration:(NSTimeInterval)duration; -{ - [self longPressViewWithAccessibilityLabel:label value:value traits:UIAccessibilityTraitNone duration:duration]; -} - -- (void)longPressViewWithAccessibilityLabel:(NSString *)label value:(NSString *)value traits:(UIAccessibilityTraits)traits duration:(NSTimeInterval)duration; -{ - UIView *view = nil; - UIAccessibilityElement *element = nil; - - [self waitForAccessibilityElement:&element view:&view withLabel:label value:value traits:traits tappable:YES]; - [self longPressAccessibilityElement:element inView:view duration:duration]; -} - -- (void)longPressAccessibilityElement:(UIAccessibilityElement *)element inView:(UIView *)view duration:(NSTimeInterval)duration; -{ - [self runBlock:^KIFTestStepResult(NSError **error) { - - KIFTestWaitCondition(view.isUserInteractionActuallyEnabled, error, @"View is not enabled for interaction"); - - CGRect elementFrame = [view.window convertRect:element.accessibilityFrame toView:view]; - CGPoint tappablePointInElement = [view tappablePointInRect:elementFrame]; - - // This is mostly redundant of the test in _accessibilityElementWithLabel: - KIFTestWaitCondition(!isnan(tappablePointInElement.x), error, @"View is not tappable"); - [view longPressAtPoint:tappablePointInElement duration:duration]; - - KIFTestCondition(![view canBecomeFirstResponder] || [view isDescendantOfFirstResponder], error, @"Failed to make the view into the first responder"); - - return KIFTestStepResultSuccess; - }]; - - // Wait for view to settle. - [self waitForTimeInterval:0.5]; -} - -- (void)enterTextIntoCurrentFirstResponder:(NSString *)text; -{ - // Wait for the keyboard - [self waitForTimeInterval:0.5]; - [self enterTextIntoCurrentFirstResponder:text fallbackView:nil]; -} - -- (void)enterTextIntoCurrentFirstResponder:(NSString *)text fallbackView:(UIView *)fallbackView; -{ - for (NSUInteger characterIndex = 0; characterIndex < [text length]; characterIndex++) { - NSString *characterString = [text substringWithRange:NSMakeRange(characterIndex, 1)]; - - if (![KIFTypist enterCharacter:characterString]) { - // Attempt to cheat if we couldn't find the character - if (!fallbackView) { - UIResponder *firstResponder = [[[UIApplication sharedApplication] keyWindow] firstResponder]; - - if ([firstResponder isKindOfClass:[UIView class]]) { - fallbackView = (UIView *)firstResponder; - } - } - - if ([fallbackView isKindOfClass:[UITextField class]] || [fallbackView isKindOfClass:[UITextView class]]) { - NSLog(@"KIF: Unable to find keyboard key for %@. Inserting manually.", characterString); - [(UITextField *)fallbackView setText:[[(UITextField *)fallbackView text] stringByAppendingString:characterString]]; - } else { - [self failWithError:[NSError KIFErrorWithFormat:@"Failed to find key for character \"%@\"", characterString] stopTest:YES]; - } - } - } -} - -- (void)enterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label -{ - return [self enterText:text intoViewWithAccessibilityLabel:label traits:UIAccessibilityTraitNone expectedResult:nil]; -} - -- (void)enterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits expectedResult:(NSString *)expectedResult -{ - UIView *view = nil; - UIAccessibilityElement *element = nil; - - [self waitForAccessibilityElement:&element view:&view withLabel:label value:nil traits:traits tappable:YES]; - [self tapAccessibilityElement:element inView:view]; - [self enterTextIntoCurrentFirstResponder:text fallbackView:view]; - - // We will perform some additional validation if the view is UITextField or UITextView. - if (![view respondsToSelector:@selector(text)]) { - return; - } - - UITextView *textView = (UITextView *)view; - - // Some slower machines take longer for typing to catch up, so wait for a bit before failing - [self runBlock:^KIFTestStepResult(NSError **error) { - // We trim \n and \r because they trigger the return key, so they won't show up in the final product on single-line inputs - NSString *expected = [expectedResult ?: text stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; - NSString *actual = [textView.text stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; - - KIFTestWaitCondition([actual isEqualToString:expected], error, @"Failed to get text \"%@\" in field; instead, it was \"%@\"", expected, actual); - - return KIFTestStepResultSuccess; - } timeout:1.0]; -} - - -- (void)clearTextFromViewWithAccessibilityLabel:(NSString *)label -{ - [self clearTextFromViewWithAccessibilityLabel:label traits:UIAccessibilityTraitNone]; -} - -- (void)clearTextFromViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits -{ - UIView *view = nil; - UIAccessibilityElement *element = nil; - - [self waitForAccessibilityElement:&element view:&view withLabel:label value:nil traits:traits tappable:YES]; - - NSUInteger numberOfCharacters = [view respondsToSelector:@selector(text)] ? [(UITextField *)view text].length : element.accessibilityValue.length; - - NSMutableString *text = [NSMutableString string]; - for (NSInteger i = 0; i < numberOfCharacters; i ++) { - [text appendString:@"\b"]; - } - - [self enterText:text intoViewWithAccessibilityLabel:label traits:UIAccessibilityTraitNone expectedResult:@""]; -} - -- (void)clearTextFromAndThenEnterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label -{ - [self clearTextFromViewWithAccessibilityLabel:label]; - [self enterText:text intoViewWithAccessibilityLabel:label]; -} - -- (void)clearTextFromAndThenEnterText:(NSString *)text intoViewWithAccessibilityLabel:(NSString *)label traits:(UIAccessibilityTraits)traits expectedResult:(NSString *)expectedResult -{ - [self clearTextFromViewWithAccessibilityLabel:label traits:traits]; - [self enterText:text intoViewWithAccessibilityLabel:label traits:traits expectedResult:expectedResult]; -} - -- (void)selectPickerViewRowWithTitle:(NSString *)title -{ - [self runBlock:^KIFTestStepResult(NSError **error) { - // Find the picker view - UIPickerView *pickerView = [[[[UIApplication sharedApplication] pickerViewWindow] subviewsWithClassNameOrSuperClassNamePrefix:@"UIPickerView"] lastObject]; - KIFTestCondition(pickerView, error, @"No picker view is present"); - - NSInteger componentCount = [pickerView.dataSource numberOfComponentsInPickerView:pickerView]; - KIFTestCondition(componentCount == 1, error, @"The picker view has multiple columns, which is not supported in testing."); - - for (NSInteger componentIndex = 0; componentIndex < componentCount; componentIndex++) { - NSInteger rowCount = [pickerView.dataSource pickerView:pickerView numberOfRowsInComponent:componentIndex]; - for (NSInteger rowIndex = 0; rowIndex < rowCount; rowIndex++) { - NSString *rowTitle = nil; - if ([pickerView.delegate respondsToSelector:@selector(pickerView:titleForRow:forComponent:)]) { - rowTitle = [pickerView.delegate pickerView:pickerView titleForRow:rowIndex forComponent:componentIndex]; - } else if ([pickerView.delegate respondsToSelector:@selector(pickerView:viewForRow:forComponent:reusingView:)]) { - // This delegate inserts views directly, so try to figure out what the title is by looking for a label - UIView *rowView = [pickerView.delegate pickerView:pickerView viewForRow:rowIndex forComponent:componentIndex reusingView:nil]; - NSArray *labels = [rowView subviewsWithClassNameOrSuperClassNamePrefix:@"UILabel"]; - UILabel *label = (labels.count > 0 ? labels[0] : nil); - rowTitle = label.text; - } - - if ([rowTitle isEqual:title]) { - [pickerView selectRow:rowIndex inComponent:componentIndex animated:YES]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.5, false); - - // Tap in the middle of the picker view to select the item - [pickerView tap]; - - // The combination of selectRow:inComponent:animated: and tap does not consistently result in - // pickerView:didSelectRow:inComponent: being called on the delegate. We need to do it explicitly. - if ([pickerView.delegate respondsToSelector:@selector(pickerView:didSelectRow:inComponent:)]) { - [pickerView.delegate pickerView:pickerView didSelectRow:rowIndex inComponent:componentIndex]; - } - - return KIFTestStepResultSuccess; - } - } - } - - KIFTestCondition(NO, error, @"Failed to find picker view value with title \"%@\"", title); - return KIFTestStepResultFailure; - }]; -} - -- (void)setOn:(BOOL)switchIsOn forSwitchWithAccessibilityLabel:(NSString *)label -{ - UIView *view = nil; - UIAccessibilityElement *element = nil; - - [self waitForAccessibilityElement:&element view:&view withLabel:label value:nil traits:UIAccessibilityTraitNone tappable:YES]; - - if (![view isKindOfClass:[UISwitch class]]) { - [self failWithError:[NSError KIFErrorWithFormat:@"View with accessibility label \"%@\" is a %@, not a UISwitch", label, NSStringFromClass([view class])] stopTest:YES]; - } - - UISwitch *switchView = (UISwitch *)view; - - // No need to switch it if it's already in the correct position - if (switchView.isOn == switchIsOn) { - return; - } - - [self tapAccessibilityElement:element inView:view]; - - // If we succeeded, stop the test. - if (switchView.isOn == switchIsOn) { - return; - } - - NSLog(@"Faking turning switch %@ with accessibility label %@", switchIsOn ? @"ON" : @"OFF", label); - [switchView setOn:switchIsOn animated:YES]; - [switchView sendActionsForControlEvents:UIControlEventValueChanged]; - [self waitForTimeInterval:0.5]; - - // We gave it our best shot. Fail the test. - if (switchView.isOn != switchIsOn) { - [self failWithError:[NSError KIFErrorWithFormat:@"Failed to toggle switch to \"%@\"; instead, it was \"%@\"", switchIsOn ? @"ON" : @"OFF", switchView.on ? @"ON" : @"OFF"] stopTest:YES]; - } -} - -- (void)setValue:(float)value forSliderWithAccessibilityLabel:(NSString *)label -{ - UISlider *slider = nil; - UIAccessibilityElement *element = nil; - [self waitForAccessibilityElement:&element view:&slider withLabel:label value:nil traits:UIAccessibilityTraitNone tappable:YES]; - - if (![slider isKindOfClass:[UISlider class]]) { - [self failWithError:[NSError KIFErrorWithFormat:@"View with accessibility label \"%@\" is a %@, not a UISlider", label, NSStringFromClass([slider class])] stopTest:YES]; - } - - if (value < slider.minimumValue) { - [self failWithError:[NSError KIFErrorWithFormat:@"Cannot slide past minimum value of %f", slider.minimumValue] stopTest:YES]; - } - - if (value > slider.maximumValue) { - [self failWithError:[NSError KIFErrorWithFormat:@"Cannot slide past maximum value of %f", slider.maximumValue] stopTest:YES]; - } - - CGRect trackRect = [slider trackRectForBounds:slider.bounds]; - CGPoint currentPosition = CGPointCenteredInRect([slider thumbRectForBounds:slider.bounds trackRect:trackRect value:slider.value]); - CGPoint finalPosition = CGPointCenteredInRect([slider thumbRectForBounds:slider.bounds trackRect:trackRect value:value]); - - [slider dragFromPoint:currentPosition toPoint:finalPosition steps:10]; -} - -- (void)dismissPopover -{ - const NSTimeInterval tapDelay = 0.05; - UIWindow *window = [[UIApplication sharedApplication] dimmingViewWindow]; - if (!window) { - [self failWithError:[NSError KIFErrorWithFormat:@"Failed to find any dimming views in the application"] stopTest:YES]; - } - UIView *dimmingView = [[window subviewsWithClassNamePrefix:@"UIDimmingView"] lastObject]; - [dimmingView tapAtPoint:CGPointMake(50.0f, 50.0f)]; - CFRunLoopRunInMode(kCFRunLoopDefaultMode, tapDelay, false); -} - -- (void)choosePhotoInAlbum:(NSString *)albumName atRow:(NSInteger)row column:(NSInteger)column -{ - [self tapViewWithAccessibilityLabel:@"Choose Photo"]; - - // This is basically the same as the step to tap with an accessibility label except that the accessibility labels for the albums have the number of photos appended to the end, such as "My Photos (3)." This means that we have to do a prefix match rather than an exact match. - [self runBlock:^KIFTestStepResult(NSError **error) { - - NSString *labelPrefix = [NSString stringWithFormat:@"%@, (", albumName]; - UIAccessibilityElement *element = [[UIApplication sharedApplication] accessibilityElementMatchingBlock:^(UIAccessibilityElement *element) { - return [element.accessibilityLabel hasPrefix:labelPrefix]; - }]; - - KIFTestWaitCondition(element, error, @"Failed to find photo album with name %@", albumName); - - UIView *view = [UIAccessibilityElement viewContainingAccessibilityElement:element]; - KIFTestWaitCondition(view, error, @"Failed to find view for photo album with name %@", albumName); - - if (![view isUserInteractionActuallyEnabled]) { - if (error) { - *error = [NSError KIFErrorWithFormat:@"Album picker is not enabled for interaction"]; - } - return KIFTestStepResultWait; - } - - CGRect elementFrame = [view.window convertRect:element.accessibilityFrame toView:view]; - CGPoint tappablePointInElement = [view tappablePointInRect:elementFrame]; - - [view tapAtPoint:tappablePointInElement]; - - return KIFTestStepResultSuccess; - }]; - - // Wait for media picker view controller to be pushed. - [self waitForTimeInterval:0.5]; - - // Tap the desired photo in the grid - // TODO: This currently only works for the first page of photos. It should scroll appropriately at some point. - const CGFloat headerHeight = 64.0; - const CGSize thumbnailSize = CGSizeMake(75.0, 75.0); - const CGFloat thumbnailMargin = 5.0; - CGPoint thumbnailCenter; - thumbnailCenter.x = thumbnailMargin + (MAX(0, column - 1) * (thumbnailSize.width + thumbnailMargin)) + thumbnailSize.width / 2.0; - thumbnailCenter.y = headerHeight + thumbnailMargin + (MAX(0, row - 1) * (thumbnailSize.height + thumbnailMargin)) + thumbnailSize.height / 2.0; - [self tapScreenAtPoint:thumbnailCenter]; - - // Dismiss the resize UI - [self tapViewWithAccessibilityLabel:@"Choose"]; -} - -- (void)tapRowInTableViewWithAccessibilityLabel:(NSString*)tableViewLabel atIndexPath:(NSIndexPath *)indexPath -{ - UITableView *tableView = (UITableView *)[self waitForViewWithAccessibilityLabel:tableViewLabel]; - - if (![tableView isKindOfClass:[UITableView class]]) { - [self failWithError:[NSError KIFErrorWithFormat:@"View is not a table view"] stopTest:YES]; - } - - UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; - - // If section < 0, search from the end of the table. - if (indexPath.section < 0) { - indexPath = [NSIndexPath indexPathForRow:indexPath.row inSection:tableView.numberOfSections + indexPath.section]; - } - - // If row < 0, search from the end of the section. - if (indexPath.row < 0) { - indexPath = [NSIndexPath indexPathForRow:[tableView numberOfRowsInSection:indexPath.section] + indexPath.row inSection:indexPath.section]; - } - - if (!cell) { - if (indexPath.section >= tableView.numberOfSections) { - [self failWithError:[NSError KIFErrorWithFormat:@"Section %d is not found in '%@' table view", indexPath.section, tableViewLabel] stopTest:YES]; - } - - if (indexPath.row >= [tableView numberOfRowsInSection:indexPath.section]) { - [self failWithError:[NSError KIFErrorWithFormat:@"Row %d is not found in section %d of '%@' table view", indexPath.row, indexPath.section, tableViewLabel] stopTest:YES]; - } - - [tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; - [self waitForTimeInterval:0.5]; - cell = [tableView cellForRowAtIndexPath:indexPath]; - } - - if (!cell) { - [self failWithError:[NSError KIFErrorWithFormat: @"Table view cell at index path %@ not found", indexPath] stopTest:YES]; - } - - CGRect cellFrame = [cell.contentView convertRect:cell.contentView.frame toView:tableView]; - [tableView tapAtPoint:CGPointCenteredInRect(cellFrame)]; - -} - -- (void)swipeViewWithAccessibilityLabel:(NSString *)label inDirection:(KIFSwipeDirection)direction -{ - const NSUInteger kNumberOfPointsInSwipePath = 20; - - // The original version of this came from http://groups.google.com/group/kif-framework/browse_thread/thread/df3f47eff9f5ac8c - - UIView *viewToSwipe; - UIAccessibilityElement *element; - - [self waitForAccessibilityElement:&element view:&viewToSwipe withLabel:label value:nil traits:UIAccessibilityTraitNone tappable:NO]; - - // Within this method, all geometry is done in the coordinate system of the view to swipe. - - CGRect elementFrame = [viewToSwipe.window convertRect:element.accessibilityFrame toView:viewToSwipe]; - CGPoint swipeStart = CGPointCenteredInRect(elementFrame); - KIFDisplacement swipeDisplacement = KIFDisplacementForSwipingInDirection(direction); - - [viewToSwipe dragFromPoint:swipeStart displacement:swipeDisplacement steps:kNumberOfPointsInSwipePath]; -} - -- (void)scrollViewWithAccessibilityLabel:(NSString *)label byFractionOfSizeHorizontal:(CGFloat)horizontalFraction vertical:(CGFloat)verticalFraction -{ - const NSUInteger kNumberOfPointsInScrollPath = 5; - - UIView *viewToScroll; - UIAccessibilityElement *element; - - [self waitForAccessibilityElement:&element view:&viewToScroll withLabel:label value:nil traits:UIAccessibilityTraitNone tappable:NO]; - - // Within this method, all geometry is done in the coordinate system of the view to scroll. - - CGRect elementFrame = [viewToScroll.window convertRect:element.accessibilityFrame toView:viewToScroll]; - - KIFDisplacement scrollDisplacement = CGPointMake(elementFrame.size.width * horizontalFraction, elementFrame.size.height * verticalFraction); - - CGPoint scrollStart = CGPointCenteredInRect(elementFrame); - scrollStart.x -= scrollDisplacement.x / 2; - scrollStart.y -= scrollDisplacement.y / 2; - - [viewToScroll dragFromPoint:scrollStart displacement:scrollDisplacement steps:kNumberOfPointsInScrollPath]; -} - -- (void)waitForFirstResponderWithAccessibilityLabel:(NSString *)label -{ - [self runBlock:^KIFTestStepResult(NSError **error) { - UIResponder *firstResponder = [[[UIApplication sharedApplication] keyWindow] firstResponder]; - if ([firstResponder isKindOfClass:NSClassFromString(@"UISearchBarTextField")]) { - firstResponder = [(UIView *)firstResponder superview]; - } - KIFTestWaitCondition([[firstResponder accessibilityLabel] isEqualToString:label], error, @"Expected accessibility label for first responder to be '%@', got '%@'", label, [firstResponder accessibilityLabel]); - - return KIFTestStepResultSuccess; - }]; -} - -@end - diff --git a/Pods/KIF/LICENSE b/Pods/KIF/LICENSE deleted file mode 100644 index 3eaf7fa..0000000 --- a/Pods/KIF/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -KIF -Copyright 2011 Square, Inc. -A full list of contributors is available at https://github.com/square/KIF/contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/Pods/KIF/README.md b/Pods/KIF/README.md deleted file mode 100644 index db2d837..0000000 --- a/Pods/KIF/README.md +++ /dev/null @@ -1,250 +0,0 @@ -KIF iOS Integration Testing Framework -===================================== - -KIF, which stands for Keep It Functional, is an iOS integration test framework. It allows for easy automation of iOS apps by leveraging the accessibility attributes that the OS makes available for those with visual disabilities. - -KIF-next is a branch of KIF which builds and performs the tests using a standard `ocunit` testing target. Testing is conducted synchronously (running the run loop to force the passage of time) rather than by constructing an array of steps allowing for more complex logic and composition. This also allows KIF-next to take advantage of the Xcode 5 Test Navigator, command line build tools, and Bot test reports. [Find out more about Xcode 5 features.](https://developer.apple.com/technologies/tools/whats-new.html) - -**KIF uses undocumented Apple APIs.** This is true of most iOS testing frameworks, and is safe for testing purposes, but it's important that KIF does not make it into production code, as it will get your app submission denied by Apple. Follow the instructions below to ensure that KIF is configured correctly for your project. - -There's [a port underway to use KIF with Mac OS X apps](https://github.com/joshaber/KIF), as well. - -**Note:** KIF 2.0 is not API compatible with KIF 1.0 and uses a different test execution mechanism. KIF 1.0 can be found in the [Releases](https://github.com/kif-framework/KIF/releases/) section or on [CocoaPods](http://cocoapods.org). - -Features --------- - -#### Minimizes Indirection -All of the tests for KIF are written in Objective C. This allows for maximum integration with your code while minimizing the number of layers you have to build. - -#### Easy Configuration -KIF integrates directly into your iOS app, so there's no need to run an additional web server or install any additional packages. - -#### Test Like a User -KIF attempts to imitate actual user input. Automation is done using tap events wherever possible. - -#### Automatic Integration with Xcode 5 Testing Tools -Xcode 5 introduces [new testing an continuous integration tools](https://developer.apple.com/technologies/tools/whats-new.html) built on the same testing platform as KIF-next. You can easily run a single KIF test with the Test Navigator or kick off nightly acceptance tests with Bots. - -See KIF in Action ------------------ - -KIF-next uses techniques described below to validate its internal functionality. You can see a test suite that exercises its entire functionality by simply building and testing the KIF scheme with ⌘U. Look at the tests in the "KIF Tests" group for ideas on how to build your own tests. - -Installation (with CocoaPods) ------------------------------ - -[CocoaPods](http://cocoapods.org) are the easiest way to get set up with KIF. - -The first thing you will want to do is set up a test target you will be using for KIF. You may already have one named *MyApplication*_Tests if you selected to automatically create unit tests. If you did, you can keep using it if you aren't using it for unit tests. Otherwise, follow these directions to create a new one. - -Select your project in Xcode and click on "Add Target" in the bottom left corner of the editor. Select iOS -> Other -> Cocoa Touch Unit Testing Bundle. Give it a product name like "Acceptance Tests", "UI Tests", or something that indicates the intent of your testing process. You can select "Use Automatic Reference Counting" even if the remainder of your app doesn't, just to make your life easier. - -The testing target will add a header and implementation file, likely "Acceptance_Tests.m/h" to match your target name. Delete those. - -Once your test target set up, add the following to your Podspec file. Use your target's name as appropriate. - - target 'Acceptance Tests' do - pod 'KIF', '~> 2.0' - end - -After running `pod install` complete the tasks in [**Final Test Target Configurations**](#configure-the-testing-target) below for the final details on getting your tests to run. - -Installation (from GitHub) --------------------------- - -To install KIF, you'll need to link the libKIF static library directly into your application. Download the source from the [bnickel/KIF/tree/kif-next](https://github.com/bnickel/KIF/tree/kif-next) and follow the instructions below. - -*NOTE* These instruction assume you are using Xcode 4 or later. For Xcode 3 you won't be able to take advantage of Workspaces, so the instructions will differ slightly. - -### Add KIF to your project files -The first step is to add the KIF project into the ./Frameworks/KIF subdirectory of your existing app. If your project uses Git for version control, you can use submodules to make updating in the future easier: - - cd /path/to/MyApplicationSource - mkdir Frameworks - git submodule add -b KIF-next https://github.com/square/KIF.git Frameworks/KIF - -If you're not using Git, simply download the source and copy it into the ./Frameworks/KIF directory. - -### Add KIF to Your Workspace -Let your project know about KIF by adding the KIF project into a workspace along with your main project. Find the KIF.xcodeproj file in Finder and drag it into the Project Navigator (⌘1). If you don't already have a workspace, Xcode will ask if you want to create a new one. Click "Save" when it does. - -![Create workspace screen shot](https://github.com/square/KIF/raw/master/Documentation/Images/Create Workspace.png) - -### Create a Testing Target -You'll need to create a test target for your app. You may already have one named *MyApplication*_Tests if you selected to automatically create unit tests. If you did, you can keep using it if you aren't using it for unit tests. Otherwise, follow these directions to create a new one. - -Select your project in Xcode and click on "Add Target" in the bottom left corner of the editor. Select iOS -> Other -> Cocoa Touch Unit Testing Bundle. Give it a product name like "Acceptance Tests", "UI Tests", or something that indicates the intent of your testing process. You can select "Use Automatic Reference Counting" even if the remainder of your app doesn't, just to make your life easier. - -The testing target will add a header and implementation file, likely "Acceptance_Tests.m/h" to match your target name. Delete those. - -### Configure the Testing Target -Now that you have a target for your tests, add the tests to that target. With the project settings still selected in the Project Navigator, and the new integration tests target selected in the project settings, select the "Build Phases" tab. Under the "Link Binary With Libraries" section, hit the "+" button. In the sheet that appears, select "libKIF.a" and click "Add". Repeat the process for CoreGraphics.framework. - -![Add libKIF library screen shot](https://github.com/square/KIF/raw/master/Documentation/Images/Add Library.png) - -![Add libKIF library screen shot](https://github.com/square/KIF/raw/master/Documentation/Images/Add Library Sheet.png) - -KIF takes advantage of Objective C's ability to add categories on an object, but this isn't enabled for static libraries by default. To enable this, add the `-ObjC` flag to the "Other Linker Flags" build setting as shown below. - -![Add category linker flags screen shot](https://github.com/square/KIF/raw/master/Documentation/Images/Add Category Linker Flags.png) - -Read **Final Test Target Configurations** below for the final details on getting your tests to run. - -Final Test Target Configurations --------------------------------- - -You need your tests to run hosted in your application. To do this, first add your application by first selecting "Build Phases", expanding the "Target Dependencies" section, clicking on the "+" button, and in the new sheet that appears selecting your application target and clicking "Add". - -Next, configure your bundle loader. In "Build Settings", expand "Linking" and edit "Bundle Loader" to be `$(BUILT_PRODUCTS_DIR)/My App.app/My App` where *My App* is the name of your app. Expand the "Unit Testing" section and edit "Test Host" to be `$(BUNDLE_LOADER)`. Also make sure that "Wrapper Extension" is set to "octest". - -The last step is to configure your unit tests to run when you trigger a test (⌘U). Click on your scheme name and select "Edit Scheme…". Click on "Test" in the sidebar followed by the "+" in the bottom left corner. Select your testing target and click "OK". - -Example -------- -With your project configured to use KIF, it's time to start writing tests. There are two main classes used in KIF testing: the the test case (`KIFTestCase`, subclass of `SenTestCase`) and the UI test actor (`KIFUITestActor`). The the ocunit test runner loads the test case classes and executes their test. Inside these tests, the tester performs the UI operations which generally imitate a user interaction. Three of the most common tester actions are "tap this view," "enter text into this view," and "wait for this view." These steps are included as factory methods on `KIFUITestActor` in the base KIF implementation. - -KIF relies on the built-in accessibility of iOS to perform its test steps. As such, it's important that your app is fully accessible. This is also a great way to ensure that your app is usable by the sight impaired. Making your application accessible is usually as easy as giving your views reasonable labels. More details are available in [Apple's Documentation](http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/iPhoneAccessibility/Making_Application_Accessible/Making_Application_Accessible.html#//apple_ref/doc/uid/TP40008785-CH102-SW5). - -The first step is to create a test class to test some functionality. In our case, we will create a login test (`LoginTests`). Create a new class that inherits from KIFTestCase. You may have to update the import to point to ``. The test method name provides a unique identifier. Your `KIFTestCase` subclass should look something like this: - -*LoginTestCase.h* - - #import - - @interface LoginTests : KIFTestCase - @end - -*LoginTestCase.m* - - #import "LoginTests.h" - #import "KIFUITestActor+EXAdditions.h" - - @implementation LoginTests - - - (void)beforeEach - { - [tester navigateToLoginPage]; - } - - - (void)afterEach - { - [tester returnToLoggedOutHomeScreen]; - } - - - (void)testSuccessfulLogin - { - [tester enterText:@"user@example.com" intoViewWithAccessibilityLabel:@"Login User Name"]; - [tester enterText:@"thisismypassword" intoViewWithAccessibilityLabel:@"Login Password"]; - [tester tapViewWithAccessibilityLabel:@"Log In"]; - - // Verify that the login succeeded - [tester waitForTappableViewWithAccessibilityLabel:@"Welcome"]; - } - - @end - -Most of the tester actions in the test are already defined by the KIF framework, but `-navigateToLoginPage` and `-returnToLoggedOutHomeScreen` are not. These are examples of custom actions which are specific to your application. Adding such steps is easy, and is done using a factory method in a category of `KIFUITestActor`, similar to how we added the scenario. - -*KIFUITestActor+EXAdditions.h* - - #import - - @interface KIFUITestActor (EXAdditions) - - - (void)navigateToLoginPage; - - (void)returnToLoggedOutHomeScreen; - - @end - -*KIFUITestActor+EXAdditions.m* - - #import "KIFUITestActor+EXAdditions.h" - - @implementation KIFUITestActor (EXAdditions) - - - (void)navigateToLoginPage - { - [self tapViewWithAccessibilityLabel:@"Login/Sign Up"]; - [self tapViewWithAccessibilityLabel:@"Skip this ad"]; - } - - - (void)returnToLoggedOutHomeScreen - { - [self tapViewWithAccessibilityLabel:@"Logout"]; - [self tapViewWithAccessibilityLabel:@"Logout"]; // Dismiss alert. - } - - @end - -Everything should now be configured. When you run the integration tests using the test button, ⌘U, or the Xcode 5 Test Navigator (⌘5). - -Use with other testing frameworks ---------------------------------- - -`KIFTestCase` is not necessary for running KIF tests. Tests can run directly in `SenTestCase` or any subclass. The basic requirement is that when you call `tester` or `system`, `self` must be an instance of `SenTestCase`. - -For example, the following [Specta](https://github.com/specta/specta) test works without any changes to KIF or Specta: - - #import - #import - - SpecBegin(App) - - describe(@"Tab controller", ^{ - - it(@"should show second view when I tap on the second tab", ^{ - [tester tapViewWithAccessibilityLabel:@"Second" traits:UIAccessibilityTraitButton]; - [tester waitForViewWithAccessibilityLabel:@"Second View"]; - }); - - }); - - SpecEnd - -If you want to use KIF with a test runner that does not subclass `SenTestCase`, your runner class just needs to implement the `KIFTestActorDelegate` protocol which contains two required methods. - - - (void)failWithException:(NSException *)exception stopTest:(BOOL)stop; - - (void)failWithExceptions:(NSArray *)exceptions stopTest:(BOOL)stop; - -In the first case, the test runner should log the exception and halt the test execution if `stop` is `YES`. In the second, the runner should log all the exceptions and halt the test execution if `stop` is `YES`. The exceptions take advantage of OCUnit's extensions to `NSException` with the properties `lineNumber` and `filename` to be used in recording the error's origin. - -Troubleshooting ---------------- - -### Simulator launches but app doesn't appear, steps time out after 10 seconds - -This issue occurs when ocunit does not have a valid test host. When this occurs, ocunit will run your tests in logic mode without an app, which causes the UI tests to fail. - -Reread the instructions above with regards to the "Bundle Loader" and "Test Host" settings. You may have missed something. - -### Step fails because a view cannot be found - -If KIF is failing to find a view, the most likely cause is that the view doesn't have its accessibility label set. If the view is defined in a xib, then the label can be set using the inspector. If it's created programmatically, simply set the accessibilityLabel attribute to the desired label. - -If the label is definitely set correctly, take a closer look at the error given by KIF. This error should tell you more specifically why the view was not accessible. If you are using `-waitForTappableViewWithAccessibilityLabel:`, then make sure the view is actually tappable. For items such as labels which cannot become the first responder, you may need to use `-waitForViewWithAccessibilityLabel:` instead. - -### Unrecognized selector when first trying to run - -If the first time you try to run KIF you get the following error: - - 2011-06-13 13:54:53.295 Testable (Integration Tests)[12385:207] -[NSFileManager createUserDirectory:]: unrecognized selector sent to instance 0x4e02830 - 2011-06-13 13:54:53.298 Testable (Integration Tests)[12385:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSFileManager createUserDirectory:]: unrecognized selector sent to instance 0x4e02830' - -or if you get another "unrecognized selector" error inside the KIF code, make sure that you've properly set the -ObjC flag as described above. Without this flag your app can't access the category methods that are necessary for KIF to work properly. - -Continuous Integration ----------------------- - -A continuous integration (CI) process is highly recommended and is extremely useful in ensuring that your application stays functional. The easiest way to do this will be with Xcode 5, either using Bots, or Jenkins or another tool that uses xcodebuild. For tools using xcodebuild, review the manpage for instructions on using test destinations. - -Contributing ------------- - -We're glad you're interested in KIF, and we'd love to see where you take it. - -Any contributors to the master KIF repository must sign the [Individual Contributor License Agreement (CLA)](https://spreadsheets.google.com/spreadsheet/viewform?formkey=dDViT2xzUHAwRkI3X3k5Z0lQM091OGc6MQ&ndplr=1). It's a short form that covers our bases and makes sure you're eligible to contribute. - -When you have a change you'd like to see in the master repository, [send a pull request](https://github.com/square/KIF/pulls). Before we merge your request, we'll make sure you're in the list of people who have signed a CLA. - -Thanks, and happy testing! diff --git a/Pods/Kiwi/Classes/Core/KWAny.h b/Pods/Kiwi/Classes/Core/KWAny.h deleted file mode 100644 index 0e58e60..0000000 --- a/Pods/Kiwi/Classes/Core/KWAny.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -// KWAny exists to determine arguments in a message pattern that should -// match any value. Used for pointers as well as for scalar values. -@interface KWAny : NSObject - -#pragma mark - Initializing - -+ (id)any; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWAny.m b/Pods/Kiwi/Classes/Core/KWAny.m deleted file mode 100644 index 880ae29..0000000 --- a/Pods/Kiwi/Classes/Core/KWAny.m +++ /dev/null @@ -1,23 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWAny.h" - -@implementation KWAny - -#pragma mark - Initializing - -+ (id)any { - static KWAny *sharedAny = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedAny = [self new]; - - }); - return sharedAny; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWBlock.h b/Pods/Kiwi/Classes/Core/KWBlock.h deleted file mode 100644 index 3a14764..0000000 --- a/Pods/Kiwi/Classes/Core/KWBlock.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface KWBlock : NSObject - -#pragma mark - Initializing -- (id)initWithBlock:(void (^)(void))block; - -+ (id)blockWithBlock:(void (^)(void))block; - -#pragma mark - Calling Blocks - -- (void)call; - -@end - -#pragma mark - Creating Blocks - -KWBlock *theBlock(void (^block)(void)); -KWBlock *lambda(void (^block)(void)); diff --git a/Pods/Kiwi/Classes/Core/KWBlock.m b/Pods/Kiwi/Classes/Core/KWBlock.m deleted file mode 100644 index 39b6b8d..0000000 --- a/Pods/Kiwi/Classes/Core/KWBlock.m +++ /dev/null @@ -1,50 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBlock.h" - -@interface KWBlock() - -#pragma mark - Properties - -@property (nonatomic, readonly, copy) void (^block)(void); - -@end - -@implementation KWBlock - -#pragma mark - Initializing - -- (id)initWithBlock:(void (^)(void))block { - self = [super init]; - if (self) { - _block = [block copy]; - } - - return self; -} - -+ (id)blockWithBlock:(void (^)(void))aBlock { - return [[self alloc] initWithBlock:aBlock]; -} - -#pragma mark - Calling Blocks - -- (void)call { - self.block(); -} - -@end - -#pragma mark - Creating Blocks - -KWBlock *theBlock(void (^block)(void)) { - return lambda(block); -} - -KWBlock *lambda(void (^block)(void)) { - return [KWBlock blockWithBlock:block]; -} diff --git a/Pods/Kiwi/Classes/Core/KWCallSite.h b/Pods/Kiwi/Classes/Core/KWCallSite.h deleted file mode 100644 index fdb7590..0000000 --- a/Pods/Kiwi/Classes/Core/KWCallSite.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface KWCallSite : NSObject - -#pragma mark - Initializing - -- (id)initWithFilename:(NSString *)aFilename lineNumber:(NSUInteger)aLineNumber; - -+ (id)callSiteWithFilename:(NSString *)aFilename lineNumber:(NSUInteger)aLineNumber; - -#pragma mark - Properties - -@property (nonatomic, readonly, copy) NSString *filename; -@property (nonatomic, readonly) NSUInteger lineNumber; - -#pragma mark - Identifying and Comparing - -- (BOOL)isEqualToCallSite:(KWCallSite *)aCallSite; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWCallSite.m b/Pods/Kiwi/Classes/Core/KWCallSite.m deleted file mode 100644 index 0ab6115..0000000 --- a/Pods/Kiwi/Classes/Core/KWCallSite.m +++ /dev/null @@ -1,44 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWCallSite.h" - -@implementation KWCallSite - -#pragma mark - Initializing - -- (id)initWithFilename:(NSString *)aFilename lineNumber:(NSUInteger)aLineNumber { - self = [super init]; - if (self) { - _filename = [aFilename copy]; - _lineNumber = aLineNumber; - } - - return self; -} - -+ (id)callSiteWithFilename:(NSString *)aFilename lineNumber:(NSUInteger)aLineNumber { - return [[self alloc] initWithFilename:aFilename lineNumber:aLineNumber]; -} - -#pragma mark - Identifying and Comparing - -- (NSUInteger)hash { - return [[NSString stringWithFormat:@"%@%u", self.filename, (unsigned)self.lineNumber] hash]; -} - -- (BOOL)isEqual:(id)anObject { - if (![anObject isKindOfClass:[KWCallSite class]]) - return NO; - - return [self isEqualToCallSite:anObject]; -} - -- (BOOL)isEqualToCallSite:(KWCallSite *)aCallSite { - return [self.filename isEqualToString:aCallSite.filename] && (self.lineNumber == aCallSite.lineNumber); -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWCaptureSpy.h b/Pods/Kiwi/Classes/Core/KWCaptureSpy.h deleted file mode 100644 index de5b657..0000000 --- a/Pods/Kiwi/Classes/Core/KWCaptureSpy.h +++ /dev/null @@ -1,9 +0,0 @@ -#import "KWMessageSpying.h" - -@interface KWCaptureSpy : NSObject - -@property (nonatomic, strong, readonly) id argument; - -- (id)initWithArgumentIndex:(NSUInteger)index; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWCaptureSpy.m b/Pods/Kiwi/Classes/Core/KWCaptureSpy.m deleted file mode 100644 index a90af61..0000000 --- a/Pods/Kiwi/Classes/Core/KWCaptureSpy.m +++ /dev/null @@ -1,64 +0,0 @@ -#import "KWCaptureSpy.h" - -#import "KWObjCUtilities.h" -#import "KWNull.h" -#import "KWValue.h" -#import "NSInvocation+KiwiAdditions.h" -#import "NSMethodSignature+KiwiAdditions.h" - -@interface KWCaptureSpy() - -@property (nonatomic, strong) id argument; - -@end - -@implementation KWCaptureSpy { - NSUInteger _argumentIndex; -} - -- (id)initWithArgumentIndex:(NSUInteger)index { - self = [super init]; - if (self) { - _argumentIndex = index; - } - return self; -} - -- (id)argument { - if (!_argument) { - @throw [NSException exceptionWithName:NSInternalInconsistencyException reason:@"Argument requested has yet to be captured." userInfo:nil]; - } - - if(_argument == [KWNull null]) { - return nil; - } - else { - return _argument; - } -} - -- (void)object:(id)anObject didReceiveInvocation:(NSInvocation *)anInvocation { - if (!_argument) { - NSMethodSignature *signature = [anInvocation methodSignature]; - const char *objCType = [signature messageArgumentTypeAtIndex:_argumentIndex]; - if (KWObjCTypeIsObject(objCType) || KWObjCTypeIsClass(objCType)) { - void* argumentBuffer = NULL; - [anInvocation getMessageArgument:&argumentBuffer atIndex:_argumentIndex]; - id argument = (__bridge id)argumentBuffer; - if (KWObjCTypeIsBlock(objCType)) { - _argument = [argument copy]; - } else { - if(argument == nil) { - _argument = [KWNull null]; - } else { - _argument = argument; - } - } - } else { - NSData *data = [anInvocation messageArgumentDataAtIndex:_argumentIndex]; - _argument = [KWValue valueWithBytes:[data bytes] objCType:objCType]; - } - } -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWCountType.h b/Pods/Kiwi/Classes/Core/KWCountType.h deleted file mode 100644 index 2ec5a66..0000000 --- a/Pods/Kiwi/Classes/Core/KWCountType.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -enum { - KWCountTypeExact, - KWCountTypeAtLeast, - KWCountTypeAtMost -}; - -typedef NSUInteger KWCountType; diff --git a/Pods/Kiwi/Classes/Core/KWDeviceInfo.h b/Pods/Kiwi/Classes/Core/KWDeviceInfo.h deleted file mode 100644 index 7e0ca36..0000000 --- a/Pods/Kiwi/Classes/Core/KWDeviceInfo.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface KWDeviceInfo : NSObject - -#pragma mark - Getting the Device Type - -+ (BOOL)isSimulator; -+ (BOOL)isPhysical; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWDeviceInfo.m b/Pods/Kiwi/Classes/Core/KWDeviceInfo.m deleted file mode 100644 index 3abb1ab..0000000 --- a/Pods/Kiwi/Classes/Core/KWDeviceInfo.m +++ /dev/null @@ -1,31 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWDeviceInfo.h" - -#if TARGET_IPHONE_SIMULATOR - -#import - -#endif // #if TARGET_IPHONE_SIMULATOR - -@implementation KWDeviceInfo - -#pragma mark - Getting the Device Type - -+ (BOOL)isSimulator { -#if TARGET_IPHONE_SIMULATOR - return YES; -#else - return NO; -#endif // #if TARGET_IPHONE_SIMULATOR -} - -+ (BOOL)isPhysical { - return ![self isSimulator]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWExample.h b/Pods/Kiwi/Classes/Core/KWExample.h deleted file mode 100644 index 7d3e14f..0000000 --- a/Pods/Kiwi/Classes/Core/KWExample.h +++ /dev/null @@ -1,91 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlock.h" -#import "KWVerifying.h" -#import "KWExpectationType.h" -#import "KWExampleNode.h" -#import "KWExampleNodeVisitor.h" -#import "KWReporting.h" -#import "KWExampleDelegate.h" - -@class KWCallSite; -@class KWExampleSuite; -@class KWContextNode; -@class KWSpec; -@class KWMatcherFactory; - -@interface KWExample : NSObject - -@property (nonatomic, strong, readonly) NSMutableArray *lastInContexts; -@property (nonatomic, weak) KWExampleSuite *suite; -@property (nonatomic, strong) id unresolvedVerifier; - - -- (id)initWithExampleNode:(id)node; - -#pragma mark - Adding Verifiers - -- (id)addVerifier:(id)aVerifier; -- (id)addExistVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite; -- (id)addMatchVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite; -- (id)addAsyncVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite timeout:(NSInteger)timeout shouldWait:(BOOL)shouldWait; - -#pragma mark - Report failure - -- (void)reportFailure:(KWFailure *)failure; - -#pragma mark - Running - -- (void)runWithDelegate:(id)delegate; - -#pragma mark - Anonymous It Node Descriptions - -- (NSString *)generateDescriptionForAnonymousItNode; - -#pragma mark - Checking if last in context - -- (BOOL)isLastInContext:(KWContextNode *)context; - -#pragma mark - Full description with context - -- (NSString *)descriptionWithContext; - -@end - -#pragma mark - Building Example Groups - -void describe(NSString *aDescription, void (^block)(void)); -void context(NSString *aDescription, void (^block)(void)); -void registerMatchers(NSString *aNamespacePrefix); -void beforeAll(void (^block)(void)); -void afterAll(void (^block)(void)); -void beforeEach(void (^block)(void)); -void afterEach(void (^block)(void)); -void it(NSString *aDescription, void (^block)(void)); -void specify(void (^block)(void)); -void pending_(NSString *aDescription, void (^block)(void)); - -void describeWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^block)(void)); -void contextWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^block)(void)); -void registerMatchersWithCallSite(KWCallSite *aCallSite, NSString *aNamespacePrefix); -void beforeAllWithCallSite(KWCallSite *aCallSite, void (^block)(void)); -void afterAllWithCallSite(KWCallSite *aCallSite, void (^block)(void)); -void beforeEachWithCallSite(KWCallSite *aCallSite, void (^block)(void)); -void afterEachWithCallSite(KWCallSite *aCallSite, void (^block)(void)); -void itWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^block)(void)); -void pendingWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^block)(void)); - -#define PRAGMA(x) _Pragma (#x) -#define PENDING(x) PRAGMA(message ( "Pending: " #x )) - -#define pending(title, args...) \ -PENDING(title) \ -pending_(title, ## args) -#define xit(title, args...) \ -PENDING(title) \ -pending_(title, ## args) diff --git a/Pods/Kiwi/Classes/Core/KWExample.m b/Pods/Kiwi/Classes/Core/KWExample.m deleted file mode 100644 index 41dd1a0..0000000 --- a/Pods/Kiwi/Classes/Core/KWExample.m +++ /dev/null @@ -1,376 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWExample.h" -#import "KWExampleSuiteBuilder.h" -#import "KWContextNode.h" -#import "KWMatcherFactory.h" -#import "KWExistVerifier.h" -#import "KWMatchVerifier.h" -#import "KWAsyncVerifier.h" -#import "KWFailure.h" -#import "KWContextNode.h" -#import "KWBeforeEachNode.h" -#import "KWBeforeAllNode.h" -#import "KWItNode.h" -#import "KWAfterEachNode.h" -#import "KWAfterAllNode.h" -#import "KWPendingNode.h" -#import "KWRegisterMatchersNode.h" -#import "KWWorkarounds.h" -#import "KWIntercept.h" -#import "KWExampleNode.h" -#import "KWExampleSuite.h" -#import "KWCallSite.h" -#import "KWSymbolicator.h" - -@interface KWExample () - -@property (nonatomic, readonly) NSMutableArray *verifiers; -@property (nonatomic, readonly) KWMatcherFactory *matcherFactory; -@property (nonatomic, weak) id delegate; -@property (nonatomic, assign) BOOL didNotFinish; -@property (nonatomic, strong) id exampleNode; -@property (nonatomic, assign) BOOL passed; - -- (void)reportResultForExampleNodeWithLabel:(NSString *)label; - -@end - -@implementation KWExample - -- (id)initWithExampleNode:(id)node { - self = [super init]; - if (self) { - _exampleNode = node; - _matcherFactory = [[KWMatcherFactory alloc] init]; - _verifiers = [[NSMutableArray alloc] init]; - _lastInContexts = [[NSMutableArray alloc] init]; - _passed = YES; - } - return self; -} - - -- (BOOL)isLastInContext:(KWContextNode *)context { - for (KWContextNode *contextWhereItLast in self.lastInContexts) { - if (context == contextWhereItLast) { - return YES; - } - } - return NO; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"", self.exampleNode.description]; -} - -#pragma mark - Adding Verifiers - -- (id)addVerifier:(id)aVerifier { - if (![self.verifiers containsObject:aVerifier]) - [self.verifiers addObject:aVerifier]; - - return aVerifier; -} - -- (id)addExistVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite { - id verifier = [KWExistVerifier existVerifierWithExpectationType:anExpectationType callSite:aCallSite reporter:self]; - [self addVerifier:verifier]; - return verifier; -} - -- (id)addMatchVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite { - if (self.unresolvedVerifier) { - @throw [NSException exceptionWithName:NSInternalInconsistencyException - reason:@"Trying to add another verifier without specifying a matcher for the previous one." - userInfo:nil]; - } - id verifier = [KWMatchVerifier matchVerifierWithExpectationType:anExpectationType callSite:aCallSite matcherFactory:self.matcherFactory reporter:self]; - [self addVerifier:verifier]; - self.unresolvedVerifier = verifier; - return verifier; -} - -- (id)addAsyncVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite timeout:(NSInteger)timeout shouldWait:(BOOL)shouldWait { - id verifier = [KWAsyncVerifier asyncVerifierWithExpectationType:anExpectationType callSite:aCallSite matcherFactory:self.matcherFactory reporter:self probeTimeout:timeout shouldWait: shouldWait]; - [self addVerifier:verifier]; - return verifier; -} - -#pragma mark - Running examples - -- (void)runWithDelegate:(id)delegate; { - self.delegate = delegate; - [self.matcherFactory registerMatcherClassesWithNamespacePrefix:@"KW"]; - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] setCurrentExample:self]; - [self.exampleNode acceptExampleNodeVisitor:self]; -} - -#pragma mark - Reporting failure - -- (NSString *)descriptionForExampleContext { - NSMutableArray *parts = [NSMutableArray array]; - - for (KWContextNode *context in [[self.exampleNode contextStack] reverseObjectEnumerator]) { - if ([context description] != nil) { - [parts addObject:[[context description] stringByAppendingString:@","]]; - } - } - - return [parts componentsJoinedByString:@" "]; -} - -- (KWFailure *)outputReadyFailureWithFailure:(KWFailure *)aFailure { - NSString *annotatedFailureMessage = [NSString stringWithFormat:@"'%@ %@' [FAILED], %@", - [self descriptionForExampleContext], [self.exampleNode description], - aFailure.message]; - -#if TARGET_IPHONE_SIMULATOR - // \uff1a is the unicode for a fill width colon, as opposed to a regular - // colon character (':'). This escape is performed so that Xcode doesn't - // truncate the error output in the build results window, which is running - // build time specs. - annotatedFailureMessage = [annotatedFailureMessage stringByReplacingOccurrencesOfString:@":" withString:@"\uff1a"]; -#endif // #if TARGET_IPHONE_SIMULATOR - - return [KWFailure failureWithCallSite:aFailure.callSite message:annotatedFailureMessage]; -} - -- (void)reportFailure:(KWFailure *)failure { - self.passed = NO; - [self.delegate example:self didFailWithFailure:[self outputReadyFailureWithFailure:failure]]; -} - -- (void)reportResultForExampleNodeWithLabel:(NSString *)label { - NSLog(@"+ '%@ %@' [%@]", [self descriptionForExampleContext], [self.exampleNode description], label); -} - -#pragma mark - Full description with context - -/** Pending cases will be marked yellow by XCode as not finished, because their description differs for -[SenTestCaseRun start] and -[SenTestCaseRun stop] methods - */ - -- (NSString *)pendingNotFinished { - BOOL reportPending = self.didNotFinish; - self.didNotFinish = YES; - return reportPending ? @"(PENDING)" : @""; -} - -- (NSString *)descriptionWithContext { - NSString *descriptionWithContext = [NSString stringWithFormat:@"%@ %@", - [self descriptionForExampleContext], - [self.exampleNode description] ? [self.exampleNode description] : @""]; - BOOL isPending = [self.exampleNode isKindOfClass:[KWPendingNode class]]; - return isPending ? [descriptionWithContext stringByAppendingString:[self pendingNotFinished]] : descriptionWithContext; -} - -#pragma mark - Visiting Nodes - -- (void)visitRegisterMatchersNode:(KWRegisterMatchersNode *)aNode { - [self.matcherFactory registerMatcherClassesWithNamespacePrefix:aNode.namespacePrefix]; -} - -- (void)visitBeforeAllNode:(KWBeforeAllNode *)aNode { - if (aNode.block == nil) - return; - - aNode.block(); -} - -- (void)visitAfterAllNode:(KWAfterAllNode *)aNode { - if (aNode.block == nil) - return; - - aNode.block(); -} - -- (void)visitBeforeEachNode:(KWBeforeEachNode *)aNode { - if (aNode.block == nil) - return; - - aNode.block(); -} - -- (void)visitAfterEachNode:(KWAfterEachNode *)aNode { - if (aNode.block == nil) - return; - - aNode.block(); -} - -- (void)visitItNode:(KWItNode *)aNode { - if (aNode.block == nil || aNode != self.exampleNode) - return; - - aNode.example = self; - - [aNode.context performExample:self withBlock:^{ - - @try { - - aNode.block(); - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - NSException *invocationException = KWGetAndClearExceptionFromAcrossInvocationBoundary(); - [invocationException raise]; -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - - // Finish verifying and clear - for (id verifier in self.verifiers) { - [verifier exampleWillEnd]; - } - - if (self.unresolvedVerifier) { - KWFailure *failure = [KWFailure failureWithCallSite:self.unresolvedVerifier.callSite format:@"expected subject not to be nil"]; - [self reportFailure:failure]; - } - - } @catch (NSException *exception) { - KWFailure *failure = [KWFailure failureWithCallSite:aNode.callSite format:@"%@ \"%@\" raised", - [exception name], - [exception reason]]; - [self reportFailure:failure]; - } - - if (self.passed) { - [self reportResultForExampleNodeWithLabel:@"PASSED"]; - } - - // Always clear stubs and spies at the end of it blocks - KWClearStubsAndSpies(); - }]; -} - -- (void)visitPendingNode:(KWPendingNode *)aNode { - if (aNode != self.exampleNode) - return; - - [self reportResultForExampleNodeWithLabel:@"PENDING"]; -} - -- (NSString *)generateDescriptionForAnonymousItNode { - // anonymous specify blocks should only have one verifier, but use the first in any case - return [(self.verifiers)[0] descriptionForAnonymousItNode]; -} - -@end - -#pragma mark - Looking up CallSites - -KWCallSite *callSiteWithAddress(long address); -KWCallSite *callSiteAtAddressIfNecessary(long address); - -KWCallSite *callSiteAtAddressIfNecessary(long address){ - BOOL shouldLookup = [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] isFocused] && ![[KWExampleSuiteBuilder sharedExampleSuiteBuilder] foundFocus]; - return shouldLookup ? callSiteWithAddress(address) : nil; -} - -KWCallSite *callSiteWithAddress(long address){ - NSArray *args = @[@"-d", - @"-p", @(getpid()).stringValue, [NSString stringWithFormat:@"%lx", address]]; - NSString *callSite = [NSString stringWithShellCommand:@"/usr/bin/atos" arguments:args]; - - NSString *pattern = @".+\\((.+):([0-9]+)\\)"; - NSError *e; - NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&e]; - NSArray *res = [regex matchesInString:callSite options:0 range:NSMakeRange(0, callSite.length)]; - - NSString *fileName = nil; - NSInteger lineNumber = 0; - - for (NSTextCheckingResult *ntcr in res) { - fileName = [callSite substringWithRange:[ntcr rangeAtIndex:1]]; - NSString *lineNumberMatch = [callSite substringWithRange:[ntcr rangeAtIndex:2]]; - lineNumber = lineNumberMatch.integerValue; - } - return [KWCallSite callSiteWithFilename:fileName lineNumber:lineNumber]; -} - -#pragma mark - Building Example Groups - -void describe(NSString *aDescription, void (^block)(void)) { - KWCallSite *callSite = callSiteAtAddressIfNecessary(kwCallerAddress()); - describeWithCallSite(callSite, aDescription, block); -} - -void context(NSString *aDescription, void (^block)(void)) { - KWCallSite *callSite = callSiteAtAddressIfNecessary(kwCallerAddress()); - contextWithCallSite(callSite, aDescription, block); -} - -void registerMatchers(NSString *aNamespacePrefix) { - registerMatchersWithCallSite(nil, aNamespacePrefix); -} - -void beforeAll(void (^block)(void)) { - beforeAllWithCallSite(nil, block); -} - -void afterAll(void (^block)(void)) { - afterAllWithCallSite(nil, block); -} - -void beforeEach(void (^block)(void)) { - beforeEachWithCallSite(nil, block); -} - -void afterEach(void (^block)(void)) { - afterEachWithCallSite(nil, block); -} - -void it(NSString *aDescription, void (^block)(void)) { - KWCallSite *callSite = callSiteAtAddressIfNecessary(kwCallerAddress()); - itWithCallSite(callSite, aDescription, block); -} - -void specify(void (^block)(void)) -{ - itWithCallSite(nil, nil, block); -} - -void pending_(NSString *aDescription, void (^ignoredBlock)(void)) { - pendingWithCallSite(nil, aDescription, ignoredBlock); -} - -void describeWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^block)(void)) { - - contextWithCallSite(aCallSite, aDescription, block); -} - -void contextWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^block)(void)) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] pushContextNodeWithCallSite:aCallSite description:aDescription]; - block(); - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] popContextNode]; -} - -void registerMatchersWithCallSite(KWCallSite *aCallSite, NSString *aNamespacePrefix) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] setRegisterMatchersNodeWithCallSite:aCallSite namespacePrefix:aNamespacePrefix]; -} - -void beforeAllWithCallSite(KWCallSite *aCallSite, void (^block)(void)) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] setBeforeAllNodeWithCallSite:aCallSite block:block]; -} - -void afterAllWithCallSite(KWCallSite *aCallSite, void (^block)(void)) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] setAfterAllNodeWithCallSite:aCallSite block:block]; -} - -void beforeEachWithCallSite(KWCallSite *aCallSite, void (^block)(void)) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] setBeforeEachNodeWithCallSite:aCallSite block:block]; -} - -void afterEachWithCallSite(KWCallSite *aCallSite, void (^block)(void)) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] setAfterEachNodeWithCallSite:aCallSite block:block]; -} - -void itWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^block)(void)) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] addItNodeWithCallSite:aCallSite description:aDescription block:block]; -} - -void pendingWithCallSite(KWCallSite *aCallSite, NSString *aDescription, void (^ignoredBlock)(void)) { - [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] addPendingNodeWithCallSite:aCallSite description:aDescription]; -} diff --git a/Pods/Kiwi/Classes/Core/KWExampleDelegate.h b/Pods/Kiwi/Classes/Core/KWExampleDelegate.h deleted file mode 100644 index cdcceab..0000000 --- a/Pods/Kiwi/Classes/Core/KWExampleDelegate.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// KWExampleGroupDelegate.h -// Kiwi -// -// Created by Luke Redpath on 08/09/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import - -@class KWExample; -@class KWFailure; - -@protocol KWExampleDelegate - -- (void)example:(KWExample *)example didFailWithFailure:(KWFailure *)failure; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWExampleNodeVisitor.h b/Pods/Kiwi/Classes/Core/KWExampleNodeVisitor.h deleted file mode 100644 index 0e28f30..0000000 --- a/Pods/Kiwi/Classes/Core/KWExampleNodeVisitor.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWAfterAllNode; -@class KWAfterEachNode; -@class KWBeforeAllNode; -@class KWBeforeEachNode; -@class KWContextNode; -@class KWItNode; -@class KWPendingNode; -@class KWRegisterMatchersNode; - -@protocol KWExampleNodeVisitor - -#pragma mark - Visiting Nodes - -@optional - -- (void)visitContextNode:(KWContextNode *)aNode; -- (void)visitRegisterMatchersNode:(KWRegisterMatchersNode *)aNode; -- (void)visitBeforeAllNode:(KWBeforeAllNode *)aNode; -- (void)visitAfterAllNode:(KWAfterAllNode *)aNode; -- (void)visitBeforeEachNode:(KWBeforeEachNode *)aNode; -- (void)visitAfterEachNode:(KWAfterEachNode *)aNode; -- (void)visitItNode:(KWItNode *)aNode; -- (void)visitPendingNode:(KWPendingNode *)aNode; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWExampleSuite.h b/Pods/Kiwi/Classes/Core/KWExampleSuite.h deleted file mode 100644 index e0f9a03..0000000 --- a/Pods/Kiwi/Classes/Core/KWExampleSuite.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// KWExampleSuite.h -// Kiwi -// -// Created by Luke Redpath on 17/10/2011. -// Copyright (c) 2011 Allen Ding. All rights reserved. -// - -#import -#import "KWExampleNodeVisitor.h" - -@class KWContextNode; -@class KWExample; -@class SenTestCase; - -@interface KWExampleSuite : NSObject - -- (id)initWithRootNode:(KWContextNode *)contextNode; -- (void)addExample:(KWExample *)example; -- (void)markLastExampleAsLastInContext:(KWContextNode *)context; -- (NSArray *)invocationsForTestCase; -@end - -@interface NSInvocation (KWExampleGroup) -- (void)kw_setExample:(KWExample *)exampleGroup; -- (KWExample *)kw_example; -@end diff --git a/Pods/Kiwi/Classes/Core/KWExampleSuite.m b/Pods/Kiwi/Classes/Core/KWExampleSuite.m deleted file mode 100644 index 94e9dc6..0000000 --- a/Pods/Kiwi/Classes/Core/KWExampleSuite.m +++ /dev/null @@ -1,86 +0,0 @@ -// -// KWExampleSuite.m -// Kiwi -// -// Created by Luke Redpath on 17/10/2011. -// Copyright (c) 2011 Allen Ding. All rights reserved. -// - -#import "KWExampleSuite.h" - -#import "KWAfterAllNode.h" -#import "KWBeforeAllNode.h" -#import "KWContextNode.h" -#import "KWExample.h" -#import "KWStringUtilities.h" -#import "NSMethodSignature+KiwiAdditions.h" -#import - -#define kKWINVOCATION_EXAMPLE_GROUP_KEY @"__KWExampleGroupKey" - -@interface KWExampleSuite() - -@property (nonatomic, strong) KWContextNode *rootNode; -@property (nonatomic, strong) NSMutableArray *examples; - -@end - -@implementation KWExampleSuite - -- (id)initWithRootNode:(KWContextNode *)contextNode { - self = [super init]; - if (self) { - _rootNode = contextNode; - _examples = [[NSMutableArray alloc] init]; - } - return self; -} - - -- (void)addExample:(KWExample *)example { - [self.examples addObject:example]; - example.suite = self; -} - -- (void)markLastExampleAsLastInContext:(KWContextNode *)context -{ - if ([self.examples count] > 0) { - KWExample *lastExample = (KWExample *)[self.examples lastObject]; - [lastExample.lastInContexts addObject:context]; - } -} - -- (NSArray *)invocationsForTestCase { - NSMutableArray *invocations = [NSMutableArray array]; - - // Add a single dummy invocation for each example group - - for (KWExample *exampleGroup in self.examples) { - NSMethodSignature *methodSignature = [NSMethodSignature signatureWithObjCTypes:[KWEncodingForDefaultMethod() UTF8String]]; - NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSignature]; - [invocations addObject:invocation]; - [invocation kw_setExample:exampleGroup]; - } - - return invocations; -} - -@end - -#pragma mark - - -// because SenTest will modify the invocation target, we'll have to store -// another reference to the example group so we can retrieve it later - -@implementation NSInvocation (KWExampleGroup) - -- (void)kw_setExample:(KWExample *)exampleGroup { - objc_setAssociatedObject(self, kKWINVOCATION_EXAMPLE_GROUP_KEY, exampleGroup, OBJC_ASSOCIATION_RETAIN); -} - -- (KWExample *)kw_example { - return objc_getAssociatedObject(self, kKWINVOCATION_EXAMPLE_GROUP_KEY); -} - -@end - diff --git a/Pods/Kiwi/Classes/Core/KWExampleSuiteBuilder.h b/Pods/Kiwi/Classes/Core/KWExampleSuiteBuilder.h deleted file mode 100644 index a2dc30a..0000000 --- a/Pods/Kiwi/Classes/Core/KWExampleSuiteBuilder.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlock.h" - -@class KWCallSite; -@class KWExample; -@class KWExampleSuite; -@class KWContextNode; - -@interface KWExampleSuiteBuilder : NSObject - -#pragma mark - Initializing - -+ (id)sharedExampleSuiteBuilder; - -#pragma mark - Building Example Groups - -@property (nonatomic, readonly) BOOL isBuildingExampleSuite; -@property (nonatomic, strong, readonly) KWExampleSuite *currentExampleSuite; -@property (nonatomic, strong) KWExample *currentExample; -@property (nonatomic, strong) KWCallSite *focusedCallSite; - -//spec file name:line number of callsite -- (void)focusWithURI:(NSString *)nodeUrl; -- (KWExampleSuite *)buildExampleSuite:(void (^)(void))buildingBlock; - -- (void)pushContextNodeWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription; -- (void)popContextNode; -- (void)setRegisterMatchersNodeWithCallSite:(KWCallSite *)aCallSite namespacePrefix:(NSString *)aNamespacePrefix; -- (void)setBeforeAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; -- (void)setAfterAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; -- (void)setBeforeEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; -- (void)setAfterEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; -- (void)addItNodeWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription block:(void (^)(void))block; -- (void)addPendingNodeWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription; - -- (BOOL)isFocused; -- (BOOL)foundFocus; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWExampleSuiteBuilder.m b/Pods/Kiwi/Classes/Core/KWExampleSuiteBuilder.m deleted file mode 100644 index f1fc005..0000000 --- a/Pods/Kiwi/Classes/Core/KWExampleSuiteBuilder.m +++ /dev/null @@ -1,225 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWExampleSuiteBuilder.h" - -#import "KWAfterAllNode.h" -#import "KWAfterEachNode.h" -#import "KWBeforeAllNode.h" -#import "KWBeforeEachNode.h" -#import "KWCallSite.h" -#import "KWContextNode.h" -#import "KWExample.h" -#import "KWExampleSuite.h" -#import "KWItNode.h" -#import "KWPendingNode.h" -#import "KWRegisterMatchersNode.h" -#import "KWSymbolicator.h" - -@interface KWExampleSuiteBuilder() - -#pragma mark - Building Example Groups - -@property (nonatomic, strong) KWExampleSuite *currentExampleSuite; -@property (nonatomic, readonly) NSMutableArray *contextNodeStack; - -@property (nonatomic, strong) NSMutableSet *suites; - -@property (nonatomic, assign) BOOL focusedContextNode; -@property (nonatomic, assign) BOOL focusedItNode; - -@end - -@implementation KWExampleSuiteBuilder - - -#pragma mark - Initializing - - -- (id)init { - self = [super init]; - if (self) { - _contextNodeStack = [[NSMutableArray alloc] init]; - _suites = [[NSMutableSet alloc] init]; - [self focusWithURI:[[[NSProcessInfo processInfo] environment] objectForKey:@"KW_SPEC"]]; - } - return self; -} - - -+ (id)sharedExampleSuiteBuilder { - static KWExampleSuiteBuilder *sharedExampleSuiteBuilder = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedExampleSuiteBuilder = [self new]; - }); - - return sharedExampleSuiteBuilder; -} - -#pragma mark - Focus - -- (void)focusWithURI:(NSString *)nodeUrl { - NSArray *focusInfo = [nodeUrl componentsSeparatedByString:@":"]; - if (!focusInfo || focusInfo.count != 2) - return; - self.focusedCallSite = [KWCallSite callSiteWithFilename:focusInfo[0] lineNumber:[focusInfo[1] intValue]]; -} - -- (void)setFocusedCallSite:(KWCallSite *)aFocusedCallSite { - _focusedCallSite = aFocusedCallSite; - self.focusedItNode = NO; - self.focusedContextNode = NO; -} - -- (BOOL)isFocused { - return self.focusedCallSite != nil; -} - -- (BOOL)foundFocus { - return self.focusedContextNode || self.focusedItNode; -} - -#pragma mark - Building Example Groups - -- (BOOL)isBuildingExampleSuite { - return [self.contextNodeStack count] > 0; -} - -- (KWExampleSuite *)buildExampleSuite:(void (^)(void))buildingBlock -{ - KWContextNode *rootNode = [KWContextNode contextNodeWithCallSite:nil parentContext:nil description:nil]; - - self.currentExampleSuite = [[KWExampleSuite alloc] initWithRootNode:rootNode]; - - [self.suites addObject:self.currentExampleSuite]; - - [self.contextNodeStack addObject:rootNode]; - buildingBlock(); - [self.contextNodeStack removeAllObjects]; - - return self.currentExampleSuite; -} - -- (void)pushContextNodeWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription { - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - KWContextNode *node = [KWContextNode contextNodeWithCallSite:aCallSite parentContext:contextNode description:aDescription]; - - if (self.isFocused) - node.isFocused = [self shouldFocusContextNodeWithCallSite:aCallSite parentNode:contextNode]; - - [contextNode addContextNode:node]; - [self.contextNodeStack addObject:node]; -} - -- (BOOL)shouldFocusContextNodeWithCallSite:(KWCallSite *)aCallSite parentNode:(KWContextNode *)parentNode { - if (parentNode.isFocused) - return YES; - - if ([aCallSite isEqualToCallSite:self.focusedCallSite]) { - self.focusedContextNode = YES; - return YES; - } - return NO; -} - -- (void)popContextNode { - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - - [self.currentExampleSuite markLastExampleAsLastInContext:contextNode]; - - if ([self.contextNodeStack count] == 1) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"there is no open context to pop"]; - - [self.contextNodeStack removeLastObject]; -} - -- (void)setRegisterMatchersNodeWithCallSite:(KWCallSite *)aCallSite namespacePrefix:(NSString *)aNamespacePrefix { - if ([self.contextNodeStack count] == 0) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"an example group has not been started"]; - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - KWRegisterMatchersNode *registerMatchersNode = [KWRegisterMatchersNode registerMatchersNodeWithCallSite:aCallSite namespacePrefix:aNamespacePrefix]; - [contextNode setRegisterMatchersNode:registerMatchersNode]; -} - -- (void)setBeforeAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - if ([self.contextNodeStack count] == 0) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"an example group has not been started"]; - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - KWBeforeAllNode *beforeAllNode = [KWBeforeAllNode beforeAllNodeWithCallSite:aCallSite block:block]; - [contextNode setBeforeAllNode:beforeAllNode]; -} - -- (void)setAfterAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - if ([self.contextNodeStack count] == 0) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"an example group has not been started"]; - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - KWAfterAllNode *afterAllNode = [KWAfterAllNode afterAllNodeWithCallSite:aCallSite block:block]; - [contextNode setAfterAllNode:afterAllNode]; -} - -- (void)setBeforeEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - if ([self.contextNodeStack count] == 0) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"an example group has not been started"]; - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - KWBeforeEachNode *beforeEachNode = [KWBeforeEachNode beforeEachNodeWithCallSite:aCallSite block:block]; - [contextNode setBeforeEachNode:beforeEachNode]; -} - -- (void)setAfterEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - if ([self.contextNodeStack count] == 0) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"an example group has not been started"]; - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - KWAfterEachNode *afterEachNode = [KWAfterEachNode afterEachNodeWithCallSite:aCallSite block:block]; - [contextNode setAfterEachNode:afterEachNode]; -} - -- (void)addItNodeWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription block:(void (^)(void))block { - if ([self.contextNodeStack count] == 0) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"an example group has not been started"]; - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - - if (self.isFocused && ![self shouldAddItNodeWithCallSite:aCallSite toContextNode:contextNode]) - return; - - KWItNode* itNode = [KWItNode itNodeWithCallSite:aCallSite description:aDescription context:contextNode block:block]; - [contextNode addItNode:itNode]; - - KWExample *example = [[KWExample alloc] initWithExampleNode:itNode]; - [self.currentExampleSuite addExample:example]; -} - -- (BOOL)shouldAddItNodeWithCallSite:(KWCallSite *)aCallSite toContextNode:(KWContextNode *)contextNode { - if (contextNode.isFocused) - return YES; - - if([aCallSite isEqualToCallSite:self.focusedCallSite]){ - self.focusedItNode = YES; - return YES; - } - - return NO; -} - -- (void)addPendingNodeWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription { - if ([self.contextNodeStack count] == 0) - [NSException raise:@"KWExampleSuiteBuilderException" format:@"an example group has not been started"]; - - KWContextNode *contextNode = [self.contextNodeStack lastObject]; - KWPendingNode *pendingNode = [KWPendingNode pendingNodeWithCallSite:aCallSite context:contextNode description:aDescription]; - [contextNode addPendingNode:pendingNode]; - KWExample *example = [[KWExample alloc] initWithExampleNode:pendingNode]; - [self.currentExampleSuite addExample:example]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWExpectationType.h b/Pods/Kiwi/Classes/Core/KWExpectationType.h deleted file mode 100644 index eca75a8..0000000 --- a/Pods/Kiwi/Classes/Core/KWExpectationType.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -enum { - KWExpectationTypeShould, - KWExpectationTypeShouldNot, - KWExpectationTypeMaybe -}; - -typedef NSUInteger KWExpectationType; diff --git a/Pods/Kiwi/Classes/Core/KWFailure.h b/Pods/Kiwi/Classes/Core/KWFailure.h deleted file mode 100644 index d516d68..0000000 --- a/Pods/Kiwi/Classes/Core/KWFailure.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWCallSite; - -@interface KWFailure : NSObject - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite message:(NSString *)aMessage; -- (id)initWithCallSite:(KWCallSite *)aCallSite format:(NSString *)format, ...; - -+ (id)failureWithCallSite:(KWCallSite *)aCallSite message:(NSString *)aMessage; -+ (id)failureWithCallSite:(KWCallSite *)aCallSite format:(NSString *)format, ...; - -#pragma mark - Properties - -@property (nonatomic, readonly) NSString *message; -@property (nonatomic, weak, readonly) KWCallSite *callSite; - -#pragma mark - Getting Exception Representations - -- (NSException *)exceptionValue; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWFailure.m b/Pods/Kiwi/Classes/Core/KWFailure.m deleted file mode 100644 index 4bbea8f..0000000 --- a/Pods/Kiwi/Classes/Core/KWFailure.m +++ /dev/null @@ -1,57 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWFailure.h" -#import -#import "KWCallSite.h" - -@implementation KWFailure - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite message:(NSString *)aMessage { - self = [super init]; - if (self) { - _callSite = aCallSite; - _message = [aMessage copy]; - } - - return self; -} - -- (id)initWithCallSite:(KWCallSite *)aCallSite format:(NSString *)format, ... { - va_list argumentList; - va_start(argumentList, format); - NSString *aMessage = [[NSString alloc] initWithFormat:format arguments:argumentList]; - return [self initWithCallSite:aCallSite message:aMessage]; -} - -+ (id)failureWithCallSite:(KWCallSite *)aCallSite message:(NSString *)aMessage { - return [[self alloc] initWithCallSite:aCallSite message:aMessage]; -} - -+ (id)failureWithCallSite:(KWCallSite *)aCallSite format:(NSString *)format, ... { - va_list argumentList; - va_start(argumentList, format); - NSString *message = [[NSString alloc] initWithFormat:format arguments:argumentList]; - return [self failureWithCallSite:aCallSite message:message]; -} - -#pragma mark - Getting Exception Representations - -- (NSException *)exceptionValue { - NSDictionary *userInfo = nil; - if (self.callSite) { - NSNumber *lineNumber = @(self.callSite.lineNumber); - userInfo = @{ - @"SenTestFilenameKey": self.callSite.filename, - @"SenTestLineNumberKey": lineNumber - }; - } - return [NSException exceptionWithName:@"KWFailureException" reason:self.message userInfo:userInfo]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWFormatter.h b/Pods/Kiwi/Classes/Core/KWFormatter.h deleted file mode 100644 index 34f8655..0000000 --- a/Pods/Kiwi/Classes/Core/KWFormatter.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface KWFormatter : NSObject - -#pragma mark - Getting Descriptions - -+ (NSString *)formatObject:(id)anObject; -+ (NSString *)formatObjectIncludingClass:(id)anObject; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWFormatter.m b/Pods/Kiwi/Classes/Core/KWFormatter.m deleted file mode 100644 index f12917e..0000000 --- a/Pods/Kiwi/Classes/Core/KWFormatter.m +++ /dev/null @@ -1,59 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWFormatter.h" - -@implementation KWFormatter - - -#pragma mark - Getting Descriptions - -+ (NSString *)formatObject:(id)anObject { - if ([anObject isKindOfClass:[NSString class]]) - return [NSString stringWithFormat:@"\"%@\"", anObject]; - - else if ([anObject isKindOfClass:[NSDictionary class]]) - return [anObject description]; // NSDictionary conforms to NSFastEnumeration - - else if ([anObject conformsToProtocol:@protocol(NSFastEnumeration)]) - return [self formattedCollection:anObject]; - - return [anObject description]; -} - -+ (NSString *)formatObjectIncludingClass:(id)anObject { - NSString *classString = [[anObject class] description]; - - if ([anObject isKindOfClass:[NSString class]]) - classString = @"NSString"; - - return [NSString stringWithFormat:@"(%@) %@", classString, [self formatObject:anObject]]; -} - - -#pragma mark - Private - -+ (NSString *)formattedCollection:(id)collection { - - NSMutableString *description = [[NSMutableString alloc] initWithString:@"("]; - NSUInteger index = 0; - - for (id object in collection) { - if (index == 0) - [description appendFormat:@"%@", [self formatObject:object]]; - else - [description appendFormat:@", %@", [self formatObject:object]]; - - ++index; - } - - [description appendString:@")"]; - return description; -} - - - -@end diff --git a/Pods/Kiwi/Classes/Core/KWFutureObject.h b/Pods/Kiwi/Classes/Core/KWFutureObject.h deleted file mode 100644 index f45ff51..0000000 --- a/Pods/Kiwi/Classes/Core/KWFutureObject.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// KWFutureObject.h -// iOSFalconCore -// -// Created by Luke Redpath on 13/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import - -typedef id (^KWFutureObjectBlock)(void); - -@interface KWFutureObject : NSObject - -+ (id)objectWithObjectPointer:(id *)pointer; -+ (id)futureObjectWithBlock:(KWFutureObjectBlock)block; -- (id)initWithBlock:(KWFutureObjectBlock)aBlock; -- (id)object; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWFutureObject.m b/Pods/Kiwi/Classes/Core/KWFutureObject.m deleted file mode 100644 index 52c654b..0000000 --- a/Pods/Kiwi/Classes/Core/KWFutureObject.m +++ /dev/null @@ -1,40 +0,0 @@ -// -// KWFutureObject.m -// iOSFalconCore -// -// Created by Luke Redpath on 13/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import "KWFutureObject.h" - -@interface KWFutureObject() - -@property (nonatomic, strong) KWFutureObjectBlock block; - -@end - -@implementation KWFutureObject - -+ (id)objectWithObjectPointer:(id *)pointer { - return [self futureObjectWithBlock:^{ return *pointer; }]; -} - -+ (id)futureObjectWithBlock:(KWFutureObjectBlock)block { - return [[self alloc] initWithBlock:block]; -} - -- (id)initWithBlock:(KWFutureObjectBlock)aBlock { - self = [super init]; - if (self) { - _block = [aBlock copy]; - } - return self; -} - -- (id)object; { - return self.block(); -} - - -@end diff --git a/Pods/Kiwi/Classes/Core/KWInvocationCapturer.h b/Pods/Kiwi/Classes/Core/KWInvocationCapturer.h deleted file mode 100644 index c02ab0c..0000000 --- a/Pods/Kiwi/Classes/Core/KWInvocationCapturer.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@protocol KWInvocationCapturerDelegate; - -@interface KWInvocationCapturer : NSProxy - -#pragma mark - Initializing - -- (id)initWithDelegate:(id)aDelegate; -- (id)initWithDelegate:(id)aDelegate userInfo:(NSDictionary *)aUserInfo; - -+ (id)invocationCapturerWithDelegate:(id)aDelegate; -+ (id)invocationCapturerWithDelegate:(id)aDelegate userInfo:(NSDictionary *)aUserInfo; - -#pragma mark - Properties - -@property (nonatomic, weak, readonly) id delegate; -@property (nonatomic, strong, readonly) NSDictionary *userInfo; - -@end - -@protocol KWInvocationCapturerDelegate - -#pragma mark - Capturing Invocations - -- (NSMethodSignature *)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer methodSignatureForSelector:(SEL)aSelector; -- (void)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer didCaptureInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWInvocationCapturer.m b/Pods/Kiwi/Classes/Core/KWInvocationCapturer.m deleted file mode 100644 index e340972..0000000 --- a/Pods/Kiwi/Classes/Core/KWInvocationCapturer.m +++ /dev/null @@ -1,88 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWInvocationCapturer.h" -#import "KWWorkarounds.h" -#import "NSInvocation+KiwiAdditions.h" - -@implementation KWInvocationCapturer - -#pragma mark - Initializing - -- (id)initWithDelegate:(id)aDelegate { - return [self initWithDelegate:aDelegate userInfo:nil]; -} - -- (id)initWithDelegate:(id)aDelegate userInfo:(NSDictionary *)aUserInfo { - delegate = aDelegate; - userInfo = aUserInfo; - return self; -} - -+ (id)invocationCapturerWithDelegate:(id)aDelegate { - return [self invocationCapturerWithDelegate:aDelegate userInfo:nil]; -} - -+ (id)invocationCapturerWithDelegate:(id)aDelegate userInfo:(NSDictionary *)aUserInfo { - return [[self alloc] initWithDelegate:aDelegate userInfo:aUserInfo]; -} - - -#pragma mark - Properties - -@synthesize delegate; -@synthesize userInfo; - -#pragma mark - Capturing Invocations - -- (void)KW_captureInvocation:(NSInvocation *)anInvocation { - [self.delegate invocationCapturer:self didCaptureInvocation:anInvocation]; -} - -#pragma mark - Handling Invocations - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { - return [self.delegate invocationCapturer:self methodSignatureForSelector:aSelector]; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation { -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - @try { -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - - [self KW_captureInvocation:anInvocation]; - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - } @catch (NSException *exception) { - KWSetExceptionFromAcrossInvocationBoundary(exception); - } -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG -} - -#pragma mark - Whitelisted NSObject Methods - -// The return values from these methods should never be needed, so just call -// the super implementation after capturing the invocation. - -- (BOOL)isEqual:(id)anObject { - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd messageArguments:&anObject]; - [self KW_captureInvocation:invocation]; - return [super isEqual:anObject]; -} - -- (NSUInteger)hash { - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd]; - [self KW_captureInvocation:invocation]; - return [super hash]; -} - -- (NSString *)description { - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd]; - [self KW_captureInvocation:invocation]; - return [super description]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMatcher.h b/Pods/Kiwi/Classes/Core/KWMatcher.h deleted file mode 100644 index 407cd9d..0000000 --- a/Pods/Kiwi/Classes/Core/KWMatcher.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatching.h" - -@interface KWMatcher : NSObject - -#pragma mark - Initializing - -- (id)initWithSubject:(id)anObject; - -+ (id)matcherWithSubject:(id)anObject; - -#pragma mark - Properties - -@property (nonatomic, strong) id subject; - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings; - -#pragma mark - Getting Matcher Compatability - -+ (BOOL)canMatchSubject:(id)anObject; - -#pragma mark - Matching - -- (BOOL)evaluate; - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould; -- (NSString *)failureMessageForShouldNot; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMatcher.m b/Pods/Kiwi/Classes/Core/KWMatcher.m deleted file mode 100644 index 9b3c481..0000000 --- a/Pods/Kiwi/Classes/Core/KWMatcher.m +++ /dev/null @@ -1,80 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWMatcher.h" -#import "KWFormatter.h" -#import "KWFutureObject.h" - -@implementation KWMatcher - -#pragma mark - Initializing - -- (id)initWithSubject:(id)anObject { - self = [super init]; - if (self) { - _subject = anObject; - } - - return self; -} - -+ (id)matcherWithSubject:(id)anObject { - return [[self alloc] initWithSubject:anObject]; -} - - -#pragma mark - Properties - -- (id)subject -{ - if ([_subject isKindOfClass:[KWFutureObject class]]) { - return [(KWFutureObject *)_subject object]; - } - return _subject; -} - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return nil; -} - -#pragma mark - Getting Matcher Compatability - -+ (BOOL)canMatchSubject:(id)anObject { - return YES; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - [NSException raise:NSInternalInconsistencyException format:@"%@ must override -evaluate", - [KWFormatter formatObject:[self class]]]; - return NO; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return @"subject did not meet expectation"; -} - -- (NSString *)failureMessageForShouldNot { - NSString *failureMessageForShould = [self failureMessageForShould]; - NSRange markerRange = [failureMessageForShould rangeOfString:@" to "]; - - if (markerRange.location == NSNotFound) - return @"subject did not meet expectation"; - - NSRange replacementRange = NSMakeRange(0, markerRange.location + markerRange.length); - NSString *message = [failureMessageForShould stringByReplacingOccurrencesOfString:@" to " - withString:@" not to " - options:0 - range:replacementRange]; - return message; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMatcherFactory.h b/Pods/Kiwi/Classes/Core/KWMatcherFactory.h deleted file mode 100644 index 9e910be..0000000 --- a/Pods/Kiwi/Classes/Core/KWMatcherFactory.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatching.h" - -@class KWFailure; -@class KWMatcher; -@class KWUserDefinedMatcherBuilder; - -@interface KWMatcherFactory : NSObject - -#pragma mark - Initializing - -- (id)init; - -#pragma mark - Properties - -@property (nonatomic, readonly) NSArray *registeredMatcherClasses; - -#pragma mark - Registering Matcher Classes - -- (void)registerMatcherClass:(Class)aClass; -- (void)registerMatcherClassesWithNamespacePrefix:(NSString *)aNamespacePrefix; - -#pragma mark - Registering User Defined Matchers - -//- (void)registerUserDefinedMatcherWithBuilder:(KWUserDefinedMatcherBuilder *)aBuilder; - -#pragma mark - Getting Method Signatures - -- (NSMethodSignature *)methodSignatureForMatcherSelector:(SEL)aSelector; - -#pragma mark - Getting Matchers - -- (KWMatcher *)matcherFromInvocation:(NSInvocation *)anInvocation subject:(id)subject; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMatcherFactory.m b/Pods/Kiwi/Classes/Core/KWMatcherFactory.m deleted file mode 100644 index 79885bf..0000000 --- a/Pods/Kiwi/Classes/Core/KWMatcherFactory.m +++ /dev/null @@ -1,140 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWMatcherFactory.h" -#import -#import "KWMatching.h" -#import "KWStringUtilities.h" -#import "KWUserDefinedMatcher.h" -#import "KWMatchers.h" - -@interface KWMatcherFactory() - -@property (nonatomic, strong) NSMutableDictionary *matcherClassChains; - -@end - -@implementation KWMatcherFactory - -#pragma mark - Initializing - -- (id)init { - self = [super init]; - if (self) { - _matcherClassChains = [[NSMutableDictionary alloc] init]; - _registeredMatcherClasses = [[NSMutableArray alloc] init]; - } - - return self; -} - -#pragma mark - Registering Matcher Classes - -- (void)registerMatcherClass:(Class)aClass { - if ([self.registeredMatcherClasses containsObject:aClass]) - return; - - [(NSMutableArray *)self.registeredMatcherClasses addObject:aClass]; - - for (NSString *verificationSelectorString in [aClass matcherStrings]) { - NSMutableArray *matcherClassChain = self.matcherClassChains[verificationSelectorString]; - - if (matcherClassChain == nil) { - matcherClassChain = [[NSMutableArray alloc] init]; - self.matcherClassChains[verificationSelectorString] = matcherClassChain; - } - - [matcherClassChain removeObject:aClass]; - [matcherClassChain insertObject:aClass atIndex:0]; - } -} - -- (void)registerMatcherClassesWithNamespacePrefix:(NSString *)aNamespacePrefix { - static NSMutableArray *matcherClasses = nil; - - // Cache all classes that conform to KWMatching. - if (matcherClasses == nil) { - matcherClasses = [[NSMutableArray alloc] init]; - int numberOfClasses = objc_getClassList(NULL, 0); - Class *classes = (Class *)malloc(sizeof(Class) * numberOfClasses); - numberOfClasses = objc_getClassList(classes, numberOfClasses); - - if (numberOfClasses == 0) { - free(classes); - return; - } - - for (int i = 0; i < numberOfClasses; ++i) { - Class candidateClass = classes[i]; - - if (!class_respondsToSelector(candidateClass, @selector(conformsToProtocol:))) - continue; - - if (![candidateClass conformsToProtocol:@protocol(KWMatching)]) - continue; - - [matcherClasses addObject:candidateClass]; - } - - free(classes); - } - - for (Class matcherClass in matcherClasses) { - NSString *className = NSStringFromClass(matcherClass); - - if (KWStringHasStrictWordPrefix(className, aNamespacePrefix)) - [self registerMatcherClass:matcherClass]; - } -} - -#pragma mark - Registering User Defined Matchers - -//- (void)registerUserDefinedMatcherWithBuilder:(KWUserDefinedMatcherBuilder *)aBuilder -//{ -// -//} - -#pragma mark - Getting Method Signatures - -- (NSMethodSignature *)methodSignatureForMatcherSelector:(SEL)aSelector { - NSMutableArray *matcherClassChain = self.matcherClassChains[NSStringFromSelector(aSelector)]; - - if ([matcherClassChain count] == 0) - return nil; - - Class matcherClass = matcherClassChain[0]; - return [matcherClass instanceMethodSignatureForSelector:aSelector]; -} - -#pragma mark - Getting Matchers - -- (KWMatcher *)matcherFromInvocation:(NSInvocation *)anInvocation subject:(id)subject { - SEL selector = [anInvocation selector]; - - // try and match a built-in or registered matcher class - Class matcherClass = [self matcherClassForSelector:selector subject:subject]; - - if (matcherClass == nil) { - // see if we can match with a user-defined matcher instead - return [[KWMatchers matchers] matcherForSelector:selector subject:subject]; - } - return [[matcherClass alloc] initWithSubject:subject]; -} - -#pragma mark - Private methods - -- (Class)matcherClassForSelector:(SEL)aSelector subject:(id)anObject { - NSArray *matcherClassChain = self.matcherClassChains[NSStringFromSelector(aSelector)]; - - for (Class matcherClass in matcherClassChain) { - if ([matcherClass canMatchSubject:anObject]) - return matcherClass; - } - - return nil; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMatchers.h b/Pods/Kiwi/Classes/Core/KWMatchers.h deleted file mode 100644 index 3f1b6e6..0000000 --- a/Pods/Kiwi/Classes/Core/KWMatchers.h +++ /dev/null @@ -1,32 +0,0 @@ -// -// KWMatchers.h -// Kiwi -// -// Created by Luke Redpath on 17/06/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import - -@class KWUserDefinedMatcherBuilder; - -typedef void (^KWMatchersBuildingBlock)(KWUserDefinedMatcherBuilder *); - -@class KWUserDefinedMatcher; - -@interface KWMatchers : NSObject - -+ (id)matchers; - -#pragma mark - Defining Matchers - -+ (void)defineMatcher:(NSString *)selectorString as:(KWMatchersBuildingBlock)block; -- (void)defineMatcher:(NSString *)selectorString as:(KWMatchersBuildingBlock)block; -- (void)addUserDefinedMatcherBuilder:(KWUserDefinedMatcherBuilder *)builder; - -#pragma mark - Building Matchers - -- (KWUserDefinedMatcher *)matcherForSelector:(SEL)selector subject:(id)subject; -@end - -void KWDefineMatchers(NSString *selectorString, KWMatchersBuildingBlock block); diff --git a/Pods/Kiwi/Classes/Core/KWMatchers.m b/Pods/Kiwi/Classes/Core/KWMatchers.m deleted file mode 100644 index ab27895..0000000 --- a/Pods/Kiwi/Classes/Core/KWMatchers.m +++ /dev/null @@ -1,75 +0,0 @@ -// -// KWMatchers.m -// Kiwi -// -// Created by Luke Redpath on 17/06/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import "KWMatchers.h" -#import "KWUserDefinedMatcher.h" - -@interface KWMatchers() { - NSMutableDictionary *userDefinedMatchers; -} -@end - -@implementation KWMatchers - -#pragma mark - Singleton implementation - -static id sharedMatchers = nil; - -+ (void)initialize { - if (self == [KWMatchers class]) { - sharedMatchers = [[self alloc] init]; - } -} - -+ (id)matchers { - return sharedMatchers; -} - -- (id)init { - self = [super init]; - if (self) { - userDefinedMatchers = [[NSMutableDictionary alloc] init]; - } - return self; -} - -#pragma mark - Defining Matchers - -+ (void)defineMatcher:(NSString *)selectorString as:(KWMatchersBuildingBlock)block { - [[self matchers] defineMatcher:selectorString as:block]; -} - -- (void)defineMatcher:(NSString *)selectorString as:(KWMatchersBuildingBlock)block { - KWUserDefinedMatcherBuilder *builder = [KWUserDefinedMatcherBuilder builderForSelector:NSSelectorFromString(selectorString)]; - block(builder); - userDefinedMatchers[builder.key] = builder; -} - -- (void)addUserDefinedMatcherBuilder:(KWUserDefinedMatcherBuilder *)builder { - userDefinedMatchers[builder.key] = builder; -} - -#pragma mark - Building Matchers - -- (KWUserDefinedMatcher *)matcherForSelector:(SEL)selector subject:(id)subject { - KWUserDefinedMatcherBuilder *builder = userDefinedMatchers[NSStringFromSelector(selector)]; - - if (builder == nil) - return nil; - - return [builder buildMatcherWithSubject:subject]; -} - - -@end - -void KWDefineMatchers(NSString *selectorString, KWMatchersBuildingBlock block) -{ - [KWMatchers defineMatcher:selectorString as:block]; -} - diff --git a/Pods/Kiwi/Classes/Core/KWMatching.h b/Pods/Kiwi/Classes/Core/KWMatching.h deleted file mode 100644 index bf7c81a..0000000 --- a/Pods/Kiwi/Classes/Core/KWMatching.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@protocol KWMatching - -#pragma mark - Initializing - -- (id)initWithSubject:(id)anObject; - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings; - -#pragma mark - Getting Matcher Compatability - -+ (BOOL)canMatchSubject:(id)anObject; - -#pragma mark - Matching - -@optional - -- (BOOL)isNilMatcher; -- (BOOL)shouldBeEvaluatedAtEndOfExample; -- (BOOL)willEvaluateMultipleTimes; -- (void)setWillEvaluateMultipleTimes:(BOOL)shouldEvaluateMultipleTimes; - -@required - -- (BOOL)evaluate; - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould; -- (NSString *)failureMessageForShouldNot; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMessageSpying.h b/Pods/Kiwi/Classes/Core/KWMessageSpying.h deleted file mode 100644 index 0ac1aa7..0000000 --- a/Pods/Kiwi/Classes/Core/KWMessageSpying.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@protocol KWMessageSpying - -#pragma mark - Spying on Messages - -- (void)object:(id)anObject didReceiveInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMessageTracker.h b/Pods/Kiwi/Classes/Core/KWMessageTracker.h deleted file mode 100644 index 5bf5f56..0000000 --- a/Pods/Kiwi/Classes/Core/KWMessageTracker.h +++ /dev/null @@ -1,41 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWCountType.h" -#import "KWMessageSpying.h" - -@class KWMessagePattern; - -@interface KWMessageTracker : NSObject - -#pragma mark - Initializing - -- (id)initWithSubject:(id)anObject messagePattern:(KWMessagePattern *)aMessagePattern countType:(KWCountType)aCountType count:(NSUInteger)aCount; - -+ (id)messageTrackerWithSubject:(id)anObject messagePattern:(KWMessagePattern *)aMessagePattern countType:(KWCountType)aCountType count:(NSUInteger)aCount; - -#pragma mark - Properties - -@property (nonatomic, readonly) id subject; -@property (nonatomic, readonly) KWMessagePattern *messagePattern; -@property (nonatomic, readonly) KWCountType countType; -@property (nonatomic, readonly) NSUInteger count; - -#pragma mark - Stopping Tracking - -- (void)stopTracking; - -#pragma mark - Getting Message Tracker Status - -- (BOOL)succeeded; - -#pragma mark - Getting Phrases - -- (NSString *)expectedCountPhrase; -- (NSString *)receivedCountPhrase; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWMessageTracker.m b/Pods/Kiwi/Classes/Core/KWMessageTracker.m deleted file mode 100644 index 121e374..0000000 --- a/Pods/Kiwi/Classes/Core/KWMessageTracker.m +++ /dev/null @@ -1,130 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWMessageTracker.h" -#import "KWMessagePattern.h" -#import "NSObject+KiwiStubAdditions.h" - -@interface KWMessageTracker() - -#pragma mark - Properties - -@property (nonatomic, assign) NSUInteger receivedCount; - -@end - -@implementation KWMessageTracker - -#pragma mark - Initializing - -- (id)initWithSubject:(id)anObject messagePattern:(KWMessagePattern *)aMessagePattern countType:(KWCountType)aCountType count:(NSUInteger)aCount { - self = [super init]; - if (self) { - _subject = anObject; - _messagePattern = aMessagePattern; - _countType = aCountType; - _count = aCount; - [anObject addMessageSpy:self forMessagePattern:aMessagePattern]; - } - - return self; -} - -+ (id)messageTrackerWithSubject:(id)anObject messagePattern:(KWMessagePattern *)aMessagePattern countType:(KWCountType)aCountType count:(NSUInteger)aCount { - return [[self alloc] initWithSubject:anObject messagePattern:aMessagePattern countType:aCountType count:aCount]; -} - -#pragma mark - Spying on Messages - -- (void)object:(id)anObject didReceiveInvocation:(NSInvocation *)anInvocation { - if (![self.messagePattern matchesInvocation:anInvocation]) - return; - - ++self.receivedCount; -} - -#pragma mark - Stopping Tracking - -- (void)stopTracking { - [self.subject removeMessageSpy:self forMessagePattern:self.messagePattern]; -} - -#pragma mark - Getting Message Tracker Status - -- (BOOL)succeeded { - switch (self.countType) { - case KWCountTypeExact: - return self.receivedCount == self.count; - case KWCountTypeAtLeast: - return self.receivedCount >= self.count; - case KWCountTypeAtMost: - return self.receivedCount <= self.count; - default: - break; - } - - assert(0 && "should never reach here"); - return NO; -} - -#pragma mark - Getting Phrases - -- (NSString *)phraseForCount:(NSUInteger)aCount { - if (aCount == 1) - return @"1 time"; - - return [NSString stringWithFormat:@"%d times", (int)aCount]; -} - -- (NSString *)expectedCountPhrase { - NSString *countPhrase = [self phraseForCount:self.count]; - - switch (self.countType) { - case KWCountTypeExact: - return [NSString stringWithFormat:@"exactly %@", countPhrase]; - case KWCountTypeAtLeast: - return [NSString stringWithFormat:@"at least %@", countPhrase]; - case KWCountTypeAtMost: - return [NSString stringWithFormat:@"at most %@", countPhrase]; - default: - break; - } - - assert(0 && "should never reach here"); - return nil; -} - -- (NSString *)receivedCountPhrase { - return [self phraseForCount:self.receivedCount]; -} - -#pragma mark - Debugging - -- (NSString *)modeString { - switch (self.countType) { - case KWCountTypeExact: - return @"KWCountTypeExact"; - case KWCountTypeAtLeast: - return @"KWCountTypeAtLeast"; - case KWCountTypeAtMost: - return @"KWCountTypeAtMost"; - default: - break; - } - - assert(0 && "should never reach here"); - return nil; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"messagePattern: %@\nmode: %@\ncount: %d\nreceiveCount: %d", - self.messagePattern, - self.modeString, - (int)self.count, - (int)self.receivedCount]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWNull.h b/Pods/Kiwi/Classes/Core/KWNull.h deleted file mode 100644 index 4208a57..0000000 --- a/Pods/Kiwi/Classes/Core/KWNull.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -// KWNull exists to represent the same thing as NSNull, except that Kiwi needs -// to distinguish between null singletons used internally and those a user -// is using as an object parameter. -@interface KWNull : NSObject - -#pragma mark - Initializing - -+ (id)null; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWNull.m b/Pods/Kiwi/Classes/Core/KWNull.m deleted file mode 100644 index 6d3bf73..0000000 --- a/Pods/Kiwi/Classes/Core/KWNull.m +++ /dev/null @@ -1,25 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWNull.h" - -@implementation KWNull - -#pragma mark - Initializing - - -+ (id)null { - static KWNull *sharedNull = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedNull = [self new]; - - }); - - return sharedNull; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWObjCUtilities.h b/Pods/Kiwi/Classes/Core/KWObjCUtilities.h deleted file mode 100644 index ea97878..0000000 --- a/Pods/Kiwi/Classes/Core/KWObjCUtilities.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -#pragma mark - Objective-C Type Utilities - -BOOL KWObjCTypeEqualToObjCType(const char *firstObjCType, const char *secondObjCType); -BOOL KWObjCTypeIsNumeric(const char *objCType); -BOOL KWObjCTypeIsFloatingPoint(const char *objCType); -BOOL KWObjCTypeIsIntegral(const char *objCType); -BOOL KWObjCTypeIsSignedIntegral(const char *objCType); -BOOL KWObjCTypeIsUnsignedIntegral(const char *objCType); -BOOL KWObjCTypeIsObject(const char *objCType); -BOOL KWObjCTypeIsCharString(const char *objCType); -BOOL KWObjCTypeIsClass(const char *objCType); -BOOL KWObjCTypeIsSelector(const char *objCType); -BOOL KWObjCTypeIsPointerToType(const char *objCType); -BOOL KWObjCTypeIsPointerLike(const char *objCType); -BOOL KWObjCTypeIsUnknown(const char *objCType); -BOOL KWObjCTypeIsBlock(const char *objCType); - -NSUInteger KWObjCTypeLength(const char *objCType); - -#pragma mark - Selector Utlities - -NSUInteger KWSelectorParameterCount(SEL selector); diff --git a/Pods/Kiwi/Classes/Core/KWObjCUtilities.m b/Pods/Kiwi/Classes/Core/KWObjCUtilities.m deleted file mode 100644 index eb4a63c..0000000 --- a/Pods/Kiwi/Classes/Core/KWObjCUtilities.m +++ /dev/null @@ -1,100 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWObjCUtilities.h" -#import "KWStringUtilities.h" - -#pragma mark - Objective-C Type Utilities - -BOOL KWObjCTypeEqualToObjCType(const char *firstObjCType, const char *secondObjCType) { - return strcmp(firstObjCType, secondObjCType) == 0; -} - -BOOL KWObjCTypeIsNumeric(const char *objCType) { - return KWObjCTypeIsFloatingPoint(objCType) || KWObjCTypeIsIntegral(objCType); -} - -BOOL KWObjCTypeIsFloatingPoint(const char *objCType) { - return strcmp(objCType, @encode(float)) == 0 || strcmp(objCType, @encode(double)) == 0; -} - -BOOL KWObjCTypeIsIntegral(const char *objCType) { - return KWObjCTypeIsSignedIntegral(objCType) || KWObjCTypeIsUnsignedIntegral(objCType); -} - -BOOL KWObjCTypeIsSignedIntegral(const char *objCType) { - return strcmp(objCType, @encode(char)) == 0 || - strcmp(objCType, @encode(int)) == 0 || - strcmp(objCType, @encode(short)) == 0 || - strcmp(objCType, @encode(long)) == 0 || - strcmp(objCType, @encode(long long)) == 0; -} - -BOOL KWObjCTypeIsUnsignedIntegral(const char *objCType) { - return strcmp(objCType, @encode(unsigned char)) == 0 || - strcmp(objCType, @encode(unsigned int)) == 0 || - strcmp(objCType, @encode(unsigned short)) == 0 || - strcmp(objCType, @encode(unsigned long)) == 0 || - strcmp(objCType, @encode(unsigned long long)) == 0; -} - -BOOL KWObjCTypeIsObject(const char *objCType) { - return strcmp(objCType, @encode(id)) == 0 || strcmp(objCType, "@?") == 0; -} - -BOOL KWObjCTypeIsCharString(const char *objCType) { - return strcmp(objCType, @encode(char *)) == 0; -} - -BOOL KWObjCTypeIsClass(const char *objCType) { - return strcmp(objCType, @encode(Class)) == 0; -} - -BOOL KWObjCTypeIsSelector(const char *objCType) { - return strcmp(objCType, @encode(SEL)) == 0; -} - -BOOL KWObjCTypeIsPointerToType(const char *objCType) { - return *objCType == '^'; -} - -BOOL KWObjCTypeIsPointerLike(const char *objCType) { - return KWObjCTypeIsObject(objCType) || - KWObjCTypeIsCharString(objCType) || - KWObjCTypeIsClass(objCType) || - KWObjCTypeIsSelector(objCType) || - KWObjCTypeIsPointerToType(objCType); -} - -BOOL KWObjCTypeIsUnknown(const char *objCType) { - return *objCType == '?'; -} - -NSUInteger KWObjCTypeLength(const char *objCType) { - NSUInteger typeSize = 0; - NSGetSizeAndAlignment(objCType, &typeSize, NULL); - return typeSize; -} - -BOOL KWObjCTypeIsBlock(const char *objCType) { - return strcmp(objCType, "@?") == 0; -} - - -#pragma mark - Selector Utlities - -NSUInteger KWSelectorParameterCount(SEL selector) { - NSString *selectorString = NSStringFromSelector(selector); - NSUInteger length = [selectorString length]; - NSUInteger parameterCount = 0; - - for (NSUInteger i = 0; i < length; ++i) { - if ([selectorString characterAtIndex:i] == ':') - ++parameterCount; - } - - return parameterCount; -} diff --git a/Pods/Kiwi/Classes/Core/KWProbe.h b/Pods/Kiwi/Classes/Core/KWProbe.h deleted file mode 100644 index d635c76..0000000 --- a/Pods/Kiwi/Classes/Core/KWProbe.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// KWProbe.h -// iOSFalconCore -// -// Created by Luke Redpath on 13/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import - -@protocol KWProbe -- (BOOL)isSatisfied; -- (void)sample; -@end diff --git a/Pods/Kiwi/Classes/Core/KWProbePoller.h b/Pods/Kiwi/Classes/Core/KWProbePoller.h deleted file mode 100644 index 543a117..0000000 --- a/Pods/Kiwi/Classes/Core/KWProbePoller.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// KWProbePoller.h -// iOSFalconCore -// -// Created by Luke Redpath on 13/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import -#import "KWProbe.h" - -#define kKW_DEFAULT_PROBE_DELAY 0.1 - -@interface KWProbePoller : NSObject - -- (id)initWithTimeout:(NSTimeInterval)theTimeout delay:(NSTimeInterval)theDelay shouldWait:(BOOL)wait; -- (BOOL)check:(id)probe; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWProbePoller.m b/Pods/Kiwi/Classes/Core/KWProbePoller.m deleted file mode 100644 index b411da9..0000000 --- a/Pods/Kiwi/Classes/Core/KWProbePoller.m +++ /dev/null @@ -1,72 +0,0 @@ -// -// KWProbePoller.m -// iOSFalconCore -// -// Created by Luke Redpath on 13/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import "KWProbePoller.h" - -@interface KWTimeout : NSObject - -@property (nonatomic, strong) NSDate *timeoutDate; - -@end - -@implementation KWTimeout - -- (id)initWithTimeout:(NSTimeInterval)timeout -{ - self = [super init]; - if (self) { - _timeoutDate = [[NSDate alloc] initWithTimeIntervalSinceNow:timeout]; - } - return self; -} - - -- (BOOL)hasTimedOut { - return [self.timeoutDate timeIntervalSinceDate:[NSDate date]] < 0; -} - -@end - - -@interface KWProbePoller() - -@property (nonatomic, assign) NSTimeInterval timeoutInterval; -@property (nonatomic, assign) NSTimeInterval delayInterval; -@property (nonatomic, assign) BOOL shouldWait; - -@end - -@implementation KWProbePoller - -- (id)initWithTimeout:(NSTimeInterval)theTimeout - delay:(NSTimeInterval)theDelay - shouldWait:(BOOL)wait { - self = [super init]; - if (self) { - _timeoutInterval = theTimeout; - _delayInterval = theDelay; - _shouldWait = wait; - } - return self; -} - -- (BOOL)check:(id)probe; { - KWTimeout *timeout = [[KWTimeout alloc] initWithTimeout:self.timeoutInterval]; - - while (self.shouldWait || ![probe isSatisfied]) { - if ([timeout hasTimedOut]) { - return [probe isSatisfied]; - } - [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:self.delayInterval]]; - [probe sample]; - } - - return YES; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWReporting.h b/Pods/Kiwi/Classes/Core/KWReporting.h deleted file mode 100644 index d9e9fc0..0000000 --- a/Pods/Kiwi/Classes/Core/KWReporting.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWFailure; - -@protocol KWReporting - -#pragma mark - Reporting Failures - -- (void)reportFailure:(KWFailure *)failure; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWSpec.h b/Pods/Kiwi/Classes/Core/KWSpec.h deleted file mode 100644 index 2ecf726..0000000 --- a/Pods/Kiwi/Classes/Core/KWSpec.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import -#import "KWExpectationType.h" -#import "KWVerifying.h" -#import "KWExampleDelegate.h" - - -@class KWCallSite; - -#ifdef XCT_EXPORT -@interface KWSpec : XCTestCase -#else -@interface KWSpec : SenTestCase -#endif - -#pragma mark - Adding Verifiers - -+ (id)addVerifier:(id)aVerifier; -+ (id)addExistVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite; -+ (id)addMatchVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite; -+ (id)addAsyncVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite timeout:(NSInteger)timeout shouldWait:(BOOL)shouldWait; - -#pragma mark - Building Example Groups - -+ (NSString *)file; -+ (void)buildExampleGroups; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWSpec.m b/Pods/Kiwi/Classes/Core/KWSpec.m deleted file mode 100644 index e8cee22..0000000 --- a/Pods/Kiwi/Classes/Core/KWSpec.m +++ /dev/null @@ -1,156 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWSpec.h" -#import -#import -#import "KWCallSite.h" -#import "KWExample.h" -#import "KWExampleSuiteBuilder.h" -#import "KWIntercept.h" -#import "KWObjCUtilities.h" -#import "KWStringUtilities.h" -#import "NSMethodSignature+KiwiAdditions.h" -#import "KWFailure.h" -#import "KWExampleSuite.h" - - -@interface KWSpec() - -@property (nonatomic, strong) KWExample *currentExample; - -@end - -@implementation KWSpec - -/* Methods are only implemented by sub-classes */ - -+ (NSString *)file { return nil; } - -+ (void)buildExampleGroups {} - -/* SenTestingKit uses -description, XCTest uses -name when displaying tests - in test navigator. Use camel case to make method friendly names from example description. - */ - -- (NSString *)name { - return [self description]; -} - -- (NSString *)description { - KWExample *currentExample = self.currentExample ? self.currentExample : [[self invocation] kw_example]; - NSString *name = [currentExample descriptionWithContext]; - - // CamelCase the string - NSArray *words = [name componentsSeparatedByString:@" "]; - name = @""; - for (NSString *word in words) { - if ([word length] < 1) - { - continue; - } - name = [name stringByAppendingString:[[word substringToIndex:1] uppercaseString]]; - name = [name stringByAppendingString:[word substringFromIndex:1]]; - } - - // Replace the commas with underscores to separate the levels of context - name = [name stringByReplacingOccurrencesOfString:@"," withString:@"_"]; - - // Strip out characters not legal in function names - NSError *error = nil; - NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^a-zA-Z0-9_]*" options:0 error:&error]; - name = [regex stringByReplacingMatchesInString:name options:0 range:NSMakeRange(0, name.length) withTemplate:@""]; - - return [NSString stringWithFormat:@"-[%@ %@]", NSStringFromClass([self class]), name]; -} - -#pragma mark - Getting Invocations - -/* Called by the SenTestingKit test suite to get an array of invocations that - should be run on instances of test cases. */ - -+ (NSArray *)testInvocations { - SEL buildExampleGroups = @selector(buildExampleGroups); - - // Only return invocation if the receiver is a concrete spec that has overridden -buildExampleGroups. - if ([self methodForSelector:buildExampleGroups] == [KWSpec methodForSelector:buildExampleGroups]) - return nil; - - KWExampleSuite *exampleSuite = [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] buildExampleSuite:^{ - [self buildExampleGroups]; - }]; - - return [exampleSuite invocationsForTestCase]; -} - -#pragma mark - Running Specs - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wundeclared-selector" - -- (void)invokeTest { - self.currentExample = [[self invocation] kw_example]; - - @autoreleasepool { - - @try { - [self.currentExample runWithDelegate:self]; - } @catch (NSException *exception) { - if ([self respondsToSelector:@selector(recordFailureWithDescription:inFile:atLine:expected:)]) { - objc_msgSend(self, - @selector(recordFailureWithDescription:inFile:atLine:expected:), - [exception description], @"", 0, NO); - } else { - objc_msgSend(self, @selector(failWithException:), exception); - } - } - - [[self invocation] kw_setExample:nil]; - - } -} - -#pragma clang diagnostic pop - -#pragma mark - KWExampleGroupDelegate methods - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wundeclared-selector" - -- (void)example:(KWExample *)example didFailWithFailure:(KWFailure *)failure { - if ([self respondsToSelector:@selector(recordFailureWithDescription:inFile:atLine:expected:)]) { - objc_msgSend(self, - @selector(recordFailureWithDescription:inFile:atLine:expected:), - [[failure exceptionValue] description], - failure.callSite.filename, - failure.callSite.lineNumber, - NO); - } else { - objc_msgSend(self, @selector(failWithException:), [failure exceptionValue]); - } -} - -#pragma clang diagnostic pop - -#pragma mark - Verification proxies - -+ (id)addVerifier:(id)aVerifier { - return [[[KWExampleSuiteBuilder sharedExampleSuiteBuilder] currentExample] addVerifier:aVerifier]; -} - -+ (id)addExistVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite { - return [[[KWExampleSuiteBuilder sharedExampleSuiteBuilder] currentExample] addExistVerifierWithExpectationType:anExpectationType callSite:aCallSite]; -} - -+ (id)addMatchVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite { - return [[[KWExampleSuiteBuilder sharedExampleSuiteBuilder] currentExample] addMatchVerifierWithExpectationType:anExpectationType callSite:aCallSite]; -} - -+ (id)addAsyncVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite timeout:(NSInteger)timeout shouldWait:(BOOL)shouldWait { - return [[[KWExampleSuiteBuilder sharedExampleSuiteBuilder] currentExample] addAsyncVerifierWithExpectationType:anExpectationType callSite:aCallSite timeout:timeout shouldWait: shouldWait]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWStringUtilities.h b/Pods/Kiwi/Classes/Core/KWStringUtilities.h deleted file mode 100644 index 90264d9..0000000 --- a/Pods/Kiwi/Classes/Core/KWStringUtilities.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -#pragma mark - Checking for Case Separated Words - -BOOL KWStringHasWordPrefix(NSString *string, NSString *prefix); -BOOL KWStringHasStrictWordPrefix(NSString *string, NSString *prefix); -BOOL KWStringHasWord(NSString *string, NSString *word); - -#pragma mark - Getting Type Encodings - -NSString *KWEncodingWithObjCTypes(const char *firstType, ...) NS_REQUIRES_NIL_TERMINATION; -NSString *KWEncodingForVoidMethod(void); -NSString *KWEncodingForDefaultMethod(void); diff --git a/Pods/Kiwi/Classes/Core/KWStringUtilities.m b/Pods/Kiwi/Classes/Core/KWStringUtilities.m deleted file mode 100644 index 4e17197..0000000 --- a/Pods/Kiwi/Classes/Core/KWStringUtilities.m +++ /dev/null @@ -1,92 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWStringUtilities.h" - -#pragma mark - Checking for Case Separated Words - -BOOL KWStringHasWordPrefix(NSString *string, NSString *prefix) { - return [string isEqualToString:prefix] || KWStringHasStrictWordPrefix(string, prefix); -} - -BOOL KWStringHasStrictWordPrefix(NSString *string, NSString *prefix) { - if (![string hasPrefix:prefix] || [string length] == [prefix length]) - return NO; - - unichar firstCharacterAfterPrefix = [string characterAtIndex:[prefix length]]; - NSCharacterSet *uppercaseCharacterSet = [NSCharacterSet uppercaseLetterCharacterSet]; - return [uppercaseCharacterSet characterIsMember:firstCharacterAfterPrefix]; -} - -BOOL KWStringHasWord(NSString *string, NSString *word) { - if (KWStringHasWordPrefix(string, word)) - return YES; - - NSCharacterSet *lowercaseCharacterSet = [NSCharacterSet lowercaseLetterCharacterSet]; - NSCharacterSet *uppercaseCharacterSet = [NSCharacterSet uppercaseLetterCharacterSet]; - NSRange searchRange = NSMakeRange(0, [string length]); - - // Never match if word begins with a lowercase letter and was not a prefix. - if ([lowercaseCharacterSet characterIsMember:[word characterAtIndex:0]]) - return NO; - - while (1) { - if (searchRange.location >= [string length]) - return NO; - - NSRange range = [string rangeOfString:word options:0 range:searchRange]; - searchRange.location = range.location + range.length; - searchRange.length = [string length] - searchRange.location; - - if (range.location == NSNotFound) - return NO; - - if (range.location > 0) { - unichar charBeforeRange = [string characterAtIndex:range.location - 1]; - - - if (![lowercaseCharacterSet characterIsMember:charBeforeRange]) - continue; - } - - if (range.location + range.length < [string length]) { - unichar charAfterRange = [string characterAtIndex:range.location + range.length]; - - if (![uppercaseCharacterSet characterIsMember:charAfterRange]) - continue; - } - - return YES; - } -} - -#pragma mark - Getting Type Encodings - -NSString *KWEncodingWithObjCTypes(const char *firstType, ...) { - if (firstType == nil) - return nil; - - NSMutableString *encoding = [NSMutableString stringWithCapacity:8]; - va_list argumentList; - va_start(argumentList, firstType); - const char *type = firstType; - - do { - [encoding appendFormat:@"%s", type]; - type = va_arg(argumentList, const char *); - } while (type != nil); - - va_end(argumentList); - return encoding; -} - -NSString *KWEncodingForVoidMethod(void) { - return KWEncodingWithObjCTypes(@encode(void), @encode(id), @encode(SEL), nil); -} - -NSString *KWEncodingForDefaultMethod(void) { - return KWEncodingWithObjCTypes(@encode(id), @encode(id), @encode(SEL), nil); -} diff --git a/Pods/Kiwi/Classes/Core/KWValue.h b/Pods/Kiwi/Classes/Core/KWValue.h deleted file mode 100644 index 78cbb66..0000000 --- a/Pods/Kiwi/Classes/Core/KWValue.h +++ /dev/null @@ -1,87 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface KWValue : NSObject - -#pragma mark - Initializing - -- (id)initWithBytes:(const void *)bytes objCType:(const char *)anObjCType; - -+ (id)valueWithBytes:(const void *)bytes objCType:(const char *)anObjCType; -+ (id)valueWithBool:(BOOL)aValue; -+ (id)valueWithChar:(char)aValue; -+ (id)valueWithDouble:(double)aValue; -+ (id)valueWithFloat:(float)aValue; -+ (id)valueWithInt:(int)aValue; -+ (id)valueWithInteger:(NSInteger)aValue; -+ (id)valueWithLong:(long)aValue; -+ (id)valueWithLongLong:(long long)value; -+ (id)valueWithShort:(short)aValue; -+ (id)valueWithUnsignedChar:(unsigned char)aValue; -+ (id)valueWithUnsignedInt:(unsigned int)aValue; -+ (id)valueWithUnsignedInteger:(NSUInteger)aValue; -+ (id)valueWithUnsignedLong:(unsigned long)aValue; -+ (id)valueWithUnsignedLongLong:(unsigned long long)aValue; -+ (id)valueWithUnsignedShort:(unsigned short)aValue; - -#pragma mark - Properties - -@property (nonatomic, readonly) const char *objCType; -@property (nonatomic, readonly) BOOL isNumeric; - -#pragma mark - Accessing Numeric Values - -- (NSNumber *)numberValue; -- (BOOL)boolValue; -- (char)charValue; -- (double)doubleValue; -- (float)floatValue; -- (int)intValue; -- (NSInteger)integerValue; -- (long)longValue; -- (long long)longLongValue; -- (short)shortValue; -- (unsigned char)unsignedCharValue; -- (unsigned int)unsignedIntValue; -- (NSUInteger)unsignedIntegerValue; -- (unsigned long)unsignedLongValue; -- (unsigned long long)unsignedLongLongValue; -- (unsigned short)unsignedShortValue; - -#pragma mark - Accessing Data - -- (NSData *)dataValue; -- (void)getValue:(void *)buffer; - -#pragma mark - Accessing Numeric Data - -- (NSData *)dataForObjCType:(const char *)anObjCType; -- (NSData *)boolData; -- (NSData *)charData; -- (NSData *)doubleData; -- (NSData *)floatData; -- (NSData *)intData; -- (NSData *)integerData; -- (NSData *)longData; -- (NSData *)longLongData; -- (NSData *)shortData; -- (NSData *)unsignedCharData; -- (NSData *)unsignedIntData; -- (NSData *)unsignedIntegerData; -- (NSData *)unsignedLongData; -- (NSData *)unsignedLongLongData; -- (NSData *)unsignedShortData; - -#pragma mark - Comparing Values - -- (NSComparisonResult)compare:(KWValue *)aValue; - -- (BOOL)isEqualToKWValue:(KWValue *)aValue; -- (BOOL)isEqualToNumber:(NSNumber *)aValue; - -@end diff --git a/Pods/Kiwi/Classes/Core/KWValue.m b/Pods/Kiwi/Classes/Core/KWValue.m deleted file mode 100644 index c131ce2..0000000 --- a/Pods/Kiwi/Classes/Core/KWValue.m +++ /dev/null @@ -1,348 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWValue.h" -#import "KWObjCUtilities.h" -#import "NSNumber+KiwiAdditions.h" - -@interface KWValue() - -#pragma mark - Properties - -@property (nonatomic, readonly) id value; - -@end - -@implementation KWValue - -#pragma mark - Initializing - -- (id)initWithBytes:(const void *)bytes objCType:(const char *)anObjCType { - self = [super init]; - if (self) { - objCType = anObjCType; - value = [[NSValue alloc] initWithBytes:bytes objCType:anObjCType]; - } - - return self; -} - -+ (id)valueWithBytes:(const void *)bytes objCType:(const char *)type { - return [[self alloc] initWithBytes:bytes objCType:type]; -} - -+ (id)valueWithBool:(BOOL)aValue { - return [self valueWithBytes:&aValue objCType:@encode(BOOL)]; -} - -+ (id)valueWithChar:(char)aValue { - return [self valueWithBytes:&aValue objCType:@encode(char)]; -} - -+ (id)valueWithDouble:(double)aValue { - return [self valueWithBytes:&aValue objCType:@encode(double)]; -} - -+ (id)valueWithFloat:(float)aValue { - return [self valueWithBytes:&aValue objCType:@encode(float)]; -} - -+ (id)valueWithInt:(int)aValue { - return [self valueWithBytes:&aValue objCType:@encode(int)]; -} - -+ (id)valueWithInteger:(NSInteger)aValue { - return [self valueWithBytes:&aValue objCType:@encode(NSInteger)]; -} - -+ (id)valueWithLong:(long)aValue { - return [self valueWithBytes:&aValue objCType:@encode(long)]; -} - -+ (id)valueWithLongLong:(long long)value { - return [self valueWithBytes:&value objCType:@encode(long long)]; -} - -+ (id)valueWithShort:(short)aValue { - return [self valueWithBytes:&aValue objCType:@encode(short)]; -} - -+ (id)valueWithUnsignedChar:(unsigned char)aValue { - return [self valueWithBytes:&aValue objCType:@encode(unsigned char)]; -} - -+ (id)valueWithUnsignedInt:(unsigned int)aValue { - return [self valueWithBytes:&aValue objCType:@encode(unsigned int)]; -} - -+ (id)valueWithUnsignedInteger:(NSUInteger)aValue { - return [self valueWithBytes:&aValue objCType:@encode(NSUInteger)]; -} - -+ (id)valueWithUnsignedLong:(unsigned long)aValue { - return [self valueWithBytes:&aValue objCType:@encode(unsigned long)]; -} - -+ (id)valueWithUnsignedLongLong:(unsigned long long)aValue { - return [self valueWithBytes:&aValue objCType:@encode(long long)]; -} - -+ (id)valueWithUnsignedShort:(unsigned short)aValue { - return [self valueWithBytes:&aValue objCType:@encode(unsigned short)]; -} - - -#pragma mark - Properties - -@synthesize objCType; - -- (BOOL)isNumeric { - return KWObjCTypeIsNumeric(self.objCType); -} - -@synthesize value; - -#pragma mark - Accessing Numeric Values - -- (NSNumber *)numberValue { - if (!KWObjCTypeIsNumeric(self.objCType)) - [NSException raise:NSInternalInconsistencyException format:@"cannot return number value because wrapped value is non-numeric"]; - - NSData *data = [self dataValue]; - return [NSNumber numberWithBytes:[data bytes] objCType:self.objCType]; -} - -- (BOOL)boolValue { - return [[self numberValue] boolValue]; -} - -- (char)charValue { - return [[self numberValue] charValue]; -} - -- (double)doubleValue { - return [[self numberValue] doubleValue]; -} - -- (float)floatValue { - return [[self numberValue] floatValue]; -} - -- (int)intValue { - return [[self numberValue] intValue]; -} - -- (NSInteger)integerValue { - return [[self numberValue] integerValue]; -} - -- (long)longValue { - return [[self numberValue] longValue]; -} - -- (long long)longLongValue { - return [[self numberValue] longLongValue]; -} -- (short)shortValue { - return [[self numberValue] shortValue]; -} - -- (unsigned char)unsignedCharValue { - return [[self numberValue] unsignedCharValue]; -} - -- (unsigned int)unsignedIntValue { - return [[self numberValue] unsignedIntValue]; -} - -- (NSUInteger)unsignedIntegerValue { - return [[self numberValue] unsignedIntegerValue]; -} - -- (unsigned long)unsignedLongValue { - return [[self numberValue] unsignedLongValue]; -} - -- (unsigned long long)unsignedLongLongValue { - return [[self numberValue] unsignedLongLongValue]; -} - -- (unsigned short)unsignedShortValue { - return [[self numberValue] unsignedShortValue]; -} - -#pragma mark - Accessing Data - -- (NSData *)dataValue { - NSUInteger length = KWObjCTypeLength(self.objCType); - void *buffer = malloc(length); - [self.value getValue:buffer]; - NSData *data = [NSData dataWithBytes:buffer length:length]; - free(buffer); - return data; -} - -- (void)getValue:(void *)buffer { - [self.value getValue:buffer]; -} - -#pragma mark - Accessing Numeric Data - -- (NSData *)dataForObjCType:(const char *)anObjCType { - // Yeah, this is ugly. - if (KWObjCTypeEqualToObjCType(anObjCType, @encode(BOOL))) - return [self boolData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(char))) - return [self charData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(double))) - return [self doubleData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(float))) - return [self floatData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(int))) - return [self intData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(NSInteger))) - return [self integerData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(long))) - return [self longData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(long long))) - return [self longLongData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(short))) - return [self shortData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned char))) - return [self unsignedCharData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned int))) - return [self unsignedIntData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(NSUInteger))) - return [self unsignedIntegerData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned long))) - return [self unsignedLongData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned long long))) - return [self unsignedLongLongData]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned short))) - return [self unsignedShortData]; - else - return nil; -} - -- (NSData *)boolData { - BOOL aValue = [self boolValue]; - return [NSData dataWithBytes:&aValue length:sizeof(BOOL)]; -} - -- (NSData *)charData { - char aValue = [self charValue]; - return [NSData dataWithBytes:&aValue length:sizeof(char)]; -} - -- (NSData *)doubleData { - double aValue = [self doubleValue]; - return [NSData dataWithBytes:&aValue length:sizeof(double)]; -} - -- (NSData *)floatData { - float aValue = [self floatValue]; - return [NSData dataWithBytes:&aValue length:sizeof(float)]; -} - -- (NSData *)intData { - int aValue = [self intValue]; - return [NSData dataWithBytes:&aValue length:sizeof(int)]; -} - -- (NSData *)integerData { - NSInteger aValue = [self integerValue]; - return [NSData dataWithBytes:&aValue length:sizeof(NSInteger)]; -} - -- (NSData *)longData { - long aValue = [self longValue]; - return [NSData dataWithBytes:&aValue length:sizeof(long)]; -} - -- (NSData *)longLongData { - long long aValue = [self longLongValue]; - return [NSData dataWithBytes:&aValue length:sizeof(long long)]; -} - -- (NSData *)shortData { - short aValue = [self shortValue]; - return [NSData dataWithBytes:&aValue length:sizeof(short)]; -} - -- (NSData *)unsignedCharData { - unsigned char aValue = [self unsignedCharValue]; - return [NSData dataWithBytes:&aValue length:sizeof(unsigned char)]; -} - -- (NSData *)unsignedIntData { - unsigned int aValue = [self unsignedIntValue]; - return [NSData dataWithBytes:&aValue length:sizeof(unsigned int)]; -} - -- (NSData *)unsignedIntegerData { - NSUInteger aValue = [self unsignedIntegerValue]; - return [NSData dataWithBytes:&aValue length:sizeof(NSUInteger)]; -} - -- (NSData *)unsignedLongData { - unsigned long aValue = [self unsignedLongValue]; - return [NSData dataWithBytes:&aValue length:sizeof(unsigned long)]; -} - -- (NSData *)unsignedLongLongData { - unsigned long long aValue = [self unsignedLongLongValue]; - return [NSData dataWithBytes:&aValue length:sizeof(unsigned long long)]; -} - -- (NSData *)unsignedShortData { - unsigned short aValue = [self unsignedShortValue]; - return [NSData dataWithBytes:&aValue length:sizeof(unsigned short)]; -} - -#pragma mark - Comparing Objects - -- (NSUInteger)hash { - if (self.isNumeric) - return [[self numberValue] hash]; - - return [self.value hash]; -} - -- (NSComparisonResult)compare:(KWValue *)aValue { - return [[self numberValue] compare:[aValue numberValue]]; -} - -- (BOOL)isEqual:(id)object { - if ([object isKindOfClass:[KWValue class]]) - return [self isEqualToKWValue:object]; - - if ([object isKindOfClass:[NSNumber class]]) - return [self isEqualToNumber:object]; - - return NO; -} - -- (BOOL)isEqualToKWValue:(KWValue *)aValue { - if (self.isNumeric && aValue.isNumeric) - return [self isEqualToNumber:[aValue numberValue]]; - else - return [self.value isEqual:aValue.value]; -} - -- (BOOL)isEqualToNumber:(NSNumber *)aValue { - return [[self numberValue] isEqualToNumber:aValue]; -} - -#pragma mark - Representing Values - -- (NSString *)description { - if ([self isNumeric]) - return [[self numberValue] description]; - - return [self.value description]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/KWWorkarounds.h b/Pods/Kiwi/Classes/Core/KWWorkarounds.h deleted file mode 100644 index 8242a98..0000000 --- a/Pods/Kiwi/Classes/Core/KWWorkarounds.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - -#pragma mark - Invocation Exception Bug Workaround - -// See KiwiConfiguration.h for notes. -void KWSetExceptionFromAcrossInvocationBoundary(NSException *anException); -NSException *KWGetAndClearExceptionFromAcrossInvocationBoundary(void); - -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG diff --git a/Pods/Kiwi/Classes/Core/KWWorkarounds.m b/Pods/Kiwi/Classes/Core/KWWorkarounds.m deleted file mode 100644 index 2d866bb..0000000 --- a/Pods/Kiwi/Classes/Core/KWWorkarounds.m +++ /dev/null @@ -1,26 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWWorkarounds.h" - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - -static NSException *KWExceptionAcrossInvokeBoundary = nil; - -void KWSetExceptionFromAcrossInvocationBoundary(NSException *anException) { - if (KWExceptionAcrossInvokeBoundary != nil) - return; - - KWExceptionAcrossInvokeBoundary = anException; -} - -NSException *KWGetAndClearExceptionFromAcrossInvocationBoundary(void) { - NSException *exception = KWExceptionAcrossInvokeBoundary; - KWExceptionAcrossInvokeBoundary = nil; - return exception; -} - -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG diff --git a/Pods/Kiwi/Classes/Core/Kiwi.h b/Pods/Kiwi/Classes/Core/Kiwi.h deleted file mode 100644 index f260798..0000000 --- a/Pods/Kiwi/Classes/Core/Kiwi.h +++ /dev/null @@ -1,101 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -// This needs to come first. -#import "KiwiConfiguration.h" -#import - -#if defined(__cplusplus) -extern "C" { -#endif - -#import "KWAfterAllNode.h" -#import "KWAfterEachNode.h" -#import "KWAny.h" -#import "KWAsyncVerifier.h" -#import "KWBeBetweenMatcher.h" -#import "KWBeEmptyMatcher.h" -#import "KWBeIdenticalToMatcher.h" -#import "KWBeKindOfClassMatcher.h" -#import "KWBeMemberOfClassMatcher.h" -#import "KWBeSubclassOfClassMatcher.h" -#import "KWBeTrueMatcher.h" -#import "KWNilMatcher.h" -#import "KWBeWithinMatcher.h" -#import "KWBeZeroMatcher.h" -#import "KWBeforeAllNode.h" -#import "KWBeforeEachNode.h" -#import "KWBlock.h" -#import "KWBlockNode.h" -#import "KWBlockRaiseMatcher.h" -#import "KWCallSite.h" -#import "KWChangeMatcher.h" -#import "KWConformToProtocolMatcher.h" -#import "KWContainMatcher.h" -#import "KWContainStringMatcher.h" -#import "KWContextNode.h" -#import "KWDeviceInfo.h" -#import "KWEqualMatcher.h" -#import "KWExample.h" -#import "KWExampleSuiteBuilder.h" -#import "KWExampleNode.h" -#import "KWExampleNodeVisitor.h" -#import "KWExistVerifier.h" -#import "KWExpectationType.h" -#import "KWFailure.h" -#import "KWFormatter.h" -#import "KWFutureObject.h" -#import "KWGenericMatcher.h" -#import "KWHaveMatcher.h" -#import "KWHaveValueMatcher.h" -#import "KWInequalityMatcher.h" -#import "KWInvocationCapturer.h" -#import "KWItNode.h" -#import "KWMatchVerifier.h" -#import "KWMatcher.h" -#import "KWMatchers.h" -#import "KWMatcherFactory.h" -#import "KWMatching.h" -#import "KWMessagePattern.h" -#import "KWMessageSpying.h" -#import "KWMock.h" -#import "KWNull.h" -#import "KWObjCUtilities.h" -#import "KWPendingNode.h" -#import "KWRaiseMatcher.h" -#import "KWReceiveMatcher.h" -#import "KWRegisterMatchersNode.h" -#import "KWRegularExpressionPatternMatcher.h" -#import "KWRespondToSelectorMatcher.h" -#import "KWSpec.h" -#import "KWStringUtilities.h" -#import "KWStub.h" -#import "KWUserDefinedMatcher.h" -#import "KWValue.h" -#import "KWVerifying.h" -#import "KWCaptureSpy.h" -#import "KWStringPrefixMatcher.h" -#import "KWStringContainsMatcher.h" - - -// Public Foundation Categories -#import "NSObject+KiwiMockAdditions.h" -#import "NSObject+KiwiSpyAdditions.h" -#import "NSObject+KiwiStubAdditions.h" -#import "NSObject+KiwiVerifierAdditions.h" -#import "NSProxy+KiwiVerifierAdditions.h" - -#import "KiwiMacros.h" - -// Some Foundation headers use Kiwi keywords (e.g. 'should') as identifiers for -// parameter names. Including this last allows the use of Kiwi keywords without -// conflicting with these headers (hopefully!). -#import "KiwiBlockMacros.h" - -#if defined(__cplusplus) -} -#endif - diff --git a/Pods/Kiwi/Classes/Core/KiwiBlockMacros.h b/Pods/Kiwi/Classes/Core/KiwiBlockMacros.h deleted file mode 100644 index 57f0bd8..0000000 --- a/Pods/Kiwi/Classes/Core/KiwiBlockMacros.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// KiwiBlockMacros.h -// Kiwi -// -// Created by Luke Redpath on 11/07/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -// user defined matchers -#define registerMatcher(name) \ -\ -@interface NSObject (KWUserDefinedMatchersDefinitions) \ -- (void)name; \ -@end \ - -#define defineMatcher(...) KWDefineMatchers(__VA_ARGS__) diff --git a/Pods/Kiwi/Classes/Core/KiwiConfiguration.h b/Pods/Kiwi/Classes/Core/KiwiConfiguration.h deleted file mode 100644 index 1b54283..0000000 --- a/Pods/Kiwi/Classes/Core/KiwiConfiguration.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -// As of iPhone SDK 4 GM, exceptions thrown across an NSInvocation -invoke or -// forwardInvocation: boundary in the simulator will terminate the app instead -// of being caught in @catch blocks from the caller side of the -invoke. Kiwi -// tries to handle this by storing the first exception that it would have -// otherwise thrown in a nasty global that callers can look for and handle. -// (Buggy termination is less desirable than global variables). -// -// Obviously, this can only handles cases where Kiwi itself would have raised -// an exception. -#if TARGET_IPHONE_SIMULATOR - #define KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG 1 -#endif diff --git a/Pods/Kiwi/Classes/Core/KiwiMacros.h b/Pods/Kiwi/Classes/Core/KiwiMacros.h deleted file mode 100644 index 368bfe7..0000000 --- a/Pods/Kiwi/Classes/Core/KiwiMacros.h +++ /dev/null @@ -1,98 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -// This category is solely meant to coax Xcode into exposing the method names below during autocompletion. -// There is no implementation and this class definition must come before the macro definitions below. -@interface NSObject (KiwiVerifierMacroNames) - -- (void)should; -- (void)shouldNot; -- (void)shouldBeNil DEPRECATED_ATTRIBUTE; -- (void)shouldNotBeNil DEPRECATED_ATTRIBUTE; -- (void)shouldEventually; -- (void)shouldNotEventually; -- (void)shouldEventuallyBeforeTimingOutAfter; -- (void)shouldNotEventuallyBeforeTimingOutAfter; - -- (void)shouldAfterWait; -- (void)shouldNotAfterWait; -- (void)shouldAfterWaitOf; -- (void)shouldNotAfterWaitOf; - -@end - -#pragma mark - Support Macros - -#define KW_THIS_CALLSITE [KWCallSite callSiteWithFilename:@__FILE__ lineNumber:__LINE__] -#define KW_ADD_EXIST_VERIFIER(expectationType) [self addExistVerifierWithExpectationType:expectationType callSite:KW_THIS_CALLSITE] -#define KW_ADD_MATCH_VERIFIER(expectationType) [self addMatchVerifierWithExpectationType:expectationType callSite:KW_THIS_CALLSITE] -#define KW_ADD_ASYNC_VERIFIER(expectationType, timeOut, wait) [self addAsyncVerifierWithExpectationType:expectationType callSite:KW_THIS_CALLSITE timeout:timeOut shouldWait:wait] - -#pragma mark - Keywords - -// Kiwi macros used in specs for verifying expectations. -#define should attachToVerifier:KW_ADD_MATCH_VERIFIER(KWExpectationTypeShould) -#define shouldNot attachToVerifier:KW_ADD_MATCH_VERIFIER(KWExpectationTypeShouldNot) -#define shouldBeNil attachToVerifier:KW_ADD_EXIST_VERIFIER(KWExpectationTypeShouldNot) -#define shouldNotBeNil attachToVerifier:KW_ADD_EXIST_VERIFIER(KWExpectationTypeShould) - -#define shouldEventually attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShould, kKW_DEFAULT_PROBE_TIMEOUT, NO) -#define shouldNotEventually attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShouldNot, kKW_DEFAULT_PROBE_TIMEOUT, NO) -#define shouldEventuallyBeforeTimingOutAfter(timeout) attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShould, timeout, NO) -#define shouldNotEventuallyBeforeTimingOutAfter(timeout) attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShouldNot, timeout, NO) - -#define shouldAfterWait attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShould, kKW_DEFAULT_PROBE_TIMEOUT, YES) -#define shouldNotAfterWait attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShouldNot, kKW_DEFAULT_PROBE_TIMEOUT, YES) -#define shouldAfterWaitOf(timeout) attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShould, timeout, YES) -#define shouldNotAfterWaitOf(timeout) attachToVerifier:KW_ADD_ASYNC_VERIFIER(KWExpectationTypeShouldNot, timeout, YES) - -#define beNil beNil:[KWNilMatcher verifyNilSubject] -#define beNonNil beNonNil:[KWNilMatcher verifyNonNilSubject] - -// used to wrap a pointer to an object that will change in the future (used with shouldEventually) -#define theObject(objectPtr) [KWFutureObject objectWithObjectPointer:objectPtr] // DEPRECATED -#define theReturnValueOfBlock(block) [KWFutureObject futureObjectWithBlock:block] // DEPRECATED -#define expectFutureValue(futureValue) [KWFutureObject futureObjectWithBlock:^{ return futureValue; }] - -// `fail` triggers a failure report when called -#define fail(message, ...) [[[KWExampleSuiteBuilder sharedExampleSuiteBuilder] currentExample] reportFailure:[KWFailure failureWithCallSite:KW_THIS_CALLSITE format:message, ##__VA_ARGS__]] - -// used for message patterns to allow matching any value -#define any() [KWAny any] - -// If a gcc compatible compiler is available, use the statement and -// declarations in expression extension to provide a convenient catch-all macro -// to create KWValues. -#if defined(__GNUC__) - #define theValue(expr) \ - ({ \ - __typeof__(expr) kiwiReservedPrefix_lVar = expr; \ - [KWValue valueWithBytes:&kiwiReservedPrefix_lVar objCType:@encode(__typeof__(expr))]; \ - }) -#endif // #if defined(__GNUC__) - -// Allows for comparision of pointer values in expectations -#define thePointerValue(expr) [NSValue valueWithPointer:(expr)] - -// Example group declarations. -#define SPEC_BEGIN(name) \ - \ - @interface name : KWSpec \ - \ - @end \ - \ - @implementation name \ - \ - + (NSString *)file { return @__FILE__; } \ - \ - + (void)buildExampleGroups { \ - -#define SPEC_END \ - } \ - \ - @end diff --git a/Pods/Kiwi/Classes/Core/NSInvocation+KiwiAdditions.h b/Pods/Kiwi/Classes/Core/NSInvocation+KiwiAdditions.h deleted file mode 100644 index d663b4c..0000000 --- a/Pods/Kiwi/Classes/Core/NSInvocation+KiwiAdditions.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface NSInvocation(KiwiAdditions) - -#pragma mark - Creating NSInvocation Objects - -+ (NSInvocation *)invocationWithTarget:(id)anObject selector:(SEL)aSelector; -+ (NSInvocation *)invocationWithTarget:(id)anObject selector:(SEL)aSelector messageArguments:(const void *)firstBytes, ...; - -#pragma mark - Accessing Message Arguments - -// Message arguments are invocation arguments that begin after the target and selector arguments. These methods provide -// convenient ways to access them. - -- (NSData *)messageArgumentDataAtIndex:(NSUInteger)anIndex; -- (void)getMessageArgument:(void *)buffer atIndex:(NSUInteger)anIndex; -- (void)setMessageArgument:(const void *)bytes atIndex:(NSUInteger)anIndex; -- (void)setMessageArguments:(const void *)firstBytes, ...; - -@end diff --git a/Pods/Kiwi/Classes/Core/NSInvocation+KiwiAdditions.m b/Pods/Kiwi/Classes/Core/NSInvocation+KiwiAdditions.m deleted file mode 100644 index 23065a2..0000000 --- a/Pods/Kiwi/Classes/Core/NSInvocation+KiwiAdditions.m +++ /dev/null @@ -1,91 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSInvocation+KiwiAdditions.h" -#import "KWFormatter.h" -#import "KWObjCUtilities.h" -#import "NSMethodSignature+KiwiAdditions.h" - -@implementation NSInvocation(KiwiAdditions) - -#pragma mark - Creating NSInvocation Objects - -+ (NSInvocation *)invocationWithTarget:(id)anObject selector:(SEL)aSelector { - return [self invocationWithTarget:anObject selector:aSelector messageArguments:nil]; -} - -+ (NSInvocation *)invocationWithTarget:(id)anObject selector:(SEL)aSelector messageArguments:(const void *)firstBytes, ... { - if (anObject == nil) { - [NSException raise:NSInvalidArgumentException format:@"%@ - target must not be nil", - NSStringFromSelector(_cmd)]; - } - - NSMethodSignature *signature = [anObject methodSignatureForSelector:aSelector]; - - if (signature == nil) { - [NSException raise:NSInvalidArgumentException format:@"%@ - target returned nil for -methodSignatureForSelector", - NSStringFromSelector(_cmd)]; - } - - NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; - [invocation setTarget:anObject]; - [invocation setSelector:aSelector]; - NSUInteger numberOfMessageArguments = [signature numberOfMessageArguments]; - - if (numberOfMessageArguments == 0) - return invocation; - - va_list argumentList; - va_start(argumentList, firstBytes); - const void *bytes = firstBytes; - - for (NSUInteger i = 0; i < numberOfMessageArguments && bytes != nil; ++i) { - [invocation setMessageArgument:bytes atIndex:i]; - bytes = va_arg(argumentList, const void *); - } - - va_end(argumentList); - return invocation; -} - -#pragma mark - Accessing Message Arguments - -- (NSData *)messageArgumentDataAtIndex:(NSUInteger)anIndex { - NSUInteger length = KWObjCTypeLength([[self methodSignature] messageArgumentTypeAtIndex:anIndex]); - void *buffer = malloc(length); - [self getMessageArgument:buffer atIndex:anIndex]; - // NSData takes over ownership of buffer - NSData* data = [NSData dataWithBytesNoCopy:buffer length:length]; - return data; -} - -- (void)getMessageArgument:(void *)buffer atIndex:(NSUInteger)anIndex { - [self getArgument:buffer atIndex:anIndex + 2]; -} - -- (void)setMessageArgument:(const void *)bytes atIndex:(NSUInteger)anIndex { - [self setArgument:(void *)bytes atIndex:anIndex + 2]; -} - -- (void)setMessageArguments:(const void *)firstBytes, ... { - NSUInteger numberOfMessageArguments = [[self methodSignature] numberOfMessageArguments]; - - if (numberOfMessageArguments == 0) - return; - - va_list argumentList; - va_start(argumentList, firstBytes); - const void *bytes = firstBytes; - - for (NSUInteger i = 0; i < numberOfMessageArguments && bytes != nil; ++i) { - [self setMessageArgument:bytes atIndex:i]; - bytes = va_arg(argumentList, const void *); - } - - va_end(argumentList); -} - -@end diff --git a/Pods/Kiwi/Classes/Core/NSInvocation+OCMAdditions.h b/Pods/Kiwi/Classes/Core/NSInvocation+OCMAdditions.h deleted file mode 100644 index 04f22cd..0000000 --- a/Pods/Kiwi/Classes/Core/NSInvocation+OCMAdditions.h +++ /dev/null @@ -1,34 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2006-2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import - -@interface NSInvocation(OCMAdditions) - -- (id)getArgumentAtIndexAsObject:(int)argIndex; - -- (NSString *)invocationDescription; - -- (NSString *)argumentDescriptionAtIndex:(int)argIndex; - -- (NSString *)objectDescriptionAtIndex:(int)anInt; -- (NSString *)charDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedCharDescriptionAtIndex:(int)anInt; -- (NSString *)intDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedIntDescriptionAtIndex:(int)anInt; -- (NSString *)shortDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedShortDescriptionAtIndex:(int)anInt; -- (NSString *)longDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedLongDescriptionAtIndex:(int)anInt; -- (NSString *)longLongDescriptionAtIndex:(int)anInt; -- (NSString *)unsignedLongLongDescriptionAtIndex:(int)anInt; -- (NSString *)doubleDescriptionAtIndex:(int)anInt; -- (NSString *)floatDescriptionAtIndex:(int)anInt; -- (NSString *)structDescriptionAtIndex:(int)anInt; -- (NSString *)pointerDescriptionAtIndex:(int)anInt; -- (NSString *)cStringDescriptionAtIndex:(int)anInt; -- (NSString *)selectorDescriptionAtIndex:(int)anInt; - -@end diff --git a/Pods/Kiwi/Classes/Core/NSInvocation+OCMAdditions.m b/Pods/Kiwi/Classes/Core/NSInvocation+OCMAdditions.m deleted file mode 100644 index a53804b..0000000 --- a/Pods/Kiwi/Classes/Core/NSInvocation+OCMAdditions.m +++ /dev/null @@ -1,343 +0,0 @@ -//--------------------------------------------------------------------------------------- -// $Id$ -// Copyright (c) 2006-2009 by Mulle Kybernetik. See License file for details. -//--------------------------------------------------------------------------------------- - -#import "NSInvocation+OCMAdditions.h" - - -@implementation NSInvocation(OCMAdditions) - -- (id)getArgumentAtIndexAsObject:(int)argIndex -{ - const char* argType; - - argType = [[self methodSignature] getArgumentTypeAtIndex:argIndex]; - while(strchr("rnNoORV", argType[0]) != NULL) - argType += 1; - - if((strlen(argType) > 1) && (strchr("{^", argType[0]) == NULL) && (strcmp("@?", argType) != 0)) - [NSException raise:NSInvalidArgumentException format:@"Cannot handle argument type '%s'.", argType]; - - switch (argType[0]) - { - case '#': - case '@': - { - __unsafe_unretained id value; - [self getArgument:&value atIndex:argIndex]; - return value; - } - case ':': - { - SEL s = (SEL)0; - [self getArgument:&s atIndex:argIndex]; - id value = NSStringFromSelector(s); - return value; - } - case 'i': - { - int value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 's': - { - short value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'l': - { - long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'q': - { - long long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'c': - { - char value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'C': - { - unsigned char value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'I': - { - unsigned int value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'S': - { - unsigned short value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'L': - { - unsigned long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'Q': - { - unsigned long long value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'f': - { - float value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'd': - { - double value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case 'B': - { - bool value; - [self getArgument:&value atIndex:argIndex]; - return @(value); - } - case '^': - { - void *value = NULL; - [self getArgument:&value atIndex:argIndex]; - return [NSValue valueWithPointer:value]; - } - case '*': - { - char *value = NULL; - [self getArgument:&value atIndex:argIndex]; - return [NSValue valueWithPointer:value]; - } - case '{': // structure - { - NSUInteger maxArgSize = [[self methodSignature] frameLength]; - NSMutableData *argumentData = [[NSMutableData alloc] initWithLength:maxArgSize]; - [self getArgument:[argumentData mutableBytes] atIndex:argIndex]; - return [NSValue valueWithBytes:[argumentData bytes] objCType:argType]; - } - - } - [NSException raise:NSInvalidArgumentException format:@"Argument type '%s' not supported", argType]; - return nil; -} - -- (NSString *)invocationDescription -{ - NSMethodSignature *methodSignature = [self methodSignature]; - NSUInteger numberOfArgs = [methodSignature numberOfArguments]; - - if (numberOfArgs == 2) - return NSStringFromSelector([self selector]); - - NSArray *selectorParts = [NSStringFromSelector([self selector]) componentsSeparatedByString:@":"]; - NSMutableString *description = [[NSMutableString alloc] init]; - unsigned int i; - for(i = 2; i < numberOfArgs; i++) - { - [description appendFormat:@"%@%@:", (i > 2 ? @" " : @""), selectorParts[(i - 2)]]; - [description appendString:[self argumentDescriptionAtIndex:i]]; - } - - return description; -} - -- (NSString *)argumentDescriptionAtIndex:(int)argIndex -{ - const char *argType = [[self methodSignature] getArgumentTypeAtIndex:argIndex]; - if(strchr("rnNoORV", argType[0]) != NULL) - argType += 1; - - switch(*argType) - { - case '@': return [self objectDescriptionAtIndex:argIndex]; - case 'c': return [self charDescriptionAtIndex:argIndex]; - case 'C': return [self unsignedCharDescriptionAtIndex:argIndex]; - case 'i': return [self intDescriptionAtIndex:argIndex]; - case 'I': return [self unsignedIntDescriptionAtIndex:argIndex]; - case 's': return [self shortDescriptionAtIndex:argIndex]; - case 'S': return [self unsignedShortDescriptionAtIndex:argIndex]; - case 'l': return [self longDescriptionAtIndex:argIndex]; - case 'L': return [self unsignedLongDescriptionAtIndex:argIndex]; - case 'q': return [self longLongDescriptionAtIndex:argIndex]; - case 'Q': return [self unsignedLongLongDescriptionAtIndex:argIndex]; - case 'd': return [self doubleDescriptionAtIndex:argIndex]; - case 'f': return [self floatDescriptionAtIndex:argIndex]; - // Why does this throw EXC_BAD_ACCESS when appending the string? - // case NSObjCStructType: return [self structDescriptionAtIndex:index]; - case '^': return [self pointerDescriptionAtIndex:argIndex]; - case '*': return [self cStringDescriptionAtIndex:argIndex]; - case ':': return [self selectorDescriptionAtIndex:argIndex]; - default: return [@""]; // avoid confusion with trigraphs... - } - -} - - -- (NSString *)objectDescriptionAtIndex:(int)anInt -{ - __unsafe_unretained id object; - - [self getArgument:&object atIndex:anInt]; - if (object == nil) - return @"nil"; - else if(![object isProxy] && [object isKindOfClass:[NSString class]]) - return [NSString stringWithFormat:@"@\"%@\"", [object description]]; - else - return [object description]; -} - -- (NSString *)charDescriptionAtIndex:(int)anInt -{ - unsigned char buffer[128]; - memset(buffer, 0x0, 128); - - [self getArgument:&buffer atIndex:anInt]; - - // If there's only one character in the buffer, and it's 0 or 1, then we have a BOOL - if (buffer[1] == '\0' && (buffer[0] == 0 || buffer[0] == 1)) - return [NSString stringWithFormat:@"%@", (buffer[0] == 1 ? @"YES" : @"NO")]; - else - return [NSString stringWithFormat:@"'%c'", *buffer]; -} - -- (NSString *)unsignedCharDescriptionAtIndex:(int)anInt -{ - unsigned char buffer[128]; - memset(buffer, 0x0, 128); - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"'%c'", *buffer]; -} - -- (NSString *)intDescriptionAtIndex:(int)anInt -{ - int intValue; - - [self getArgument:&intValue atIndex:anInt]; - return [NSString stringWithFormat:@"%d", intValue]; -} - -- (NSString *)unsignedIntDescriptionAtIndex:(int)anInt -{ - unsigned int intValue; - - [self getArgument:&intValue atIndex:anInt]; - return [NSString stringWithFormat:@"%d", intValue]; -} - -- (NSString *)shortDescriptionAtIndex:(int)anInt -{ - short shortValue; - - [self getArgument:&shortValue atIndex:anInt]; - return [NSString stringWithFormat:@"%hi", shortValue]; -} - -- (NSString *)unsignedShortDescriptionAtIndex:(int)anInt -{ - unsigned short shortValue; - - [self getArgument:&shortValue atIndex:anInt]; - return [NSString stringWithFormat:@"%hu", shortValue]; -} - -- (NSString *)longDescriptionAtIndex:(int)anInt -{ - long longValue; - - [self getArgument:&longValue atIndex:anInt]; - return [NSString stringWithFormat:@"%ld", longValue]; -} - -- (NSString *)unsignedLongDescriptionAtIndex:(int)anInt -{ - unsigned long longValue; - - [self getArgument:&longValue atIndex:anInt]; - return [NSString stringWithFormat:@"%lu", longValue]; -} - -- (NSString *)longLongDescriptionAtIndex:(int)anInt -{ - long long longLongValue; - - [self getArgument:&longLongValue atIndex:anInt]; - return [NSString stringWithFormat:@"%qi", longLongValue]; -} - -- (NSString *)unsignedLongLongDescriptionAtIndex:(int)anInt -{ - unsigned long long longLongValue; - - [self getArgument:&longLongValue atIndex:anInt]; - return [NSString stringWithFormat:@"%qu", longLongValue]; -} - -- (NSString *)doubleDescriptionAtIndex:(int)anInt; -{ - double doubleValue; - - [self getArgument:&doubleValue atIndex:anInt]; - return [NSString stringWithFormat:@"%f", doubleValue]; -} - -- (NSString *)floatDescriptionAtIndex:(int)anInt -{ - float floatValue; - - [self getArgument:&floatValue atIndex:anInt]; - return [NSString stringWithFormat:@"%f", floatValue]; -} - -- (NSString *)structDescriptionAtIndex:(int)anInt; -{ - void *buffer; - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@":(struct)%p", buffer]; -} - -- (NSString *)pointerDescriptionAtIndex:(int)anInt -{ - void *buffer; - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"%p", buffer]; -} - -- (NSString *)cStringDescriptionAtIndex:(int)anInt -{ - char buffer[128]; - - memset(buffer, 0x0, 128); - - [self getArgument:&buffer atIndex:anInt]; - return [NSString stringWithFormat:@"\"%s\"", buffer]; -} - -- (NSString *)selectorDescriptionAtIndex:(int)anInt -{ - SEL selectorValue; - - [self getArgument:&selectorValue atIndex:anInt]; - return [NSString stringWithFormat:@"@selector(%@)", NSStringFromSelector(selectorValue)]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.h b/Pods/Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.h deleted file mode 100644 index e7c44a3..0000000 --- a/Pods/Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface NSMethodSignature(KiwiAdditions) - -#pragma mark - Getting Information on Message Arguments - -- (NSUInteger)numberOfMessageArguments; -- (const char *)messageArgumentTypeAtIndex:(NSUInteger)anIndex; - -@end diff --git a/Pods/Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.m b/Pods/Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.m deleted file mode 100644 index 3d1b887..0000000 --- a/Pods/Kiwi/Classes/Core/NSMethodSignature+KiwiAdditions.m +++ /dev/null @@ -1,21 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSMethodSignature+KiwiAdditions.h" - -@implementation NSMethodSignature(KiwiAdditions) - -#pragma mark - Getting Information on Message Arguments - -- (NSUInteger)numberOfMessageArguments { - return [self numberOfArguments] - 2; -} - -- (const char *)messageArgumentTypeAtIndex:(NSUInteger)anIndex { - return [self getArgumentTypeAtIndex:anIndex + 2]; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/NSNumber+KiwiAdditions.h b/Pods/Kiwi/Classes/Core/NSNumber+KiwiAdditions.h deleted file mode 100644 index 1600af8..0000000 --- a/Pods/Kiwi/Classes/Core/NSNumber+KiwiAdditions.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface NSNumber(KiwiAdditions) - -#pragma mark - Creating Numbers - -+ (id)numberWithBytes:(const void *)bytes objCType:(const char *)anObjCType; -+ (id)numberWithBoolBytes:(const void *)bytes; -+ (id)numberWithCharBytes:(const void *)bytes; -+ (id)numberWithDoubleBytes:(const void *)bytes; -+ (id)numberWithFloatBytes:(const void *)bytes; -+ (id)numberWithIntBytes:(const void *)bytes; -+ (id)numberWithIntegerBytes:(const void *)bytes; -+ (id)numberWithLongBytes:(const void *)bytes; -+ (id)numberWithLongLongBytes:(const void *)bytes; -+ (id)numberWithShortBytes:(const void *)bytes; -+ (id)numberWithUnsignedCharBytes:(const void *)bytes; -+ (id)numberWithUnsignedIntBytes:(const void *)bytes; -+ (id)numberWithUnsignedIntegerBytes:(const void *)bytes; -+ (id)numberWithUnsignedLongBytes:(const void *)bytes; -+ (id)numberWithUnsignedLongLongBytes:(const void *)bytes; -+ (id)numberWithUnsignedShortBytes:(const void *)bytes; - -@end diff --git a/Pods/Kiwi/Classes/Core/NSNumber+KiwiAdditions.m b/Pods/Kiwi/Classes/Core/NSNumber+KiwiAdditions.m deleted file mode 100644 index f4ebdcb..0000000 --- a/Pods/Kiwi/Classes/Core/NSNumber+KiwiAdditions.m +++ /dev/null @@ -1,110 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSNumber+KiwiAdditions.h" -#import "KWObjCUtilities.h" - -@implementation NSNumber(KiwiAdditions) - -#pragma mark - Creating Numbers - -+ (id)numberWithBytes:(const void *)bytes objCType:(const char *)anObjCType { - // Yeah, this is ugly. - if (KWObjCTypeEqualToObjCType(anObjCType, @encode(BOOL))) - return [self numberWithBoolBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(char))) - return [self numberWithCharBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(double))) - return [self numberWithDoubleBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(float))) - return [self numberWithFloatBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(int))) - return [self numberWithIntBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(NSInteger))) - return [self numberWithIntegerBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(long))) - return [self numberWithLongBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(long long))) - return [self numberWithLongLongBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(short))) - return [self numberWithShortBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned char))) - return [self numberWithUnsignedCharBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned int))) - return [self numberWithUnsignedIntBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(NSUInteger))) - return [self numberWithUnsignedIntegerBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned long))) - return [self numberWithUnsignedLongBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned long long))) - return [self numberWithUnsignedLongLongBytes:bytes]; - else if (KWObjCTypeEqualToObjCType(anObjCType, @encode(unsigned short))) - return [self numberWithUnsignedShortBytes:bytes]; - else - return nil; -} - -+ (id)numberWithBoolBytes:(const void *)bytes { - return @(*(const BOOL *)bytes); -} - -+ (id)numberWithCharBytes:(const void *)bytes { - return @(*(const char *)bytes); -} - -+ (id)numberWithDoubleBytes:(const void *)bytes { - return @(*(const double *)bytes); -} - -+ (id)numberWithFloatBytes:(const void *)bytes { - return @(*(const float *)bytes); -} - -+ (id)numberWithIntBytes:(const void *)bytes { - return @(*(const int *)bytes); -} - -+ (id)numberWithIntegerBytes:(const void *)bytes { - return @(*(const NSInteger *)bytes); -} - -+ (id)numberWithLongBytes:(const void *)bytes { - return @(*(const long *)bytes); -} - -+ (id)numberWithLongLongBytes:(const void *)bytes { - return @(*(const long long *)bytes); -} - -+ (id)numberWithShortBytes:(const void *)bytes { - return @(*(const short *)bytes); -} - -+ (id)numberWithUnsignedCharBytes:(const void *)bytes { - return @(*(const unsigned char *)bytes); -} - -+ (id)numberWithUnsignedIntBytes:(const void *)bytes { - return @(*(const unsigned int *)bytes); -} - -+ (id)numberWithUnsignedIntegerBytes:(const void *)bytes { - return @(*(const NSUInteger *)bytes); -} - -+ (id)numberWithUnsignedLongBytes:(const void *)bytes { - return @(*(const unsigned long *)bytes); -} - -+ (id)numberWithUnsignedLongLongBytes:(const void *)bytes { - return @(*(const unsigned long long *)bytes); -} - -+ (id)numberWithUnsignedShortBytes:(const void *)bytes { - return @(*(const unsigned short *)bytes); -} - -@end diff --git a/Pods/Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.h b/Pods/Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.h deleted file mode 100644 index ac0427b..0000000 --- a/Pods/Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWCaptureSpy; - -@interface NSObject (KiwiSpyAdditions) -- (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index; -+ (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index; -@end diff --git a/Pods/Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.m b/Pods/Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.m deleted file mode 100644 index 321ea8a..0000000 --- a/Pods/Kiwi/Classes/Core/NSObject+KiwiSpyAdditions.m +++ /dev/null @@ -1,29 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSObject+KiwiSpyAdditions.h" - -#import "KWCaptureSpy.h" -#import "KWMessagePattern.h" -#import "NSObject+KiwiStubAdditions.h" - -@implementation NSObject (KiwiSpyAdditions) - -- (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index { - KWCaptureSpy *spy = [[KWCaptureSpy alloc] initWithArgumentIndex:index]; - KWMessagePattern *pattern = [[KWMessagePattern alloc] initWithSelector:selector]; - [self addMessageSpy:spy forMessagePattern:pattern]; - return spy; -} - -+ (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index { - KWCaptureSpy *spy = [[KWCaptureSpy alloc] initWithArgumentIndex:index]; - KWMessagePattern *pattern = [[KWMessagePattern alloc] initWithSelector:selector]; - [self addMessageSpy:spy forMessagePattern:pattern]; - return spy; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.h b/Pods/Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.h deleted file mode 100644 index 9b5de33..0000000 --- a/Pods/Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@protocol KWVerifying; - -@interface NSObject(KiwiVerifierAdditions) - -#pragma mark - Attaching to Verifiers - -- (id)attachToVerifier:(id)aVerifier; - -@end diff --git a/Pods/Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.m b/Pods/Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.m deleted file mode 100644 index be9fa93..0000000 --- a/Pods/Kiwi/Classes/Core/NSObject+KiwiVerifierAdditions.m +++ /dev/null @@ -1,19 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSObject+KiwiVerifierAdditions.h" -#import "KWVerifying.h" - -@implementation NSObject(KiwiVerifierAdditions) - -#pragma mark - Attaching to Verifiers - -- (id)attachToVerifier:(id)aVerifier { - [aVerifier setSubject:self]; - return aVerifier; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.h b/Pods/Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.h deleted file mode 100644 index 30426fd..0000000 --- a/Pods/Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2013 Allen Ding. All rights reserved. -// -// Contributed by https://github.com/dwlnetnl -// - -#import "KiwiConfiguration.h" - -@protocol KWVerifying; - -@interface NSProxy (KiwiVerifierAdditions) - -#pragma mark - Attaching to Verifiers - -- (id)attachToVerifier:(id)aVerifier; -- (id)attachToVerifier:(id)firstVerifier verifier:(id)secondVerifier; - -@end diff --git a/Pods/Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.m b/Pods/Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.m deleted file mode 100644 index 027c6e3..0000000 --- a/Pods/Kiwi/Classes/Core/NSProxy+KiwiVerifierAdditions.m +++ /dev/null @@ -1,27 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2013 Allen Ding. All rights reserved. -// -// Contributed by https://github.com/dwlnetnl -// - -#import "NSProxy+KiwiVerifierAdditions.h" -#import "KWVerifying.h" - -@implementation NSProxy (KiwiVerifierAdditions) - -#pragma mark - Attaching to Verifiers - -- (id)attachToVerifier:(id)aVerifier { - [aVerifier setSubject:self]; - return aVerifier; -} - -- (id)attachToVerifier:(id)firstVerifier verifier:(id)secondVerifier { - [firstVerifier setSubject:self]; - [secondVerifier setSubject:self]; - return firstVerifier; -} - -@end diff --git a/Pods/Kiwi/Classes/Core/NSValue+KiwiAdditions.h b/Pods/Kiwi/Classes/Core/NSValue+KiwiAdditions.h deleted file mode 100644 index dd96003..0000000 --- a/Pods/Kiwi/Classes/Core/NSValue+KiwiAdditions.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface NSValue(KiwiAdditions) - -#pragma mark - Accessing Data - -- (NSData *)dataValue; - -@end diff --git a/Pods/Kiwi/Classes/Core/NSValue+KiwiAdditions.m b/Pods/Kiwi/Classes/Core/NSValue+KiwiAdditions.m deleted file mode 100644 index 4ff3c77..0000000 --- a/Pods/Kiwi/Classes/Core/NSValue+KiwiAdditions.m +++ /dev/null @@ -1,23 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSValue+KiwiAdditions.h" -#import "KWObjCUtilities.h" - -@implementation NSValue(KiwiAdditions) - -#pragma mark - Accessing Data - -- (NSData *)dataValue { - NSUInteger length = KWObjCTypeLength([self objCType]); - void *buffer = malloc(length); - [self getValue:buffer]; - NSData *data = [NSData dataWithBytes:buffer length:length]; - free(buffer); - return data; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeBetweenMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeBetweenMatcher.h deleted file mode 100644 index fa08c75..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeBetweenMatcher.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeBetweenMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -// TODO: 'and' below is a reserved word in C++ -- (void)beBetween:(id)aLowerEndpoint and:(id)anUpperEndpoint; -- (void)beInTheIntervalFrom:(id)aLowerEndpoint to:(id)anUpperEndpoint; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeBetweenMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeBetweenMatcher.m deleted file mode 100644 index b33e3a2..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeBetweenMatcher.m +++ /dev/null @@ -1,63 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeBetweenMatcher.h" -#import "KWFormatter.h" - -@interface KWBeBetweenMatcher() - -#pragma mark - Properties - -@property (nonatomic, strong) id lowerEndpoint; -@property (nonatomic, strong) id upperEndpoint; - -@end - -@implementation KWBeBetweenMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beBetween:and:", @"beInTheIntervalFrom:to:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if (![self.subject respondsToSelector:@selector(compare:)]) - [NSException raise:@"KWMatcherException" format:@"subject does not respond to -compare:"]; - - NSComparisonResult lowerResult = [self.subject compare:self.lowerEndpoint]; - NSComparisonResult upperResult = [self.subject compare:self.upperEndpoint]; - return (lowerResult == NSOrderedDescending || lowerResult == NSOrderedSame) && - (upperResult == NSOrderedAscending || upperResult == NSOrderedSame); -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be in the interval [%@, %@], got %@", - [KWFormatter formatObject:self.lowerEndpoint], - [KWFormatter formatObject:self.upperEndpoint], - [KWFormatter formatObject:self.subject]]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be between %@ and %@", self.lowerEndpoint, self.upperEndpoint]; -} - -#pragma mark - Configuring Matchers - -- (void)beBetween:(id)aLowerEndpoint and:(id)anUpperEndpoint { - [self beInTheIntervalFrom:aLowerEndpoint to:anUpperEndpoint]; -} - -- (void)beInTheIntervalFrom:(id)aLowerEndpoint to:(id)anUpperEndpoint { - self.lowerEndpoint = aLowerEndpoint; - self.upperEndpoint = anUpperEndpoint; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeEmptyMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeEmptyMatcher.h deleted file mode 100644 index 540e6dd..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeEmptyMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeEmptyMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beEmpty; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeEmptyMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeEmptyMatcher.m deleted file mode 100644 index 8f0194d..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeEmptyMatcher.m +++ /dev/null @@ -1,68 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeEmptyMatcher.h" -#import "KWFormatter.h" - -@interface KWBeEmptyMatcher() - -#pragma mark - Properties - -@property (nonatomic, readwrite) NSUInteger count; - -@end - -@implementation KWBeEmptyMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beEmpty"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if ([self.subject respondsToSelector:@selector(count)]) { - self.count = [self.subject count]; - return self.count == 0; - } - else if ([self.subject respondsToSelector:@selector(length)]) { - self.count = [self.subject length]; - return self.count == 0; - } - - [NSException raise:@"KWMatcherException" format:@"subject does not respond to -count or -length"]; - return NO; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)countPhrase { - if (self.count == 1) - return @"1 item"; - else - return [NSString stringWithFormat:@"%u items", (unsigned)self.count]; -} - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be empty, got %@", [self countPhrase]]; -} - -- (NSString *)failureMessageForShouldNot { - return @"expected subject not to be empty"; -} - -- (NSString *)description { - return @"be empty"; -} - -#pragma mark - Configuring Matchers - -- (void)beEmpty { -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.h deleted file mode 100644 index 09cc4b6..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeIdenticalToMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beIdenticalTo:(id)anObject; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.m deleted file mode 100644 index beb9886..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeIdenticalToMatcher.m +++ /dev/null @@ -1,58 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeIdenticalToMatcher.h" -#import "KWFormatter.h" - -@interface KWBeIdenticalToMatcher() - -#pragma mark - Properties - -@property (nonatomic, readwrite, strong) id otherSubject; - -@end - -@implementation KWBeIdenticalToMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beIdenticalTo:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - return self.subject == self.otherSubject; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be identical to %@ (%p), got %@ (%p)", - [KWFormatter formatObject:self.otherSubject], - self.otherSubject, - [KWFormatter formatObject:self.subject], - self.subject]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected subject not to be identical to %@ (%p)", - [KWFormatter formatObject:self.otherSubject], - self.otherSubject]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be identical to %@", self.otherSubject]; -} - -#pragma mark - Configuring Matchers - -- (void)beIdenticalTo:(id)anObject { - self.otherSubject = anObject; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.h deleted file mode 100644 index 7e76fb2..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeKindOfClassMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beKindOfClass:(Class)aClass; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.m deleted file mode 100644 index 90afc4f..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeKindOfClassMatcher.m +++ /dev/null @@ -1,48 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeKindOfClassMatcher.h" -#import "KWFormatter.h" - -@interface KWBeKindOfClassMatcher() - -@property (nonatomic, assign) Class targetClass; - -@end - -@implementation KWBeKindOfClassMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beKindOfClass:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - return [self.subject isKindOfClass:self.targetClass]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be kind of %@, got %@", - NSStringFromClass(self.targetClass), - NSStringFromClass([self.subject class])]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be kind of %@", NSStringFromClass(self.targetClass)]; -} - -#pragma mark - Configuring Matchers - -- (void)beKindOfClass:(Class)aClass { - self.targetClass = aClass; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.h deleted file mode 100644 index fc2fc8d..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeMemberOfClassMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beMemberOfClass:(Class)aClass; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.m deleted file mode 100644 index 20f41e9..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeMemberOfClassMatcher.m +++ /dev/null @@ -1,49 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeMemberOfClassMatcher.h" -#import "KWFormatter.h" - -@interface KWBeMemberOfClassMatcher() - -@property (nonatomic, assign) Class targetClass; - -@end - -@implementation KWBeMemberOfClassMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beMemberOfClass:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - return [self.subject isMemberOfClass:self.targetClass]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be member of %@, got %@", - NSStringFromClass(self.targetClass), - NSStringFromClass([self.subject class])]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be member of %@", - NSStringFromClass(self.targetClass)]; -} - -#pragma mark - Configuring Matchers - -- (void)beMemberOfClass:(Class)aClass { - self.targetClass = aClass; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.h deleted file mode 100644 index fcb4fec..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeSubclassOfClassMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beSubclassOfClass:(Class)aClass; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.m deleted file mode 100644 index 90740de..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeSubclassOfClassMatcher.m +++ /dev/null @@ -1,51 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeSubclassOfClassMatcher.h" -#import "KWFormatter.h" - -@interface KWBeSubclassOfClassMatcher() - -#pragma mark - Properties - -@property (nonatomic, assign) Class targetClass; - -@end - -@implementation KWBeSubclassOfClassMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beSubclassOfClass:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - return [self.subject isSubclassOfClass:self.targetClass]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be subclass of %@, got %@", - NSStringFromClass(self.targetClass), - NSStringFromClass([self.subject class])]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be subclass of %@", - NSStringFromClass(self.targetClass)]; -} - -#pragma mark - Configuring Matchers - -- (void)beSubclassOfClass:(Class)aClass { - self.targetClass = aClass; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeTrueMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeTrueMatcher.h deleted file mode 100644 index 755a80d..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeTrueMatcher.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeTrueMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beTrue; -- (void)beFalse; -- (void)beYes; -- (void)beNo; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeTrueMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeTrueMatcher.m deleted file mode 100644 index 4a9b01a..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeTrueMatcher.m +++ /dev/null @@ -1,64 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeTrueMatcher.h" - -@interface KWBeTrueMatcher() - -@property (nonatomic, readwrite) BOOL expectedValue; - -@end - -@implementation KWBeTrueMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beTrue", @"beFalse", @"beYes", @"beNo"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if (![self.subject respondsToSelector:@selector(boolValue)]) - [NSException raise:@"KWMatcherException" format:@"subject does not respond to -boolValue"]; - - return [self.subject boolValue] == self.expectedValue; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be %@", - self.expectedValue ? @"true" : @"false"]; -} - -- (NSString *)description { - if (self.expectedValue == YES) { - return @"be true"; - } - return @"be false"; -} - -#pragma mark - Configuring Matchers - -- (void)beTrue { - self.expectedValue = YES; -} - -- (void)beFalse { - self.expectedValue = NO; -} - -- (void)beYes { - self.expectedValue = YES; -} - -- (void)beNo { - self.expectedValue = NO; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeWithinMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeWithinMatcher.h deleted file mode 100644 index fb455e7..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeWithinMatcher.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeWithinMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beWithin:(id)aDistance of:(id)aValue; -- (void)equal:(double)aValue withDelta:(double)aDelta; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeWithinMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeWithinMatcher.m deleted file mode 100644 index f05d060..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeWithinMatcher.m +++ /dev/null @@ -1,91 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeWithinMatcher.h" -#import "KWFormatter.h" -#import "KWObjCUtilities.h" -#import "KWValue.h" - -@interface KWBeWithinMatcher() - -@property (nonatomic, readwrite, strong) id distance; -@property (nonatomic, readwrite, strong) id otherValue; - -@end - -@implementation KWBeWithinMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beWithin:of:", @"equal:withDelta:"]; -} - -#pragma mark - Matching - -// Evaluation is done by getting the underlying values as the widest data -// types available. - -- (BOOL)evaluateForFloatingPoint { - double firstValue = [self.subject doubleValue]; - double secondValue = [self.otherValue doubleValue]; - double theDistance = [self.distance doubleValue]; - double absoluteDifference = firstValue > secondValue ? firstValue - secondValue : secondValue - firstValue; - return absoluteDifference <= theDistance; -} - -- (BOOL)evaluateForUnsignedIntegral { - unsigned long long firstValue = [self.subject unsignedLongLongValue]; - unsigned long long secondValue = [self.otherValue unsignedLongLongValue]; - unsigned long long theDistance = [self.distance unsignedLongLongValue]; - unsigned long long absoluteDifference = firstValue > secondValue ? firstValue - secondValue : secondValue - firstValue; - return absoluteDifference <= theDistance; -} - -- (BOOL)evaluateForSignedIntegral { - long long firstValue = [self.subject longLongValue]; - long long secondValue = [self.otherValue longLongValue]; - long long theDistance = [self.distance longLongValue]; - long long absoluteDifference = firstValue > secondValue ? firstValue - secondValue : secondValue - firstValue; - return absoluteDifference <= theDistance; -} - -- (BOOL)evaluate { - const char *objCType = [self.subject objCType]; - - if (KWObjCTypeIsFloatingPoint(objCType)) - return [self evaluateForFloatingPoint]; - else if (KWObjCTypeIsUnsignedIntegral(objCType)) - return [self evaluateForUnsignedIntegral]; - else - return [self evaluateForSignedIntegral]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be within %@ of %@, got %@", - [KWFormatter formatObject:self.distance], - [KWFormatter formatObject:self.otherValue], - [KWFormatter formatObject:self.subject]]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be within %@ of %@", self.distance, self.otherValue]; -} - -#pragma mark - Configuring Matchers - -- (void)beWithin:(id)aDistance of:(id)aValue { - self.distance = aDistance; - self.otherValue = aValue; -} - -- (void)equal:(double)aValue withDelta:(double)aDelta { - [self beWithin:[KWValue valueWithDouble:aDelta] of:[KWValue valueWithDouble:aValue]]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeZeroMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBeZeroMatcher.h deleted file mode 100644 index bdb4dac..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeZeroMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBeZeroMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beZero; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBeZeroMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBeZeroMatcher.m deleted file mode 100644 index 8a9d025..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBeZeroMatcher.m +++ /dev/null @@ -1,44 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeZeroMatcher.h" -#import "KWFormatter.h" -#import "KWValue.h" - -@implementation KWBeZeroMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beZero"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if (![self.subject respondsToSelector:@selector(boolValue)]) - [NSException raise:@"KWMatcherException" format:@"subject does not respond to -numberValue"]; - - return [[self.subject numberValue] isEqualToNumber:@0]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be zero, got %@", - [KWFormatter formatObject:self.subject]]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected subject not to be zero"]; -} - -#pragma mark - Configuring Matchers - -- (void)beZero { -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBlockRaiseMatcher.h b/Pods/Kiwi/Classes/Matchers/KWBlockRaiseMatcher.h deleted file mode 100644 index 064d40a..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBlockRaiseMatcher.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWBlockRaiseMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)raise; -- (void)raiseWithName:(NSString *)aName; -- (void)raiseWithReason:(NSString *)aReason; -- (void)raiseWithName:(NSString *)aName reason:(NSString *)aReason; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWBlockRaiseMatcher.m b/Pods/Kiwi/Classes/Matchers/KWBlockRaiseMatcher.m deleted file mode 100644 index f4bd79e..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWBlockRaiseMatcher.m +++ /dev/null @@ -1,103 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBlockRaiseMatcher.h" -#import "KWBlock.h" - -@interface KWBlockRaiseMatcher() - -@property (nonatomic, readwrite, strong) NSException *exception; -@property (nonatomic, readwrite, strong) NSException *actualException; - -@end - -@implementation KWBlockRaiseMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"raise", - @"raiseWithName:", - @"raiseWithReason:", - @"raiseWithName:reason:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if (![self.subject isKindOfClass:[KWBlock class]]) - [NSException raise:@"KWMatcherException" format:@"subject must be a KWBlock"]; - - @try { - [self.subject call]; - } @catch (NSException *anException) { - self.actualException = anException; - - if ([self.exception name] != nil && ![[self.exception name] isEqualToString:[anException name]]) - return NO; - - if ([self.exception reason] != nil && ![[self.exception reason] isEqualToString:[anException reason]]) - return NO; - - return YES; - } - - return NO; -} - -#pragma mark - Getting Failure Messages - -+ (NSString *)exceptionPhraseWithException:(NSException *)anException { - if (anException == nil) - return @"nothing"; - - NSString *namePhrase = nil; - - if ([anException name] == nil) - namePhrase = @"exception"; - else - namePhrase = [anException name]; - - if ([anException reason] == nil) - return namePhrase; - - return [NSString stringWithFormat:@"%@ \"%@\"", namePhrase, [anException reason]]; -} - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected %@, but %@ raised", - [[self class] exceptionPhraseWithException:self.exception], - [[self class] exceptionPhraseWithException:self.actualException]]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected %@ not to be raised", - [[self class] exceptionPhraseWithException:self.actualException]]; -} - -#pragma mark - Configuring Matchers - -- (void)raise { - [self raiseWithName:nil reason:nil]; -} - -- (void)raiseWithName:(NSString *)aName { - [self raiseWithName:aName reason:nil]; -} - -- (void)raiseWithReason:(NSString *)aReason { - [self raiseWithName:nil reason:aReason]; -} - -- (void)raiseWithName:(NSString *)aName reason:(NSString *)aReason { - self.exception = [NSException exceptionWithName:aName reason:aReason userInfo:nil]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"raise %@", [[self class] exceptionPhraseWithException:self.exception]]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWChangeMatcher.h b/Pods/Kiwi/Classes/Matchers/KWChangeMatcher.h deleted file mode 100644 index 89d37d6..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWChangeMatcher.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// KWChangeMatcher.h -// Kiwi -// -// Copyright (c) 2013 Eloy Durán . -// All rights reserved. -// - -#import "KWMatcher.h" - -typedef NSInteger (^KWChangeMatcherCountBlock)(); - -@interface KWChangeMatcher : KWMatcher - -// Expect _any_ change. -- (void)change:(KWChangeMatcherCountBlock)countBlock; - -// Expect changes by a specific amount. -- (void)change:(KWChangeMatcherCountBlock)countBlock by:(NSInteger)expectedDifference; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWChangeMatcher.m b/Pods/Kiwi/Classes/Matchers/KWChangeMatcher.m deleted file mode 100644 index fb7a376..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWChangeMatcher.m +++ /dev/null @@ -1,73 +0,0 @@ -// -// KWChangeMatcher.m -// Kiwi -// -// Copyright (c) 2013 Eloy Durán . -// All rights reserved. -// - -#import "KWChangeMatcher.h" -#import "KWBlock.h" - -@interface KWChangeMatcher () -@property (nonatomic, copy) KWChangeMatcherCountBlock countBlock; -@property (nonatomic, assign) BOOL anyChange; -@property (nonatomic, assign) NSInteger expectedDifference, expectedTotal, actualTotal; -@end - -@implementation KWChangeMatcher - -+ (NSArray *)matcherStrings { - return @[@"change:by:", @"change:"]; -} - -- (NSString *)failureMessageForShould { - if (self.anyChange) { - return @"expected subject to change the count"; - } else { - return [NSString stringWithFormat:@"expected subject to change the count to %d, got %d", (int)self.expectedTotal, (int)self.actualTotal]; - } -} - -- (NSString *)failureMessageForShouldNot { - if (self.anyChange) { - return @"expected subject to not change the count"; - } else { - return [NSString stringWithFormat:@"expected subject not to change the count to %d", (int)self.actualTotal]; - } -} - -- (NSString *)description { - if (self.anyChange) { - return @"change count"; - } else { - return [NSString stringWithFormat:@"change count by %d", (int)self.expectedDifference]; - } -} - -- (BOOL)evaluate { - NSInteger before = self.countBlock(); - // Perform actual work, which is expected to change the result of countBlock. - [self.subject call]; - self.actualTotal = self.countBlock(); - - if (self.anyChange) { - return before != self.actualTotal; - } else { - self.expectedTotal = before + self.expectedDifference; - return self.expectedTotal == self.actualTotal; - } -} - -- (void)change:(KWChangeMatcherCountBlock)countBlock by:(NSInteger)expectedDifference { - self.anyChange = NO; - self.expectedDifference = expectedDifference; - self.countBlock = countBlock; -} - -- (void)change:(KWChangeMatcherCountBlock)countBlock { - self.anyChange = YES; - self.countBlock = countBlock; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWConformToProtocolMatcher.h b/Pods/Kiwi/Classes/Matchers/KWConformToProtocolMatcher.h deleted file mode 100644 index d25ba80..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWConformToProtocolMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWConformToProtocolMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)conformToProtocol:(Protocol *)aProtocol; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWConformToProtocolMatcher.m b/Pods/Kiwi/Classes/Matchers/KWConformToProtocolMatcher.m deleted file mode 100644 index deb8e2a..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWConformToProtocolMatcher.m +++ /dev/null @@ -1,47 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWConformToProtocolMatcher.h" -#import "KWFormatter.h" - -@interface KWConformToProtocolMatcher() - -@property (nonatomic, assign) Protocol *protocol; - -@end - -@implementation KWConformToProtocolMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"conformToProtocol:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - return [self.subject conformsToProtocol:self.protocol]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to conform to %@ protocol", - NSStringFromProtocol(self.protocol)]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"conform to %@ protocol", NSStringFromProtocol(self.protocol)]; -} - -#pragma mark - Configuring Matchers - -- (void)conformToProtocol:(Protocol *)aProtocol { - self.protocol = aProtocol; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWContainMatcher.h b/Pods/Kiwi/Classes/Matchers/KWContainMatcher.h deleted file mode 100644 index 6a750da..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWContainMatcher.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" -#import "KWMatchVerifier.h" - -@interface KWContainMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)contain:(id)anObject; -- (void)containObjectsInArray:(NSArray *)anArray; - -@end - -@interface KWMatchVerifier(KWContainMatcherAdditions) - -#pragma mark - Verifying - -- (void)containObjects:(id)firstObject, ... NS_REQUIRES_NIL_TERMINATION; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWContainMatcher.m b/Pods/Kiwi/Classes/Matchers/KWContainMatcher.m deleted file mode 100644 index 499e367..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWContainMatcher.m +++ /dev/null @@ -1,88 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWContainMatcher.h" -#import "KWFormatter.h" -#import "KWGenericMatchingAdditions.h" - -@interface KWContainMatcher() - -@property (nonatomic, readwrite, strong) id objects; - -@end - -@implementation KWContainMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"contain:", @"containObjectsInArray:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if (![self.subject respondsToSelector:@selector(containsObjectEqualToOrMatching:)]) - [NSException raise:@"KWMatcherException" format:@"subject does not respond to -containsObjectEqualToOrMatching:"]; - - for (id object in self.objects) { - if (![self.subject containsObjectEqualToOrMatching:object]) - return NO; - } - - return YES; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)objectsPhrase { - if ([self.objects count] == 1) - return [KWFormatter formatObject:(self.objects)[0]]; - - return [NSString stringWithFormat:@"all of %@", [KWFormatter formatObject:self.objects]]; -} - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to contain %@", [self objectsPhrase]]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"contain %@", [self objectsPhrase]]; -} - -#pragma mark - Configuring Matchers - -- (void)contain:(id)anObject { - self.objects = @[anObject]; -} - -- (void)containObjectsInArray:(NSArray *)anArray { - self.objects = anArray; -} - -@end - -@implementation KWMatchVerifier(KWContainMatcherAdditions) - -#pragma mark - Verifying - -- (void)containObjects:(id)firstObject, ... { - NSMutableArray *objects = [NSMutableArray array]; - - va_list argumentList; - va_start(argumentList, firstObject); - id object = firstObject; - - while (object != nil) { - [objects addObject:object]; - object = va_arg(argumentList, id); - } - - va_end(argumentList); - [(id)self containObjectsInArray:objects]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWContainStringMatcher.h b/Pods/Kiwi/Classes/Matchers/KWContainStringMatcher.h deleted file mode 100644 index be850d1..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWContainStringMatcher.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// KWContainStringMatcher.h -// Kiwi -// -// Created by Kristopher Johnson on 4/28/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -// Kiwi matcher for determining whether a string contains an expected substring -// -// Examples: -// -// [[@"Hello, world!" should] containString:@"world"]; -// [[@"Hello, world!" shouldNot] containString:@"xyzzy"]; -// -// [[@"Hello, world!" should] containString:@"WORLD" -// options:NSCaseInsensitiveSearch]; -// -// [[@"Hello, world!" should] startWithString:@"Hello,"]; -// [[@"Hello, world!" should] endWithString:@"world!"]; - -@interface KWContainStringMatcher : KWMatcher - -// Match if subject contains specified substring -- (void)containString:(NSString *)string; - -// Match if subject contains specified substring, using specified comparison options -- (void)containString:(NSString *)string options:(NSStringCompareOptions)options; - -// Match if subject starts with the specified prefix -- (void)startWithString:(NSString *)prefix; - -// Match if subject ends with the specified prefix -- (void)endWithString:(NSString *)suffix; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWContainStringMatcher.m b/Pods/Kiwi/Classes/Matchers/KWContainStringMatcher.m deleted file mode 100644 index 19209d1..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWContainStringMatcher.m +++ /dev/null @@ -1,85 +0,0 @@ -// -// KWContainStringMatcher.m -// Kiwi -// -// Created by Kristopher Johnson on 4/28/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import "KWContainStringMatcher.h" -#import "KWFormatter.h" - -@interface KWContainStringMatcher () - -@property (nonatomic, copy) NSString *substring; -@property (nonatomic) NSStringCompareOptions options; - -@end - - -@implementation KWContainStringMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"containString:", - @"containString:options:", - @"startWithString:", - @"endWithString:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - NSString *subjectString = (NSString *)self.subject; - if (![subjectString isKindOfClass:[NSString class]]) { - [NSException raise:@"KWMatcherException" format:@"subject is not a string"]; - return NO; - } - - NSRange range = [subjectString rangeOfString:self.substring options:self.options]; - return (range.location != NSNotFound); -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"%@ did not contain string \"%@\"", - [KWFormatter formatObject:self.subject], - self.substring]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected subject not to contain string \"%@\"", - self.substring]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"contain substring \"%@\"", self.substring]; -} - -#pragma mark - Configuring matchers - -- (void)containString:(NSString *)substring { - self.substring = substring; - self.options = 0; -} - -- (void)containString:(NSString *)substring options:(NSStringCompareOptions)options { - self.substring = substring; - self.options = options; -} - -- (void)startWithString:(NSString *)prefix { - self.substring = prefix; - self.options = NSAnchoredSearch; -} - -- (void)endWithString:(NSString *)suffix { - self.substring = suffix; - self.options = NSAnchoredSearch | NSBackwardsSearch; -} - -@end - - diff --git a/Pods/Kiwi/Classes/Matchers/KWEqualMatcher.h b/Pods/Kiwi/Classes/Matchers/KWEqualMatcher.h deleted file mode 100644 index b1ae523..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWEqualMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWEqualMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)equal:(id)anObject; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWEqualMatcher.m b/Pods/Kiwi/Classes/Matchers/KWEqualMatcher.m deleted file mode 100644 index 51f3012..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWEqualMatcher.m +++ /dev/null @@ -1,68 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWEqualMatcher.h" -#import "KWFormatter.h" -#import "KWValue.h" - -@interface KWEqualMatcher() - -#pragma mark - Properties - -@property (nonatomic, readwrite, strong) id otherSubject; - -@end - -@implementation KWEqualMatcher - -#pragma mark - Initializing - - -#pragma mark - Properties - -@synthesize otherSubject; - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"equal:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - /** handle this as a special case; KWValue supports NSNumber equality but not vice-versa **/ - if ([self.subject isKindOfClass:[NSNumber class]] && [self.otherSubject isKindOfClass:[KWValue class]]) { - return [self.otherSubject isEqual:self.subject]; - } - return [self.subject isEqual:self.otherSubject]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to equal %@, got %@", - [KWFormatter formatObjectIncludingClass:self.otherSubject], - [KWFormatter formatObjectIncludingClass:self.subject]]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected subject not to equal %@", - [KWFormatter formatObjectIncludingClass:self.otherSubject]]; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"equal %@", [KWFormatter formatObjectIncludingClass:self.otherSubject]]; -} - -#pragma mark - Configuring Matchers - -- (void)equal:(id)anObject { - self.otherSubject = anObject; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWGenericMatchEvaluator.h b/Pods/Kiwi/Classes/Matchers/KWGenericMatchEvaluator.h deleted file mode 100644 index c906ab1..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWGenericMatchEvaluator.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// KWGenericMatcher.h -// Kiwi -// -// Created by Allen Ding on 1/31/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import - -@interface KWGenericMatchEvaluator : NSObject - -+ (BOOL)isGenericMatcher:(id)object; - -+ (BOOL)genericMatcher:(id)matcher matches:(id)object; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWGenericMatchEvaluator.m b/Pods/Kiwi/Classes/Matchers/KWGenericMatchEvaluator.m deleted file mode 100644 index 138a03d..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWGenericMatchEvaluator.m +++ /dev/null @@ -1,65 +0,0 @@ -// -// KWGenericMatcher.m -// Kiwi -// -// Created by Allen Ding on 1/31/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import "KWGenericMatchEvaluator.h" -#import "KWStringUtilities.h" -#import "KWObjCUtilities.h" -#import -#import "KWGenericMatcher.h" - -@implementation KWGenericMatchEvaluator - -// Returns true only if the object has a method with the signature "- (BOOL)matches:(id)object" -+ (BOOL)isGenericMatcher:(id)object { - Class theClass = object_getClass(object); - - if (theClass == NULL) { - return NO; - } - Method method = class_getInstanceMethod(theClass, @selector(matches:)); - - if (method == NULL) { - return NO; - } - - const char *cEncoding = method_getTypeEncoding(method); - - if (cEncoding == NULL) { - return NO; - } - - NSMethodSignature *signature = [NSMethodSignature signatureWithObjCTypes:cEncoding]; - - if (!KWObjCTypeEqualToObjCType(@encode(BOOL), [signature methodReturnType])) { - return NO; - } - - if ([signature numberOfArguments] != 3) { - return NO; - } - - if (!KWObjCTypeEqualToObjCType(@encode(id), [signature getArgumentTypeAtIndex:2])) { - return NO; - } - - return YES; -} - -+ (BOOL)genericMatcher:(id)matcher matches:(id)object { - NSString *targetEncoding = KWEncodingWithObjCTypes(@encode(BOOL), @encode(id), @encode(SEL), @encode(id), nil); - NSMethodSignature *signature = [NSMethodSignature signatureWithObjCTypes:[targetEncoding UTF8String]]; - NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature]; - [invocation setSelector:@selector(matches:)]; - [invocation setArgument:&object atIndex:2]; - [invocation invokeWithTarget:matcher]; - BOOL result = NO; - [invocation getReturnValue:&result]; - return result; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWGenericMatcher.h b/Pods/Kiwi/Classes/Matchers/KWGenericMatcher.h deleted file mode 100644 index be3c7f6..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWGenericMatcher.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// KWGenericMatcher.h -// Kiwi -// -// Created by Luke Redpath on 24/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import -#import "KWMatcher.h" - -@protocol KWGenericMatching - -- (BOOL)matches:(id)object; - -@end - -@interface KWGenericMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)match:(id)aMatcher; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWGenericMatcher.m b/Pods/Kiwi/Classes/Matchers/KWGenericMatcher.m deleted file mode 100644 index 81cc888..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWGenericMatcher.m +++ /dev/null @@ -1,48 +0,0 @@ -// -// KWGenericMatcher.m -// Kiwi -// -// Created by Luke Redpath on 24/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import "KWGenericMatcher.h" -#import "KWGenericMatchEvaluator.h" - -@interface KWGenericMatcher () - -@property (nonatomic, strong) id matcher; - -@end - -@implementation KWGenericMatcher - -#pragma mark - Matching - -- (BOOL)evaluate { - return [KWGenericMatchEvaluator genericMatcher:self.matcher matches:self.subject]; -} - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to match %@", self.matcher]; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"match %@", [self.matcher description]]; -} - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"match:"]; -} - -#pragma mark - Configuring Matchers - -- (void)match:(id)aMatcher; -{ - self.matcher = aMatcher; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWGenericMatchingAdditions.h b/Pods/Kiwi/Classes/Matchers/KWGenericMatchingAdditions.h deleted file mode 100644 index 257f2e9..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWGenericMatchingAdditions.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// NSObject+KiwiAdditions.h -// Kiwi -// -// Created by Luke Redpath on 24/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import - -@interface NSObject (KiwiGenericMatchingAdditions) - -- (BOOL)isEqualOrMatches:(id)object; - -@end - -@interface NSArray (KiwiGenericMatchingAdditions) - -- (BOOL)containsObjectEqualToOrMatching:(id)object; -- (BOOL)containsObjectMatching:(id)matcher; - -@end - -@interface NSSet (KiwiGenericMatchingAdditions) - -- (BOOL)containsObjectEqualToOrMatching:(id)object; - -@end - -@interface NSOrderedSet (KiwiGenericMatchingAdditions) - -- (BOOL)containsObjectEqualToOrMatching:(id)object; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWGenericMatchingAdditions.m b/Pods/Kiwi/Classes/Matchers/KWGenericMatchingAdditions.m deleted file mode 100644 index 37da7dd..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWGenericMatchingAdditions.m +++ /dev/null @@ -1,67 +0,0 @@ -// -// NSObject+KiwiAdditions.m -// Kiwi -// -// Created by Luke Redpath on 24/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import "KWGenericMatchingAdditions.h" -#import "KWGenericMatcher.h" -#import "KWGenericMatchEvaluator.h" - -@implementation NSObject (KiwiGenericMatchingAdditions) - -- (BOOL)isEqualOrMatches:(id)object { - if ([KWGenericMatchEvaluator isGenericMatcher:self]) { - return [KWGenericMatchEvaluator genericMatcher:self matches:object]; - } - return [self isEqual:object]; -} - -@end - -@implementation NSArray (KiwiGenericMatchingAdditions) - -- (BOOL)containsObjectEqualToOrMatching:(id)object { - if ([KWGenericMatchEvaluator isGenericMatcher:object]) { - return [self containsObjectMatching:object]; - } - return [self containsObject:object]; -} - -- (BOOL)containsObjectMatching:(id)matcher { - NSIndexSet *indexSet = [self indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop) { - BOOL matches = [KWGenericMatchEvaluator genericMatcher:matcher matches:obj]; - if (matches) { - *stop = YES; - } - return matches; - }]; - - return (indexSet.count > 0); -} - -@end - -@implementation NSSet (KiwiGenericMatchingAdditions) - -- (BOOL)containsObjectEqualToOrMatching:(id)object { - if ([KWGenericMatchEvaluator isGenericMatcher:object]) { - return [[self allObjects] containsObjectMatching:object]; - } - return [self containsObject:object]; -} - -@end - -@implementation NSOrderedSet (KiwiGenericMatchingAdditions) - -- (BOOL)containsObjectEqualToOrMatching:(id)object { - if ([KWGenericMatchEvaluator isGenericMatcher:object]) { - return [[self array] containsObjectMatching:object]; - } - return [self containsObject:object]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWHaveMatcher.h b/Pods/Kiwi/Classes/Matchers/KWHaveMatcher.h deleted file mode 100644 index ae4637d..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWHaveMatcher.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWCountType.h" -#import "KWMatcher.h" -#import "KWMatchVerifier.h" - -@interface KWHaveMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)haveCountOf:(NSUInteger)aCount; -- (void)haveCountOfAtLeast:(NSUInteger)aCount; -- (void)haveCountOfAtMost:(NSUInteger)aCount; -- (void)haveLengthOf:(NSUInteger)aCount; -- (void)haveLengthOfAtLeast:(NSUInteger)aCount; -- (void)haveLengthOfAtMost:(NSUInteger)aCount; -- (void)have:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation; -- (void)haveAtLeast:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation; -- (void)haveAtMost:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation; - -@end - -@protocol KWContainmentCountMatcherTerminals - -#pragma mark - Terminals - -- (id)objects; -- (id)items; -- (id)elements; - -@end - -#pragma mark - Verifying - -@interface KWMatchVerifier(KWHaveMatcherAdditions) - -#pragma mark - Invocation Capturing Methods - -- (id)have:(NSUInteger)aCount; -- (id)haveAtLeast:(NSUInteger)aCount; -- (id)haveAtMost:(NSUInteger)aCount; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWHaveMatcher.m b/Pods/Kiwi/Classes/Matchers/KWHaveMatcher.m deleted file mode 100644 index 58fbec9..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWHaveMatcher.m +++ /dev/null @@ -1,254 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWHaveMatcher.h" -#import "KWFormatter.h" -#import "KWInvocationCapturer.h" -#import "KWObjCUtilities.h" -#import "KWStringUtilities.h" - -static NSString * const MatchVerifierKey = @"MatchVerifierKey"; -static NSString * const CountTypeKey = @"CountTypeKey"; -static NSString * const CountKey = @"CountKey"; - -@interface KWHaveMatcher() - -#pragma mark - Properties - -@property (nonatomic, assign) KWCountType countType; -@property (nonatomic, assign) NSUInteger count; -@property (nonatomic, strong) NSInvocation *invocation; -@property (nonatomic, assign) NSUInteger actualCount; - -@end - -@implementation KWHaveMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[ - @"haveCountOf:", - @"haveCountOfAtLeast:", - @"haveCountOfAtMost:", - @"haveLengthOf:", - @"haveLengthOfAtLeast:", - @"haveLengthOfAtMost:", - @"have:itemsForInvocation:", - @"haveAtLeast:itemsForInvocation:", - @"haveAtMost:itemsForInvocation:", - ]; -} - -#pragma mark - Matching - -- (id)targetObject { - if (self.invocation == nil) - return self.subject; - - SEL selector = [self.invocation selector]; - - if ([self.subject respondsToSelector:selector]) { - NSMethodSignature *signature = [self.subject methodSignatureForSelector:selector]; - - if (!KWObjCTypeIsObject([signature methodReturnType])) - [NSException raise:@"KWMatcherEception" format:@"a valid collection was not specified"]; - - __unsafe_unretained id object = nil; - [self.invocation invokeWithTarget:self.subject]; - [self.invocation getReturnValue:&object]; - return object; - } else if (KWSelectorParameterCount(selector) == 0) { - return self.subject; - } else { - return nil; - } -} - -- (BOOL)evaluate { - id targetObject = [self targetObject]; - - if ([targetObject respondsToSelector:@selector(count)]) - self.actualCount = [targetObject count]; - else if ([targetObject respondsToSelector:@selector(length)]) - self.actualCount = [targetObject length]; - else - self.actualCount = 0; - - switch (self.countType) { - case KWCountTypeExact: - return self.actualCount == self.count; - case KWCountTypeAtLeast: - return self.actualCount >= self.count; - case KWCountTypeAtMost: - return self.actualCount <= self.count; - } - - assert(0 && "should never reach here"); - return NO; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)verbPhrase { - switch (self.countType) { - case KWCountTypeExact: - return @"have"; - case KWCountTypeAtLeast: - return @"have at least"; - case KWCountTypeAtMost: - return @"have at most"; - } - - assert(0 && "should never reach here"); - return nil; -} - -- (NSString *)itemPhrase { - if (self.invocation == nil) - return @"items"; - else - return NSStringFromSelector([self.invocation selector]); -} - -- (NSString *)actualCountPhrase { - if (self.actualCount == 1) - return @"1 item"; - else - return [NSString stringWithFormat:@"%u items", (unsigned)self.actualCount]; -} - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to %@ %u %@, got %@", - [self verbPhrase], - (unsigned)self.count, - [self itemPhrase], - [self actualCountPhrase]]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected subject not to %@ %u %@", - [self verbPhrase], - (unsigned)self.count, - [self itemPhrase]]; -} - -#pragma mark - Description - -- (NSString *)description { - return [NSString stringWithFormat:@"%@ %u %@", [self verbPhrase], (unsigned)self.count, [self itemPhrase]]; -} - -#pragma mark - Configuring Matchers - -- (void)haveCountOf:(NSUInteger)aCount { - self.count = aCount; - self.countType = KWCountTypeExact; -} - -- (void)haveLengthOf:(NSUInteger)aCount { - [self haveCountOf:aCount]; -} - -- (void)haveCountOfAtLeast:(NSUInteger)aCount { - self.count = aCount; - self.countType = KWCountTypeAtLeast; -} - -- (void)haveLengthOfAtLeast:(NSUInteger)aCount { - [self haveCountOfAtLeast:aCount]; -} - -- (void)haveCountOfAtMost:(NSUInteger)aCount { - self.count = aCount; - self.countType = KWCountTypeAtMost; -} - -- (void)haveLengthOfAtMost:(NSUInteger)aCount { - [self haveCountOfAtMost:aCount]; -} - -- (void)have:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation { - self.count = aCount; - self.countType = KWCountTypeExact; - self.invocation = anInvocation; -} - -- (void)haveAtLeast:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation { - self.count = aCount; - self.countType = KWCountTypeAtLeast; - self.invocation = anInvocation; -} - -- (void)haveAtMost:(NSUInteger)aCount itemsForInvocation:(NSInvocation *)anInvocation { - self.count = aCount; - self.countType = KWCountTypeAtMost; - self.invocation = anInvocation; -} - -#pragma mark - Capturing Invocations - -+ (NSMethodSignature *)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer methodSignatureForSelector:(SEL)aSelector { - KWMatchVerifier *verifier = (anInvocationCapturer.userInfo)[MatchVerifierKey]; - - if ([verifier.subject respondsToSelector:aSelector]) - return [verifier.subject methodSignatureForSelector:aSelector]; - - // Arbitrary selectors are allowed as expectation expression terminals when - // the subject itself is a collection, so return a dummy method signature. - NSString *encoding = KWEncodingForDefaultMethod(); - return [NSMethodSignature signatureWithObjCTypes:[encoding UTF8String]]; -} - -+ (void)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer didCaptureInvocation:(NSInvocation *)anInvocation { - NSDictionary *userInfo = anInvocationCapturer.userInfo; - id verifier = userInfo[MatchVerifierKey]; - KWCountType countType = [userInfo[CountTypeKey] unsignedIntegerValue]; - NSUInteger count = [userInfo[CountKey] unsignedIntegerValue]; - - switch (countType) { - case KWCountTypeExact: - [verifier have:count itemsForInvocation:anInvocation]; - break; - case KWCountTypeAtLeast: - [verifier haveAtLeast:count itemsForInvocation:anInvocation]; - break; - case KWCountTypeAtMost: - [verifier haveAtMost:count itemsForInvocation:anInvocation]; - break; - } -} - -@end - -#pragma mark - Verifying - -@implementation KWMatchVerifier(KWHaveMatcherAdditions) - -#pragma mark - Invocation Capturing Methods - -- (NSDictionary *)userInfoForHaveMatcherWithCountType:(KWCountType)aCountType count:(NSUInteger)aCount { - return @{MatchVerifierKey: self, - CountTypeKey: @(aCountType), - CountKey: @(aCount)}; -} - -- (id)have:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForHaveMatcherWithCountType:KWCountTypeExact count:aCount]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWHaveMatcher class] userInfo:userInfo]; -} - -- (id)haveAtLeast:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForHaveMatcherWithCountType:KWCountTypeAtLeast count:aCount]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWHaveMatcher class] userInfo:userInfo]; -} - -- (id)haveAtMost:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForHaveMatcherWithCountType:KWCountTypeAtMost count:aCount]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWHaveMatcher class] userInfo:userInfo]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWHaveValueMatcher.h b/Pods/Kiwi/Classes/Matchers/KWHaveValueMatcher.h deleted file mode 100644 index 73bfccb..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWHaveValueMatcher.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// KWHaveValueMatcher.h -// Kiwi -// -// Created by Luke Redpath on 24/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import -#import "KWMatcher.h" - -@interface KWHaveValueMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)haveValue:(id)value forKey:(NSString *)key; -- (void)haveValue:(id)value forKeyPath:(NSString *)keyPath; -- (void)haveValueForKey:(NSString *)key; -- (void)haveValueForKeyPath:(NSString *)keyPath; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWHaveValueMatcher.m b/Pods/Kiwi/Classes/Matchers/KWHaveValueMatcher.m deleted file mode 100644 index 9c6f8a6..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWHaveValueMatcher.m +++ /dev/null @@ -1,128 +0,0 @@ -// -// KWHaveValueMatcher.m -// Kiwi -// -// Created by Luke Redpath on 24/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import "KWHaveValueMatcher.h" -#import "KWGenericMatchingAdditions.h" -#import "KWGenericMatcher.h" -#import "KWFormatter.h" - -@interface KWHaveValueMatcher() - -@property (nonatomic, strong) NSString *expectedKey; -@property (nonatomic, strong) NSString *expectedKeyPath; -@property (nonatomic, strong) id expectedValue; - -@end - -@implementation KWHaveValueMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"haveValue:forKey:", - @"haveValueForKey:", - @"haveValue:forKeyPath:", - @"haveValueForKeyPath:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - BOOL matched = NO; - - @try { - id value = [self subjectValue]; - - if (value) { - matched = YES; - - if (self.expectedValue) { - matched = [self.expectedValue isEqualOrMatches:value]; - } - } - } - @catch (NSException * e) {} // catch KVO non-existent key errors - - return matched; -} - -- (NSString *)failureMessageForShould { - if (self.expectedValue == nil) { - return [NSString stringWithFormat:@"expected subject to have a value for key %@", - [KWFormatter formatObject:self.expectedKey]]; - } - id subjectValue = [self subjectValue]; - if (subjectValue) { - return [NSString stringWithFormat:@"expected subject to have value %@ for key %@, but it had value %@ instead", - [KWFormatter formatObject:self.expectedValue], - [KWFormatter formatObject:self.expectedKey], - [KWFormatter formatObject:subjectValue]]; - } else { - return [NSString stringWithFormat:@"expected subject to have value %@ for key %@, but the key was not present", - [KWFormatter formatObject:self.expectedValue], - [KWFormatter formatObject:self.expectedKey]]; - } -} - -- (id)subjectValue { - id value = nil; - - if (self.expectedKey) { - value = [self.subject valueForKey:self.expectedKey]; - } else - if (self.expectedKeyPath) { - value = [self.subject valueForKeyPath:self.expectedKeyPath]; - } - return value; -} - -- (NSString *)description { - NSString *keyDescription = nil; - - if (self.expectedKey) { - keyDescription = [NSString stringWithFormat:@"key %@", [KWFormatter formatObject:self.expectedKey]]; - } - else { - keyDescription = [NSString stringWithFormat:@"keypath %@", [KWFormatter formatObject:self.expectedKeyPath]]; - } - - NSString *valueDescription = nil; - - if (self.expectedValue) { - valueDescription = [NSString stringWithFormat:@"value %@", [KWFormatter formatObject:self.expectedValue]]; - } - else { - valueDescription = @"value"; - } - - return [NSString stringWithFormat:@"have %@ for %@", valueDescription, keyDescription]; -} - -#pragma mark - Configuring Matchers - -- (void)haveValue:(id)value forKey:(NSString *)key { - self.expectedKey = key; - self.expectedValue = value; -} - -- (void)haveValue:(id)value forKeyPath:(NSString *)key { - self.expectedKeyPath = key; - self.expectedValue = value; -} - -- (void)haveValueForKey:(NSString *)key { - self.expectedKey = key; - self.expectedValue = nil; -} - -- (void)haveValueForKeyPath:(NSString *)keyPath { - self.expectedKeyPath = keyPath; - self.expectedValue = nil; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWInequalityMatcher.h b/Pods/Kiwi/Classes/Matchers/KWInequalityMatcher.h deleted file mode 100644 index 003ba4b..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWInequalityMatcher.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWInequalityMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)beLessThan:(id)aValue; -- (void)beLessThanOrEqualTo:(id)aValue; -- (void)beGreaterThan:(id)aValue; -- (void)beGreaterThanOrEqualTo:(id)aValue; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWInequalityMatcher.m b/Pods/Kiwi/Classes/Matchers/KWInequalityMatcher.m deleted file mode 100644 index 573e370..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWInequalityMatcher.m +++ /dev/null @@ -1,109 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWInequalityMatcher.h" -#import "KWFormatter.h" - -typedef NS_ENUM(NSUInteger, KWInequalityType) { - KWInequalityTypeLessThan, - KWInequalityTypeLessThanOrEqualTo, - KWInequalityTypeGreaterThan, - KWInequalityTypeGreaterThanOrEqualTo -}; - -@interface KWInequalityMatcher() - -#pragma mark - Properties - -@property (nonatomic, assign) KWInequalityType inequalityType; -@property (nonatomic, strong) id otherValue; - -@end - -@implementation KWInequalityMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beLessThan:", - @"beLessThanOrEqualTo:", - @"beGreaterThan:", - @"beGreaterThanOrEqualTo:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if (![self.subject respondsToSelector:@selector(compare:)]) - [NSException raise:@"KWMatcherException" format:@"subject does not respond to -compare:"]; - - NSComparisonResult result = [self.subject compare:self.otherValue]; - - switch (result) { - case NSOrderedSame: - return self.inequalityType == KWInequalityTypeLessThanOrEqualTo || self.inequalityType == KWInequalityTypeGreaterThanOrEqualTo; - case NSOrderedAscending: - return self.inequalityType == KWInequalityTypeLessThan || self.inequalityType == KWInequalityTypeLessThanOrEqualTo; - case NSOrderedDescending: - return self.inequalityType == KWInequalityTypeGreaterThan || self.inequalityType == KWInequalityTypeGreaterThanOrEqualTo; - } - - assert(0 && "should never reach here"); - return NO; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)comparisonPhrase { - switch (self.inequalityType) { - case KWInequalityTypeLessThan: - return @"<"; - case KWInequalityTypeLessThanOrEqualTo: - return @"<="; - case KWInequalityTypeGreaterThan: - return @">"; - case KWInequalityTypeGreaterThanOrEqualTo: - return @">="; - } - - assert(0 && "should never reach here"); - return nil; -} - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to be %@ %@, got %@", - [self comparisonPhrase], - [KWFormatter formatObject:self.otherValue], - [KWFormatter formatObject:self.subject]]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be %@ %@", [self comparisonPhrase], [KWFormatter formatObject:self.otherValue]]; -} - -#pragma mark - Configuring Matchers - -- (void)beLessThan:(id)aValue { - self.inequalityType = KWInequalityTypeLessThan; - self.otherValue = aValue; -} - -- (void)beLessThanOrEqualTo:(id)aValue { - self.inequalityType = KWInequalityTypeLessThanOrEqualTo; - self.otherValue = aValue; -} - -- (void)beGreaterThan:(id)aValue { - self.inequalityType = KWInequalityTypeGreaterThan; - self.otherValue = aValue; -} - -- (void)beGreaterThanOrEqualTo:(id)aValue { - self.inequalityType = KWInequalityTypeGreaterThanOrEqualTo; - self.otherValue = aValue; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWNilMatcher.h b/Pods/Kiwi/Classes/Matchers/KWNilMatcher.h deleted file mode 100644 index 51f6057..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWNilMatcher.h +++ /dev/null @@ -1,23 +0,0 @@ -// -// KWBeNilMatcher.h -// iOSFalconCore -// -// Created by Luke Redpath on 14/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import -#import "KWMatcher.h" - -@interface KWNilMatcher : KWMatcher - -- (void)beNil; -- (void)beNonNil; - -- (void)beNil:(BOOL)workaroundArgument; -- (void)beNonNil:(BOOL)workaroundArgument; - -+ (BOOL)verifyNilSubject; -+ (BOOL)verifyNonNilSubject; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWNilMatcher.m b/Pods/Kiwi/Classes/Matchers/KWNilMatcher.m deleted file mode 100644 index 70c9c31..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWNilMatcher.m +++ /dev/null @@ -1,112 +0,0 @@ -// -// KWBeNilMatcher.m -// iOSFalconCore -// -// Created by Luke Redpath on 14/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import "KWNilMatcher.h" -#import "KWExample.h" -#import "KWExampleSuiteBuilder.h" -#import "KWFormatter.h" -#import "KWMatchVerifier.h" -#import "KWVerifying.h" - -@interface KWNilMatcher () - -@property (nonatomic, assign) BOOL expectsNil; - -@end - -@implementation KWNilMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"beNil", @"beNil:", @"beNonNil", @"beNonNil:"]; -} - -#pragma mark - Matching - -- (BOOL)isNilMatcher { - return YES; -} - -- (BOOL)evaluate { - if (self.expectsNil) { - return (self.subject == nil); - } else { - return (self.subject != nil); - } -} - -// These two methods gets invoked by be(Non)Nil macro in case the subject is nil -// (and therefore cannot have a verifier attached). - -+ (BOOL)verifyNilSubject { - return [self verifySubjectExpectingNil:YES]; -} - -+ (BOOL)verifyNonNilSubject { - return [self verifySubjectExpectingNil:NO]; -} - -#pragma mark Getting Failure Messages - -- (NSString *)failureMessageForShould { - if (self.expectsNil) { - return [NSString stringWithFormat:@"expected subject to be nil, got %@", - [KWFormatter formatObject:self.subject]]; - } else { - return [NSString stringWithFormat:@"expected subject not to be nil"]; - } -} - -- (NSString *)failureMessageForShouldNot { - if (self.expectsNil) { - return [NSString stringWithFormat:@"expected subject not to be nil"]; - } else { - return [NSString stringWithFormat:@"expected subject to be nil, got %@", - [KWFormatter formatObject:self.subject]]; - } -} - -- (NSString *)description { - return [NSString stringWithFormat:@"be %@nil", self.expectsNil ? @"" : @"non "]; -} - -- (void)beNil { - self.expectsNil = YES; -} -- (void)beNil:(BOOL)workaroundArgument { - self.expectsNil = YES; -} - -- (void)beNonNil { - self.expectsNil = NO; -} -- (void)beNonNil:(BOOL)workaroundArgument { - self.expectsNil = NO; -} - -#pragma mark - Internal Methods - -+ (BOOL)verifySubjectExpectingNil:(BOOL)expectNil { - KWExample *currentExample = [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] currentExample]; - id verifier = currentExample.unresolvedVerifier; - - if (verifier && ![verifier subject] && [verifier isKindOfClass:[KWMatchVerifier class]]) { - KWMatchVerifier *matchVerifier = (KWMatchVerifier *)verifier; - if (expectNil) { - [matchVerifier performSelector:@selector(beNil)]; - } else { - [matchVerifier performSelector:@selector(beNonNil)]; - } - currentExample.unresolvedVerifier = nil; - return NO; - } - return YES; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWRaiseMatcher.h b/Pods/Kiwi/Classes/Matchers/KWRaiseMatcher.h deleted file mode 100644 index 8b163fe..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWRaiseMatcher.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWRaiseMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)raiseWhenSent:(SEL)aSelector; -- (void)raiseWithName:(NSString *)aName whenSent:(SEL)aSelector; -- (void)raiseWithReason:(NSString *)aReason whenSent:(SEL)aSelector; -- (void)raiseWithName:(NSString *)aName reason:(NSString *)aReason whenSent:(SEL)aSelector; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWRaiseMatcher.m b/Pods/Kiwi/Classes/Matchers/KWRaiseMatcher.m deleted file mode 100644 index 3cb9878..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWRaiseMatcher.m +++ /dev/null @@ -1,108 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWRaiseMatcher.h" -#import "KWFormatter.h" - -@interface KWRaiseMatcher() - -#pragma mark - Properties - -@property (nonatomic, assign) SEL selector; -@property (nonatomic, strong) NSException *exception; -@property (nonatomic, strong) NSException *actualException; - -@end - -@implementation KWRaiseMatcher - - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"raiseWhenSent:", - @"raiseWithName:whenSent:", - @"raiseWithReason:whenSent:", - @"raiseWithName:reason:whenSent:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - @try { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-performSelector-leaks" - [self.subject performSelector:self.selector]; -#pragma clang diagnostic pop - } @catch (NSException *anException) { - self.actualException = anException; - - if ([self.exception name] != nil && ![[self.exception name] isEqualToString:[anException name]]) - return NO; - - if ([self.exception reason] != nil && ![[self.exception reason] isEqualToString:[anException reason]]) - return NO; - - return YES; - } - - return NO; -} - -#pragma mark - Getting Failure Messages - -+ (NSString *)exceptionPhraseWithException:(NSException *)anException { - if (anException == nil) - return @"nothing"; - - NSString *namePhrase = nil; - - if ([anException name] == nil) - namePhrase = @"exception"; - else - namePhrase = [anException name]; - - if ([anException reason] == nil) - return namePhrase; - - return [NSString stringWithFormat:@"%@ \"%@\"", namePhrase, [anException reason]]; -} - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected %@, but %@ raised", - [[self class] exceptionPhraseWithException:self.exception], - [[self class] exceptionPhraseWithException:self.actualException]]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected %@ not to be raised", - [[self class] exceptionPhraseWithException:self.actualException]]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"raise %@ when sent %@", [[self class] exceptionPhraseWithException:self.exception], NSStringFromSelector(self.selector)]; -} - -#pragma mark - Configuring Matchers - -- (void)raiseWhenSent:(SEL)aSelector { - [self raiseWithName:nil reason:nil whenSent:aSelector]; -} - -- (void)raiseWithName:(NSString *)aName whenSent:(SEL)aSelector { - [self raiseWithName:aName reason:nil whenSent:aSelector]; -} - -- (void)raiseWithReason:(NSString *)aReason whenSent:(SEL)aSelector { - [self raiseWithName:nil reason:aReason whenSent:aSelector]; -} - -- (void)raiseWithName:(NSString *)aName reason:(NSString *)aReason whenSent:(SEL)aSelector { - self.selector = aSelector; - self.exception = [NSException exceptionWithName:aName reason:aReason userInfo:nil]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWReceiveMatcher.h b/Pods/Kiwi/Classes/Matchers/KWReceiveMatcher.h deleted file mode 100644 index fa9cb39..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWReceiveMatcher.h +++ /dev/null @@ -1,58 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWCountType.h" -#import "KWMatcher.h" -#import "KWMatchVerifier.h" - -@class KWMessagePattern; -@class KWMessageTracker; - -@interface KWReceiveMatcher : KWMatcher - -@property (nonatomic, assign) BOOL willEvaluateMultipleTimes; - -#pragma mark - Configuring Matchers - -- (void)receive:(SEL)aSelector; -- (void)receive:(SEL)aSelector withCount:(NSUInteger)aCount; -- (void)receive:(SEL)aSelector withCountAtLeast:(NSUInteger)aCount; -- (void)receive:(SEL)aSelector withCountAtMost:(NSUInteger)aCount; -- (void)receive:(SEL)aSelector andReturn:(id)aValue; -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCount:(NSUInteger)aCount; -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount; -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtMost:(NSUInteger)aCount; -- (void)receiveMessagePattern:(KWMessagePattern *)aMessagePattern countType:(KWCountType)aCountType count:(NSUInteger)aCount; -- (void)receiveMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue countType:(KWCountType)aCountType count:(NSUInteger)aCount; - -@end - -@interface KWMatchVerifier(KWReceiveMatcherAdditions) - -#pragma mark - Verifying - -- (void)receive:(SEL)aSelector withArguments:(id)firstArgument, ...; -- (void)receive:(SEL)aSelector withCount:(NSUInteger)aCount arguments:(id)firstArgument, ...; -- (void)receive:(SEL)aSelector withCountAtLeast:(NSUInteger)aCount arguments:(id)firstArgument, ...; -- (void)receive:(SEL)aSelector withCountAtMost:(NSUInteger)aCount arguments:(id)firstArgument, ...; -- (void)receive:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ...; -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCount:(NSUInteger)aCount arguments:(id)firstArgument, ...; -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount arguments:(id)firstArgument, ...; -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtMost:(NSUInteger)aCount arguments:(id)firstArgument, ...; - -#pragma mark Invocation Capturing Methods - -- (id)receive; -- (id)receiveWithCount:(NSUInteger)aCount; -- (id)receiveWithCountAtLeast:(NSUInteger)aCount; -- (id)receiveWithCountAtMost:(NSUInteger)aCount; -- (id)receiveAndReturn:(id)aValue; -- (id)receiveAndReturn:(id)aValue withCount:(NSUInteger)aCount; -- (id)receiveAndReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount; -- (id)receiveAndReturn:(id)aValue withCountAtMost:(NSUInteger)aCount; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWReceiveMatcher.m b/Pods/Kiwi/Classes/Matchers/KWReceiveMatcher.m deleted file mode 100644 index f81e033..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWReceiveMatcher.m +++ /dev/null @@ -1,303 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWReceiveMatcher.h" -#import "KWFormatter.h" -#import "KWInvocationCapturer.h" -#import "KWMessagePattern.h" -#import "KWMessageTracker.h" -#import "KWObjCUtilities.h" -#import "KWStringUtilities.h" -#import "KWWorkarounds.h" -#import "NSObject+KiwiStubAdditions.h" - -static NSString * const MatchVerifierKey = @"MatchVerifierKey"; -static NSString * const CountTypeKey = @"CountTypeKey"; -static NSString * const CountKey = @"CountKey"; -static NSString * const StubValueKey = @"StubValueKey"; - -@interface KWReceiveMatcher() - -#pragma mark - Properties - -@property (nonatomic, readwrite, strong) KWMessageTracker *messageTracker; - -@end - -@implementation KWReceiveMatcher - -#pragma mark - Initializing - -- (id)initWithSubject:(id)anObject { - self = [super initWithSubject:anObject]; - if (self) { - _willEvaluateMultipleTimes = NO; - } - - return self; -} - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"receive:", - @"receive:withCount:", - @"receive:withCountAtLeast:", - @"receive:withCountAtMost:", - @"receive:andReturn:", - @"receive:andReturn:withCount:", - @"receive:andReturn:withCountAtLeast:", - @"receive:andReturn:withCountAtMost:", - @"receiveMessagePattern:countType:count:", - @"receiveMessagePattern:andReturn:countType:count:"]; -} - -#pragma mark - Matching - -- (BOOL)shouldBeEvaluatedAtEndOfExample { - return YES; -} - -- (BOOL)evaluate { - BOOL succeeded = [self.messageTracker succeeded]; - - if (!self.willEvaluateMultipleTimes) { - [self.messageTracker stopTracking]; - } - return succeeded; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to receive -%@ %@, but received it %@", - [self.messageTracker.messagePattern stringValue], - [self.messageTracker expectedCountPhrase], - [self.messageTracker receivedCountPhrase]]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected subject not to receive -%@, but received it %@", - [self.messageTracker.messagePattern stringValue], - [self.messageTracker receivedCountPhrase]]; -} - -#pragma mark - Configuring Matchers - -- (void)receive:(SEL)aSelector { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self receiveMessagePattern:messagePattern countType:KWCountTypeExact count:1]; -} - -- (void)receive:(SEL)aSelector withCount:(NSUInteger)aCount { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - return [self receiveMessagePattern:messagePattern countType:KWCountTypeExact count:aCount]; -} - -- (void)receive:(SEL)aSelector withCountAtLeast:(NSUInteger)aCount { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - return [self receiveMessagePattern:messagePattern countType:KWCountTypeAtLeast count:aCount]; -} - -- (void)receive:(SEL)aSelector withCountAtMost:(NSUInteger)aCount { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - return [self receiveMessagePattern:messagePattern countType:KWCountTypeAtMost count:aCount]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeExact count:1]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCount:(NSUInteger)aCount { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeExact count:aCount]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeAtLeast count:aCount]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtMost:(NSUInteger)aCount { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeAtMost count:aCount]; -} - -- (void)receiveMessagePattern:(KWMessagePattern *)aMessagePattern countType:(KWCountType)aCountType count:(NSUInteger)aCount { -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - @try { -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - - [self.subject stubMessagePattern:aMessagePattern andReturn:nil overrideExisting:NO]; - self.messageTracker = [KWMessageTracker messageTrackerWithSubject:self.subject messagePattern:aMessagePattern countType:aCountType count:aCount]; - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - } @catch(NSException *exception) { - KWSetExceptionFromAcrossInvocationBoundary(exception); - } -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG -} - -- (void)receiveMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue countType:(KWCountType)aCountType count:(NSUInteger)aCount { -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - @try { -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - - [self.subject stubMessagePattern:aMessagePattern andReturn:aValue]; - self.messageTracker = [KWMessageTracker messageTrackerWithSubject:self.subject messagePattern:aMessagePattern countType:aCountType count:aCount]; - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - } @catch(NSException *exception) { - KWSetExceptionFromAcrossInvocationBoundary(exception); - } -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG -} - -#pragma mark - Capturing Invocations - -+ (NSMethodSignature *)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer methodSignatureForSelector:(SEL)aSelector { - KWMatchVerifier *verifier = (anInvocationCapturer.userInfo)[MatchVerifierKey]; - - if ([verifier.subject respondsToSelector:aSelector]) - return [verifier.subject methodSignatureForSelector:aSelector]; - - NSString *encoding = KWEncodingForDefaultMethod(); - return [NSMethodSignature signatureWithObjCTypes:[encoding UTF8String]]; -} - -+ (void)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer didCaptureInvocation:(NSInvocation *)anInvocation { - NSDictionary *userInfo = anInvocationCapturer.userInfo; - id verifier = userInfo[MatchVerifierKey]; - KWCountType countType = [userInfo[CountTypeKey] unsignedIntegerValue]; - NSUInteger count = [userInfo[CountKey] unsignedIntegerValue]; - NSValue *stubValue = userInfo[StubValueKey]; - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternFromInvocation:anInvocation]; - - if (stubValue != nil) - [verifier receiveMessagePattern:messagePattern andReturn:[stubValue nonretainedObjectValue] countType:countType count:count]; - else - [verifier receiveMessagePattern:messagePattern countType:countType count:count]; -} - -@end - -@implementation KWMatchVerifier(KWReceiveMatcherAdditions) - -#pragma mark - Verifying - -- (void)receive:(SEL)aSelector withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern countType:KWCountTypeExact count:1]; -} - -- (void)receive:(SEL)aSelector withCount:(NSUInteger)aCount arguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern countType:KWCountTypeExact count:aCount]; -} - -- (void)receive:(SEL)aSelector withCountAtLeast:(NSUInteger)aCount arguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern countType:KWCountTypeAtLeast count:aCount]; -} - -- (void)receive:(SEL)aSelector withCountAtMost:(NSUInteger)aCount arguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern countType:KWCountTypeAtMost count:aCount]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeExact count:1]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCount:(NSUInteger)aCount arguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeExact count:aCount]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount arguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeAtLeast count:aCount]; -} - -- (void)receive:(SEL)aSelector andReturn:(id)aValue withCountAtMost:(NSUInteger)aCount arguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [(id)self receiveMessagePattern:messagePattern andReturn:aValue countType:KWCountTypeAtMost count:aCount]; -} - -#pragma mark Invocation Capturing Methods - -- (NSDictionary *)userInfoForReceiveMatcherWithCountType:(KWCountType)aCountType count:(NSUInteger)aCount { - return @{MatchVerifierKey: self, - CountTypeKey: @(aCountType), - CountKey: @(aCount)}; -} - -- (NSDictionary *)userInfoForReceiveMatcherWithCountType:(KWCountType)aCountType count:(NSUInteger)aCount value:(id)aValue { - return @{MatchVerifierKey: self, - CountTypeKey: @(aCountType), - CountKey: @(aCount), - StubValueKey: [NSValue valueWithNonretainedObject:aValue]}; -} - -- (id)receive { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeExact count:1]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -- (id)receiveWithCount:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeExact count:aCount]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -- (id)receiveWithCountAtLeast:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeAtLeast count:aCount]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -- (id)receiveWithCountAtMost:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeAtMost count:aCount]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -- (id)receiveAndReturn:(id)aValue { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeExact count:1 value:aValue]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -- (id)receiveAndReturn:(id)aValue withCount:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeExact count:aCount value:aValue]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -- (id)receiveAndReturn:(id)aValue withCountAtLeast:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeAtLeast count:aCount value:aValue]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -- (id)receiveAndReturn:(id)aValue withCountAtMost:(NSUInteger)aCount { - NSDictionary *userInfo = [self userInfoForReceiveMatcherWithCountType:KWCountTypeAtMost count:aCount value:aValue]; - return [KWInvocationCapturer invocationCapturerWithDelegate:[KWReceiveMatcher class] userInfo:userInfo]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.h b/Pods/Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.h deleted file mode 100644 index 923aa03..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// KWRegularExpressionPatternMatcher.h -// Kiwi -// -// Created by Kristopher Johnson on 4/11/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWRegularExpressionPatternMatcher : KWMatcher - -- (void)matchPattern:(NSString *)pattern; - -- (void)matchPattern:(NSString *)pattern options:(NSRegularExpressionOptions)options; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.m b/Pods/Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.m deleted file mode 100644 index c5c38e3..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWRegularExpressionPatternMatcher.m +++ /dev/null @@ -1,82 +0,0 @@ -// -// KWRegularExpressionPatternMatcher.m -// Kiwi -// -// Created by Kristopher Johnson on 4/11/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import "KWRegularExpressionPatternMatcher.h" -#import "KWFormatter.h" - - -@interface KWRegularExpressionPatternMatcher () - -@property (nonatomic, copy) NSString *pattern; -@property (nonatomic) NSRegularExpressionOptions options; - -@end - - -@implementation KWRegularExpressionPatternMatcher - - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"matchPattern:", @"matchPattern:options:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - if (![self.subject isKindOfClass:[NSString class]]) { - return NO; - } - NSString *subjectString = (NSString *)self.subject; - NSRange subjectStringRange = NSMakeRange(0, subjectString.length); - - NSError *error = nil; - NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:self.pattern - options:self.options - error:&error]; - if (!regex) { - NSLog(@"%s: Unable to create regular expression for pattern \"%@\": %@", - __PRETTY_FUNCTION__, self.pattern, [error localizedDescription]); - return NO; - } - - NSUInteger numberOfMatches = [regex numberOfMatchesInString:subjectString - options:0 - range:subjectStringRange]; - return (numberOfMatches == 1); -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"%@ did not match pattern \"%@\"", - [KWFormatter formatObject:self.subject], - self.pattern]; -} - -- (NSString *)failureMessageForShouldNot { - return [NSString stringWithFormat:@"expected subject not to match pattern \"%@\"", - self.pattern]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"match pattern \"%@\"", self.pattern]; -} - -- (void)matchPattern:(NSString *)pattern { - self.pattern = pattern; - self.options = 0; -} - -- (void)matchPattern:(NSString *)pattern options:(NSRegularExpressionOptions)options { - self.pattern = pattern; - self.options = options; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.h b/Pods/Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.h deleted file mode 100644 index f91d47a..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWMatcher.h" - -@interface KWRespondToSelectorMatcher : KWMatcher - -#pragma mark - Configuring Matchers - -- (void)respondToSelector:(SEL)aSelector; - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.m b/Pods/Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.m deleted file mode 100644 index 3920dd8..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWRespondToSelectorMatcher.m +++ /dev/null @@ -1,49 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWRespondToSelectorMatcher.h" -#import "KWFormatter.h" - -@interface KWRespondToSelectorMatcher() - -#pragma mark - Properties - -@property (nonatomic, assign) SEL selector; - -@end - -@implementation KWRespondToSelectorMatcher - -#pragma mark - Getting Matcher Strings - -+ (NSArray *)matcherStrings { - return @[@"respondToSelector:"]; -} - -#pragma mark - Matching - -- (BOOL)evaluate { - return [self.subject respondsToSelector:self.selector]; -} - -#pragma mark - Getting Failure Messages - -- (NSString *)failureMessageForShould { - return [NSString stringWithFormat:@"expected subject to respond to -%@", - NSStringFromSelector(self.selector)]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"respond to -%@", NSStringFromSelector(self.selector)]; -} - -#pragma mark - Configuring Matchers - -- (void)respondToSelector:(SEL)aSelector { - self.selector = aSelector; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWStringContainsMatcher.h b/Pods/Kiwi/Classes/Matchers/KWStringContainsMatcher.h deleted file mode 100644 index c972629..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWStringContainsMatcher.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// KWStringContainsMatcher.h -// Kiwi -// -// Created by Stewart Gleadow on 7/06/12. -// Copyright (c) 2012 Allen Ding. All rights reserved. -// - -#import -#import "KWGenericMatcher.h" - -@interface KWStringContainsMatcher : NSObject - -+ (id)matcherWithSubstring:(NSString *)aSubstring; -- (id)initWithSubstring:(NSString *)aSubstring; -- (BOOL)matches:(id)object; - -@end - -#define hasSubstring(substring) [KWStringContainsMatcher matcherWithSubstring:substring] diff --git a/Pods/Kiwi/Classes/Matchers/KWStringContainsMatcher.m b/Pods/Kiwi/Classes/Matchers/KWStringContainsMatcher.m deleted file mode 100644 index 6230e81..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWStringContainsMatcher.m +++ /dev/null @@ -1,42 +0,0 @@ -// -// StringContainsMatcher.m -// Kiwi -// -// Created by Stewart Gleadow on 7/06/12. -// Copyright (c) 2012 Allen Ding. All rights reserved. -// - -#import "KWStringContainsMatcher.h" - -@interface KWStringContainsMatcher(){} -@property (nonatomic, copy) NSString *substring; -@end - -@implementation KWStringContainsMatcher - -+ (id)matcherWithSubstring:(NSString *)aSubstring { - return [[self alloc] initWithSubstring:aSubstring]; -} - -- (id)initWithSubstring:(NSString *)aSubstring { - self = [super init]; - if (self) { - _substring = [aSubstring copy]; - } - return self; -} - - -- (BOOL)matches:(id)item { - if (![item respondsToSelector:@selector(rangeOfString:)]) { - return NO; - } - - return [item rangeOfString:self.substring].location != NSNotFound; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"a string with substring '%@'", self.substring]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWStringPrefixMatcher.h b/Pods/Kiwi/Classes/Matchers/KWStringPrefixMatcher.h deleted file mode 100644 index 7c312cc..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWStringPrefixMatcher.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// StringPrefixMatcher.h -// Kiwi -// -// Created by Luke Redpath on 17/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import - -@interface KWStringPrefixMatcher : NSObject - -+ (id)matcherWithPrefix:(NSString *)aPrefix; -- (id)initWithPrefix:(NSString *)aPrefix; - -@end - -#define hasPrefix(prefix) [KWStringPrefixMatcher matcherWithPrefix:prefix] diff --git a/Pods/Kiwi/Classes/Matchers/KWStringPrefixMatcher.m b/Pods/Kiwi/Classes/Matchers/KWStringPrefixMatcher.m deleted file mode 100644 index 81c1f89..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWStringPrefixMatcher.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// StringPrefixMatcher.m -// Kiwi -// -// Created by Luke Redpath on 17/01/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import "KWStringPrefixMatcher.h" - -@interface KWStringPrefixMatcher(){} -@property (nonatomic, copy) NSString *prefix; -@end - -@implementation KWStringPrefixMatcher - -+ (id)matcherWithPrefix:(NSString *)aPrefix { - return [[self alloc] initWithPrefix:aPrefix]; -} - -- (id)initWithPrefix:(NSString *)aPrefix { - self = [super init]; - if (self) { - _prefix = [aPrefix copy]; - } - return self; -} - - -- (BOOL)matches:(id)item { - if (![item respondsToSelector:@selector(hasPrefix:)]) - return NO; - - return [item hasPrefix:self.prefix]; -} - -- (NSString *)description { - return [NSString stringWithFormat:@"a string with prefix '%@'", self.prefix]; -} - -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWUserDefinedMatcher.h b/Pods/Kiwi/Classes/Matchers/KWUserDefinedMatcher.h deleted file mode 100644 index d1d50c7..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWUserDefinedMatcher.h +++ /dev/null @@ -1,53 +0,0 @@ -// -// KWUserDefinedMatcher.h -// Kiwi -// -// Created by Luke Redpath on 16/06/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import -#import "KWMatcher.h" - -typedef BOOL (^KWUserDefinedMatcherBlock)(); - -@interface KWUserDefinedMatcher : KWMatcher - -@property (nonatomic, assign) SEL selector; -@property (nonatomic, copy) NSString *failureMessageForShould; -@property (nonatomic, copy) NSString *failureMessageForShouldNot; -@property (nonatomic, copy) KWUserDefinedMatcherBlock matcherBlock; -@property (nonatomic, copy) NSString *description; - -+ (id)matcherWithSubject:(id)aSubject block:(KWUserDefinedMatcherBlock)aBlock; -- (id)initWithSubject:(id)aSubject block:(KWUserDefinedMatcherBlock)aBlock; -@end - -#pragma mark - - -typedef NSString * (^KWUserDefinedMatcherMessageBlock)(id); - -@interface KWUserDefinedMatcherBuilder : NSObject -{ - KWUserDefinedMatcher *matcher; - KWUserDefinedMatcherMessageBlock failureMessageForShouldBlock; - KWUserDefinedMatcherMessageBlock failureMessageForShouldNotBlock; - NSString *description; -} -@property (nonatomic, copy, readonly) NSString *key; - -+ (id)builder; -+ (id)builderForSelector:(SEL)aSelector; -- (id)initWithSelector:(SEL)aSelector; - -#pragma mark - Configuring The Matcher - -- (void)match:(KWUserDefinedMatcherBlock)block; -- (void)failureMessageForShould:(KWUserDefinedMatcherMessageBlock)block; -- (void)failureMessageForShouldNot:(KWUserDefinedMatcherMessageBlock)block; -- (void)description:(NSString *)description; - -#pragma mark - Buiding The Matcher - -- (KWUserDefinedMatcher *)buildMatcherWithSubject:(id)subject; -@end diff --git a/Pods/Kiwi/Classes/Matchers/KWUserDefinedMatcher.m b/Pods/Kiwi/Classes/Matchers/KWUserDefinedMatcher.m deleted file mode 100644 index bdb4294..0000000 --- a/Pods/Kiwi/Classes/Matchers/KWUserDefinedMatcher.m +++ /dev/null @@ -1,150 +0,0 @@ -// -// KWUserDefinedMatcher.m -// Kiwi -// -// Created by Luke Redpath on 16/06/2011. -// Copyright 2011 Allen Ding. All rights reserved. -// - -#import "KWUserDefinedMatcher.h" - -@interface KWUserDefinedMatcher(){} -@property (nonatomic, copy) NSInvocation *invocation; -@end - -@implementation KWUserDefinedMatcher - -@synthesize selector; -@synthesize failureMessageForShould; -@synthesize failureMessageForShouldNot; -@synthesize matcherBlock; -@synthesize description; - -+ (id)matcherWithSubject:(id)aSubject block:(KWUserDefinedMatcherBlock)aBlock { - return [[self alloc] initWithSubject:aSubject block:aBlock]; -} - -- (id)initWithSubject:(id)aSubject block:(KWUserDefinedMatcherBlock)aBlock { - self = [super initWithSubject:aSubject]; - if (self) { - matcherBlock = [aBlock copy]; - self.description = @"match user defined matcher"; - } - return self; -} - - -- (BOOL)evaluate { - BOOL result; - - if (self.invocation.methodSignature.numberOfArguments == 3) { - id argument; - [self.invocation getArgument:&argument atIndex:2]; - result = matcherBlock(self.subject, argument); - } else { - result = matcherBlock(self.subject); - } - return result; -} - -#pragma mark - Message forwarding - -- (BOOL)respondsToSelector:(SEL)aSelector { - if (aSelector == self.selector) { - return YES; - } - return [super respondsToSelector:aSelector]; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation { - _invocation = anInvocation; -} - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { - if (aSelector == self.selector) { - NSString *selectorString = NSStringFromSelector(self.selector); - - /** - * TODO: find a way of doing this that: - * - doesn't require dummy methods (create the method signatures manually) - * - supports an unlimited number of arguments - */ - if ([selectorString hasSuffix:@":"]) { - return [self methodSignatureForSelector:@selector(matcherMethodWithArgument:)]; - } else { - return [self methodSignatureForSelector:@selector(matcherMethodWithoutArguments)]; - } - } - return [super methodSignatureForSelector:aSelector]; -} - -- (void)matcherMethodWithoutArguments {} -- (void)matcherMethodWithArgument:(id)argument {} - -@end - -#pragma mark - - -@implementation KWUserDefinedMatcherBuilder - -+ (id)builder { - return [self builderForSelector:nil]; -} - -+ (id)builderForSelector:(SEL)aSelector { - return [[self alloc] initWithSelector:aSelector]; -} - -- (id)initWithSelector:(SEL)aSelector { - self = [super init]; - if (self) { - matcher = [[KWUserDefinedMatcher alloc] init]; - matcher.selector = aSelector; - } - return self; -} - - -- (NSString *)key { - return NSStringFromSelector(matcher.selector); -} - -#pragma mark - Configuring The Matcher - -- (void)match:(KWUserDefinedMatcherBlock)block { - matcher.matcherBlock = block; -} - -- (void)failureMessageForShould:(KWUserDefinedMatcherMessageBlock)block { - failureMessageForShouldBlock = [block copy]; -} - -- (void)failureMessageForShouldNot:(KWUserDefinedMatcherMessageBlock)block { - failureMessageForShouldNotBlock = [block copy]; -} - -- (void)description:(NSString *)aDescription { - description = [aDescription copy]; -} - -#pragma mark - Buiding The Matcher - -- (KWUserDefinedMatcher *)buildMatcherWithSubject:(id)subject { - [matcher setSubject:subject]; - - if (failureMessageForShouldBlock) { - [matcher setFailureMessageForShould:failureMessageForShouldBlock(subject)]; - } - - if (failureMessageForShouldNotBlock) { - [matcher setFailureMessageForShouldNot:failureMessageForShouldNotBlock(subject)]; - } - - if (description) { - [matcher setDescription:description]; - } - - return matcher; -} - -@end diff --git a/Pods/Kiwi/Classes/Mocking/KWMock.h b/Pods/Kiwi/Classes/Mocking/KWMock.h deleted file mode 100644 index 8163941..0000000 --- a/Pods/Kiwi/Classes/Mocking/KWMock.h +++ /dev/null @@ -1,87 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWInvocationCapturer.h" - -@class KWMessagePattern; -@class KWCaptureSpy; - -@protocol KWMessageSpying; -@protocol KWVerifying; - -@interface KWMock : NSObject - -#pragma mark - Initializing - -- (id)initForClass:(Class)aClass; -- (id)initForProtocol:(Protocol *)aProtocol; -- (id)initWithName:(NSString *)aName forClass:(Class)aClass; -- (id)initWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol; - -- (id)initAsNullMockForClass:(Class)aClass; -- (id)initAsNullMockForProtocol:(Protocol *)aProtocol; -- (id)initAsNullMockWithName:(NSString *)aName forClass:(Class)aClass; -- (id)initAsNullMockWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol; - -- (id)initAsPartialMockForObject:(id)object; -- (id)initAsPartialMockWithName:(NSString *)aName forObject:(id)object; - -+ (id)mockForClass:(Class)aClass; -+ (id)mockForProtocol:(Protocol *)aProtocol; -+ (id)mockWithName:(NSString *)aName forClass:(Class)aClass; -+ (id)mockWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol; - -+ (id)nullMockForClass:(Class)aClass; -+ (id)nullMockForProtocol:(Protocol *)aProtocol; -+ (id)nullMockWithName:(NSString *)aName forClass:(Class)aClass ; -+ (id)nullMockWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol; - -+ (id)partialMockForObject:(id)object; -+ (id)partialMockWithName:(NSString *)aName forObject:(id)object; - -#pragma mark - Properties - -@property (nonatomic, assign, readonly) BOOL isNullMock; -@property (nonatomic, assign, readonly) BOOL isPartialMock; -@property (nonatomic, copy, readonly) NSString *mockName; -@property (nonatomic, assign, readonly) Class mockedClass; -@property (nonatomic, strong, readonly) id mockedObject; -@property (nonatomic, assign, readonly) Protocol *mockedProtocol; - -#pragma mark - Stubbing Methods - -- (void)stub:(SEL)aSelector; -- (void)stub:(SEL)aSelector withBlock:(id (^)(NSArray *params))block; -- (void)stub:(SEL)aSelector withArguments:(id)firstArgument, ...; -- (void)stub:(SEL)aSelector andReturn:(id)aValue; -- (void)stub:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ...; - -- (id)stub; -- (id)stubAndReturn:(id)aValue; -- (id)stubAndReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue; - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue; -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue; - -- (void)clearStubs; - -#pragma mark - Spying on Messages - -- (void)addMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern; -- (void)removeMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern; - - -#pragma mark - Expecting Messages - -- (void)expect:(SEL)aSelector; -- (void)expect:(SEL)aSelector withArguments:(id)firstArgument, ...; - -- (id)expect; - -- (void)expectMessagePattern:(KWMessagePattern *)aMessagePattern; - -@end diff --git a/Pods/Kiwi/Classes/Mocking/KWMock.m b/Pods/Kiwi/Classes/Mocking/KWMock.m deleted file mode 100644 index 90db7b5..0000000 --- a/Pods/Kiwi/Classes/Mocking/KWMock.m +++ /dev/null @@ -1,628 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWMock.h" -#import -#import "KWFormatter.h" -#import "KWMessagePattern.h" -#import "KWMessageSpying.h" -#import "KWStringUtilities.h" -#import "KWStub.h" -#import "KWWorkarounds.h" -#import "NSInvocation+KiwiAdditions.h" -#import "KWCaptureSpy.h" - -static NSString * const ExpectOrStubTagKey = @"ExpectOrStubTagKey"; -static NSString * const StubTag = @"StubTag"; -static NSString * const ExpectTag = @"ExpectTag"; -static NSString * const StubValueKey = @"StubValueKey"; -static NSString * const StubSecondValueKey = @"StubSecondValueKey"; -static NSString * const ChangeStubValueAfterTimesKey = @"ChangeStubValueAfterTimesKey"; - -@interface KWMock() - -@property (nonatomic, readonly) NSMutableArray *stubs; -@property (nonatomic, readonly) NSMutableArray *expectedMessagePatterns; -@property (nonatomic, readonly) NSMutableDictionary *messageSpies; - -@end - -@implementation KWMock - -#pragma mark - Initializing - -- (id)init { - // May already have been initialized since stubbing -init is allowed! - if (self.stubs != nil) { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd]; - - if ([self processReceivedInvocation:invocation]) { - __unsafe_unretained id result = nil; - [invocation getReturnValue:&result]; - return result; - } else { - return self; - } - } - - return [self initAsNullMock:NO withName:nil forClass:nil protocol:nil]; -} - -- (id)initForClass:(Class)aClass { - return [self initAsNullMock:NO withName:nil forClass:aClass protocol:nil]; -} - -- (id)initForProtocol:(Protocol *)aProtocol { - return [self initAsNullMock:NO withName:nil forClass:nil protocol:aProtocol]; -} - -- (id)initWithName:(NSString *)aName forClass:(Class)aClass { - return [self initAsNullMock:NO withName:aName forClass:aClass protocol:nil]; -} - -- (id)initWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol { - return [self initAsNullMock:NO withName:aName forClass:nil protocol:aProtocol]; -} - -- (id)initAsNullMockForClass:(Class)aClass { - return [self initAsNullMock:YES withName:nil forClass:aClass protocol:nil]; -} - -- (id)initAsNullMockForProtocol:(Protocol *)aProtocol { - return [self initAsNullMock:YES withName:nil forClass:nil protocol:aProtocol]; -} - -- (id)initAsNullMockWithName:(NSString *)aName forClass:(Class)aClass { - return [self initAsNullMock:YES withName:aName forClass:aClass protocol:nil]; -} - -- (id)initAsNullMockWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol { - return [self initAsNullMock:YES withName:aName forClass:nil protocol:aProtocol]; -} - -- (id)initAsNullMock:(BOOL)nullMockFlag withName:(NSString *)aName forClass:(Class)aClass protocol:(Protocol *)aProtocol { - self = [super init]; - if (self) { - _isNullMock = nullMockFlag; - _mockName = [aName copy]; - _mockedClass = aClass; - _mockedProtocol = aProtocol; - _stubs = [[NSMutableArray alloc] init]; - _expectedMessagePatterns = [[NSMutableArray alloc] init]; - _messageSpies = [[NSMutableDictionary alloc] init]; - } - - return self; -} - -- (id)initAsPartialMockForObject:(id)object { - return [self initAsPartialMockWithName:nil forObject:object]; -} - -- (id)initAsPartialMockWithName:(NSString *)aName forObject:(id)object { - self = [self initAsNullMock:YES withName:aName forClass:[object class] protocol:nil]; - if (self) { - _isPartialMock = YES; - _mockedObject = object; - } - return self; -} - -+ (id)mockForClass:(Class)aClass { - return [[self alloc] initForClass:aClass]; -} - -+ (id)mockForProtocol:(Protocol *)aProtocol { - return [[self alloc] initForProtocol:aProtocol]; -} - -+ (id)mockWithName:(NSString *)aName forClass:(Class)aClass { - return [[self alloc] initWithName:aName forClass:aClass]; -} - -+ (id)mockWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol { - return [[self alloc] initWithName:aName forProtocol:aProtocol]; -} - -+ (id)nullMockForClass:(Class)aClass { - return [[self alloc] initAsNullMockForClass:aClass]; -} - -+ (id)nullMockForProtocol:(Protocol *)aProtocol { - return [[self alloc] initAsNullMockForProtocol:aProtocol]; -} - -+ (id)nullMockWithName:(NSString *)aName forClass:(Class)aClass { - return [[self alloc] initAsNullMockWithName:aName forClass:aClass]; -} - -+ (id)nullMockWithName:(NSString *)aName forProtocol:(Protocol *)aProtocol { - return [[self alloc] initAsNullMockWithName:aName forProtocol:aProtocol]; -} - -+ (id)partialMockWithName:(NSString *)aName forObject:(id)object { - return [[self alloc] initAsPartialMockWithName:aName forObject:object]; -} - -+ (id)partialMockForObject:(id)object { - return [[self alloc] initAsPartialMockForObject:object]; -} - -#pragma mark - Getting Transitive Closure For Mocked Protocols - -- (NSSet *)mockedProtocolTransitiveClosureSet { - if (self.mockedProtocol == nil) - return nil; - - NSMutableSet *protocolSet = [NSMutableSet set]; - NSMutableArray *protocolQueue = [NSMutableArray array]; - [protocolQueue addObject:self.mockedProtocol]; - - do { - Protocol *protocol = [protocolQueue lastObject]; - [protocolSet addObject:protocol]; - [protocolQueue removeLastObject]; - - unsigned int count = 0; - Protocol *__unsafe_unretained*protocols = protocol_copyProtocolList(protocol, &count); - - if (count == 0) - continue; - - for (unsigned int i = 0; i < count; ++i) - [protocolQueue addObject:protocols[i]]; - - free(protocols); - } while ([protocolQueue count] != 0); - - return protocolSet; -} - -#pragma mark - Stubbing Methods - -- (void)removeStubWithMessagePattern:(KWMessagePattern *)messagePattern { - KWStub *stub = [self currentStubWithMessagePattern:messagePattern]; - if (stub) { - [self.stubs removeObject:stub]; - } -} - -- (KWStub *)currentStubWithMessagePattern:(KWMessagePattern *)messagePattern { - NSUInteger stubCount = [self.stubs count]; - - for (NSUInteger i = 0; i < stubCount; ++i) { - KWStub *stub = (self.stubs)[i]; - - if ([stub.messagePattern isEqualToMessagePattern:messagePattern]) { - return stub; - } - } - return nil; -} - -- (void)stub:(SEL)aSelector { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern andReturn:nil]; -} - -- (void)stub:(SEL)aSelector withBlock:(id (^)(NSArray *params))block { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern withBlock:block]; -} - -- (void)stub:(SEL)aSelector withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [self stubMessagePattern:messagePattern andReturn:nil]; -} - -- (void)stub:(SEL)aSelector andReturn:(id)aValue { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern andReturn:aValue]; -} - -- (void)stub:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [self stubMessagePattern:messagePattern andReturn:aValue]; -} - -- (id)stub { - NSDictionary *userInfo = @{ExpectOrStubTagKey: StubTag}; - return [KWInvocationCapturer invocationCapturerWithDelegate:self userInfo:userInfo]; -} - -- (id)stubAndReturn:(id)aValue { - NSDictionary *userInfo = @{ExpectOrStubTagKey: StubTag, - StubValueKey: aValue}; - return [KWInvocationCapturer invocationCapturerWithDelegate:self userInfo:userInfo]; -} - -- (id)stubAndReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue { - NSDictionary *userInfo = @{ExpectOrStubTagKey: StubTag, StubValueKey: aValue, ChangeStubValueAfterTimesKey: times, StubSecondValueKey: aSecondValue}; - return [KWInvocationCapturer invocationCapturerWithDelegate:self userInfo:userInfo]; -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue { - [self stubMessagePattern:aMessagePattern andReturn:aValue overrideExisting:YES]; -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue overrideExisting:(BOOL)overrideExisting { - [self expectMessagePattern:aMessagePattern]; - KWStub *existingStub = [self currentStubWithMessagePattern:aMessagePattern]; - if (existingStub) { - if (overrideExisting) { - [self.stubs removeObject:existingStub]; - } else { - return; - } - } - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern value:aValue]; - [self.stubs addObject:stub]; -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern withBlock:(id (^)(NSArray *params))block { - [self expectMessagePattern:aMessagePattern]; - [self removeStubWithMessagePattern:aMessagePattern]; - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern block:block]; - [self.stubs addObject:stub]; -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue { - [self expectMessagePattern:aMessagePattern]; - [self removeStubWithMessagePattern:aMessagePattern]; - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern value:aValue times:times afterThatReturn:aSecondValue]; - [self.stubs addObject:stub]; -} - -- (void)clearStubs { - [self.stubs removeAllObjects]; -} - -#pragma mark - Spying on Messages - -- (void)addMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern { - [self expectMessagePattern:aMessagePattern]; - NSMutableArray *messagePatternSpies = (self.messageSpies)[aMessagePattern]; - - if (messagePatternSpies == nil) { - messagePatternSpies = [[NSMutableArray alloc] init]; - (self.messageSpies)[aMessagePattern] = messagePatternSpies; - } - NSValue *spyWrapper = [NSValue valueWithNonretainedObject:aSpy]; - - if (![messagePatternSpies containsObject:spyWrapper]) - [messagePatternSpies addObject:spyWrapper]; -} - -- (void)removeMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern { - NSValue *spyWrapper = [NSValue valueWithNonretainedObject:aSpy]; - NSMutableArray *messagePatternSpies = (self.messageSpies)[aMessagePattern]; - [messagePatternSpies removeObject:spyWrapper]; -} - -#pragma mark - Expecting Message Patterns - -- (void)expect:(SEL)aSelector { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self expectMessagePattern:messagePattern]; -} - -- (void)expect:(SEL)aSelector withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [self expectMessagePattern:messagePattern]; -} - -- (id)expect { - NSDictionary *userInfo = @{ExpectOrStubTagKey: ExpectTag}; - return [KWInvocationCapturer invocationCapturerWithDelegate:self userInfo:userInfo]; -} - -- (void)expectMessagePattern:(KWMessagePattern *)aMessagePattern { - if (![self.expectedMessagePatterns containsObject:aMessagePattern]) - [self.expectedMessagePatterns addObject:aMessagePattern]; -} - -#pragma mark - Capturing Invocations - -- (NSMethodSignature *)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer methodSignatureForSelector:(SEL)aSelector { - return [self methodSignatureForSelector:aSelector]; -} - -- (void)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer didCaptureInvocation:(NSInvocation *)anInvocation { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternFromInvocation:anInvocation]; - NSString *tag = (anInvocationCapturer.userInfo)[ExpectOrStubTagKey]; - if ([tag isEqualToString:StubTag]) { - id value = (anInvocationCapturer.userInfo)[StubValueKey]; - if (!(anInvocationCapturer.userInfo)[StubSecondValueKey]) { - [self stubMessagePattern:messagePattern andReturn:value]; - } else { - id times = (anInvocationCapturer.userInfo)[ChangeStubValueAfterTimesKey]; - id secondValue = (anInvocationCapturer.userInfo)[StubSecondValueKey]; - [self stubMessagePattern:messagePattern andReturn:value times:times afterThatReturn:secondValue]; - } - } else { - [self expectMessagePattern:messagePattern]; - } -} - -#pragma mark - Handling Invocations - -- (NSString *)namePhrase { - if (self.mockName == nil) - return @"mock"; - else - return [NSString stringWithFormat:@"mock \"%@\"", self.mockName]; -} - -- (BOOL)processReceivedInvocation:(NSInvocation *)invocation { - for (KWMessagePattern *messagePattern in self.messageSpies) { - if ([messagePattern matchesInvocation:invocation]) { - NSArray *spies = (self.messageSpies)[messagePattern]; - - for (NSValue *spyWrapper in spies) { - id spy = [spyWrapper nonretainedObjectValue]; - [spy object:self didReceiveInvocation:invocation]; - } - } - } - - for (KWStub *stub in self.stubs) { - if ([stub processInvocation:invocation]) - return YES; - } - - return NO; -} - -- (NSMethodSignature *)mockedProtocolMethodSignatureForSelector:(SEL)aSelector { - NSSet *protocols = [self mockedProtocolTransitiveClosureSet]; - - for (Protocol *protocol in protocols) { - struct objc_method_description description = protocol_getMethodDescription(protocol, aSelector, NO, YES); - - if (description.types == nil) - description = protocol_getMethodDescription(protocol, aSelector, YES, YES); - - if (description.types != nil) - return [NSMethodSignature signatureWithObjCTypes:description.types]; - } - - return nil; -} - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { - NSMethodSignature *methodSignature = [self.mockedClass instanceMethodSignatureForSelector:aSelector]; - - if (methodSignature != nil) - return methodSignature; - - methodSignature = [self mockedProtocolMethodSignatureForSelector:aSelector]; - - if (methodSignature != nil) - return methodSignature; - - NSString *encoding = KWEncodingForDefaultMethod(); - return [NSMethodSignature signatureWithObjCTypes:[encoding UTF8String]]; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation { -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - @try { -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - - if ([self processReceivedInvocation:anInvocation]) - return; - - if (self.isPartialMock) - [anInvocation invokeWithTarget:self.mockedObject]; - - if (self.isNullMock) - return; - - for (KWMessagePattern *expectedMessagePattern in self.expectedMessagePatterns) { - if ([expectedMessagePattern matchesInvocation:anInvocation]) - return; - } - - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternFromInvocation:anInvocation]; - [NSException raise:@"KWMockException" format:@"%@ received unexpected message -%@", - [self namePhrase], - [messagePattern stringValue]]; - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - } @catch (NSException *exception) { - KWSetExceptionFromAcrossInvocationBoundary(exception); - } -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG -} - -#pragma mark - Testing Objects - -- (BOOL)mockedClassHasAncestorClass:(Class)aClass { - Class currentClass = self.mockedClass; - - while (currentClass != nil) { - if (currentClass == aClass) - return YES; - - currentClass = [currentClass superclass]; - } - - return NO; -} - -- (BOOL)mockedClassRespondsToSelector:(SEL)aSelector { - return [self.mockedClass instancesRespondToSelector:aSelector]; -} - -- (BOOL)mockedClassConformsToProtocol:(Protocol *)aProtocol { - return [self.mockedClass conformsToProtocol:aProtocol]; -} - -- (BOOL)mockedProtocolRespondsToSelector:(SEL)aSelector { - NSSet *protocols = [self mockedProtocolTransitiveClosureSet]; - - for (Protocol *protocol in protocols) { - struct objc_method_description description = protocol_getMethodDescription(protocol, aSelector, NO, YES); - - if (description.types == nil) - description = protocol_getMethodDescription(protocol, aSelector, YES, YES); - - if (description.types != nil) - return YES; - } - - return NO; -} - -- (BOOL)mockedProtocolConformsToProtocol:(Protocol *)aProtocol { - if (self.mockedProtocol == nil) - return NO; - - return protocol_isEqual(self.mockedProtocol, aProtocol) || protocol_conformsToProtocol(self.mockedProtocol, aProtocol); -} - -- (BOOL)isKindOfClass:(Class)aClass { - return [self mockedClassHasAncestorClass:aClass] || [super isKindOfClass:aClass]; -} - -- (BOOL)isMemberOfClass:(Class)aClass { - return self.mockedClass == aClass || [super isMemberOfClass:aClass]; -} - -- (BOOL)respondsToSelector:(SEL)aSelector { - return [self mockedClassRespondsToSelector:aSelector] || - [self mockedProtocolRespondsToSelector:aSelector] || - [super respondsToSelector:aSelector]; -} - -- (BOOL)conformsToProtocol:(Protocol *)aProtocol { - return [self mockedClassConformsToProtocol:aProtocol] || - [self mockedProtocolConformsToProtocol:aProtocol] || - [super conformsToProtocol:aProtocol]; -} - -#pragma mark - Whitelisted NSObject Methods - -- (BOOL)isEqual:(id)anObject { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd messageArguments:&anObject]; - - if ([self processReceivedInvocation:invocation]) { - BOOL result = NO; - [invocation getReturnValue:&result]; - return result; - } else { - return [super isEqual:anObject]; - } -} - -- (NSUInteger)hash { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd]; - - if ([self processReceivedInvocation:invocation]) { - NSUInteger result = 0; - [invocation getReturnValue:&result]; - return result; - } else { - return [super hash]; - } -} - -- (NSString *)description { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd]; - - if ([self processReceivedInvocation:invocation]) { - __unsafe_unretained NSString *result = nil; - [invocation getReturnValue:&result]; - return result; - } else { - return [super description]; - } -} - -- (id)copy { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd]; - - if ([self processReceivedInvocation:invocation]) { - __unsafe_unretained id result = nil; - [invocation getReturnValue:&result]; - return result; - } else { - return [super copy]; - } -} - -- (id)mutableCopy { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd]; - - if ([self processReceivedInvocation:invocation]) { - __unsafe_unretained id result = nil; - [invocation getReturnValue:&result]; - return result; - } else { - return [super mutableCopy]; - } -} - -#pragma mark - -#pragma mark Key-Value Coding Support - -static id valueForKeyImplementation(id self, SEL _cmd, id key) { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd messageArguments:&key]; - - if ([self processReceivedInvocation:invocation]) { - __unsafe_unretained id result = nil; - [invocation getReturnValue:&result]; - return result; - } else { - return nil; - } -} - -- (id)valueForKey:(NSString *)key { - return valueForKeyImplementation(self, _cmd, key); -} - -- (id)valueForKeyPath:(NSString *)keyPath { - return valueForKeyImplementation(self, _cmd, keyPath); -} - -static void setValueForKeyImplementation(id self, SEL _cmd, id a, id b) { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:_cmd]; - [self expectMessagePattern:messagePattern]; - NSInvocation *invocation = [NSInvocation invocationWithTarget:self selector:_cmd messageArguments:&a, &b]; - - [self processReceivedInvocation:invocation]; -} - -- (void)setValue:(id)value forKey:(NSString *)key { - setValueForKeyImplementation(self, _cmd, value, key); -} - -- (void)setValue:(id)value forKeyPath:(NSString *)keyPath { - setValueForKeyImplementation(self, _cmd, value, keyPath); -} - -@end diff --git a/Pods/Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.h b/Pods/Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.h deleted file mode 100644 index 9ecea92..0000000 --- a/Pods/Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface NSObject(KiwiMockAdditions) - -#pragma mark - Creating Mocks - -+ (id)mock; -+ (id)mockWithName:(NSString *)aName; - -+ (id)nullMock; -+ (id)nullMockWithName:(NSString *)aName; - -@end diff --git a/Pods/Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.m b/Pods/Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.m deleted file mode 100644 index 7e7a0cf..0000000 --- a/Pods/Kiwi/Classes/Mocking/NSObject+KiwiMockAdditions.m +++ /dev/null @@ -1,30 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSObject+KiwiMockAdditions.h" -#import "KWMock.h" - -@implementation NSObject(KiwiMockAdditions) - -#pragma mark - Creating Mocks - -+ (id)mock { - return [KWMock mockForClass:[self class]]; -} - -+ (id)mockWithName:(NSString *)aName { - return [KWMock mockWithName:aName forClass:[self class]]; -} - -+ (id)nullMock { - return [KWMock nullMockForClass:[self class]]; -} - -+ (id)nullMockWithName:(NSString *)aName { - return [KWMock nullMockWithName:aName forClass:[self class]]; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWAfterAllNode.h b/Pods/Kiwi/Classes/Nodes/KWAfterAllNode.h deleted file mode 100644 index 421ea5a..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWAfterAllNode.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlockNode.h" -#import "KWExampleNode.h" - -@interface KWAfterAllNode : KWBlockNode - -#pragma mark - Initializing - -+ (id)afterAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWAfterAllNode.m b/Pods/Kiwi/Classes/Nodes/KWAfterAllNode.m deleted file mode 100644 index efb0a03..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWAfterAllNode.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWAfterAllNode.h" -#import "KWExampleNodeVisitor.h" - -@implementation KWAfterAllNode - -#pragma mark - Initializing - -+ (id)afterAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - return [[self alloc] initWithCallSite:aCallSite description:nil block:block]; -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitAfterAllNode:self]; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWAfterEachNode.h b/Pods/Kiwi/Classes/Nodes/KWAfterEachNode.h deleted file mode 100644 index 4e68279..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWAfterEachNode.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlockNode.h" -#import "KWExampleNode.h" - -@interface KWAfterEachNode : KWBlockNode - -#pragma mark - Initializing - -+ (id)afterEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWAfterEachNode.m b/Pods/Kiwi/Classes/Nodes/KWAfterEachNode.m deleted file mode 100644 index e6edd3e..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWAfterEachNode.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWAfterEachNode.h" -#import "KWExampleNodeVisitor.h" - -@implementation KWAfterEachNode - -#pragma mark - Initializing - -+ (id)afterEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - return [[self alloc] initWithCallSite:aCallSite description:nil block:block]; -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitAfterEachNode:self]; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWBeforeAllNode.h b/Pods/Kiwi/Classes/Nodes/KWBeforeAllNode.h deleted file mode 100644 index f5cd2e1..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWBeforeAllNode.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlockNode.h" -#import "KWExampleNode.h" - -@interface KWBeforeAllNode : KWBlockNode - -#pragma mark - Initializing - -+ (id)beforeAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWBeforeAllNode.m b/Pods/Kiwi/Classes/Nodes/KWBeforeAllNode.m deleted file mode 100644 index 41b2e08..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWBeforeAllNode.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeforeAllNode.h" -#import "KWExampleNodeVisitor.h" - -@implementation KWBeforeAllNode - -#pragma mark - Initializing - -+ (id)beforeAllNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - return [[self alloc] initWithCallSite:aCallSite description:nil block:block]; -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitBeforeAllNode:self]; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWBeforeEachNode.h b/Pods/Kiwi/Classes/Nodes/KWBeforeEachNode.h deleted file mode 100644 index 21c5229..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWBeforeEachNode.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlockNode.h" -#import "KWExampleNode.h" - -@interface KWBeforeEachNode : KWBlockNode - -#pragma mark - Initializing - -+ (id)beforeEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWBeforeEachNode.m b/Pods/Kiwi/Classes/Nodes/KWBeforeEachNode.m deleted file mode 100644 index 8c143e5..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWBeforeEachNode.m +++ /dev/null @@ -1,24 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBeforeEachNode.h" -#import "KWExampleNodeVisitor.h" - -@implementation KWBeforeEachNode - -#pragma mark - Initializing - -+ (id)beforeEachNodeWithCallSite:(KWCallSite *)aCallSite block:(void (^)(void))block { - return [[self alloc] initWithCallSite:aCallSite description:nil block:block]; -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitBeforeEachNode:self]; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWBlockNode.h b/Pods/Kiwi/Classes/Nodes/KWBlockNode.h deleted file mode 100644 index 050ba5c..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWBlockNode.h +++ /dev/null @@ -1,34 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlock.h" - -@class KWCallSite; - -@interface KWBlockNode : NSObject - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription block:(void (^)(void))block; - -#pragma mark - Getting Call Sites - -@property (nonatomic, strong, readonly) KWCallSite *callSite; - -#pragma mark - Getting Descriptions - -@property (nonatomic, copy) NSString *description; - -#pragma mark - Getting Blocks - -@property (nonatomic, copy, readonly) void (^block)(void); - -#pragma mark - Performing blocks - -- (void)performBlock; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWBlockNode.m b/Pods/Kiwi/Classes/Nodes/KWBlockNode.m deleted file mode 100644 index 69ffd1f..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWBlockNode.m +++ /dev/null @@ -1,28 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWBlockNode.h" - -@implementation KWBlockNode - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite description:(NSString *)aDescription block:(void (^)(void))block { - self = [super init]; - if (self) { - _callSite = aCallSite; - _description = aDescription; - _block = [block copy]; - } - - return self; -} - -- (void)performBlock { - if (self.block != nil) { self.block(); } -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWContextNode.h b/Pods/Kiwi/Classes/Nodes/KWContextNode.h deleted file mode 100644 index 23ddf33..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWContextNode.h +++ /dev/null @@ -1,59 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWExampleNode.h" - -@class KWAfterAllNode; -@class KWAfterEachNode; -@class KWBeforeAllNode; -@class KWBeforeEachNode; -@class KWCallSite; -@class KWItNode; -@class KWPendingNode; -@class KWRegisterMatchersNode; -@class KWExample; - -@interface KWContextNode : NSObject - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite parentContext:(KWContextNode *)node description:(NSString *)aDescription; - -+ (id)contextNodeWithCallSite:(KWCallSite *)aCallSite parentContext:(KWContextNode *)contextNode description:(NSString *)aDescription; - -#pragma mark - Getting Call Sites - -@property (nonatomic, weak, readonly) KWCallSite *callSite; - -#pragma mark - Getting Descriptions - -@property (nonatomic, readonly) NSString *description; - -#pragma mark - Managing Nodes - -@property (nonatomic, strong) KWRegisterMatchersNode *registerMatchersNode; -@property (nonatomic, strong) KWBeforeAllNode *beforeAllNode; -@property (nonatomic, strong) KWAfterAllNode *afterAllNode; -@property (nonatomic, strong) KWBeforeEachNode *beforeEachNode; -@property (nonatomic, strong) KWAfterEachNode *afterEachNode; -@property (nonatomic, readonly) NSArray *nodes; - -@property (nonatomic, readonly) KWContextNode *parentContext; - -@property (nonatomic, assign) BOOL isFocused; - -- (void)addContextNode:(KWContextNode *)aNode; -- (void)addItNode:(KWItNode *)aNode; -- (void)addPendingNode:(KWPendingNode *)aNode; - -- (void)performExample:(KWExample *)example withBlock:(void (^)(void))exampleBlock; - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWContextNode.m b/Pods/Kiwi/Classes/Nodes/KWContextNode.m deleted file mode 100644 index 0b2c17a..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWContextNode.m +++ /dev/null @@ -1,122 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWAfterAllNode.h" -#import "KWAfterEachNode.h" -#import "KWBeforeAllNode.h" -#import "KWBeforeEachNode.h" -#import "KWCallSite.h" -#import "KWContextNode.h" -#import "KWExampleNodeVisitor.h" -#import "KWExample.h" -#import "KWFailure.h" -#import "KWRegisterMatchersNode.h" -#import "KWSymbolicator.h" - -@interface KWContextNode() - -@property (nonatomic, assign) NSUInteger performedExampleCount; - -@end - -@implementation KWContextNode - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite parentContext:(KWContextNode *)node description:(NSString *)aDescription { - self = [super init]; - if (self) { - _parentContext = node; - _callSite = aCallSite; - _description = [aDescription copy]; - _nodes = [[NSMutableArray alloc] init]; - _performedExampleCount = 0; - } - - return self; -} - -+ (id)contextNodeWithCallSite:(KWCallSite *)aCallSite parentContext:(KWContextNode *)contextNode description:(NSString *)aDescription { - return [[self alloc] initWithCallSite:aCallSite parentContext:contextNode description:aDescription]; -} - -- (void)addContextNode:(KWContextNode *)aNode { - [(NSMutableArray *)self.nodes addObject:aNode]; -} - -- (void)setRegisterMatchersNode:(KWRegisterMatchersNode *)aNode { - if (self.registerMatchersNode != nil) - [NSException raise:@"KWContextNodeException" format:@"a register matchers node already exists"]; - - _registerMatchersNode = aNode; -} - -- (void)setBeforeEachNode:(KWBeforeEachNode *)aNode { - if (self.beforeEachNode != nil) - [NSException raise:@"KWContextNodeException" format:@"a before each node already exists"]; - - _beforeEachNode = aNode; -} - -- (void)setAfterEachNode:(KWAfterEachNode *)aNode { - if (self.afterEachNode != nil) - [NSException raise:@"KWContextNodeException" format:@"an after each node already exists"]; - - _afterEachNode = aNode; -} - -- (void)addItNode:(KWItNode *)aNode { - [(NSMutableArray *)self.nodes addObject:aNode]; -} - -- (void)addPendingNode:(KWPendingNode *)aNode { - [(NSMutableArray *)self.nodes addObject:aNode]; -} - -- (void)performExample:(KWExample *)example withBlock:(void (^)(void))exampleBlock -{ - void (^innerExampleBlock)(void) = [exampleBlock copy]; - - void (^outerExampleBlock)(void) = ^{ - @try { - [self.registerMatchersNode acceptExampleNodeVisitor:example]; - - if (self.performedExampleCount == 0) { - [self.beforeAllNode acceptExampleNodeVisitor:example]; - } - - [self.beforeEachNode acceptExampleNodeVisitor:example]; - - innerExampleBlock(); - - [self.afterEachNode acceptExampleNodeVisitor:example]; - - if ([example isLastInContext:self]) { - [self.afterAllNode acceptExampleNodeVisitor:example]; - } - - } @catch (NSException *exception) { - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite format:@"%@ \"%@\" raised", [exception name], [exception reason]]; - [example reportFailure:failure]; - } - - self.performedExampleCount++; - }; - if (self.parentContext == nil) { - outerExampleBlock(); - } - else { - [self.parentContext performExample:example withBlock:outerExampleBlock]; - } -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitContextNode:self]; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWExampleNode.h b/Pods/Kiwi/Classes/Nodes/KWExampleNode.h deleted file mode 100644 index b3fc4dc..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWExampleNode.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWContextNode; -@protocol KWExampleNodeVisitor; - -@protocol KWExampleNode - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor; - -@optional - -- (NSArray *)contextStack; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWItNode.h b/Pods/Kiwi/Classes/Nodes/KWItNode.h deleted file mode 100644 index 11bcec0..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWItNode.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWBlockNode.h" -#import "KWExampleNode.h" - -@class KWPendingNode; -@class KWExample; -@class KWContextNode; - -@interface KWItNode : KWBlockNode - -@property (nonatomic, strong) KWExample *example; -@property (nonatomic, weak, readonly) KWContextNode *context; - -#pragma mark - Initializing - -+ (id)itNodeWithCallSite:(KWCallSite *)aCallSite - description:(NSString *)aDescription - context:(KWContextNode *)context - block:(void (^)(void))block; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWItNode.m b/Pods/Kiwi/Classes/Nodes/KWItNode.m deleted file mode 100644 index 5e3339d..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWItNode.m +++ /dev/null @@ -1,62 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWItNode.h" -#import "KWExampleNodeVisitor.h" -#import "KWExample.h" -#import "KWVerifying.h" -#import "KWContextNode.h" - -@interface KWItNode () - -@property (nonatomic, weak) KWContextNode *context; - -@end - -@implementation KWItNode - -#pragma mark - Initializing - -+ (id)itNodeWithCallSite:(KWCallSite *)aCallSite - description:(NSString *)aDescription - context:(KWContextNode *)context - block:(void (^)(void))block { - KWItNode *itNode = [[self alloc] initWithCallSite:aCallSite description:aDescription block:block]; - itNode.context = context; - return itNode; -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitItNode:self]; -} - -#pragma mark - Runtime Description support - -- (NSString *)description { - NSString *description = [super description]; - if (description == nil) { - description = [self.example generateDescriptionForAnonymousItNode]; - } - return description; -} - -#pragma mark - Accessing the context stack - -- (NSArray *)contextStack { - NSMutableArray *contextStack = [NSMutableArray array]; - - KWContextNode *currentContext = _context; - - while (currentContext) { - [contextStack addObject:currentContext]; - currentContext = currentContext.parentContext; - } - return contextStack; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWPendingNode.h b/Pods/Kiwi/Classes/Nodes/KWPendingNode.h deleted file mode 100644 index f67876e..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWPendingNode.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWExampleNode.h" - -@class KWContextNode; -@class KWCallSite; - -@interface KWPendingNode : NSObject - -@property (nonatomic, readonly, strong) KWContextNode *context; - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite context:(KWContextNode *)context description:(NSString *)aDescription; - -+ (id)pendingNodeWithCallSite:(KWCallSite *)aCallSite context:(KWContextNode *)context description:(NSString *)aDescription; - -#pragma mark - Getting Call Sites - -@property (nonatomic, readonly) KWCallSite *callSite; - -#pragma mark - Getting Descriptions - -@property (nonatomic, readonly) NSString *description; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWPendingNode.m b/Pods/Kiwi/Classes/Nodes/KWPendingNode.m deleted file mode 100644 index 097faf7..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWPendingNode.m +++ /dev/null @@ -1,53 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWPendingNode.h" - -#import "KWCallSite.h" -#import "KWContextNode.h" -#import "KWExampleNodeVisitor.h" - -@implementation KWPendingNode - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite context:(KWContextNode *)context description:(NSString *)aDescription { - self = [super init]; - if (self) { - _callSite = aCallSite; - _description = [aDescription copy]; - _context = context; - } - - return self; -} - -+ (id)pendingNodeWithCallSite:(KWCallSite *)aCallSite context:(KWContextNode *)context description:(NSString *)aDescription { - return [[self alloc] initWithCallSite:aCallSite context:context description:aDescription]; -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitPendingNode:self]; -} - -#pragma mark - Accessing the context stack - -- (NSArray *)contextStack -{ - NSMutableArray *contextStack = [NSMutableArray array]; - - KWContextNode *currentContext = _context; - - while (currentContext) { - [contextStack addObject:currentContext]; - currentContext = currentContext.parentContext; - } - return contextStack; -} - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWRegisterMatchersNode.h b/Pods/Kiwi/Classes/Nodes/KWRegisterMatchersNode.h deleted file mode 100644 index f0ef83a..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWRegisterMatchersNode.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWExampleNode.h" - -@class KWCallSite; - -@interface KWRegisterMatchersNode : NSObject - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite namespacePrefix:(NSString *)aNamespacePrefix; - -+ (id)registerMatchersNodeWithCallSite:(KWCallSite *)aCallSite namespacePrefix:(NSString *)aNamespacePrefix; - -#pragma mark - Getting Call Sites - -@property (nonatomic, readonly) KWCallSite *callSite; - -#pragma mark - Getting Namespace Prefixes - -@property (nonatomic, readonly) NSString *namespacePrefix; - -@end diff --git a/Pods/Kiwi/Classes/Nodes/KWRegisterMatchersNode.m b/Pods/Kiwi/Classes/Nodes/KWRegisterMatchersNode.m deleted file mode 100644 index 8e6b1cc..0000000 --- a/Pods/Kiwi/Classes/Nodes/KWRegisterMatchersNode.m +++ /dev/null @@ -1,36 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWRegisterMatchersNode.h" - -#import "KWCallSite.h" -#import "KWExampleNodeVisitor.h" - -@implementation KWRegisterMatchersNode - -#pragma mark - Initializing - -- (id)initWithCallSite:(KWCallSite *)aCallSite namespacePrefix:(NSString *)aNamespacePrefix { - self = [super init]; - if (self) { - _callSite = aCallSite; - _namespacePrefix = [aNamespacePrefix copy]; - } - - return self; -} - -+ (id)registerMatchersNodeWithCallSite:(KWCallSite *)aCallSite namespacePrefix:(NSString *)aNamespacePrefix { - return [[self alloc] initWithCallSite:aCallSite namespacePrefix:aNamespacePrefix]; -} - -#pragma mark - Accepting Visitors - -- (void)acceptExampleNodeVisitor:(id)aVisitor { - [aVisitor visitRegisterMatchersNode:self]; -} - -@end diff --git a/Pods/Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.h b/Pods/Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.h deleted file mode 100644 index 8d7306b..0000000 --- a/Pods/Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.h +++ /dev/null @@ -1,55 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWCaptureSpy; -@class KWMessagePattern; - -@protocol KWMessageSpying; - -@interface NSObject(KiwiStubAdditions) - -#pragma mark - Stubbing Methods - -- (void)stub:(SEL)aSelector; -- (void)stub:(SEL)aSelector withBlock:(id (^)(NSArray *params))block; -- (void)stub:(SEL)aSelector withArguments:(id)firstArgument, ...; -- (void)stub:(SEL)aSelector andReturn:(id)aValue; -- (void)stub:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ...; - -+ (void)stub:(SEL)aSelector; -+ (void)stub:(SEL)aSelector withBlock:(id (^)(NSArray *params))block; -+ (void)stub:(SEL)aSelector withArguments:(id)firstArgument, ...; -+ (void)stub:(SEL)aSelector andReturn:(id)aValue; -+ (void)stub:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ...; - -- (id)stub; -- (id)stubAndReturn:(id)aValue; -- (id)stubAndReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue; - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue; -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue overrideExisting:(BOOL)overrideExisting; -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue; -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern withBlock:(id (^)(NSArray *params))block; - -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue; -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue; -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern withBlock:(id (^)(NSArray *params))block; - -- (void)clearStubs; - -#pragma mark - Spying on Messages - -- (void)addMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern; -- (void)removeMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern; -- (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index; - -+ (void)addMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern; -+ (void)removeMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern; -+ (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index; - -@end diff --git a/Pods/Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.m b/Pods/Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.m deleted file mode 100644 index 0edf73a..0000000 --- a/Pods/Kiwi/Classes/Stubbing/NSObject+KiwiStubAdditions.m +++ /dev/null @@ -1,256 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "NSObject+KiwiStubAdditions.h" -#import "KWCaptureSpy.h" -#import "KWIntercept.h" -#import "KWInvocationCapturer.h" -#import "KWMessagePattern.h" -#import "KWObjCUtilities.h" -#import "KWStringUtilities.h" -#import "KWStub.h" - -static NSString * const StubValueKey = @"StubValueKey"; -static NSString * const StubSecondValueKey = @"StubSecondValueKey"; -static NSString * const ChangeStubValueAfterTimesKey = @"ChangeStubValueAfterTimesKey"; - -@implementation NSObject(KiwiStubAdditions) - -#pragma mark - Capturing Invocations - -- (NSMethodSignature *)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer methodSignatureForSelector:(SEL)aSelector { - NSMethodSignature *signature = [self methodSignatureForSelector:aSelector]; - - if (signature != nil) - return signature; - - NSString *encoding = KWEncodingForDefaultMethod(); - return [NSMethodSignature signatureWithObjCTypes:[encoding UTF8String]]; -} - -- (void)invocationCapturer:(KWInvocationCapturer *)anInvocationCapturer didCaptureInvocation:(NSInvocation *)anInvocation { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternFromInvocation:anInvocation]; - id value = (anInvocationCapturer.userInfo)[StubValueKey]; - if (!(anInvocationCapturer.userInfo)[StubSecondValueKey]) { - [self stubMessagePattern:messagePattern andReturn:value]; - } else { - id times = (anInvocationCapturer.userInfo)[ChangeStubValueAfterTimesKey]; - id secondValue = (anInvocationCapturer.userInfo)[StubSecondValueKey]; - [self stubMessagePattern:messagePattern andReturn:value times:times afterThatReturn:secondValue]; - } -} - -#pragma mark - Stubbing Methods - -- (void)stub:(SEL)aSelector { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern andReturn:nil]; -} - -- (void)stub:(SEL)aSelector withBlock:(id (^)(NSArray *))block { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern withBlock:block]; -} - -- (void)stub:(SEL)aSelector withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [self stubMessagePattern:messagePattern andReturn:nil]; -} - -- (void)stub:(SEL)aSelector andReturn:(id)aValue { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern andReturn:aValue]; -} - -- (void)stub:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [self stubMessagePattern:messagePattern andReturn:aValue]; -} - -+ (void)stub:(SEL)aSelector { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern andReturn:nil]; -} - -+ (void)stub:(SEL)aSelector withBlock:(id (^)(NSArray *))block { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern withBlock:block]; -} - -+ (void)stub:(SEL)aSelector withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [self stubMessagePattern:messagePattern andReturn:nil]; -} - -+ (void)stub:(SEL)aSelector andReturn:(id)aValue { - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector]; - [self stubMessagePattern:messagePattern andReturn:aValue]; -} - -+ (void)stub:(SEL)aSelector andReturn:(id)aValue withArguments:(id)firstArgument, ... { - va_list argumentList; - va_start(argumentList, firstArgument); - KWMessagePattern *messagePattern = [KWMessagePattern messagePatternWithSelector:aSelector firstArgumentFilter:firstArgument argumentList:argumentList]; - [self stubMessagePattern:messagePattern andReturn:aValue]; -} - -- (id)stub { - return [KWInvocationCapturer invocationCapturerWithDelegate:self]; -} - -- (id)stubAndReturn:(id)aValue { - NSDictionary *userInfo = @{StubValueKey: aValue}; - return [KWInvocationCapturer invocationCapturerWithDelegate:self userInfo:userInfo]; -} - -- (id)stubAndReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue { - NSDictionary *userInfo = @{StubValueKey: aValue, ChangeStubValueAfterTimesKey: times, StubSecondValueKey: aSecondValue}; - return [KWInvocationCapturer invocationCapturerWithDelegate:self userInfo:userInfo]; -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue { - [self stubMessagePattern:aMessagePattern andReturn:aValue overrideExisting:YES]; -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue overrideExisting:(BOOL)overrideExisting { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWStubException" format:@"cannot stub -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern value:aValue]; - KWAssociateObjectStub(self, stub, overrideExisting); -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWStubException" format:@"cannot stub -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern value:aValue times:times afterThatReturn:aSecondValue]; - KWAssociateObjectStub(self, stub, YES); -} - -- (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern withBlock:(id (^)(NSArray *params))block { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWStubException" format:@"cannot stub -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern block:block]; - KWAssociateObjectStub(self, stub, YES); -} - -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue { - [self stubMessagePattern:aMessagePattern andReturn:aValue overrideExisting:YES]; -} - -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue overrideExisting:(BOOL)override { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWStubException" format:@"cannot stub -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern value:aValue]; - KWAssociateObjectStub(self, stub, override); -} - -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue { - [self stubMessagePattern:aMessagePattern andReturn:aValue times:times afterThatReturn:aSecondValue overrideExisting:YES]; -} - -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern andReturn:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue overrideExisting:(BOOL)override { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWStubException" format:@"cannot stub -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern value:aValue times:times afterThatReturn:aSecondValue]; - KWAssociateObjectStub(self, stub, override); -} - -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern withBlock:(id (^)(NSArray *params))block { - [self stubMessagePattern:aMessagePattern withBlock:block overrideExisting:YES]; -} - -+ (void)stubMessagePattern:(KWMessagePattern *)aMessagePattern withBlock:(id (^)(NSArray *params))block overrideExisting:(BOOL)override { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWStubException" format:@"cannot stub -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWStub *stub = [KWStub stubWithMessagePattern:aMessagePattern block:block]; - KWAssociateObjectStub(self, stub, override); -} - -- (void)clearStubs { - KWClearObjectStubs(self); -} - -#pragma mark - Spying on Messages - -- (void)addMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWSpyException" format:@"cannot add spy for -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWAssociateMessageSpy(self, aSpy, aMessagePattern); -} - -- (void)removeMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern { - KWClearObjectSpy(self, aSpy, aMessagePattern); -} - -- (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index { - KWCaptureSpy *spy = [[KWCaptureSpy alloc] initWithArgumentIndex:index]; - [self addMessageSpy:spy forMessagePattern:[KWMessagePattern messagePatternWithSelector:selector]]; - return spy; -} - -+ (void)addMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern { - if ([self methodSignatureForSelector:aMessagePattern.selector] == nil) { - [NSException raise:@"KWSpyException" format:@"cannot add spy for -%@ because no such method exists", - NSStringFromSelector(aMessagePattern.selector)]; - } - - Class interceptClass = KWSetupObjectInterceptSupport(self); - KWSetupMethodInterceptSupport(interceptClass, aMessagePattern.selector); - KWAssociateMessageSpy(self, aSpy, aMessagePattern); -} - -+ (void)removeMessageSpy:(id)aSpy forMessagePattern:(KWMessagePattern *)aMessagePattern { - KWClearObjectSpy(self, aSpy, aMessagePattern); -} - -+ (KWCaptureSpy *)captureArgument:(SEL)selector atIndex:(NSUInteger)index { - KWCaptureSpy *spy = [[KWCaptureSpy alloc] initWithArgumentIndex:index]; - [self addMessageSpy:spy forMessagePattern:[KWMessagePattern messagePatternWithSelector:selector]]; - return spy; -} - -@end diff --git a/Pods/Kiwi/Classes/Verifiers/KWAsyncVerifier.h b/Pods/Kiwi/Classes/Verifiers/KWAsyncVerifier.h deleted file mode 100644 index dd407c3..0000000 --- a/Pods/Kiwi/Classes/Verifiers/KWAsyncVerifier.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// KWAsyncVerifier.h -// iOSFalconCore -// -// Created by Luke Redpath on 13/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import -#import "KWMatchVerifier.h" -#import "KWProbe.h" - -#define kKW_DEFAULT_PROBE_TIMEOUT 1.0 - -@class KWAsyncMatcherProbe; - - -@interface KWAsyncVerifier : KWMatchVerifier - -@property (nonatomic, assign) NSTimeInterval timeout; -@property (nonatomic, assign) BOOL shouldWait; - -+ (id)asyncVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter probeTimeout:(NSTimeInterval)probeTimeout shouldWait:(BOOL)shouldWait; -- (void)verifyWithProbe:(KWAsyncMatcherProbe *)aProbe; - -@end - - -@interface KWAsyncMatcherProbe : NSObject - -@property (nonatomic, assign) BOOL matchResult; -@property (nonatomic, readonly) id matcher; - -- (id)initWithMatcher:(id)aMatcher; - -@end diff --git a/Pods/Kiwi/Classes/Verifiers/KWAsyncVerifier.m b/Pods/Kiwi/Classes/Verifiers/KWAsyncVerifier.m deleted file mode 100644 index 80aaf07..0000000 --- a/Pods/Kiwi/Classes/Verifiers/KWAsyncVerifier.m +++ /dev/null @@ -1,90 +0,0 @@ -// -// KWAsyncVerifier.m -// iOSFalconCore -// -// Created by Luke Redpath on 13/01/2011. -// Copyright 2011 LJR Software Limited. All rights reserved. -// - -#import "KWAsyncVerifier.h" -#import "KWFailure.h" -#import "KWMatching.h" -#import "KWReporting.h" -#import "KWProbePoller.h" - -@implementation KWAsyncVerifier - -+ (id)asyncVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter probeTimeout:(NSTimeInterval)probeTimeout shouldWait:(BOOL)shouldWait { - KWAsyncVerifier *verifier = [[self alloc] initWithExpectationType:anExpectationType callSite:aCallSite matcherFactory:aMatcherFactory reporter:aReporter]; - verifier.timeout = probeTimeout; - verifier.shouldWait = shouldWait; - return verifier; -} - -- (id)initWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter { - self = [super initWithExpectationType:anExpectationType callSite:aCallSite matcherFactory:aMatcherFactory reporter:aReporter]; - if (self) { - self.timeout = kKW_DEFAULT_PROBE_TIMEOUT; - } - return self; -} - -- (void)verifyWithProbe:(KWAsyncMatcherProbe *)aProbe { - @try { - KWProbePoller *poller = [[KWProbePoller alloc] initWithTimeout:self.timeout delay:kKW_DEFAULT_PROBE_DELAY shouldWait: self.shouldWait]; - - if (![poller check:aProbe]) { - if (self.expectationType == KWExpectationTypeShould) { - NSString *message = [aProbe.matcher failureMessageForShould]; - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:message]; - [self.reporter reportFailure:failure]; - } - } else { - // poller returned YES -- fail if expectation is NOT - if (self.expectationType == KWExpectationTypeShouldNot) { - NSString *message = [aProbe.matcher failureMessageForShouldNot]; - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:message]; - [self.reporter reportFailure:failure]; - } - } - - - } @catch (NSException *exception) { - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:[exception description]]; - [self.reporter reportFailure:failure]; - } -} - -- (void)verifyWithMatcher:(id)aMatcher { - KWAsyncMatcherProbe *probe = [[KWAsyncMatcherProbe alloc] initWithMatcher:aMatcher]; - [self verifyWithProbe:probe]; -} - -@end - -@implementation KWAsyncMatcherProbe - -- (id)initWithMatcher:(id)aMatcher { - self = [super init]; - if (self) { - _matcher = aMatcher; - - // make sure the matcher knows we are going to evaluate it multiple times - if ([aMatcher respondsToSelector:@selector(willEvaluateMultipleTimes)]) { - [aMatcher setWillEvaluateMultipleTimes:YES]; - } - } - return self; -} - - -- (BOOL)isSatisfied { - return self.matchResult; -} - -- (void)sample { - self.matchResult = [self.matcher evaluate]; -} - -@end - diff --git a/Pods/Kiwi/Classes/Verifiers/KWExistVerifier.h b/Pods/Kiwi/Classes/Verifiers/KWExistVerifier.h deleted file mode 100644 index 91c0c18..0000000 --- a/Pods/Kiwi/Classes/Verifiers/KWExistVerifier.h +++ /dev/null @@ -1,27 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWExpectationType.h" -#import "KWVerifying.h" - -@class KWCallSite; - -@protocol KWReporting; - -@interface KWExistVerifier : NSObject - -#pragma mark - Initializing - -- (id)initWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite reporter:(id)aReporter; - -+ (id)existVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite reporter:(id)aReporter; - -#pragma mark - Properties - -@property (nonatomic, strong) id subject; - -@end diff --git a/Pods/Kiwi/Classes/Verifiers/KWExistVerifier.m b/Pods/Kiwi/Classes/Verifiers/KWExistVerifier.m deleted file mode 100644 index 9485a07..0000000 --- a/Pods/Kiwi/Classes/Verifiers/KWExistVerifier.m +++ /dev/null @@ -1,63 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWExistVerifier.h" - -#import "KWCallSite.h" -#import "KWFailure.h" -#import "KWFormatter.h" -#import "KWReporting.h" - -@interface KWExistVerifier() - -@property (nonatomic, readonly) KWExpectationType expectationType; -@property (nonatomic, readonly) id reporter; - -@property (nonatomic, strong) KWCallSite *callSite; - -@end - -@implementation KWExistVerifier - -#pragma mark - Initializing - -- (id)initWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite reporter:(id)aReporter { - self = [super init]; - if (self) { - _expectationType = anExpectationType; - _callSite = aCallSite; - _reporter = aReporter; - } - - return self; -} - -+ (id)existVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite reporter:(id)aReporter { - return [[self alloc] initWithExpectationType:anExpectationType callSite:aCallSite reporter:aReporter]; -} - - -- (NSString *)descriptionForAnonymousItNode { - if (self.expectationType == KWExpectationTypeShould) { - return @"should exist"; - } - return @"should not exist"; -} - -#pragma mark - Ending Examples - -- (void)exampleWillEnd { - if (self.expectationType == KWExpectationTypeShould && self.subject == nil) { - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:@"expected subject not to be nil"]; - [self.reporter reportFailure:failure]; - } else if (self.expectationType == KWExpectationTypeShouldNot && self.subject != nil) { - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite format:@"expected subject to be nil, got %@", - [KWFormatter formatObject:self.subject]]; - [self.reporter reportFailure:failure]; - } -} - -@end diff --git a/Pods/Kiwi/Classes/Verifiers/KWMatchVerifier.h b/Pods/Kiwi/Classes/Verifiers/KWMatchVerifier.h deleted file mode 100644 index 0fa981a..0000000 --- a/Pods/Kiwi/Classes/Verifiers/KWMatchVerifier.h +++ /dev/null @@ -1,39 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import "KWExpectationType.h" -#import "KWVerifying.h" - -@class KWCallSite; -@class KWMatcherFactory; - -@protocol KWMatching; -@protocol KWReporting; - -@interface KWMatchVerifier : NSObject - -#pragma mark - Properties - -@property (nonatomic, readonly) KWExpectationType expectationType; - -@property (nonatomic, readonly) KWMatcherFactory *matcherFactory; -@property (nonatomic, readonly) id reporter; - -@property (nonatomic, strong) id subject; - - -#pragma mark - Initializing - -- (id)initForShouldWithCallSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter; -- (id)initForShouldNotWithCallSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter; -- (id)initWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter; - -+ (id)matchVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter; - -- (void)verifyWithMatcher:(id)aMatcher; - -@end diff --git a/Pods/Kiwi/Classes/Verifiers/KWMatchVerifier.m b/Pods/Kiwi/Classes/Verifiers/KWMatchVerifier.m deleted file mode 100644 index 95513b7..0000000 --- a/Pods/Kiwi/Classes/Verifiers/KWMatchVerifier.m +++ /dev/null @@ -1,176 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWMatchVerifier.h" - -#import "KWCallSite.h" -#import "KWExample.h" -#import "KWFailure.h" -#import "KWFormatter.h" -#import "KWInvocationCapturer.h" -#import "KWMatcherFactory.h" -#import "KWReporting.h" -#import "KWStringUtilities.h" -#import "KWWorkarounds.h" -#import "NSInvocation+KiwiAdditions.h" -#import "NSMethodSignature+KiwiAdditions.h" - -@interface KWMatchVerifier() - -#pragma mark - Properties - -@property (nonatomic, readwrite, strong) id endOfExampleMatcher; -@property (nonatomic, readwrite, strong) id matcher; -@property (nonatomic, readwrite, strong) KWExample *example; - -@property (nonatomic, strong) KWCallSite *callSite; - -@end - -@implementation KWMatchVerifier - -#pragma mark - Initializing - -- (id)initForShouldWithCallSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter { - return [self initWithExpectationType:KWExpectationTypeShould callSite:aCallSite matcherFactory:aMatcherFactory reporter:aReporter]; -} - -- (id)initForShouldNotWithCallSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter { - return [self initWithExpectationType:KWExpectationTypeShouldNot callSite:aCallSite matcherFactory:aMatcherFactory reporter:aReporter]; -} - -- (id)initWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter { - self = [super init]; - if (self) { - _expectationType = anExpectationType; - _callSite = aCallSite; - _matcherFactory = aMatcherFactory; - _reporter = aReporter; - _example = (KWExample *)aReporter; - } - - return self; -} - -+ (id)matchVerifierWithExpectationType:(KWExpectationType)anExpectationType callSite:(KWCallSite *)aCallSite matcherFactory:(KWMatcherFactory *)aMatcherFactory reporter:(id)aReporter { - return [[self alloc] initWithExpectationType:anExpectationType callSite:aCallSite matcherFactory:aMatcherFactory reporter:aReporter]; -} - - -- (NSString *)descriptionForAnonymousItNode { - NSString *typeString = @""; - - switch (self.expectationType) { - case KWExpectationTypeShould: - typeString = @"should"; - break; - case KWExpectationTypeShouldNot: - typeString = @"should not"; - } - id actualMatcher = (self.endOfExampleMatcher == nil) ? self.matcher : self.endOfExampleMatcher; - return [NSString stringWithFormat:@"%@ %@", typeString, actualMatcher]; -} - -#pragma mark - Verifying - -- (void)verifyWithMatcher:(id)aMatcher { - BOOL specFailed = NO; - NSString *failureMessage = nil; - - @try { - BOOL matchResult = [aMatcher evaluate]; - - if (self.expectationType == KWExpectationTypeShould && !matchResult) { - failureMessage = [aMatcher failureMessageForShould]; - specFailed = YES; - - } else if (self.expectationType == KWExpectationTypeShouldNot && matchResult) { - failureMessage = [aMatcher failureMessageForShouldNot]; - specFailed = YES; - } - } @catch (NSException *exception) { - failureMessage = [exception description]; - specFailed = YES; - } - @finally { - if (specFailed) { - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite message:failureMessage]; - [self.reporter reportFailure:failure]; - } - } -} - -#pragma mark - Ending Examples - -- (void)exampleWillEnd { - if (self.endOfExampleMatcher) { - [self verifyWithMatcher:self.endOfExampleMatcher]; - } -} - -#pragma mark - Handling Invocations - -- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector { - NSMethodSignature *signature = [super methodSignatureForSelector:aSelector]; - - if (signature != nil) - return signature; - - signature = [self.matcherFactory methodSignatureForMatcherSelector:aSelector]; - - if (signature != nil) - return signature; - - // Return a dummy method signature so that problems can be handled in - // -forwardInvocation:. - NSString *encoding = KWEncodingForDefaultMethod(); - return [NSMethodSignature signatureWithObjCTypes:[encoding UTF8String]]; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation { -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - @try { -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - - self.matcher = (id)[self.matcherFactory matcherFromInvocation:anInvocation subject:self.subject]; - - if (self.matcher == nil) { - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite format:@"could not create matcher for -%@", - NSStringFromSelector(anInvocation.selector)]; - [self.reporter reportFailure:failure]; - } - - if (self.example.unresolvedVerifier == self) { - self.example.unresolvedVerifier = nil; - } - - [anInvocation invokeWithTarget:self.matcher]; - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - // A matcher might have set an exception within the -invokeWithTarget, so - // raise if one was set. - NSException *exception = KWGetAndClearExceptionFromAcrossInvocationBoundary(); - [exception raise]; -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - - if ([self.matcher respondsToSelector:@selector(shouldBeEvaluatedAtEndOfExample)] && [self.matcher shouldBeEvaluatedAtEndOfExample]) { - self.endOfExampleMatcher = self.matcher; - self.matcher = nil; - } - else { - [self verifyWithMatcher:self.matcher]; - } - -#if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG - } @catch (NSException *exception) { - KWFailure *failure = [KWFailure failureWithCallSite:self.callSite format:[exception reason]]; - [self.reporter reportFailure:failure]; - return; - } -#endif // #if KW_TARGET_HAS_INVOCATION_EXCEPTION_BUG -} - -@end diff --git a/Pods/Kiwi/Classes/Verifiers/KWVerifying.h b/Pods/Kiwi/Classes/Verifiers/KWVerifying.h deleted file mode 100644 index d26d3bc..0000000 --- a/Pods/Kiwi/Classes/Verifiers/KWVerifying.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWCallSite; - -@protocol KWVerifying - -@property (nonatomic, readonly) KWCallSite *callSite; - -- (NSString *)descriptionForAnonymousItNode; - -#pragma mark - Subjects - -@property (nonatomic, strong) id subject; - -#pragma mark - Ending Examples - -- (void)exampleWillEnd; - -@end diff --git a/Pods/Kiwi/License.txt b/Pods/Kiwi/License.txt deleted file mode 100644 index 5591081..0000000 --- a/Pods/Kiwi/License.txt +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2010, Allen Ding -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -3. Neither the name of Allen Ding nor the names of any contributors may be -used to endorse or promote products derived from this software without specific -prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Pods/Kiwi/NonARC/KWIntercept.h b/Pods/Kiwi/NonARC/KWIntercept.h deleted file mode 100644 index 5481c80..0000000 --- a/Pods/Kiwi/NonARC/KWIntercept.h +++ /dev/null @@ -1,45 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" -#import - -@class KWMessagePattern; -@class KWStub; - -#pragma mark - Getting Forwarding Implementations - -IMP KWRegularForwardingImplementation(void); -IMP KWStretForwardingImplementation(void); -IMP KWForwardingImplementationForMethodEncoding(const char* encoding); - -#pragma mark - Getting Intercept Class Information - -BOOL KWObjectIsClass(id anObject); -BOOL KWClassIsInterceptClass(Class aClass); -NSString *KWInterceptClassNameForClass(Class aClass); -Class KWInterceptClassForCanonicalClass(Class canonicalClass); -Class KWRealClassForClass(Class aClass); - -#pragma mark - Enabling Intercepting - -Class KWSetupObjectInterceptSupport(id anObject); -void KWSetupMethodInterceptSupport(Class interceptClass, SEL aSelector); - -#pragma mark - Managing Stubs & Spies -void KWClearStubsAndSpies(void); - -#pragma mark - Managing Objects Stubs - -void KWAssociateObjectStub(id anObject, KWStub *aStub, BOOL overrideExisting); -void KWClearObjectStubs(id anObject); -void KWClearAllObjectStubs(void); - -#pragma mark - Managing Message Spies - -void KWAssociateMessageSpy(id anObject, id aSpy, KWMessagePattern *aMessagePattern); -void KWClearObjectSpy(id anObject, id aSpy, KWMessagePattern *aMessagePattern); -void KWClearAllMessageSpies(void); diff --git a/Pods/Kiwi/NonARC/KWIntercept.m b/Pods/Kiwi/NonARC/KWIntercept.m deleted file mode 100644 index 5f624ad..0000000 --- a/Pods/Kiwi/NonARC/KWIntercept.m +++ /dev/null @@ -1,329 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWIntercept.h" -#import "KWMessagePattern.h" -#import "KWMessageSpying.h" -#import "KWStub.h" - -static const char * const KWInterceptClassSuffix = "_KWIntercept"; -static NSMutableDictionary *KWObjectStubs = nil; -static NSMutableDictionary *KWMessageSpies = nil; -static NSMutableArray *KWRestoredObjects = nil; - -#pragma mark - Intercept Enabled Method Implementations - -Class KWRestoreOriginalClass(id anObject); -void KWInterceptedForwardInvocation(id anObject, SEL aSelector, NSInvocation* anInvocation); -void KWInterceptedDealloc(id anObject, SEL aSelector); -Class KWInterceptedClass(id anObject, SEL aSelector); -Class KWInterceptedSuperclass(id anObject, SEL aSelector); - -#pragma mark - Getting Forwarding Implementations - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wundeclared-selector" - -IMP KWRegularForwardingImplementation(void) { - return class_getMethodImplementation([NSObject class], @selector(KWNonExistantSelector)); -} - -IMP KWStretForwardingImplementation(void) { - return class_getMethodImplementation_stret([NSObject class], @selector(KWNonExistantSelector)); -} - -#pragma clang diagnostic pop - -IMP KWForwardingImplementationForMethodEncoding(const char* encoding) { -#if TARGET_CPU_ARM - const NSUInteger stretLengthThreshold = 4; -#elif TARGET_CPU_X86 - const NSUInteger stretLengthThreshold = 8; -#else - // TODO: This just makes an assumption right now. Expand to support all - // official architectures correctly. - const NSUInteger stretLengthThreshold = 8; -#endif // #if TARGET_CPU_ARM - - NSMethodSignature *signature = [NSMethodSignature signatureWithObjCTypes:encoding]; - - if (*[signature methodReturnType] == '{' && [signature methodReturnLength] > stretLengthThreshold) { - NSLog(@"Warning: The Objective-C runtime appears to have bugs when forwarding messages with certain struct layouts as return types, so if a crash occurs this could be the culprit"); - return KWStretForwardingImplementation(); - } else { - return KWRegularForwardingImplementation(); - } -} - -#pragma mark - Getting Intercept Class Information - -BOOL KWObjectIsClass(id anObject) { - return class_isMetaClass(object_getClass(anObject)); -} - -BOOL KWClassIsInterceptClass(Class aClass) { - const char *name = class_getName(aClass); - char *result = strstr(name, KWInterceptClassSuffix); - return result != nil; -} - -int interceptCount = 0; - -NSString *KWInterceptClassNameForClass(Class aClass) { - const char *className = class_getName(aClass); - interceptCount++; - return [NSString stringWithFormat:@"%s%s%d", className, KWInterceptClassSuffix, interceptCount]; -} - -Class KWInterceptClassForCanonicalClass(Class canonicalClass) { - NSString *interceptClassName = KWInterceptClassNameForClass(canonicalClass); - Class interceptClass = NSClassFromString(interceptClassName); - - if (interceptClass != nil) - return interceptClass; - - interceptClass = objc_allocateClassPair(canonicalClass, [interceptClassName UTF8String], 0); - objc_registerClassPair(interceptClass); - - class_addMethod(interceptClass, @selector(forwardInvocation:), (IMP)KWInterceptedForwardInvocation, "v@:@"); - class_addMethod(interceptClass, @selector(dealloc), (IMP)KWInterceptedDealloc, "v@:"); - class_addMethod(interceptClass, @selector(class), (IMP)KWInterceptedClass, "#@:"); - class_addMethod(interceptClass, @selector(superclass), (IMP)KWInterceptedSuperclass, "#@:"); - - Class interceptMetaClass = object_getClass(interceptClass); - class_addMethod(interceptMetaClass, @selector(forwardInvocation:), (IMP)KWInterceptedForwardInvocation, "v@:@"); - - return interceptClass; -} - -Class KWRealClassForClass(Class aClass) { - if (KWClassIsInterceptClass(aClass)) - return [aClass superclass]; - - return aClass; -} - -#pragma mark - Enabling Intercepting - -static BOOL IsTollFreeBridged(Class class, id obj) -{ - // this is a naive check, but good enough for the purposes of failing fast - return [NSStringFromClass(class) hasPrefix:@"NSCF"]; -} - -// Canonical class is the non-intercept, non-metaclass, class for an object. -// -// (e.g. [Animal class] would be canonical, not -// object_getClass([Animal class]), if the Animal class has not been touched -// by the intercept mechanism. - -Class KWSetupObjectInterceptSupport(id anObject) { - Class objectClass = object_getClass(anObject); - - if (IsTollFreeBridged(objectClass, anObject)) { - [NSException raise:@"KWTollFreeBridgingInterceptException" format:@"Attempted to stub object of class %@. Kiwi does not support setting expectation or stubbing methods on toll-free bridged objects.", NSStringFromClass(objectClass)]; - } - - if (KWClassIsInterceptClass(objectClass)) - return objectClass; - - BOOL objectIsClass = KWObjectIsClass(anObject); - Class canonicalClass = objectIsClass ? anObject : objectClass; - Class canonicalInterceptClass = KWInterceptClassForCanonicalClass(canonicalClass); - Class interceptClass = objectIsClass ? object_getClass(canonicalInterceptClass) : canonicalInterceptClass; - - object_setClass(anObject, interceptClass); - - return interceptClass; -} - -void KWSetupMethodInterceptSupport(Class interceptClass, SEL aSelector) { - BOOL isMetaClass = class_isMetaClass(interceptClass); - Method method = isMetaClass ? class_getClassMethod(interceptClass, aSelector) - : class_getInstanceMethod(interceptClass, aSelector); - - if (method == nil) { - [NSException raise:NSInvalidArgumentException format:@"cannot setup intercept support for -%@ because no such method exists", - NSStringFromSelector(aSelector)]; - } - - const char *encoding = method_getTypeEncoding(method); - IMP forwardingImplementation = KWForwardingImplementationForMethodEncoding(encoding); - class_addMethod(interceptClass, aSelector, forwardingImplementation, encoding); -} - -#pragma mark - Intercept Enabled Method Implementations - -Class KWRestoreOriginalClass(id anObject) { - Class interceptClass = object_getClass(anObject); - if (KWClassIsInterceptClass(interceptClass)) - { - Class originalClass = class_getSuperclass(interceptClass); - // anObject->isa = originalClass; - object_setClass(anObject, originalClass); - } - return interceptClass; -} - -void KWInterceptedForwardInvocation(id anObject, SEL aSelector, NSInvocation* anInvocation) { - NSValue *key = [NSValue valueWithNonretainedObject:anObject]; - NSMutableDictionary *spyArrayDictionary = KWMessageSpies[key]; - - for (KWMessagePattern *messagePattern in spyArrayDictionary) { - if ([messagePattern matchesInvocation:anInvocation]) { - NSArray *spies = spyArrayDictionary[messagePattern]; - - for (NSValue *spyWrapper in spies) { - id spy = [spyWrapper nonretainedObjectValue]; - [spy object:anObject didReceiveInvocation:anInvocation]; - } - } - } - - NSMutableArray *stubs = KWObjectStubs[key]; - - for (KWStub *stub in stubs) { - if ([stub processInvocation:anInvocation]) - return; - } - - Class interceptClass = KWRestoreOriginalClass(anObject); - [anInvocation invoke]; - // anObject->isa = interceptClass; - object_setClass(anObject, interceptClass); -} - -void KWInterceptedDealloc(id anObject, SEL aSelector) { - NSValue *key = [NSValue valueWithNonretainedObject:anObject]; - [KWMessageSpies removeObjectForKey:key]; - [KWObjectStubs removeObjectForKey:key]; - - KWRestoreOriginalClass(anObject); - [anObject dealloc]; -} - -Class KWInterceptedClass(id anObject, SEL aSelector) { - Class interceptClass = object_getClass(anObject); - Class originalClass = class_getSuperclass(interceptClass); - return originalClass; -} - -Class KWInterceptedSuperclass(id anObject, SEL aSelector) { - Class interceptClass = object_getClass(anObject); - Class originalClass = class_getSuperclass(interceptClass); - Class originalSuperclass = class_getSuperclass(originalClass); - return originalSuperclass; -} - -#pragma mark - Managing Stubs & Spies - -void KWClearStubsAndSpies(void) { - KWRestoredObjects = [NSMutableArray array]; - KWClearAllMessageSpies(); - KWClearAllObjectStubs(); - KWRestoredObjects = nil; -} - -#pragma mark - Managing Objects Stubs - -void KWAssociateObjectStub(id anObject, KWStub *aStub, BOOL overrideExisting) { - if (KWObjectStubs == nil) - KWObjectStubs = [[NSMutableDictionary alloc] init]; - - NSValue *key = [NSValue valueWithNonretainedObject:anObject]; - NSMutableArray *stubs = KWObjectStubs[key]; - - if (stubs == nil) { - stubs = [[NSMutableArray alloc] init]; - KWObjectStubs[key] = stubs; - [stubs release]; - } - - NSUInteger stubCount = [stubs count]; - - for (NSUInteger i = 0; i < stubCount; ++i) { - KWStub *existingStub = stubs[i]; - - if ([aStub.messagePattern isEqualToMessagePattern:existingStub.messagePattern]) { - if (overrideExisting) { - [stubs removeObjectAtIndex:i]; - break; - } else { - return; - } - } - } - - [stubs addObject:aStub]; -} - -void KWClearObjectStubs(id anObject) { - NSValue *key = [NSValue valueWithNonretainedObject:anObject]; - [KWObjectStubs removeObjectForKey:key]; -} - -void KWClearAllObjectStubs(void) { - for (NSValue *objectKey in KWObjectStubs) { - id stubbedObject = [objectKey nonretainedObjectValue]; - if ([KWRestoredObjects containsObject:stubbedObject]) { - continue; - } - KWRestoreOriginalClass(stubbedObject); - [KWRestoredObjects addObject:stubbedObject]; - } - [KWObjectStubs removeAllObjects]; -} - -#pragma mark - Managing Message Spies - -void KWAssociateMessageSpy(id anObject, id aSpy, KWMessagePattern *aMessagePattern) { - if (KWMessageSpies == nil) - KWMessageSpies = [[NSMutableDictionary alloc] init]; - - NSValue *key = [NSValue valueWithNonretainedObject:anObject]; - NSMutableDictionary *spies = KWMessageSpies[key]; - - if (spies == nil) { - spies = [[NSMutableDictionary alloc] init]; - KWMessageSpies[key] = spies; - [spies release]; - } - - NSMutableArray *messagePatternSpies = spies[aMessagePattern]; - - if (messagePatternSpies == nil) { - messagePatternSpies = [[NSMutableArray alloc] init]; - spies[aMessagePattern] = messagePatternSpies; - [messagePatternSpies release]; - } - - NSValue *spyWrapper = [NSValue valueWithNonretainedObject:aSpy]; - - if ([messagePatternSpies containsObject:spyWrapper]) - return; - - [messagePatternSpies addObject:spyWrapper]; -} - -void KWClearObjectSpy(id anObject, id aSpy, KWMessagePattern *aMessagePattern) { - NSValue *key = [NSValue valueWithNonretainedObject:anObject]; - NSMutableDictionary *spyArrayDictionary = KWMessageSpies[key]; - NSMutableArray *spies = spyArrayDictionary[aMessagePattern]; - NSValue *spyWrapper = [NSValue valueWithNonretainedObject:aSpy]; - [spies removeObject:spyWrapper]; -} - -void KWClearAllMessageSpies(void) { - for (NSValue *objectKey in KWMessageSpies) { - id spiedObject = [objectKey nonretainedObjectValue]; - if ([KWRestoredObjects containsObject:spiedObject]) { - continue; - } - KWRestoreOriginalClass(spiedObject); - [KWRestoredObjects addObject:spiedObject]; - } - [KWMessageSpies removeAllObjects]; -} diff --git a/Pods/Kiwi/NonARC/KWMessagePattern.h b/Pods/Kiwi/NonARC/KWMessagePattern.h deleted file mode 100644 index a898608..0000000 --- a/Pods/Kiwi/NonARC/KWMessagePattern.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@interface KWMessagePattern : NSObject - -#pragma mark - Initializing - -- (id)initWithSelector:(SEL)aSelector; -- (id)initWithSelector:(SEL)aSelector argumentFilters:(NSArray *)anArray; -- (id)initWithSelector:(SEL)aSelector firstArgumentFilter:(id)firstArgumentFilter argumentList:(va_list)argumentList; - -+ (id)messagePatternWithSelector:(SEL)aSelector; -+ (id)messagePatternWithSelector:(SEL)aSelector argumentFilters:(NSArray *)anArray; -+ (id)messagePatternWithSelector:(SEL)aSelector firstArgumentFilter:(id)firstArgumentFilter argumentList:(va_list)argumentList; - -+ (id)messagePatternFromInvocation:(NSInvocation *)anInvocation; - -#pragma mark - Properties - -@property (nonatomic, readonly) SEL selector; -@property (nonatomic, readonly) NSArray *argumentFilters; - -#pragma mark - Matching Invocations - -- (BOOL)matchesInvocation:(NSInvocation *)anInvocation; - -#pragma mark - Comparing Message Patterns - -- (BOOL)isEqualToMessagePattern:(KWMessagePattern *)aMessagePattern; - -#pragma mark - Retrieving String Representations - -- (NSString *)stringValue; - -@end diff --git a/Pods/Kiwi/NonARC/KWMessagePattern.m b/Pods/Kiwi/NonARC/KWMessagePattern.m deleted file mode 100644 index f24b13c..0000000 --- a/Pods/Kiwi/NonARC/KWMessagePattern.m +++ /dev/null @@ -1,230 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWMessagePattern.h" -#import "KWFormatter.h" -#import "KWNull.h" -#import "KWObjCUtilities.h" -#import "KWValue.h" -#import "NSInvocation+KiwiAdditions.h" -#import "NSMethodSignature+KiwiAdditions.h" -#import "KWGenericMatchEvaluator.h" -#import "Kiwi.h" - -@implementation KWMessagePattern - -#pragma mark - Initializing - -- (id)initWithSelector:(SEL)aSelector { - return [self initWithSelector:aSelector argumentFilters:nil]; -} - -- (id)initWithSelector:(SEL)aSelector argumentFilters:(NSArray *)anArray { - self = [super init]; - if (self) { - selector = aSelector; - - if ([anArray count] > 0) - argumentFilters = [anArray copy]; - } - - return self; -} - -- (id)initWithSelector:(SEL)aSelector firstArgumentFilter:(id)firstArgumentFilter argumentList:(va_list)argumentList { - NSUInteger count = KWSelectorParameterCount(aSelector); - NSMutableArray *array = [NSMutableArray arrayWithCapacity:count]; - [array addObject:(firstArgumentFilter != nil) ? firstArgumentFilter : [KWNull null]]; - - for (NSUInteger i = 1; i < count; ++i) - { - id object = va_arg(argumentList, id); - [array addObject:(object != nil) ? object : [KWNull null]]; - } - - va_end(argumentList); - return [self initWithSelector:aSelector argumentFilters:array]; -} - -+ (id)messagePatternWithSelector:(SEL)aSelector { - return [self messagePatternWithSelector:aSelector argumentFilters:nil]; -} - -+ (id)messagePatternWithSelector:(SEL)aSelector argumentFilters:(NSArray *)anArray { - return [[[self alloc] initWithSelector:aSelector argumentFilters:anArray] autorelease]; -} - -+ (id)messagePatternWithSelector:(SEL)aSelector firstArgumentFilter:(id)firstArgumentFilter argumentList:(va_list)argumentList { - return [[[self alloc] initWithSelector:aSelector firstArgumentFilter:firstArgumentFilter argumentList:argumentList] autorelease]; -} - -+ (id)messagePatternFromInvocation:(NSInvocation *)anInvocation { - NSMethodSignature *signature = [anInvocation methodSignature]; - NSUInteger numberOfMessageArguments = [signature numberOfMessageArguments]; - NSMutableArray *argumentFilters = nil; - - if (numberOfMessageArguments > 0) { - argumentFilters = [[NSMutableArray alloc] initWithCapacity:numberOfMessageArguments]; - - for (NSUInteger i = 0; i < numberOfMessageArguments; ++i) { - const char *type = [signature messageArgumentTypeAtIndex:i]; - void* argumentDataBuffer = malloc(KWObjCTypeLength(type)); - [anInvocation getMessageArgument:argumentDataBuffer atIndex:i]; - id object = nil; - if(*(id*)argumentDataBuffer != [KWAny any] && !KWObjCTypeIsObject(type)) { - NSData *data = [anInvocation messageArgumentDataAtIndex:i]; - object = [KWValue valueWithBytes:[data bytes] objCType:type]; - } else { - object = *(id*)argumentDataBuffer; - - if (object != [KWAny any] && KWObjCTypeIsBlock(type)) { - object = [[object copy] autorelease]; // Converting NSStackBlock to NSMallocBlock - } - } - - [argumentFilters addObject:(object != nil) ? object : [KWNull null]]; - - free(argumentDataBuffer); - } - } - - return [self messagePatternWithSelector:[anInvocation selector] argumentFilters:[argumentFilters autorelease]]; -} - -- (void)dealloc { - [argumentFilters release]; - [super dealloc]; -} - -#pragma mark - Copying - -- (id)copyWithZone:(NSZone *)zone { - return [self retain]; -} - -#pragma mark - Properties - -@synthesize selector; -@synthesize argumentFilters; - -#pragma mark - Matching Invocations - -- (BOOL)argumentFiltersMatchInvocationArguments:(NSInvocation *)anInvocation { - if (self.argumentFilters == nil) - return YES; - - NSMethodSignature *signature = [anInvocation methodSignature]; - NSUInteger numberOfArgumentFilters = [self.argumentFilters count]; - NSUInteger numberOfMessageArguments = [signature numberOfMessageArguments]; - - for (NSUInteger i = 0; i < numberOfMessageArguments && i < numberOfArgumentFilters; ++i) { - const char *objCType = [signature messageArgumentTypeAtIndex:i]; - id object = nil; - - // Extract message argument into object (wrapping values if neccesary) - if (KWObjCTypeIsObject(objCType)) { - [anInvocation getMessageArgument:&object atIndex:i]; - } else { - NSData *data = [anInvocation messageArgumentDataAtIndex:i]; - object = [KWValue valueWithBytes:[data bytes] objCType:objCType]; - } - - // Match argument filter to object - id argumentFilter = (self.argumentFilters)[i]; - - if ([argumentFilter isEqual:[KWAny any]]) { - continue; - } - - if ([KWGenericMatchEvaluator isGenericMatcher:argumentFilter]) { - id matcher = argumentFilter; - if ([object isKindOfClass:[KWValue class]] && [object isNumeric]) { - NSNumber *number = [object numberValue]; - if (![KWGenericMatchEvaluator genericMatcher:matcher matches:number]) { - return NO; - } - } else if (![KWGenericMatchEvaluator genericMatcher:matcher matches:object]) { - return NO; - } - } else if ([argumentFilter isEqual:[KWNull null]]) { - if (!KWObjCTypeIsPointerLike(objCType)) { - [NSException raise:@"KWMessagePatternException" format:@"nil was specified as an argument filter, but argument(%d) is not a pointer for @selector(%@)", (int)(i + 1), NSStringFromSelector([anInvocation selector])]; - } - void *p = nil; - [anInvocation getMessageArgument:&p atIndex:i]; - if (p != nil) - return NO; - } else if (![argumentFilter isEqual:object]) { - return NO; - } - } - - return YES; -} - -- (BOOL)matchesInvocation:(NSInvocation *)anInvocation { - return self.selector == [anInvocation selector] && [self argumentFiltersMatchInvocationArguments:anInvocation]; -} - -#pragma mark - Comparing Message Patterns - -- (NSUInteger)hash { - return [NSStringFromSelector(self.selector) hash]; -} - -- (BOOL)isEqual:(id)object { - if (![object isKindOfClass:[KWMessagePattern class]]) - return NO; - - return [self isEqualToMessagePattern:object]; -} - -- (BOOL)isEqualToMessagePattern:(KWMessagePattern *)aMessagePattern { - if (self.selector != aMessagePattern.selector) - return NO; - - if (self.argumentFilters == nil && aMessagePattern.argumentFilters == nil) - return YES; - - return [self.argumentFilters isEqualToArray:aMessagePattern.argumentFilters]; -} - -#pragma mark - Retrieving String Representations - -- (NSString *)selectorString { - return NSStringFromSelector(self.selector); -} - -- (NSString *)selectorAndArgumentFiltersString { - NSMutableString *description = [[[NSMutableString alloc] init] autorelease]; - NSArray *components = [NSStringFromSelector(self.selector) componentsSeparatedByString:@":"]; - NSUInteger count = [components count] - 1; - - for (NSUInteger i = 0; i < count; ++i) { - NSString *selectorComponent = components[i]; - NSString *argumentFilterString = [KWFormatter formatObject:(self.argumentFilters)[i]]; - [description appendFormat:@"%@:%@ ", selectorComponent, argumentFilterString]; - } - - return description; -} - -- (NSString *)stringValue { - if (self.argumentFilters == nil) - return [self selectorString]; - else - return [self selectorAndArgumentFiltersString]; -} - -#pragma mark - Debugging - -- (NSString *)description { - return [NSString stringWithFormat:@"selector: %@\nargumentFilters: %@", - NSStringFromSelector(self.selector), - self.argumentFilters]; -} - -@end diff --git a/Pods/Kiwi/NonARC/KWStub.h b/Pods/Kiwi/NonARC/KWStub.h deleted file mode 100644 index b16d70e..0000000 --- a/Pods/Kiwi/NonARC/KWStub.h +++ /dev/null @@ -1,37 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KiwiConfiguration.h" - -@class KWMessagePattern; - -@interface KWStub : NSObject - -#pragma mark - Initializing - -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern; -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue; -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern block:(id (^)(NSArray *params))aBlock; -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue; - -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern; -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue; -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern block:(id (^)(NSArray *params))aBlock; -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue; - -#pragma mark - Properties - -@property (nonatomic, readonly) KWMessagePattern *messagePattern; -@property (nonatomic, readonly) id value; -@property (nonatomic, readonly) id returnValueTimes; -@property (nonatomic, readonly) int returnedValueTimes; -@property (nonatomic, readonly) id secondValue; - -#pragma mark - Processing Invocations - -- (BOOL)processInvocation:(NSInvocation *)anInvocation; - -@end diff --git a/Pods/Kiwi/NonARC/KWStub.m b/Pods/Kiwi/NonARC/KWStub.m deleted file mode 100644 index 7a9c5f7..0000000 --- a/Pods/Kiwi/NonARC/KWStub.m +++ /dev/null @@ -1,224 +0,0 @@ -// -// Licensed under the terms in License.txt -// -// Copyright 2010 Allen Ding. All rights reserved. -// - -#import "KWStub.h" -#import "KWMessagePattern.h" -#import "KWObjCUtilities.h" -#import "KWStringUtilities.h" -#import "KWValue.h" - -#import "NSInvocation+OCMAdditions.h" - -@interface KWStub(){} -@property (nonatomic, copy) id (^block)(NSArray *params); -@end - -@implementation KWStub - -#pragma mark - Initializing - -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern { - return [self initWithMessagePattern:aMessagePattern value:nil]; -} - -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue { - self = [super init]; - if (self) { - messagePattern = [aMessagePattern retain]; - value = [aValue retain]; - } - - return self; -} - -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern block:(id (^)(NSArray *params))aBlock { - self = [super init]; - if (self) { - messagePattern = [aMessagePattern retain]; - _block = [aBlock copy]; - } - - return self; -} - -- (id)initWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue { - self = [super init]; - if (self) { - messagePattern = [aMessagePattern retain]; - value = [aValue retain]; - returnValueTimes = [times retain]; - secondValue = [aSecondValue retain]; - } - - return self; -} - -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern { - return [self stubWithMessagePattern:aMessagePattern value:nil]; -} - -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue { - return [[[self alloc] initWithMessagePattern:aMessagePattern value:aValue] autorelease]; -} - -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern block:(id (^)(NSArray *params))aBlock { - return [[[self alloc] initWithMessagePattern:aMessagePattern block:aBlock] autorelease]; -} - -+ (id)stubWithMessagePattern:(KWMessagePattern *)aMessagePattern value:(id)aValue times:(id)times afterThatReturn:(id)aSecondValue { - return [[[self alloc] initWithMessagePattern:aMessagePattern value:aValue times:times afterThatReturn:aSecondValue] autorelease]; -} - -- (void)dealloc { - [messagePattern release]; - [value release]; - [returnValueTimes release]; - [secondValue release]; - [_block release]; - [super dealloc]; -} - -#pragma mark - Properties - -@synthesize messagePattern; -@synthesize value; -@synthesize secondValue; -@synthesize returnValueTimes; -@synthesize returnedValueTimes; - -#pragma mark - Processing Invocations - -- (void)writeZerosToInvocationReturnValue:(NSInvocation *)anInvocation { - NSUInteger returnLength = [[anInvocation methodSignature] methodReturnLength]; - - if (returnLength == 0) - return; - - void *bytes = malloc(returnLength); - memset(bytes, 0, returnLength); - [anInvocation setReturnValue:bytes]; - free(bytes); -} - -- (NSData *)valueDataWithObjCType:(const char *)objCType { - assert(self.value && "self.value must not be nil"); - NSData *data = [self.value dataForObjCType:objCType]; - - if (data == nil) { - [NSException raise:@"KWStubException" format:@"wrapped stub value type (%s) could not be converted to the target type (%s)", - [self.value objCType], - objCType]; - } - - return data; -} - -- (void)writeWrappedValueToInvocationReturnValue:(NSInvocation *)anInvocation { - assert(self.value && "self.value must not be nil"); - const char *returnType = [[anInvocation methodSignature] methodReturnType]; - NSData *data = nil; - - NSData *choosedForData = [self.value dataValue]; - - if (returnValueTimes != nil) { - NSString *returnValueTimesString = returnValueTimes; - int returnValueTimesInt = [returnValueTimesString intValue]; - - if (returnedValueTimes >= returnValueTimesInt) { - choosedForData = [self.secondValue dataValue]; - } - returnedValueTimes++; - } - - - // When the return type is not the same as the type of the wrapped value, - // attempt to convert the wrapped value to the desired type. - - if (KWObjCTypeEqualToObjCType([self.value objCType], returnType)) - data = choosedForData; - else - data = [self valueDataWithObjCType:returnType]; - - [anInvocation setReturnValue:(void *)[data bytes]]; -} - -- (void)writeObjectValueToInvocationReturnValue:(NSInvocation *)anInvocation { - assert(self.value && "self.value must not be nil"); - - void *choosedForData = &value; - - if (returnValueTimes != nil) { - NSString *returnValueTimesString = returnValueTimes; - int returnValueTimesInt = [returnValueTimesString intValue]; - - if (returnedValueTimes >= returnValueTimesInt) { - choosedForData = &secondValue; - } - returnedValueTimes++; - } - - [anInvocation setReturnValue:choosedForData]; - -#ifndef __clang_analyzer__ - NSString *selectorString = NSStringFromSelector([anInvocation selector]); - - // To conform to memory management conventions, retain if writing a result - // that begins with alloc, new or contains copy. This shows up as a false - // positive in clang due to the runtime conditional, so ignore it. - if (KWStringHasWordPrefix(selectorString, @"alloc") || - KWStringHasWordPrefix(selectorString, @"new") || - KWStringHasWord(selectorString, @"copy") || - KWStringHasWord(selectorString, @"Copy")) { - [self.value retain]; - } -#endif -} - -- (BOOL)processInvocation:(NSInvocation *)anInvocation { - if (![self.messagePattern matchesInvocation:anInvocation]) - return NO; - - if (self.block) { - NSUInteger numberOfArguments = [[anInvocation methodSignature] numberOfArguments]; - NSMutableArray *args = [NSMutableArray arrayWithCapacity:(numberOfArguments-2)]; - for (NSUInteger i = 2; i < numberOfArguments; ++i) { - id arg = [anInvocation getArgumentAtIndexAsObject:(int)i]; - - const char *argType = [[anInvocation methodSignature] getArgumentTypeAtIndex:i]; - if (strcmp(argType, "@?") == 0) arg = [[arg copy] autorelease]; - - if (arg == nil) - arg = [NSNull null]; - - [args addObject:arg]; - } - - id newValue = self.block(args); - if (newValue != value) { - [value release]; - value = [newValue retain]; - } - - [args removeAllObjects]; // We don't want these objects to be in autorelease pool - } - - if (self.value == nil) - [self writeZerosToInvocationReturnValue:anInvocation]; - else if ([self.value isKindOfClass:[KWValue class]]) - [self writeWrappedValueToInvocationReturnValue:anInvocation]; - else - [self writeObjectValueToInvocationReturnValue:anInvocation]; - - return YES; -} - -#pragma mark - Debugging - -- (NSString *)description { - return [NSString stringWithFormat:@"messagePattern: %@\nvalue: %@", self.messagePattern, self.value]; -} - -@end diff --git a/Pods/Kiwi/NonARC/KWSymbolicator.h b/Pods/Kiwi/NonARC/KWSymbolicator.h deleted file mode 100644 index 452852f..0000000 --- a/Pods/Kiwi/NonARC/KWSymbolicator.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// KWSymbolicator.h -// Kiwi -// -// Created by Jerry Marino on 4/28/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import - -long kwCallerAddress(void); - -@interface NSString (KWShellCommand) - -+ (NSString *)stringWithShellCommand:(NSString *)command arguments:(NSArray *)arguments; - -@end diff --git a/Pods/Kiwi/NonARC/KWSymbolicator.m b/Pods/Kiwi/NonARC/KWSymbolicator.m deleted file mode 100644 index 638a4c9..0000000 --- a/Pods/Kiwi/NonARC/KWSymbolicator.m +++ /dev/null @@ -1,55 +0,0 @@ -// -// KWSymbolicator.m -// Kiwi -// -// Created by Jerry Marino on 4/28/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import "KWSymbolicator.h" -#import -#import - -long kwCallerAddress (void){ -#if !__arm__ - unw_cursor_t cursor; unw_context_t uc; - unw_word_t ip; - - unw_getcontext(&uc); - unw_init_local(&cursor, &uc); - - int pos = 2; - while (unw_step(&cursor) && pos--){ - unw_get_reg (&cursor, UNW_REG_IP, &ip); - if(pos == 0) return (NSUInteger)(ip - 4); - } -#endif - return 0; -} - -@implementation NSString (KWShellCommand) - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wobjc-method-access" - -+ (NSString *)stringWithShellCommand:(NSString *)command arguments:(NSArray *)arguments { - id task = [[NSClassFromString(@"NSTask") alloc] init]; - [task setEnvironment:[NSDictionary dictionary]]; - [task setLaunchPath:command]; - [task setArguments:arguments]; - - NSPipe *pipe = [NSPipe pipe]; - [task setStandardOutput:pipe]; - [task launch]; - - [task waitUntilExit]; - - NSData *data = [[pipe fileHandleForReading] readDataToEndOfFile]; - NSString *string = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; - [task release]; - return string; -} - -#pragma clang diagnostic pop - -@end diff --git a/Pods/Kiwi/Readme.md b/Pods/Kiwi/Readme.md deleted file mode 100644 index 9d482f9..0000000 --- a/Pods/Kiwi/Readme.md +++ /dev/null @@ -1,36 +0,0 @@ -# Simple BDD for iOS # -[![Build Status](https://travis-ci.org/allending/Kiwi.png?branch=master)](https://travis-ci.org/allending/Kiwi) - -Kiwi is a Behavior Driven Development library for iOS development. -The goal is to provide a BDD library that is exquisitely simple to setup and use. - -# Why? # -The idea behind Kiwi is to have tests that are more readable than what is possible with the bundled test framework. - -Tests (or rather specs) are written in Objective-C and run within the comfort of Xcode to provide a test environment that is as unobtrusive and seamless as possible in terms of running tests and error reporting. - -Specs look like this: - -```objective-c -describe(@"Team", ^{ - context(@"when newly created", ^{ - it(@"should have a name", ^{ - id team = [Team team]; - [[team.name should] equal:@"Black Hawks"]; - }); - - it(@"should have 11 players", ^{ - id team = [Team team]; - [[[team should] have:11] players]; - }); - }); -}); -``` - -# Documentation # -The [Kiwi Wiki](https://github.com/allending/Kiwi/wiki) is the official documentation source. - -# Getting it # -The best way to get Kiwi is by using [CocoaPods](https://github.com/cocoapods/cocoapods). -For all the installation details, check out the [Wiki](https://github.com/allending/kiwi/wiki) - diff --git a/Pods/Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.h b/Pods/Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.h deleted file mode 100644 index 095823c..0000000 --- a/Pods/Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// SenTestSuite+KiwiAdditions.h -// Kiwi -// -// Created by Jerry Marino on 5/17/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import - -@interface SenTestSuite (KiwiAdditions) - - -@end diff --git a/Pods/Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.m b/Pods/Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.m deleted file mode 100644 index 41b9c91..0000000 --- a/Pods/Kiwi/SenTestingKit/SenTestSuite+KiwiAdditions.m +++ /dev/null @@ -1,55 +0,0 @@ -// -// SenTestSuite+KiwiAdditions.m -// Kiwi -// -// Created by Jerry Marino on 5/17/13. -// Copyright (c) 2013 Allen Ding. All rights reserved. -// - -#import "SenTestSuite+KiwiAdditions.h" -#import -#import -#import -#import "KWExampleSuiteBuilder.h" -#import "KWCallSite.h" -#import "KWSpec.h" - -@implementation SenTestSuite (KiwiAdditions) - -+ (void)initialize { - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - [self patchTestSuiteForTestCaseClassIMP]; - }); -} - -// Patch this otherwise SenTestKit will start running all suites in test bundle -// even if they are empty -+ (void)patchTestSuiteForTestCaseClassIMP { - Class c = object_getClass([SenTestSuite class]); - SEL origSEL = @selector(testSuiteForTestCaseClass:); - SEL newSEL = sel_registerName("__testSuiteForTestCaseClass:"); - - Method origMethod = class_getClassMethod(c, origSEL); - class_addMethod(c, newSEL, method_getImplementation(origMethod), method_getTypeEncoding(origMethod)) ; - - IMP focusedSuite = imp_implementationWithBlock(^(id _self, Class aClass){ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Warc-performSelector-leaks" - return ([[KWExampleSuiteBuilder sharedExampleSuiteBuilder] isFocused] && ![_self testSuiteClassHasFocus:aClass]) ? nil : (__bridge void *)[_self performSelector:newSEL withObject:aClass]; -#pragma clang diagnostic pop - }); - method_setImplementation(origMethod, focusedSuite); -} - -+ (BOOL)testSuiteClassHasFocus:(Class)aClass { - if (![aClass respondsToSelector:@selector(file)]) - return NO; - - KWCallSite *focusedCallSite = [[KWExampleSuiteBuilder sharedExampleSuiteBuilder] focusedCallSite]; - NSString *fullFilePathOfClass = [aClass performSelector:@selector(file)]; - NSRange rangeOfFileName = [fullFilePathOfClass rangeOfString:focusedCallSite.filename]; - return rangeOfFileName.length != 0; -} - -@end diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock deleted file mode 100644 index 30b3dc1..0000000 --- a/Pods/Manifest.lock +++ /dev/null @@ -1,28 +0,0 @@ -PODS: - - DejalActivityView (1.2) - - EGOTableViewPullRefresh (0.1.0) - - KIF (2.0.0) - - Kiwi (2.2.3): - - Kiwi/SenTestingKit - - Kiwi/ARC (2.2.3) - - Kiwi/NonARC (2.2.3) - - Kiwi/SenTestingKit (2.2.3): - - Kiwi/ARC - - Kiwi/NonARC - - SBJson (4.0.0) - -DEPENDENCIES: - - DejalActivityView (>= 1.0) - - EGOTableViewPullRefresh (>= 0.1) - - KIF (>= 0.0.1) - - Kiwi (>= 1.0.0) - - SBJson (>= 4.0) - -SPEC CHECKSUMS: - DejalActivityView: 3a7f7a2be287c0f25f547762815c40709b02169c - EGOTableViewPullRefresh: 6ba637ce6dd3186b503d2d91e6b3a08a26d650f5 - KIF: ff3b46deb62ce3f8e99c6a2c786729e1eea241ba - Kiwi: 04c51e880831d291748ec702d42c4101f7eb95c9 - SBJson: f3c686806e8e36ab89e020189ac582ba26ec4220 - -COCOAPODS: 0.29.0 diff --git a/Pods/Pods-CoderwallTests-DejalActivityView-Private.xcconfig b/Pods/Pods-CoderwallTests-DejalActivityView-Private.xcconfig deleted file mode 100644 index add8497..0000000 --- a/Pods/Pods-CoderwallTests-DejalActivityView-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-CoderwallTests-DejalActivityView.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/DejalActivityView" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_CODERWALLTESTS_DEJALACTIVITYVIEW_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-CoderwallTests-DejalActivityView-dummy.m b/Pods/Pods-CoderwallTests-DejalActivityView-dummy.m deleted file mode 100644 index 58c796b..0000000 --- a/Pods/Pods-CoderwallTests-DejalActivityView-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_CoderwallTests_DejalActivityView : NSObject -@end -@implementation PodsDummy_Pods_CoderwallTests_DejalActivityView -@end diff --git a/Pods/Pods-CoderwallTests-DejalActivityView-prefix.pch b/Pods/Pods-CoderwallTests-DejalActivityView-prefix.pch deleted file mode 100644 index 139c65a..0000000 --- a/Pods/Pods-CoderwallTests-DejalActivityView-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-CoderwallTests-environment.h" diff --git a/Pods/Pods-CoderwallTests-DejalActivityView.xcconfig b/Pods/Pods-CoderwallTests-DejalActivityView.xcconfig deleted file mode 100644 index 900dac0..0000000 --- a/Pods/Pods-CoderwallTests-DejalActivityView.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_CODERWALLTESTS_DEJALACTIVITYVIEW_OTHER_LDFLAGS = -framework UIKit \ No newline at end of file diff --git a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig b/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig deleted file mode 100644 index b8c17ce..0000000 --- a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-CoderwallTests-EGOTableViewPullRefresh.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_CODERWALLTESTS_EGOTABLEVIEWPULLREFRESH_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m b/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m deleted file mode 100644 index ed20dcf..0000000 --- a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_CoderwallTests_EGOTableViewPullRefresh : NSObject -@end -@implementation PodsDummy_Pods_CoderwallTests_EGOTableViewPullRefresh -@end diff --git a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch b/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch deleted file mode 100644 index 139c65a..0000000 --- a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-CoderwallTests-environment.h" diff --git a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh.xcconfig b/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh.xcconfig deleted file mode 100644 index 3d2c5aa..0000000 --- a/Pods/Pods-CoderwallTests-EGOTableViewPullRefresh.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_CODERWALLTESTS_EGOTABLEVIEWPULLREFRESH_OTHER_LDFLAGS = -framework QuartzCore \ No newline at end of file diff --git a/Pods/Pods-CoderwallTests-Kiwi-Private.xcconfig b/Pods/Pods-CoderwallTests-Kiwi-Private.xcconfig deleted file mode 100644 index a031f5f..0000000 --- a/Pods/Pods-CoderwallTests-Kiwi-Private.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -#include "Pods-CoderwallTests-Kiwi.xcconfig" -FRAMEWORK_SEARCH_PATHS = ${PODS_CODERWALLTESTS_KIWI_FRAMEWORK_SEARCH_PATHS} -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/Kiwi" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_CODERWALLTESTS_KIWI_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-CoderwallTests-Kiwi-dummy.m b/Pods/Pods-CoderwallTests-Kiwi-dummy.m deleted file mode 100644 index d6e85b2..0000000 --- a/Pods/Pods-CoderwallTests-Kiwi-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_CoderwallTests_Kiwi : NSObject -@end -@implementation PodsDummy_Pods_CoderwallTests_Kiwi -@end diff --git a/Pods/Pods-CoderwallTests-Kiwi-prefix.pch b/Pods/Pods-CoderwallTests-Kiwi-prefix.pch deleted file mode 100644 index d18ef96..0000000 --- a/Pods/Pods-CoderwallTests-Kiwi-prefix.pch +++ /dev/null @@ -1,10 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-CoderwallTests-environment.h" - - - -#import - diff --git a/Pods/Pods-CoderwallTests-Kiwi.xcconfig b/Pods/Pods-CoderwallTests-Kiwi.xcconfig deleted file mode 100644 index 8008e50..0000000 --- a/Pods/Pods-CoderwallTests-Kiwi.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -PODS_CODERWALLTESTS_KIWI_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" -PODS_CODERWALLTESTS_KIWI_OTHER_LDFLAGS = -framework SenTestingKit \ No newline at end of file diff --git a/Pods/Pods-CoderwallTests-SBJson-Private.xcconfig b/Pods/Pods-CoderwallTests-SBJson-Private.xcconfig deleted file mode 100644 index 8dd6ff0..0000000 --- a/Pods/Pods-CoderwallTests-SBJson-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-CoderwallTests-SBJson.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/SBJson" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-CoderwallTests-SBJson-dummy.m b/Pods/Pods-CoderwallTests-SBJson-dummy.m deleted file mode 100644 index da6e794..0000000 --- a/Pods/Pods-CoderwallTests-SBJson-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_CoderwallTests_SBJson : NSObject -@end -@implementation PodsDummy_Pods_CoderwallTests_SBJson -@end diff --git a/Pods/Pods-CoderwallTests-SBJson-prefix.pch b/Pods/Pods-CoderwallTests-SBJson-prefix.pch deleted file mode 100644 index 139c65a..0000000 --- a/Pods/Pods-CoderwallTests-SBJson-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-CoderwallTests-environment.h" diff --git a/Pods/Pods-CoderwallTests-SBJson.xcconfig b/Pods/Pods-CoderwallTests-SBJson.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/Pods/Pods-CoderwallTests-acknowledgements.markdown b/Pods/Pods-CoderwallTests-acknowledgements.markdown deleted file mode 100644 index 3b406df..0000000 --- a/Pods/Pods-CoderwallTests-acknowledgements.markdown +++ /dev/null @@ -1,83 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## DejalActivityView - -Please see the "Dejal Open Source License" web page for more information. - -Attribution is required, but a non-attribution license is also available. - - - ------ - -Copyright (c) 2002-2013 Dejal Systems, LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -## Kiwi - -Copyright (c) 2010, Allen Ding -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -3. Neither the name of Allen Ding nor the names of any contributors may be -used to endorse or promote products derived from this software without specific -prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -## SBJson - -Copyright (C) 2007-2014 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Generated by CocoaPods - http://cocoapods.org diff --git a/Pods/Pods-CoderwallTests-acknowledgements.plist b/Pods/Pods-CoderwallTests-acknowledgements.plist deleted file mode 100644 index 0d9012a..0000000 --- a/Pods/Pods-CoderwallTests-acknowledgements.plist +++ /dev/null @@ -1,121 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Please see the "Dejal Open Source License" web page for more information. - -Attribution is required, but a non-attribution license is also available. - -<http://www.dejal.com/developer/license/> - ------ - -Copyright (c) 2002-2013 Dejal Systems, LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Title - DejalActivityView - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2010, Allen Ding -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -3. Neither the name of Allen Ding nor the names of any contributors may be -used to endorse or promote products derived from this software without specific -prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Title - Kiwi - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2007-2014 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Title - SBJson - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - http://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Pods/Pods-CoderwallTests-dummy.m b/Pods/Pods-CoderwallTests-dummy.m deleted file mode 100644 index 18f8a00..0000000 --- a/Pods/Pods-CoderwallTests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_CoderwallTests : NSObject -@end -@implementation PodsDummy_Pods_CoderwallTests -@end diff --git a/Pods/Pods-CoderwallTests-environment.h b/Pods/Pods-CoderwallTests-environment.h deleted file mode 100644 index 0e2ea9f..0000000 --- a/Pods/Pods-CoderwallTests-environment.h +++ /dev/null @@ -1,50 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// DejalActivityView -#define COCOAPODS_POD_AVAILABLE_DejalActivityView -#define COCOAPODS_VERSION_MAJOR_DejalActivityView 1 -#define COCOAPODS_VERSION_MINOR_DejalActivityView 2 -#define COCOAPODS_VERSION_PATCH_DejalActivityView 0 - -// EGOTableViewPullRefresh -#define COCOAPODS_POD_AVAILABLE_EGOTableViewPullRefresh -#define COCOAPODS_VERSION_MAJOR_EGOTableViewPullRefresh 0 -#define COCOAPODS_VERSION_MINOR_EGOTableViewPullRefresh 1 -#define COCOAPODS_VERSION_PATCH_EGOTableViewPullRefresh 0 - -// Kiwi -#define COCOAPODS_POD_AVAILABLE_Kiwi -#define COCOAPODS_VERSION_MAJOR_Kiwi 2 -#define COCOAPODS_VERSION_MINOR_Kiwi 2 -#define COCOAPODS_VERSION_PATCH_Kiwi 3 - -// Kiwi/ARC -#define COCOAPODS_POD_AVAILABLE_Kiwi_ARC -#define COCOAPODS_VERSION_MAJOR_Kiwi_ARC 2 -#define COCOAPODS_VERSION_MINOR_Kiwi_ARC 2 -#define COCOAPODS_VERSION_PATCH_Kiwi_ARC 3 - -// Kiwi/NonARC -#define COCOAPODS_POD_AVAILABLE_Kiwi_NonARC -#define COCOAPODS_VERSION_MAJOR_Kiwi_NonARC 2 -#define COCOAPODS_VERSION_MINOR_Kiwi_NonARC 2 -#define COCOAPODS_VERSION_PATCH_Kiwi_NonARC 3 - -// Kiwi/SenTestingKit -#define COCOAPODS_POD_AVAILABLE_Kiwi_SenTestingKit -#define COCOAPODS_VERSION_MAJOR_Kiwi_SenTestingKit 2 -#define COCOAPODS_VERSION_MINOR_Kiwi_SenTestingKit 2 -#define COCOAPODS_VERSION_PATCH_Kiwi_SenTestingKit 3 - -// SBJson -#define COCOAPODS_POD_AVAILABLE_SBJson -#define COCOAPODS_VERSION_MAJOR_SBJson 4 -#define COCOAPODS_VERSION_MINOR_SBJson 0 -#define COCOAPODS_VERSION_PATCH_SBJson 0 - diff --git a/Pods/Pods-CoderwallTests-resources.sh b/Pods/Pods-CoderwallTests-resources.sh deleted file mode 100755 index a477367..0000000 --- a/Pods/Pods-CoderwallTests-resources.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -set -e - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcassets) - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow@2x.png" - -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ `xcrun --find actool` ] && [ `find . -name '*.xcassets' | wc -l` -ne 0 ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - find "${PWD}" -name "*.xcassets" -print0 | xargs -0 actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/Pods/Pods-CoderwallTests.xcconfig b/Pods/Pods-CoderwallTests.xcconfig deleted file mode 100644 index ada793d..0000000 --- a/Pods/Pods-CoderwallTests.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" "$(DEVELOPER_LIBRARY_DIR)/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_CFLAGS = $(inherited) "-isystem${PODS_ROOT}/Headers" "-isystem${PODS_ROOT}/Headers/DejalActivityView" "-isystem${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "-isystem${PODS_ROOT}/Headers/KIF" "-isystem${PODS_ROOT}/Headers/Kiwi" "-isystem${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC -framework QuartzCore -framework SenTestingKit -framework UIKit -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Pods/Pods-DejalActivityView-Private.xcconfig b/Pods/Pods-DejalActivityView-Private.xcconfig deleted file mode 100644 index 11febdc..0000000 --- a/Pods/Pods-DejalActivityView-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-DejalActivityView.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/DejalActivityView" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_DEJALACTIVITYVIEW_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-DejalActivityView-dummy.m b/Pods/Pods-DejalActivityView-dummy.m deleted file mode 100644 index 5123114..0000000 --- a/Pods/Pods-DejalActivityView-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_DejalActivityView : NSObject -@end -@implementation PodsDummy_Pods_DejalActivityView -@end diff --git a/Pods/Pods-DejalActivityView-prefix.pch b/Pods/Pods-DejalActivityView-prefix.pch deleted file mode 100644 index 95cf11d..0000000 --- a/Pods/Pods-DejalActivityView-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-environment.h" diff --git a/Pods/Pods-DejalActivityView.xcconfig b/Pods/Pods-DejalActivityView.xcconfig deleted file mode 100644 index c2d87da..0000000 --- a/Pods/Pods-DejalActivityView.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_DEJALACTIVITYVIEW_OTHER_LDFLAGS = -framework UIKit \ No newline at end of file diff --git a/Pods/Pods-EGOTableViewPullRefresh-Private.xcconfig b/Pods/Pods-EGOTableViewPullRefresh-Private.xcconfig deleted file mode 100644 index 1d7732e..0000000 --- a/Pods/Pods-EGOTableViewPullRefresh-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-EGOTableViewPullRefresh.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_EGOTABLEVIEWPULLREFRESH_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-EGOTableViewPullRefresh-dummy.m b/Pods/Pods-EGOTableViewPullRefresh-dummy.m deleted file mode 100644 index 2a357bd..0000000 --- a/Pods/Pods-EGOTableViewPullRefresh-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_EGOTableViewPullRefresh : NSObject -@end -@implementation PodsDummy_Pods_EGOTableViewPullRefresh -@end diff --git a/Pods/Pods-EGOTableViewPullRefresh-prefix.pch b/Pods/Pods-EGOTableViewPullRefresh-prefix.pch deleted file mode 100644 index 95cf11d..0000000 --- a/Pods/Pods-EGOTableViewPullRefresh-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-environment.h" diff --git a/Pods/Pods-EGOTableViewPullRefresh.xcconfig b/Pods/Pods-EGOTableViewPullRefresh.xcconfig deleted file mode 100644 index 1ec3eee..0000000 --- a/Pods/Pods-EGOTableViewPullRefresh.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_EGOTABLEVIEWPULLREFRESH_OTHER_LDFLAGS = -framework QuartzCore \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-DejalActivityView-Private.xcconfig b/Pods/Pods-Integration Tests-DejalActivityView-Private.xcconfig deleted file mode 100644 index e491ce9..0000000 --- a/Pods/Pods-Integration Tests-DejalActivityView-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-Integration Tests-DejalActivityView.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/DejalActivityView" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_INTEGRATION_TESTS_DEJALACTIVITYVIEW_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-DejalActivityView-dummy.m b/Pods/Pods-Integration Tests-DejalActivityView-dummy.m deleted file mode 100644 index a47bdfd..0000000 --- a/Pods/Pods-Integration Tests-DejalActivityView-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Integration_Tests_DejalActivityView : NSObject -@end -@implementation PodsDummy_Pods_Integration_Tests_DejalActivityView -@end diff --git a/Pods/Pods-Integration Tests-DejalActivityView-prefix.pch b/Pods/Pods-Integration Tests-DejalActivityView-prefix.pch deleted file mode 100644 index 04c7753..0000000 --- a/Pods/Pods-Integration Tests-DejalActivityView-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-Integration Tests-environment.h" diff --git a/Pods/Pods-Integration Tests-DejalActivityView.xcconfig b/Pods/Pods-Integration Tests-DejalActivityView.xcconfig deleted file mode 100644 index 9ff1fe2..0000000 --- a/Pods/Pods-Integration Tests-DejalActivityView.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_INTEGRATION_TESTS_DEJALACTIVITYVIEW_OTHER_LDFLAGS = -framework UIKit \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig b/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig deleted file mode 100644 index 5283041..0000000 --- a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-Integration Tests-EGOTableViewPullRefresh.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_INTEGRATION_TESTS_EGOTABLEVIEWPULLREFRESH_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m b/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m deleted file mode 100644 index f8ff054..0000000 --- a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Integration_Tests_EGOTableViewPullRefresh : NSObject -@end -@implementation PodsDummy_Pods_Integration_Tests_EGOTableViewPullRefresh -@end diff --git a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch b/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch deleted file mode 100644 index 04c7753..0000000 --- a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-Integration Tests-environment.h" diff --git a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh.xcconfig b/Pods/Pods-Integration Tests-EGOTableViewPullRefresh.xcconfig deleted file mode 100644 index bc9074a..0000000 --- a/Pods/Pods-Integration Tests-EGOTableViewPullRefresh.xcconfig +++ /dev/null @@ -1 +0,0 @@ -PODS_INTEGRATION_TESTS_EGOTABLEVIEWPULLREFRESH_OTHER_LDFLAGS = -framework QuartzCore \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-KIF-Private.xcconfig b/Pods/Pods-Integration Tests-KIF-Private.xcconfig deleted file mode 100644 index 6171801..0000000 --- a/Pods/Pods-Integration Tests-KIF-Private.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -#include "Pods-Integration Tests-KIF.xcconfig" -FRAMEWORK_SEARCH_PATHS = ${PODS_INTEGRATION_TESTS_KIF_FRAMEWORK_SEARCH_PATHS} -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/KIF" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC ${PODS_INTEGRATION_TESTS_KIF_OTHER_LDFLAGS} -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-KIF-dummy.m b/Pods/Pods-Integration Tests-KIF-dummy.m deleted file mode 100644 index 45ba216..0000000 --- a/Pods/Pods-Integration Tests-KIF-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Integration_Tests_KIF : NSObject -@end -@implementation PodsDummy_Pods_Integration_Tests_KIF -@end diff --git a/Pods/Pods-Integration Tests-KIF-prefix.pch b/Pods/Pods-Integration Tests-KIF-prefix.pch deleted file mode 100644 index 0d5c42e..0000000 --- a/Pods/Pods-Integration Tests-KIF-prefix.pch +++ /dev/null @@ -1,6 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-Integration Tests-environment.h" -#import diff --git a/Pods/Pods-Integration Tests-KIF.xcconfig b/Pods/Pods-Integration Tests-KIF.xcconfig deleted file mode 100644 index 8cb3ead..0000000 --- a/Pods/Pods-Integration Tests-KIF.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -PODS_INTEGRATION_TESTS_KIF_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" -PODS_INTEGRATION_TESTS_KIF_OTHER_LDFLAGS = -framework CoreGraphics -framework SenTestingKit \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-SBJson-Private.xcconfig b/Pods/Pods-Integration Tests-SBJson-Private.xcconfig deleted file mode 100644 index ab4576e..0000000 --- a/Pods/Pods-Integration Tests-SBJson-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-Integration Tests-SBJson.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/SBJson" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-Integration Tests-SBJson-dummy.m b/Pods/Pods-Integration Tests-SBJson-dummy.m deleted file mode 100644 index c0b99d4..0000000 --- a/Pods/Pods-Integration Tests-SBJson-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Integration_Tests_SBJson : NSObject -@end -@implementation PodsDummy_Pods_Integration_Tests_SBJson -@end diff --git a/Pods/Pods-Integration Tests-SBJson-prefix.pch b/Pods/Pods-Integration Tests-SBJson-prefix.pch deleted file mode 100644 index 04c7753..0000000 --- a/Pods/Pods-Integration Tests-SBJson-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-Integration Tests-environment.h" diff --git a/Pods/Pods-Integration Tests-SBJson.xcconfig b/Pods/Pods-Integration Tests-SBJson.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/Pods/Pods-Integration Tests-acknowledgements.markdown b/Pods/Pods-Integration Tests-acknowledgements.markdown deleted file mode 100644 index 2e7626f..0000000 --- a/Pods/Pods-Integration Tests-acknowledgements.markdown +++ /dev/null @@ -1,70 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## DejalActivityView - -Please see the "Dejal Open Source License" web page for more information. - -Attribution is required, but a non-attribution license is also available. - - - ------ - -Copyright (c) 2002-2013 Dejal Systems, LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -## KIF - -KIF -Copyright 2011 Square, Inc. -A full list of contributors is available at https://github.com/square/KIF/contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -## SBJson - -Copyright (C) 2007-2014 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Generated by CocoaPods - http://cocoapods.org diff --git a/Pods/Pods-Integration Tests-acknowledgements.plist b/Pods/Pods-Integration Tests-acknowledgements.plist deleted file mode 100644 index 6a4148a..0000000 --- a/Pods/Pods-Integration Tests-acknowledgements.plist +++ /dev/null @@ -1,108 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Please see the "Dejal Open Source License" web page for more information. - -Attribution is required, but a non-attribution license is also available. - -<http://www.dejal.com/developer/license/> - ------ - -Copyright (c) 2002-2013 Dejal Systems, LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Title - DejalActivityView - Type - PSGroupSpecifier - - - FooterText - KIF -Copyright 2011 Square, Inc. -A full list of contributors is available at https://github.com/square/KIF/contributors - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - Title - KIF - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2007-2014 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Title - SBJson - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - http://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Pods/Pods-Integration Tests-dummy.m b/Pods/Pods-Integration Tests-dummy.m deleted file mode 100644 index d853bc4..0000000 --- a/Pods/Pods-Integration Tests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_Integration_Tests : NSObject -@end -@implementation PodsDummy_Pods_Integration_Tests -@end diff --git a/Pods/Pods-Integration Tests-environment.h b/Pods/Pods-Integration Tests-environment.h deleted file mode 100644 index 70f97cd..0000000 --- a/Pods/Pods-Integration Tests-environment.h +++ /dev/null @@ -1,32 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// DejalActivityView -#define COCOAPODS_POD_AVAILABLE_DejalActivityView -#define COCOAPODS_VERSION_MAJOR_DejalActivityView 1 -#define COCOAPODS_VERSION_MINOR_DejalActivityView 2 -#define COCOAPODS_VERSION_PATCH_DejalActivityView 0 - -// EGOTableViewPullRefresh -#define COCOAPODS_POD_AVAILABLE_EGOTableViewPullRefresh -#define COCOAPODS_VERSION_MAJOR_EGOTableViewPullRefresh 0 -#define COCOAPODS_VERSION_MINOR_EGOTableViewPullRefresh 1 -#define COCOAPODS_VERSION_PATCH_EGOTableViewPullRefresh 0 - -// KIF -#define COCOAPODS_POD_AVAILABLE_KIF -#define COCOAPODS_VERSION_MAJOR_KIF 2 -#define COCOAPODS_VERSION_MINOR_KIF 0 -#define COCOAPODS_VERSION_PATCH_KIF 0 - -// SBJson -#define COCOAPODS_POD_AVAILABLE_SBJson -#define COCOAPODS_VERSION_MAJOR_SBJson 4 -#define COCOAPODS_VERSION_MINOR_SBJson 0 -#define COCOAPODS_VERSION_PATCH_SBJson 0 - diff --git a/Pods/Pods-Integration Tests-resources.sh b/Pods/Pods-Integration Tests-resources.sh deleted file mode 100755 index a477367..0000000 --- a/Pods/Pods-Integration Tests-resources.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -set -e - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcassets) - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow@2x.png" - -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ `xcrun --find actool` ] && [ `find . -name '*.xcassets' | wc -l` -ne 0 ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - find "${PWD}" -name "*.xcassets" -print0 | xargs -0 actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/Pods/Pods-Integration Tests.xcconfig b/Pods/Pods-Integration Tests.xcconfig deleted file mode 100644 index 41c220b..0000000 --- a/Pods/Pods-Integration Tests.xcconfig +++ /dev/null @@ -1,6 +0,0 @@ -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(SDKROOT)/Developer/Library/Frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_CFLAGS = $(inherited) "-isystem${PODS_ROOT}/Headers" "-isystem${PODS_ROOT}/Headers/DejalActivityView" "-isystem${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "-isystem${PODS_ROOT}/Headers/KIF" "-isystem${PODS_ROOT}/Headers/Kiwi" "-isystem${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC -framework CoreGraphics -framework QuartzCore -framework SenTestingKit -framework UIKit -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Pods/Pods-SBJson-Private.xcconfig b/Pods/Pods-SBJson-Private.xcconfig deleted file mode 100644 index 7c4bda2..0000000 --- a/Pods/Pods-SBJson-Private.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -#include "Pods-SBJson.xcconfig" -GCC_PREPROCESSOR_DEFINITIONS = COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/SBJson" "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC -PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Pods/Pods-SBJson-dummy.m b/Pods/Pods-SBJson-dummy.m deleted file mode 100644 index 0e0e4b4..0000000 --- a/Pods/Pods-SBJson-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_SBJson : NSObject -@end -@implementation PodsDummy_Pods_SBJson -@end diff --git a/Pods/Pods-SBJson-prefix.pch b/Pods/Pods-SBJson-prefix.pch deleted file mode 100644 index 95cf11d..0000000 --- a/Pods/Pods-SBJson-prefix.pch +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef __OBJC__ -#import -#endif - -#import "Pods-environment.h" diff --git a/Pods/Pods-SBJson.xcconfig b/Pods/Pods-SBJson.xcconfig deleted file mode 100644 index e69de29..0000000 diff --git a/Pods/Pods-acknowledgements.markdown b/Pods/Pods-acknowledgements.markdown deleted file mode 100644 index ea1dd56..0000000 --- a/Pods/Pods-acknowledgements.markdown +++ /dev/null @@ -1,52 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## DejalActivityView - -Please see the "Dejal Open Source License" web page for more information. - -Attribution is required, but a non-attribution license is also available. - - - ------ - -Copyright (c) 2002-2013 Dejal Systems, LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - -## SBJson - -Copyright (C) 2007-2014 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Generated by CocoaPods - http://cocoapods.org diff --git a/Pods/Pods-acknowledgements.plist b/Pods/Pods-acknowledgements.plist deleted file mode 100644 index e91d3f6..0000000 --- a/Pods/Pods-acknowledgements.plist +++ /dev/null @@ -1,86 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Please see the "Dejal Open Source License" web page for more information. - -Attribution is required, but a non-attribution license is also available. - -<http://www.dejal.com/developer/license/> - ------ - -Copyright (c) 2002-2013 Dejal Systems, LLC. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - - Title - DejalActivityView - Type - PSGroupSpecifier - - - FooterText - Copyright (C) 2007-2014 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Title - SBJson - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - http://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/Pods/Pods-dummy.m b/Pods/Pods-dummy.m deleted file mode 100644 index ade64bd..0000000 --- a/Pods/Pods-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods : NSObject -@end -@implementation PodsDummy_Pods -@end diff --git a/Pods/Pods-environment.h b/Pods/Pods-environment.h deleted file mode 100644 index 5ef9e8b..0000000 --- a/Pods/Pods-environment.h +++ /dev/null @@ -1,26 +0,0 @@ - -// To check if a library is compiled with CocoaPods you -// can use the `COCOAPODS` macro definition which is -// defined in the xcconfigs so it is available in -// headers also when they are imported in the client -// project. - - -// DejalActivityView -#define COCOAPODS_POD_AVAILABLE_DejalActivityView -#define COCOAPODS_VERSION_MAJOR_DejalActivityView 1 -#define COCOAPODS_VERSION_MINOR_DejalActivityView 2 -#define COCOAPODS_VERSION_PATCH_DejalActivityView 0 - -// EGOTableViewPullRefresh -#define COCOAPODS_POD_AVAILABLE_EGOTableViewPullRefresh -#define COCOAPODS_VERSION_MAJOR_EGOTableViewPullRefresh 0 -#define COCOAPODS_VERSION_MINOR_EGOTableViewPullRefresh 1 -#define COCOAPODS_VERSION_PATCH_EGOTableViewPullRefresh 0 - -// SBJson -#define COCOAPODS_POD_AVAILABLE_SBJson -#define COCOAPODS_VERSION_MAJOR_SBJson 4 -#define COCOAPODS_VERSION_MINOR_SBJson 0 -#define COCOAPODS_VERSION_PATCH_SBJson 0 - diff --git a/Pods/Pods-resources.sh b/Pods/Pods-resources.sh deleted file mode 100755 index a477367..0000000 --- a/Pods/Pods-resources.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/sh -set -e - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -install_resource() -{ - case $1 in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" - ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" - ;; - *.framework) - echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" - xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" - ;; - *.xcassets) - ;; - /*) - echo "$1" - echo "$1" >> "$RESOURCES_TO_COPY" - ;; - *) - echo "${PODS_ROOT}/$1" - echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" - ;; - esac -} -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blackArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/blueArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/grayArrow@2x.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow.png" -install_resource "EGOTableViewPullRefresh/EGOTableViewPullRefresh/Resources/whiteArrow@2x.png" - -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]]; then - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ `xcrun --find actool` ] && [ `find . -name '*.xcassets' | wc -l` -ne 0 ] -then - case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; - esac - find "${PWD}" -name "*.xcassets" -print0 | xargs -0 actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/Pods/Pods.xcconfig b/Pods/Pods.xcconfig deleted file mode 100644 index e91ab79..0000000 --- a/Pods/Pods.xcconfig +++ /dev/null @@ -1,5 +0,0 @@ -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/DejalActivityView" "${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "${PODS_ROOT}/Headers/KIF" "${PODS_ROOT}/Headers/Kiwi" "${PODS_ROOT}/Headers/SBJson" -OTHER_CFLAGS = $(inherited) "-isystem${PODS_ROOT}/Headers" "-isystem${PODS_ROOT}/Headers/DejalActivityView" "-isystem${PODS_ROOT}/Headers/EGOTableViewPullRefresh" "-isystem${PODS_ROOT}/Headers/KIF" "-isystem${PODS_ROOT}/Headers/Kiwi" "-isystem${PODS_ROOT}/Headers/SBJson" -OTHER_LDFLAGS = -ObjC -framework QuartzCore -framework UIKit -PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 0e2a27d..0000000 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,3188 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 00EF318A1C044D0C96364CC6 /* UIWindow-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E5EEAACE534481ABF37A8AF /* UIWindow-KIFAdditions.m */; }; - 03A621324779475583D2D63D /* NSBundle-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D3AB7E349340D1BCA46732 /* NSBundle-KIFAdditions.m */; }; - 03CD51EE0D6243C8BE5C56D5 /* KWBeforeEachNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FC613F54CADB48BCA16AD943 /* KWBeforeEachNode.h */; }; - 045A5AFA894B4EBD99940FD5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 072878F96BD84008A9854098 /* SBJson4StreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = F1DB00B6DEEE46318214A2A9 /* SBJson4StreamWriter.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 0743BE9651FF4F269333E45E /* SBJson4StreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B801827AC141AD97E712A4 /* SBJson4StreamParser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 07B51266FE9F429E9D73BBF1 /* SBJson4StreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = A71F1AF363664CEB945BA998 /* SBJson4StreamParserState.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 0806387E6D694ACFAA4D682C /* SBJson4Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = AB36E9F4B497455C90B8B30D /* SBJson4Parser.h */; }; - 0873B43F12DC4199A1BAB89F /* NSProxy+KiwiVerifierAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = A224A8765AB24725A5908A97 /* NSProxy+KiwiVerifierAdditions.h */; }; - 08869600398848FEB414589F /* Pods-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FC681FA41F92469FBC85F6F4 /* Pods-dummy.m */; }; - 08E1E9C0FB7841068B277B08 /* KWMock.m in Sources */ = {isa = PBXBuildFile; fileRef = D6A1A4941D14401DA957D2B3 /* KWMock.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 0A95CFCE3C314E439A5EF550 /* SBJson4StreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 495C9264974F4F5F8AE6A9EC /* SBJson4StreamWriterState.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 0C62A95B3E6B49EEBE5198A9 /* KWStringContainsMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D5BFE5EEE1F443C891443223 /* KWStringContainsMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 0F354CF7F6F3461587128378 /* KWExistVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 48B6B45EF59649CDA0F621F2 /* KWExistVerifier.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 0FAD15AFB0CD4DD99761B7E9 /* EGORefreshTableHeaderView.h in Headers */ = {isa = PBXBuildFile; fileRef = A5CC7198F7E64360BDAEC4A0 /* EGORefreshTableHeaderView.h */; }; - 0FC5F4339FF944DF97EF9FF5 /* SBJson4StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AC2C477651844438A4796F0 /* SBJson4StreamParserState.h */; }; - 10C3CC27331741B5AB6B915B /* SBJson4StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = 85997DBB40B44570B95F66C1 /* SBJson4StreamTokeniser.h */; }; - 13D37490CDD84AA18364D448 /* KWStringPrefixMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = CC290B79DEF045F09B3478D2 /* KWStringPrefixMatcher.h */; }; - 149683CF90D34EA6905BCFD0 /* libPods-SBJson.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 989D7B752B954662B3390A65 /* libPods-SBJson.a */; }; - 14C65CE6DFD947388E9C3B4B /* NSObject+KiwiVerifierAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0329F4B5B2C44B8B8F15B76 /* NSObject+KiwiVerifierAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 14FBF32CFF7E4D14A5A9E5B1 /* KWContainStringMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F424E6637484386810C0EF5 /* KWContainStringMatcher.h */; }; - 1584CF10A0D64CEFAC36C3D9 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FD77985E97E4981801C94B6 /* SenTestingKit.framework */; }; - 15D5EE841E3445709D0618EA /* KWBlockNode.m in Sources */ = {isa = PBXBuildFile; fileRef = E853D267F7854F54AACC3526 /* KWBlockNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 165A5F06BC764550AD07EE2B /* KWExistVerifier.h in Headers */ = {isa = PBXBuildFile; fileRef = D8F4245C04134B15A6B7003B /* KWExistVerifier.h */; }; - 17CF973F6A3D435A9B05A561 /* libPods-Integration Tests-SBJson.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 756B96ACAE2B427C80E03C2D /* libPods-Integration Tests-SBJson.a */; }; - 181B3DD164D844BD91E816A9 /* KWMatchVerifier.h in Headers */ = {isa = PBXBuildFile; fileRef = A9B32B116A744B3EA7A468A0 /* KWMatchVerifier.h */; }; - 18DDCCF5AC3A401CB75AC58C /* KWChangeMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = E0775BECD9C444A8BBEFB0B1 /* KWChangeMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 190D572AD3074BE0A2AAE127 /* KWInequalityMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C7627FA14854C468B9B8900 /* KWInequalityMatcher.h */; }; - 1C04778490A74F6880C120F1 /* SBJson4Writer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CB8188DD5A7438A804899F1 /* SBJson4Writer.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 1C357524A8544D7C8E390D92 /* NSObject+KiwiSpyAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 435CF21A79BE48FB9A21BB80 /* NSObject+KiwiSpyAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 1C8908C555424BE79C058ECD /* KWRespondToSelectorMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 533AAA49A6614A389B783C79 /* KWRespondToSelectorMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 1DCB50B54705427699739463 /* KWStringPrefixMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = CC4F659D75C149CE95C0496F /* KWStringPrefixMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 1E03DA016FC14F1EA6791F02 /* KWMatchVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = AD4DFC209AE64D4AA50EB6CE /* KWMatchVerifier.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 1E9CB887BB5D4340B2CB1640 /* SBJson4Parser.m in Sources */ = {isa = PBXBuildFile; fileRef = C90AF1B3F3264B459ABF17A5 /* SBJson4Parser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 1EBE661525A649DF85EE5B6A /* NSFileManager-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = C4CB85868F8C4798BC085864 /* NSFileManager-KIFAdditions.m */; }; - 1F4B6A16E2A14E859AC0998D /* NSFileManager-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9074C24D4ACE44DE8B1BC05A /* NSFileManager-KIFAdditions.h */; }; - 2022EBBBBBED4465BBC48860 /* DejalActivityView.m in Sources */ = {isa = PBXBuildFile; fileRef = 91A9EDA86F464E15B81DCA1F /* DejalActivityView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 20F6D94D03854E8E8850E84B /* KIFSystemTestActor.m in Sources */ = {isa = PBXBuildFile; fileRef = 62F791A0D6814EC78E516737 /* KIFSystemTestActor.m */; }; - 216BC19939C643D6A919E121 /* KWRegularExpressionPatternMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = A957C9ED21424A1B86A6AB67 /* KWRegularExpressionPatternMatcher.h */; }; - 229C7B57B80D431E834B8C9A /* KWExampleSuiteBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = DBBA1379970D4A42B2298854 /* KWExampleSuiteBuilder.h */; }; - 235E44F8B5644F61855B3F92 /* UIApplication-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 77C245018E7E424796430E7B /* UIApplication-KIFAdditions.h */; }; - 2387A01E3A1E45D795F8F257 /* NSNumber+KiwiAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 55601D4B437849DAB124E1CE /* NSNumber+KiwiAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 2465F7D113D549A4A844DF5A /* KWWorkarounds.m in Sources */ = {isa = PBXBuildFile; fileRef = 1CFE19E9F589486D940FF252 /* KWWorkarounds.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 2469D71FAEB64FA0B495E9FF /* UIScrollView-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CFB80DD6E854D378C5B4CA3 /* UIScrollView-KIFAdditions.h */; }; - 25655448D5E84CE69645DBB4 /* KWBeZeroMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C9D4C048C134028B0166CCF /* KWBeZeroMatcher.h */; }; - 26805BC19CBF48C69D6F9B85 /* KIFTestStepValidation.m in Sources */ = {isa = PBXBuildFile; fileRef = FB656ECC09854E6E92DBD1C0 /* KIFTestStepValidation.m */; }; - 26A4EFC699204BB1BAA908FA /* Pods-Integration Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9C6D7EA7464D6F80D19084 /* Pods-Integration Tests-dummy.m */; }; - 27D072DA5B0C471C86A0B405 /* SenTestSuite+KiwiAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BA3ABACE8C3413FB069AA20 /* SenTestSuite+KiwiAdditions.h */; }; - 27E9AA2B89824FD4AB0D032B /* SBJson4.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A17E4F52A494B84A8991560 /* SBJson4.h */; }; - 287F81074295464ABF3EF92F /* KWUserDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 7106C0BAA2044FC38556F844 /* KWUserDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 288208EB274E4C12B34AE199 /* SenTestSuite+KiwiAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C781914DB6840DF92A2FE57 /* SenTestSuite+KiwiAdditions.m */; }; - 299E895D5B9E4E0BACC15344 /* SBJson4Writer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CB8188DD5A7438A804899F1 /* SBJson4Writer.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 2BAE7602E83E425DA677C90D /* KiwiConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 40D732AE888C4498A260A263 /* KiwiConfiguration.h */; }; - 2C683C7BD3E14048B6EEFFC5 /* KWBlockNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 58F6EEBF929249809BD7BC3F /* KWBlockNode.h */; }; - 2D15980DA5F44F54BD3FDB3F /* KIFSystemTestActor.h in Headers */ = {isa = PBXBuildFile; fileRef = D4AF486F88DD43EA8D119C7D /* KIFSystemTestActor.h */; }; - 2D60ED95EAE94E64A56CC7C0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 2DBEE2E1CCB94184B99DD9A0 /* LoadableCategory.h in Headers */ = {isa = PBXBuildFile; fileRef = ACBD59B8972A4DF0ACDCD35B /* LoadableCategory.h */; }; - 2E7A7563BC274E69A2DC8BC4 /* KWObjCUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = FEB7DD0BBC7D415ABE87C2D7 /* KWObjCUtilities.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 2F93DD40678142189E3A4653 /* SBJson4Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = AB36E9F4B497455C90B8B30D /* SBJson4Parser.h */; }; - 30C87C0E63BB4E3D9D32C205 /* libPods-DejalActivityView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C84E6BB131E474E8D040828 /* libPods-DejalActivityView.a */; }; - 3139E502ECA240109EDB58FB /* KWBlockRaiseMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 972CAFA9E7C04F7C942DE53D /* KWBlockRaiseMatcher.h */; }; - 32FE839FC67048E79179CF0A /* KWHaveValueMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 599C7643ACE948569090F92B /* KWHaveValueMatcher.h */; }; - 340408E0600D46BEBBFA5AC6 /* SBJson4.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A17E4F52A494B84A8991560 /* SBJson4.h */; }; - 3544429C07024231A9FA6BD5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 375A3EECA8EB4711B81B053A /* KWBeWithinMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D50388EC8654BBEABFCABE6 /* KWBeWithinMatcher.h */; }; - 37EC46907046435CA670FE4A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 3873B1AB06114E26813F03CA /* KWMessagePattern.h in Headers */ = {isa = PBXBuildFile; fileRef = D1CF9C4063E146CCA73E5CAC /* KWMessagePattern.h */; }; - 3971DC9E8AF34D74A8F749D6 /* SBJson4Parser.m in Sources */ = {isa = PBXBuildFile; fileRef = C90AF1B3F3264B459ABF17A5 /* SBJson4Parser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 3973BCD05D31406D986681C8 /* KWBeforeAllNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C58F85F06D844E6A5ED7188 /* KWBeforeAllNode.h */; }; - 39D1771FD6F54A878A13BD5F /* KWHaveMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B2F5D5E7B94166AF1270A2 /* KWHaveMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 3ACF5F80E4954C0EA2F91930 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF038A2C4FE4E8CBA7D5804 /* UIKit.framework */; }; - 3C97458466E841218E5C5A7E /* Pods-Integration Tests-KIF-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A2D2B6B74E441ABAA129986 /* Pods-Integration Tests-KIF-dummy.m */; }; - 3DA3A4F6947847FBA8F7828F /* Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C5FD6C8AC543C3AC797A14 /* Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m */; }; - 3E9B8CB74B9E4613B09BF0BE /* KIFTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = D49763BBC2BF4141A5B56243 /* KIFTestCase.h */; }; - 3EE0AB2846CC4514AA6F6143 /* KIFTestActor.h in Headers */ = {isa = PBXBuildFile; fileRef = BD112DB9B8B5461DA647D969 /* KIFTestActor.h */; }; - 3FF1D4EAED8742668D2FCC47 /* KWConformToProtocolMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F3532B5C6643E794C6251D /* KWConformToProtocolMatcher.h */; }; - 4039352191D1435883D4E351 /* Pods-DejalActivityView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 134E464FF03343DE9AB90EB6 /* Pods-DejalActivityView-dummy.m */; }; - 40C2B647D06645FC9C80345F /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F1E9F82515D4EBF849FB942 /* CoreGraphics.framework */; }; - 41B730461B4E493C96DC026B /* KWContainMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 78FC2EB07583411C9A646F43 /* KWContainMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 4386BF248BE5442AA3771E42 /* KWStringUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B86A08AFCC84629B8E53869 /* KWStringUtilities.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 43C68860AA01487380D90942 /* KWIntercept.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CC6ECFB60B44FD7B3B2CFEE /* KWIntercept.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 45435A31609A40AC827300D6 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D5111DD932648CAB6D4BBD5 /* QuartzCore.framework */; }; - 45D9D6F8C7BD4F459BC2DF01 /* KWAfterEachNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AA5EBB9CE334EEDA4043726 /* KWAfterEachNode.h */; }; - 467B6C8582544A3BAAD81666 /* SBJson4StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = 59F7E9B58A924784A69347AE /* SBJson4StreamWriterState.h */; }; - 4B46916E943D451BB5F61458 /* SBJson4StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 5506BAB36964473E8B9F4474 /* SBJson4StreamParser.h */; }; - 4E0516C24B734D8C83F42160 /* libPods-Integration Tests-EGOTableViewPullRefresh.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0D2B9284744D01B1EC6B49 /* libPods-Integration Tests-EGOTableViewPullRefresh.a */; }; - 4E79EC5DDC0D470B84957766 /* KWBeKindOfClassMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 59EE11DB9B974251842EE049 /* KWBeKindOfClassMatcher.h */; }; - 4EC8CF60AE134C5287D083FA /* KWBeTrueMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = C6D8F16168F543E7A31B80C6 /* KWBeTrueMatcher.h */; }; - 4F431DC4BCA643CDB18DD650 /* KWInequalityMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 7193FED984BD4B7DB18D08DF /* KWInequalityMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 504206E8955D478E983BF08A /* KWDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 79494A524FF044CF951B2CF7 /* KWDeviceInfo.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 504A907D8F3040219BA0AC55 /* SBJson4StreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = A71F1AF363664CEB945BA998 /* SBJson4StreamParserState.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 51ACEF9618E84D02A64CDB7A /* libPods-Integration Tests-KIF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CD663848E25D4C84BA298E51 /* libPods-Integration Tests-KIF.a */; }; - 522E5BBA48C14A6798CB3232 /* KWReceiveMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = EB7A30283D594B22A2B8818B /* KWReceiveMatcher.h */; }; - 52CD608D699F489CA5219450 /* KWChangeMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 1941000A40394269ADC5754B /* KWChangeMatcher.h */; }; - 52DE2086961C488695606F55 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF038A2C4FE4E8CBA7D5804 /* UIKit.framework */; }; - 53AA274C225B4E2D8B782885 /* KWBeWithinMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 72425E82A42D447A986D1C9C /* KWBeWithinMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 53CD6D2EFE7F4625ABD6425C /* KWIntercept.h in Headers */ = {isa = PBXBuildFile; fileRef = 53DEC029DCC74A6A8C1CA00C /* KWIntercept.h */; }; - 53EC3F0A0210476DA74DC016 /* DejalActivityView.h in Headers */ = {isa = PBXBuildFile; fileRef = 504908A5CA9A4D8D81B4D8F8 /* DejalActivityView.h */; }; - 5488ADB664E6452FAF183392 /* KWMessageSpying.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AA61F31EFE144C492D5C041 /* KWMessageSpying.h */; }; - 548BCFCEB38D4733937E7B03 /* KWInvocationCapturer.m in Sources */ = {isa = PBXBuildFile; fileRef = C4C15D87EAFA44798901C342 /* KWInvocationCapturer.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 560339782C87440C8DC8DB3F /* libPods-CoderwallTests-Kiwi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C532444277A14914AD0CA4D2 /* libPods-CoderwallTests-Kiwi.a */; }; - 568B38FC76A04E308F5D659D /* KWGenericMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 4784BEDF088C4533A0A85AF4 /* KWGenericMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 5704FDE6A3364220B7F2885C /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D5111DD932648CAB6D4BBD5 /* QuartzCore.framework */; }; - 5797961AA4604FC494E3D97F /* KWBlockRaiseMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = E277A5A79F144372A87315AB /* KWBlockRaiseMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 593F750C6C5F4941BECF0DE2 /* KWBeEmptyMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FABE8B1AF4411D9BC7DC94 /* KWBeEmptyMatcher.h */; }; - 59B0FFE0B47A484E851844A8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 59B46642C97B466CB599051E /* KWExampleDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 624D8C21F690498DABB15200 /* KWExampleDelegate.h */; }; - 5A4EFBCA4ACF4B3F957C494A /* NSObject+KiwiSpyAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F0071D394B74AE88ADA02DD /* NSObject+KiwiSpyAdditions.h */; }; - 5BABEEDDD8634B6D8330E997 /* KWMatching.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F19AB6BE42E423183FEC650 /* KWMatching.h */; }; - 5C2A5AD8E7F74398AB791857 /* Pods-CoderwallTests-SBJson-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EA917B0C5CF4AB18FD5533F /* Pods-CoderwallTests-SBJson-dummy.m */; }; - 5C3155DD68FE417C9C835826 /* KWContainMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BA2D932508B4543A82BD312 /* KWContainMatcher.h */; }; - 5D672B2C597E4F20A66B0B20 /* KIFTypist.m in Sources */ = {isa = PBXBuildFile; fileRef = B95B351C835D4F16AD899A7C /* KIFTypist.m */; }; - 5DF1675FFD9543D892C20648 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 5DF9E858CD514583B081F305 /* KWBeKindOfClassMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B57E82117244E14A270EC8D /* KWBeKindOfClassMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 5E6698D62F35445CAAD9679F /* KWBeEmptyMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 64B5CCBAD61F49C790C4EA76 /* KWBeEmptyMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 5E80BE964CD3418AB182F242 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 5EE589E4ED884198B7CEC3D1 /* KWProbe.h in Headers */ = {isa = PBXBuildFile; fileRef = 24BC5FAEBD4E40B88BD33A59 /* KWProbe.h */; }; - 5F5D74A425654E089A44438C /* KIFTestActor.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DFD097F19B54A53B18E54C3 /* KIFTestActor.m */; }; - 5F63BF0F35AC449E942A52F3 /* NSObject+KiwiVerifierAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 868DE3D08ED74CC29B60F23E /* NSObject+KiwiVerifierAdditions.h */; }; - 5FA6171089B441D495C8F132 /* SBJson4StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 5506BAB36964473E8B9F4474 /* SBJson4StreamParser.h */; }; - 604C123D4A2C451983713C55 /* KWBeMemberOfClassMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D3550548D85C4B5291A750C8 /* KWBeMemberOfClassMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 6148EEAF0F9542468205BD0C /* KWGenericMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = DB66E547CF384497B24F06CB /* KWGenericMatcher.h */; }; - 62CC43254B624D2A8981893F /* KWValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 29A7E85A9F114A068855D05E /* KWValue.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 63E2E31A3D4F4CC383BF30AB /* KWFailure.h in Headers */ = {isa = PBXBuildFile; fileRef = F2D320B0D6ED4530AC286E1F /* KWFailure.h */; }; - 64094C51DD79454DBC60F438 /* DejalActivityView.m in Sources */ = {isa = PBXBuildFile; fileRef = 91A9EDA86F464E15B81DCA1F /* DejalActivityView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 656FA032F0C348F784ECDA8B /* KWInvocationCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = C46AA8D28D144A8BBCB768CA /* KWInvocationCapturer.h */; }; - 65D93F14612D49439F33A92B /* UIApplication-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 519F69D30E544503B3AF34C4 /* UIApplication-KIFAdditions.m */; }; - 65FA01E77165431F9082E929 /* NSInvocation+KiwiAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DCE07D1B9C44C078AEEAABE /* NSInvocation+KiwiAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 6614DE432224459FA0ABD39F /* SBJson4Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = AB36E9F4B497455C90B8B30D /* SBJson4Parser.h */; }; - 6672542004B343AF90AABC3E /* KWAfterEachNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 61071C2B816943BFA1600293 /* KWAfterEachNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 67A3854779244E24B6F8A94F /* KWGenericMatchEvaluator.h in Headers */ = {isa = PBXBuildFile; fileRef = 7092C238A5284F5FAB8022F7 /* KWGenericMatchEvaluator.h */; }; - 6855D2BDDAF6474EBC9B60FB /* KWProbePoller.h in Headers */ = {isa = PBXBuildFile; fileRef = 2220AC2A36C449CDA1071628 /* KWProbePoller.h */; }; - 6B8DFBC801AB46C8B866B78D /* KWMessageTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = C0E9D52C763245789B5BBE49 /* KWMessageTracker.h */; }; - 6D0DB97578FF496C9D1E21E4 /* KWCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = 98046D9F4D104B1691C32921 /* KWCallSite.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 6D48E2DA0FB5488F82E04C88 /* Pods-CoderwallTests-Kiwi-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F26DFAC51416441888E0E77B /* Pods-CoderwallTests-Kiwi-dummy.m */; }; - 70223D74DDAE4B2DB83558F0 /* SBJson4.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A17E4F52A494B84A8991560 /* SBJson4.h */; }; - 70780574E35A4159AAA5D5A2 /* KWStringUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = AB1F523922194F4E8DF644AC /* KWStringUtilities.h */; }; - 70E66573E456477FABB862A9 /* NSObject+KiwiMockAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A666390F3E540F28DFC0FF3 /* NSObject+KiwiMockAdditions.h */; }; - 713DFDEEEC154DB1AF6ED086 /* Pods-Integration Tests-SBJson-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B6BD741FE643499A97170BB0 /* Pods-Integration Tests-SBJson-dummy.m */; }; - 71F7CE34D029449789779871 /* UIView-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 3826D80D120E4CF5AD5BAD39 /* UIView-KIFAdditions.h */; }; - 7205299DF5C7491D927CCC66 /* Pods-CoderwallTests-DejalActivityView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0459CA550AEE476080377798 /* Pods-CoderwallTests-DejalActivityView-dummy.m */; }; - 72F7DC58C4E3416A8B47E169 /* KWProbePoller.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C530B8019C047C690B3F946 /* KWProbePoller.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 73DB4FE377E94A19BB6D8203 /* KWExampleSuiteBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 0914AD7335CC495EBF6DDF1A /* KWExampleSuiteBuilder.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 7425CC76B00C42DD831F2067 /* SBJson4StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = 85997DBB40B44570B95F66C1 /* SBJson4StreamTokeniser.h */; }; - 743AD1B86D8F4F629C1D0226 /* KIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 61F20BB1A3DC483AA58170D8 /* KIF.h */; }; - 75A90DFE9F614A8692616A9F /* KWMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 569180A44CB346969E95A140 /* KWMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 779DFC5B0EDF4B1FAF753F24 /* NSMethodSignature+KiwiAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = B42308F5EB2646FEB64903E0 /* NSMethodSignature+KiwiAdditions.h */; }; - 786F153E475742A1BABE7937 /* KWBeIdenticalToMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 574EA2168C4B40199E76C4A4 /* KWBeIdenticalToMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 789D944B399E4CC0A6A05D53 /* KWObjCUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = D6D025F093A442AC862B7CEA /* KWObjCUtilities.h */; }; - 78D85C0A375544B6869E6BC9 /* KWStub.m in Sources */ = {isa = PBXBuildFile; fileRef = 60435698E6F4415597D03E8E /* KWStub.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 797E1674C54C4F71A0BB3E26 /* SBJson4StreamTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = DA36856D715549C38D88CE85 /* SBJson4StreamTokeniser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 79F162E4D91948CB9E39C297 /* SBJson4StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = FB1D6CACC1BE49779795C853 /* SBJson4StreamWriter.h */; }; - 7A7130C5174D419FBA442670 /* KWGenericMatchEvaluator.m in Sources */ = {isa = PBXBuildFile; fileRef = 2036288FE4BB4728839698ED /* KWGenericMatchEvaluator.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 7BB19602167F4770825AF80A /* KWEqualMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D800DCE31A0B4541B146E9FC /* KWEqualMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 7CE829F95E2D4A33B338E478 /* EGORefreshTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D1AA8A443F34E558967066B /* EGORefreshTableHeaderView.m */; }; - 7D14BB670A244CACB4D5F8E6 /* NSInvocation+OCMAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C264E1F6DA8B4BF7934A3288 /* NSInvocation+OCMAdditions.h */; }; - 7DC934366F4A451BBA5EE5CA /* SBJson4Parser.m in Sources */ = {isa = PBXBuildFile; fileRef = C90AF1B3F3264B459ABF17A5 /* SBJson4Parser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 7DD5025F26A84B7EB9B28904 /* KWItNode.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE71FE2B75B489888456C63 /* KWItNode.h */; }; - 7EE0CD14C88445DD8475A943 /* KWCountType.h in Headers */ = {isa = PBXBuildFile; fileRef = 408281467E124C6985F83CFD /* KWCountType.h */; }; - 80A21E1D41D84FCFAC2BDB5D /* SBJson4StreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B801827AC141AD97E712A4 /* SBJson4StreamParser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 824AC9E2A35343BA82D42F51 /* KWBeSubclassOfClassMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B77E11396294589AB742586 /* KWBeSubclassOfClassMatcher.h */; }; - 82991D0C14D34780A77061A1 /* Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 687C6F14E3224CF29F3B79C8 /* Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m */; }; - 833849EF63D24EE4B7F5BB54 /* KWAsyncVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 166D666A0D4344F99CB6DDA7 /* KWAsyncVerifier.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 83D30E8EBE6E452798B771DB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - 8559134F3BD345CB8AA42C52 /* KWVerifying.h in Headers */ = {isa = PBXBuildFile; fileRef = 33940F808ACD4E9B9813C4E7 /* KWVerifying.h */; }; - 85C25333A3404C878183D99B /* UITouch-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E771285B4D445F6A05DC4A7 /* UITouch-KIFAdditions.m */; }; - 86274BF8FD9D4B2ABDB7FFBB /* KWFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = B43F22629CB64B6886D1BA92 /* KWFormatter.h */; }; - 86563BCD64464EBC9D84D83F /* SBJson4StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = FB1D6CACC1BE49779795C853 /* SBJson4StreamWriter.h */; }; - 87766C1FA1B048149BAF0915 /* SBJson4StreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B801827AC141AD97E712A4 /* SBJson4StreamParser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 87E66ECF54B5480DAB616373 /* KWRegularExpressionPatternMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = AE72AECF4B5E4A4FAB792DA7 /* KWRegularExpressionPatternMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 88076EAA2F6C4DBEB0508E3F /* SBJson4StreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = A71F1AF363664CEB945BA998 /* SBJson4StreamParserState.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 88166094FB8A46179A59B86B /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0D5111DD932648CAB6D4BBD5 /* QuartzCore.framework */; }; - 88424F94164543938B2229AD /* KWSymbolicator.m in Sources */ = {isa = PBXBuildFile; fileRef = 74C1C574AE8D4EDB9E752C5C /* KWSymbolicator.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 88699E17F7594E22B29875E6 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FD77985E97E4981801C94B6 /* SenTestingKit.framework */; }; - 891D93BAA771454BBEA1B766 /* KWCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C22D575BE134AEC8E8E3F72 /* KWCallSite.h */; }; - 894540CB600B48A2954AB4C9 /* KWMatchers.m in Sources */ = {isa = PBXBuildFile; fileRef = D624A1CAB58640ECAEDE6EAA /* KWMatchers.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 895A8841E91A4B4889522B08 /* KWBeMemberOfClassMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 454C62DCE2424DDA89723CA8 /* KWBeMemberOfClassMatcher.h */; }; - 89A2A118C0D34EF8A0629CA7 /* KWMock.h in Headers */ = {isa = PBXBuildFile; fileRef = B0F957B81DC346DEBC53D0BB /* KWMock.h */; }; - 8A480F18A1BC4492A4F4813A /* KWReporting.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E221FFC95CC459792BCB70A /* KWReporting.h */; }; - 8B5F6446D4864985921D3954 /* KWConformToProtocolMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = E1A8A09FDC144767AF3D5281 /* KWConformToProtocolMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 8CDBC15E21C145D19D986EF3 /* SBJson4Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = CDACCC1765FC4270B72D1A51 /* SBJson4Writer.h */; }; - 8D6A8D6F0A2B494E805BA703 /* SenTestCase-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = B2D3565B36C141E08416F636 /* SenTestCase-KIFAdditions.h */; }; - 8EEF2A7C7AE649F79859379B /* NSObject+KiwiStubAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D617DA0ABF64B0BB3F22B5A /* NSObject+KiwiStubAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 8F08F09E79F444CDA6AF6FD5 /* KWRaiseMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6697741CE0C3444FAB120FCA /* KWRaiseMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 8FCB97E4F35947CE8BDCCD71 /* NSObject+KiwiMockAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 378769FD92DA4AB6B5EB8647 /* NSObject+KiwiMockAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 90428BB7F10E450FB87023E3 /* NSError-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 66F63E3046CE46299EB17654 /* NSError-KIFAdditions.m */; }; - 91710A80D2004BED91D0ADA1 /* libPods-Integration Tests-DejalActivityView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 444327FDE5524220A58DB6BE /* libPods-Integration Tests-DejalActivityView.a */; }; - 92335086E16B4EF1B26C8775 /* KWBeTrueMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C5CC64AA5747158D4A738B /* KWBeTrueMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 93419EC562C240349F513377 /* UIScrollView-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A962282B54CE482888B045A6 /* UIScrollView-KIFAdditions.m */; }; - 935CB037774241E2B8596B42 /* KWContainStringMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B6B3F6810F42119030F2EF /* KWContainStringMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 93892E272BF44A209A64E547 /* KWAfterAllNode.h in Headers */ = {isa = PBXBuildFile; fileRef = DA5562A2263947C0BB6F9AF2 /* KWAfterAllNode.h */; }; - 95C6297A2D0D4BA7A2544CA0 /* KWWorkarounds.h in Headers */ = {isa = PBXBuildFile; fileRef = C2BACF6EA1B54B8FB3851D59 /* KWWorkarounds.h */; }; - 9616A01BF8C94C57BB9F3274 /* CGGeometry-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FD97785EAF241BF9B379F69 /* CGGeometry-KIFAdditions.m */; }; - 97AF780667434801AEA22DBE /* NSValue+KiwiAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D5F0DAA3C3642B1BE0219FC /* NSValue+KiwiAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 98E2D9E7C6FA4CC2824B0B07 /* Pods-EGOTableViewPullRefresh-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C45C9BC2009A474DBE86567B /* Pods-EGOTableViewPullRefresh-dummy.m */; }; - 995464D4CFC54B1AA1348BA6 /* KWHaveValueMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = EA14F3E9086E46F8A1A67F54 /* KWHaveValueMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 9A11902F742A458C8A8A95BB /* SBJson4StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = 85997DBB40B44570B95F66C1 /* SBJson4StreamTokeniser.h */; }; - 9AB58F6E945943BD950F22B1 /* KWItNode.m in Sources */ = {isa = PBXBuildFile; fileRef = FE69EF01645F4AD4AED1D926 /* KWItNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 9B1DA13789EF4ADFA6D30631 /* KWBeSubclassOfClassMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 420AC90D743248FA9078C298 /* KWBeSubclassOfClassMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - 9B8E38E6E5484D6BADABD01E /* UIAccessibilityElement-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C36C37995AAD4B629E834164 /* UIAccessibilityElement-KIFAdditions.h */; }; - 9D9AF2E7F4604790BD0DFAF0 /* NSProxy+KiwiVerifierAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = E12231B5A09A47D5931C9808 /* NSProxy+KiwiVerifierAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - A03E1CC9634E46B9B5ADD7C6 /* KWBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 16127D529E9E45D1B86C3579 /* KWBlock.h */; }; - A153DD877B1D47449F96E3E2 /* libPods-CoderwallTests-EGOTableViewPullRefresh.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1F0DC82FF1134CC3B5DC9634 /* libPods-CoderwallTests-EGOTableViewPullRefresh.a */; }; - A2739AB467DA4E2F94767BD3 /* KWMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 8897D52921C34EE5BEC5B370 /* KWMatchers.h */; }; - A30867C4B1A54B75B01CBFD2 /* SBJson4StreamTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = DA36856D715549C38D88CE85 /* SBJson4StreamTokeniser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - A40F3D4A14D94AEFA697D62C /* KWRaiseMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D9B9D0D43724AB087A027D3 /* KWRaiseMatcher.h */; }; - A4F45575FECD4010AAAC09EE /* NSBundle-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D918EE6BBC74C22ADEA2549 /* NSBundle-KIFAdditions.h */; }; - A5BBB0C03E1847E2879FF90E /* KWExampleNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 47E1F8B2B1BF4750940F1A5E /* KWExampleNode.h */; }; - A5C3209D13894EBE8FA35232 /* KWHaveMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 166CA18B3C844C1F9BE1BCE2 /* KWHaveMatcher.h */; }; - A69F739A4E6D476BB5C99AB8 /* Kiwi.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D3479D7CBB3424099A70873 /* Kiwi.h */; }; - A7D9E1C343F04DC0B63C30E6 /* KWReceiveMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B43FA92B41948C3A0F45F5C /* KWReceiveMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - A7F1E53BF7C44C0EA695F982 /* NSInvocation+OCMAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A1F3C21F71BF48C4BA9BF4D3 /* NSInvocation+OCMAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - A9771C65FCBF4C7A9B22D895 /* EGORefreshTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D1AA8A443F34E558967066B /* EGORefreshTableHeaderView.m */; }; - AA341DE1D9A244848975E28F /* SBJson4StreamTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = DA36856D715549C38D88CE85 /* SBJson4StreamTokeniser.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - AA6D01BFC4C14419B1A2BE66 /* KWStringContainsMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = D8E9151209B64BC7BE4A186E /* KWStringContainsMatcher.h */; }; - AA94A3F156EC40B393105C20 /* Pods-SBJson-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D0903D81F046048CC1BFF9 /* Pods-SBJson-dummy.m */; }; - AAAE0F5827634EF1A816A85C /* KIFUITestActor.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FBA6D19AC514DB48181C131 /* KIFUITestActor.m */; }; - AB035F6FA7BA4AB6A52945BD /* SBJson4StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AC2C477651844438A4796F0 /* SBJson4StreamParserState.h */; }; - ABEF2C2C069541CE9AC9ED13 /* SBJson4StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = FB1D6CACC1BE49779795C853 /* SBJson4StreamWriter.h */; }; - AE3500E27E1B4B04ADBDE372 /* EGORefreshTableHeaderView.h in Headers */ = {isa = PBXBuildFile; fileRef = A5CC7198F7E64360BDAEC4A0 /* EGORefreshTableHeaderView.h */; }; - AE569133512C463ABC1C9018 /* KWRespondToSelectorMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A7AAB838EE144B0B96917CA /* KWRespondToSelectorMatcher.h */; }; - AF7CD6FCC94843F1BF888033 /* KWExampleSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = 75C8D9036B48423FA801C5E4 /* KWExampleSuite.h */; }; - B12945F5CE754B7291AD6206 /* KiwiMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 83B95B975BAE4EAEADB8D0E7 /* KiwiMacros.h */; }; - B27324AE61E046BDB4B633B6 /* KWPendingNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C2C6E8CFBA4543B89CDD777C /* KWPendingNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - B27E80DAC74B49F6B09A4733 /* KWGenericMatchingAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 9657A5FD62D74CCF9586C10F /* KWGenericMatchingAdditions.h */; }; - B39A0A41F2604301B77DDA53 /* KWMessagePattern.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CAFCE8420104A5E9A80D547 /* KWMessagePattern.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B55F167E57054A63896DDBDF /* DejalActivityView.h in Headers */ = {isa = PBXBuildFile; fileRef = 504908A5CA9A4D8D81B4D8F8 /* DejalActivityView.h */; }; - B5689EF53B8C4D569C856969 /* KWNilMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 0121665D1487469BA64C8940 /* KWNilMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - B5F11AF5CACB4E95B3452B1B /* KWSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 894AF56B4AF7461D9D547412 /* KWSpec.h */; }; - B97D8E9EC965453080BF5007 /* Pods-Integration Tests-DejalActivityView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C0999815344E7481C2852A /* Pods-Integration Tests-DejalActivityView-dummy.m */; }; - B9C149E6AA994C56AFBAD85C /* EGORefreshTableHeaderView.h in Headers */ = {isa = PBXBuildFile; fileRef = A5CC7198F7E64360BDAEC4A0 /* EGORefreshTableHeaderView.h */; }; - B9D1C92827414E82B643973C /* KWExampleNodeVisitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E5140134B4744638B05D159 /* KWExampleNodeVisitor.h */; }; - B9D6ACACAF2A41359C3EBF6C /* SBJson4Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = CDACCC1765FC4270B72D1A51 /* SBJson4Writer.h */; }; - BA17C2403EB3400BBF2BC294 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - BAAEE045169E4B46AA5D6A97 /* KIFTestStepValidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 70A8416A10924DBDB16FCFAF /* KIFTestStepValidation.h */; }; - BBAD292205E147478EA8ADCE /* KWStub.h in Headers */ = {isa = PBXBuildFile; fileRef = 5591BBFECFBA45AAA0E80970 /* KWStub.h */; }; - BC0D01C3399F4C368CC18614 /* KWBeBetweenMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 418DA2E1F71E428E801FAABE /* KWBeBetweenMatcher.h */; }; - BCF328E55E754C87912E882C /* KWFutureObject.m in Sources */ = {isa = PBXBuildFile; fileRef = D5D71F5975804643B8E147B8 /* KWFutureObject.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - BD5F8B61A5684762BFD0D54A /* KWGenericMatchingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = EE84DEB82AA94E6A9EA4E98D /* KWGenericMatchingAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - BDD6867EF4EC47108811502F /* KWFailure.m in Sources */ = {isa = PBXBuildFile; fileRef = 29DC101E8895492C9AA78940 /* KWFailure.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - BE9FDDED008A4288BAC28494 /* KWAny.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BE600863A184BB88F9E695D /* KWAny.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - BF1FD03326F9422498FCD0F4 /* UIAccessibilityElement-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = FCFCEE90186F45E581075B49 /* UIAccessibilityElement-KIFAdditions.m */; }; - BF8A1BDC3B5E4229914B83CA /* KWUserDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = AE9CDD2E4C8E4E5980792C15 /* KWUserDefinedMatcher.h */; }; - BFBA5F38EC32497DB7748A5E /* KWBeforeAllNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 36110EF7406340C588FE55E9 /* KWBeforeAllNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - C1CE506732A44CA4BC54A043 /* KWContextNode.h in Headers */ = {isa = PBXBuildFile; fileRef = A8217E312B934572AB9DFA06 /* KWContextNode.h */; }; - C2678F244E9E4160B6C58906 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - C2C1BE7EBBC44CDF8E6BF185 /* SBJson4StreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = F1DB00B6DEEE46318214A2A9 /* SBJson4StreamWriter.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - C5921597F3954583934A1E31 /* NSNumber+KiwiAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 42CCA4728D25449395E4D0DB /* NSNumber+KiwiAdditions.h */; }; - C5EABB223FC24FF9905CCF2B /* KWPendingNode.h in Headers */ = {isa = PBXBuildFile; fileRef = D7675467F1A143AFB486FA96 /* KWPendingNode.h */; }; - C61FFE7D86564880BD8498B7 /* SBJson4Writer.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CB8188DD5A7438A804899F1 /* SBJson4Writer.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - C652A1F667A24E6AA1A54FAD /* KIFTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = A68A8E1BEA2C4D62A101F6B1 /* KIFTestCase.m */; }; - C7EA4E2BE6884EA2B026B107 /* UIView-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A73591B17D3E47D3B6E9AC74 /* UIView-KIFAdditions.m */; }; - C97C3F015A5E43CCAFBCC696 /* libPods-CoderwallTests-SBJson.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 411CD0F5E40F4C4DB43C4569 /* libPods-CoderwallTests-SBJson.a */; }; - CBF21652805B4A69B2807EC5 /* KWSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 26EE7C9D8A3E4A8381DE4A87 /* KWSpec.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - CCA8436518B448BF97E25F4E /* KWExampleSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC59A6B1EFB451FAECB062C /* KWExampleSuite.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - CE62D6CD42F1460D80695EDB /* KWAfterAllNode.m in Sources */ = {isa = PBXBuildFile; fileRef = BBCAF31970D743FDADEBAC84 /* KWAfterAllNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - CE84F0CD5FC047F78EF87A0B /* KWBeZeroMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D80CA8FB209B4E4B9F8C60E8 /* KWBeZeroMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - D0443AAF5B4D4CD0ADDF70CD /* UIWindow-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 453516D391FA4CA397D3F1F8 /* UIWindow-KIFAdditions.h */; }; - D055A67552224549931525B4 /* KiwiBlockMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 35B8DB81F9AF47CA873708BE /* KiwiBlockMacros.h */; }; - D14B6DB4B75C4D9C83B8639B /* KWBeBetweenMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = CA24AB35EC5F466683ABB99A /* KWBeBetweenMatcher.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - D280220F1CE44081B823CE0E /* KWContextNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 7084CB0A467E4601A9477027 /* KWContextNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - D3B49A66B9B04D898AD7479C /* libPods-EGOTableViewPullRefresh.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 258F55888F4E4599BF7A2E1E /* libPods-EGOTableViewPullRefresh.a */; }; - D54B17331DE64395B96F7678 /* NSObject+KiwiStubAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = B40BD4C4D1C443DDB9135515 /* NSObject+KiwiStubAdditions.h */; }; - D579161E02AC4ED5B45FC479 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - D6F0006E96ED4ADB8EBAEDF3 /* KWMessageTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = DC3E4EC4A47E4548A1608507 /* KWMessageTracker.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - D745954B2AB642149F6C1D7C /* KIFTypist.h in Headers */ = {isa = PBXBuildFile; fileRef = 6844DC0B9E3548A4B75191CD /* KIFTypist.h */; }; - D7594DB6EFEB4874853CC35C /* EGORefreshTableHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D1AA8A443F34E558967066B /* EGORefreshTableHeaderView.m */; }; - D79E8A8AEF1E417E9095FA4C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - D7BA994BAB3A487B9F59953D /* KWFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D548B7F4CD94172BBD63789 /* KWFormatter.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - D8EC05B6A4054BFD807005F4 /* SBJson4StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 5506BAB36964473E8B9F4474 /* SBJson4StreamParser.h */; }; - DACD176947F2492BB6EF190D /* KWFutureObject.h in Headers */ = {isa = PBXBuildFile; fileRef = C2F50F1FA40B4B4BACB70491 /* KWFutureObject.h */; }; - DB31C0C2EA6E4878A5C650A0 /* UITouch-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 715C760EEFD047F48AE92CE0 /* UITouch-KIFAdditions.h */; }; - DCDB4FA2531F48BBA994C576 /* KWExample.h in Headers */ = {isa = PBXBuildFile; fileRef = B3DC7C85358A491CA3641B54 /* KWExample.h */; }; - DD4B6F1831174942AB36CE02 /* SBJson4StreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 495C9264974F4F5F8AE6A9EC /* SBJson4StreamWriterState.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - DE6E5E87CB584380B001074B /* KWNull.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B5289CBBBC84D4791A65517 /* KWNull.h */; }; - DEC33B17F8CE43DDA9F8EBF4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - DED016EB94594392B76D5850 /* NSValue+KiwiAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C0D6BFD5B1D455A8FB55ED5 /* NSValue+KiwiAdditions.h */; }; - DFDEB905E806402687A1B39E /* DejalActivityView.m in Sources */ = {isa = PBXBuildFile; fileRef = 91A9EDA86F464E15B81DCA1F /* DejalActivityView.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - DFFF740B04E84924B25FE208 /* KIFUITestActor.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AE5E4F1632346E1AA0895D7 /* KIFUITestActor.h */; }; - E0E520E4735A46FF8069A315 /* KWValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B7CD89DA6064510A37CF14B /* KWValue.h */; }; - E249C9D4FFFE4770A59E56EC /* NSMethodSignature+KiwiAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B6E508866B6405F9C8F60A8 /* NSMethodSignature+KiwiAdditions.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - E32694C3E60B454AB53559AE /* KWDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E931A754C1B4A60B8C21296 /* KWDeviceInfo.h */; }; - E3826C48066A49B68B01E180 /* KWSymbolicator.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D15DFC25D8446A1A8353B0C /* KWSymbolicator.h */; }; - E390FFA19B594354AFCF833B /* KWExpectationType.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D87B12BEED24A4D86ED025C /* KWExpectationType.h */; }; - E574F56B58904F23ABA5D7E1 /* KWMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = DD5D257FD6F845048A1A2842 /* KWMatcher.h */; }; - E5A87897FE044035900FF91B /* KWAny.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BDC5BC05EB54C0A8F33CE1C /* KWAny.h */; }; - E8DE8938A09941209ACA39C6 /* DejalActivityView.h in Headers */ = {isa = PBXBuildFile; fileRef = 504908A5CA9A4D8D81B4D8F8 /* DejalActivityView.h */; }; - E8F7276424EC4330BB1451EC /* SBJson4StreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 495C9264974F4F5F8AE6A9EC /* SBJson4StreamWriterState.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - EAE37FC7A28641D196374C48 /* Pods-CoderwallTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A54D3C469A346E2837EBEA4 /* Pods-CoderwallTests-dummy.m */; }; - EB698CB558014545AE454D20 /* libPods-CoderwallTests-DejalActivityView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8EC64E16E9124D4588C8D107 /* libPods-CoderwallTests-DejalActivityView.a */; }; - EBEB5BBB080C48FFA3819D46 /* KWRegisterMatchersNode.h in Headers */ = {isa = PBXBuildFile; fileRef = F922FD5CB2204862902D5FC9 /* KWRegisterMatchersNode.h */; }; - ECA0AE252C51408E8192D5C9 /* KWCaptureSpy.h in Headers */ = {isa = PBXBuildFile; fileRef = 2849577CBAA14720B3D81315 /* KWCaptureSpy.h */; }; - ED021E1406064603A159D738 /* SBJson4StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AC2C477651844438A4796F0 /* SBJson4StreamParserState.h */; }; - ED10964C82264E008C881C9F /* SBJson4StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = 59F7E9B58A924784A69347AE /* SBJson4StreamWriterState.h */; }; - EDCFEFBC60EA4535A47B23BF /* SBJson4StreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = F1DB00B6DEEE46318214A2A9 /* SBJson4StreamWriter.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - EEA7AC5D5AF74BEBAA7C59C7 /* NSInvocation+KiwiAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = ED4FF5B5B85A4D958D337C72 /* NSInvocation+KiwiAdditions.h */; }; - EEBB98DA7BB1498FB6FCEA40 /* SenTestCase-KIFAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B653BE7015B043EB801477FD /* SenTestCase-KIFAdditions.m */; }; - EF2254D09E5042DD8193E29C /* KWMatcherFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C1E02B06BB448248F57E207 /* KWMatcherFactory.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - EF61B65FFD804E508A92F4BF /* SBJson4StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = 59F7E9B58A924784A69347AE /* SBJson4StreamWriterState.h */; }; - F22E631C20394E90BBA52A11 /* KWNilMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AE0D762CE75471F8FB78582 /* KWNilMatcher.h */; }; - F37106B484604FE7B6DFE948 /* KWBlock.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D4179E9E04B4FE4AF93E67E /* KWBlock.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - F3A4CC8742B744A6A5587821 /* NSError-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = A06259CFE3BD4B73A6F45836 /* NSError-KIFAdditions.h */; }; - F9442F84C8E64BA3BF0FA334 /* KWBeIdenticalToMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8317B5213D674926AB145FEB /* KWBeIdenticalToMatcher.h */; }; - F9AE14D1D43442738F7B387E /* KWMatcherFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C46A3E3BB8D4CD787BDC4FE /* KWMatcherFactory.h */; }; - F9EA9DC6CEBB41689F95F8C2 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BF038A2C4FE4E8CBA7D5804 /* UIKit.framework */; }; - FA6F0E4F3FCD45A9AD88C841 /* KWNull.m in Sources */ = {isa = PBXBuildFile; fileRef = 176CDB6CCEF74E13A176B7A5 /* KWNull.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - FB3B2C36BCBA40119EB0EA90 /* CGGeometry-KIFAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 609AD201258C403EBCA94716 /* CGGeometry-KIFAdditions.h */; }; - FB4DCABBFDCA4AA2872BF81F /* KWAsyncVerifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 440FDBAA28FA40F68272869C /* KWAsyncVerifier.h */; }; - FBB8246097F2407B86F67138 /* KWRegisterMatchersNode.m in Sources */ = {isa = PBXBuildFile; fileRef = C203781A6B6E40139A2CA84C /* KWRegisterMatchersNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - FC08BBE050E54D61A03042EE /* KWBeforeEachNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B70E8DA793774280B6028A30 /* KWBeforeEachNode.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - FD17B0F21C524D1586B28C8B /* SBJson4Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = CDACCC1765FC4270B72D1A51 /* SBJson4Writer.h */; }; - FE45FFF30A2B490481A58BCF /* KWCaptureSpy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0443954508434C1398B3705F /* KWCaptureSpy.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - FEBB108E3AD8493597CDA9A5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */; }; - FECDFD8BB61847129DD2221A /* KWExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D48A8E7D2E6417D9592C3BB /* KWExample.m */; settings = {COMPILER_FLAGS = "-fobjc-arc -DOS_OBJECT_USE_OBJC=0"; }; }; - FFBA9407C8A849C6B8A8C067 /* KWEqualMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = DA808CD838C741F29F4FF2E5 /* KWEqualMatcher.h */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 2F6CBA5FE5204443A35FF131 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3DCC03C18367418FB774B1CD; - remoteInfo = "Pods-EGOTableViewPullRefresh"; - }; - 367F96E9A0AE43E89FE9BF7B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 5161A5D54A454843B4ED9E62; - remoteInfo = "Pods-SBJson"; - }; - 3B545E3BA3BF4F75AADECD6F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4482B0C4B2474DD5B6150F76; - remoteInfo = "Pods-Integration Tests-DejalActivityView"; - }; - 541663298EA3492290C387F2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8DED04B8BBFC47EBB10ECB2F; - remoteInfo = "Pods-Integration Tests-KIF"; - }; - 570D5EA19F3D4960BF957691 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0491CC7D0EC747A48F89C80F; - remoteInfo = "Pods-DejalActivityView"; - }; - 6F44B93549D64982B0B0249E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1E9853B8E0094E99B8EF4104; - remoteInfo = "Pods-CoderwallTests-EGOTableViewPullRefresh"; - }; - 8622BFBAF8694E9B843313C0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 6B6391CFA1A949A0A1FAABA0; - remoteInfo = "Pods-CoderwallTests-SBJson"; - }; - 890EC28F16BD4487A3AE73F9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 19C221923F7B4B75A4598DE7; - remoteInfo = "Pods-CoderwallTests-DejalActivityView"; - }; - E96A8714641D40A1BEB757EF /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 29ECF8741AF940F7895B2672; - remoteInfo = "Pods-CoderwallTests-Kiwi"; - }; - EAA321FBC2664091972D552E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4735B4FCA4194299880CF589; - remoteInfo = "Pods-Integration Tests-EGOTableViewPullRefresh"; - }; - F70FD4BC69FA40A78C6D2882 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 7EFC5F676FE249F3BE6FEA60 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A9C67A8848B541A0A5560A36; - remoteInfo = "Pods-Integration Tests-SBJson"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 00CFCAC93E824C9C91AAB89A /* libPods-Integration Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Integration Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0121665D1487469BA64C8940 /* KWNilMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWNilMatcher.m; path = Classes/Matchers/KWNilMatcher.m; sourceTree = ""; }; - 0443954508434C1398B3705F /* KWCaptureSpy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWCaptureSpy.m; path = Classes/Core/KWCaptureSpy.m; sourceTree = ""; }; - 0459CA550AEE476080377798 /* Pods-CoderwallTests-DejalActivityView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CoderwallTests-DejalActivityView-dummy.m"; sourceTree = ""; }; - 08D99DE9966F4982B9D1FA3D /* Pods-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-acknowledgements.markdown"; sourceTree = ""; }; - 0914AD7335CC495EBF6DDF1A /* KWExampleSuiteBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWExampleSuiteBuilder.m; path = Classes/Core/KWExampleSuiteBuilder.m; sourceTree = ""; }; - 0B77E11396294589AB742586 /* KWBeSubclassOfClassMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeSubclassOfClassMatcher.h; path = Classes/Matchers/KWBeSubclassOfClassMatcher.h; sourceTree = ""; }; - 0B86A08AFCC84629B8E53869 /* KWStringUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWStringUtilities.m; path = Classes/Core/KWStringUtilities.m; sourceTree = ""; }; - 0C58F85F06D844E6A5ED7188 /* KWBeforeAllNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeforeAllNode.h; path = Classes/Nodes/KWBeforeAllNode.h; sourceTree = ""; }; - 0D1AA8A443F34E558967066B /* EGORefreshTableHeaderView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EGORefreshTableHeaderView.m; path = EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.m; sourceTree = ""; }; - 0D5111DD932648CAB6D4BBD5 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - 0D918EE6BBC74C22ADEA2549 /* NSBundle-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSBundle-KIFAdditions.h"; path = "Additions/NSBundle-KIFAdditions.h"; sourceTree = ""; }; - 107887656E8446B79ABE77A2 /* Pods-CoderwallTests-DejalActivityView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CoderwallTests-DejalActivityView-prefix.pch"; sourceTree = ""; }; - 134E464FF03343DE9AB90EB6 /* Pods-DejalActivityView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-DejalActivityView-dummy.m"; sourceTree = ""; }; - 13CE47DBA8D74BAD806AA50E /* Pods-Integration Tests-KIF.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-KIF.xcconfig"; sourceTree = ""; }; - 16127D529E9E45D1B86C3579 /* KWBlock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBlock.h; path = Classes/Core/KWBlock.h; sourceTree = ""; }; - 1625077DC7624F7A81C9D67F /* Pods-CoderwallTests-DejalActivityView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-DejalActivityView.xcconfig"; sourceTree = ""; }; - 162E1E952686452AA205161C /* Pods-Integration Tests-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Integration Tests-environment.h"; sourceTree = ""; }; - 166CA18B3C844C1F9BE1BCE2 /* KWHaveMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWHaveMatcher.h; path = Classes/Matchers/KWHaveMatcher.h; sourceTree = ""; }; - 166D666A0D4344F99CB6DDA7 /* KWAsyncVerifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWAsyncVerifier.m; path = Classes/Verifiers/KWAsyncVerifier.m; sourceTree = ""; }; - 16E69B4C731042DE9CF00CB0 /* blueArrow@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "blueArrow@2x.png"; path = "EGOTableViewPullRefresh/Resources/blueArrow@2x.png"; sourceTree = ""; }; - 176CDB6CCEF74E13A176B7A5 /* KWNull.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWNull.m; path = Classes/Core/KWNull.m; sourceTree = ""; }; - 1941000A40394269ADC5754B /* KWChangeMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWChangeMatcher.h; path = Classes/Matchers/KWChangeMatcher.h; sourceTree = ""; }; - 1B57E82117244E14A270EC8D /* KWBeKindOfClassMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeKindOfClassMatcher.m; path = Classes/Matchers/KWBeKindOfClassMatcher.m; sourceTree = ""; }; - 1BA2D932508B4543A82BD312 /* KWContainMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWContainMatcher.h; path = Classes/Matchers/KWContainMatcher.h; sourceTree = ""; }; - 1BA3ABACE8C3413FB069AA20 /* SenTestSuite+KiwiAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SenTestSuite+KiwiAdditions.h"; path = "SenTestingKit/SenTestSuite+KiwiAdditions.h"; sourceTree = ""; }; - 1C1E02B06BB448248F57E207 /* KWMatcherFactory.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWMatcherFactory.m; path = Classes/Core/KWMatcherFactory.m; sourceTree = ""; }; - 1CFE19E9F589486D940FF252 /* KWWorkarounds.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWWorkarounds.m; path = Classes/Core/KWWorkarounds.m; sourceTree = ""; }; - 1DA65A08CCAD4903B1796549 /* Pods-Integration Tests-DejalActivityView-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-DejalActivityView-Private.xcconfig"; sourceTree = ""; }; - 1E221FFC95CC459792BCB70A /* KWReporting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWReporting.h; path = Classes/Core/KWReporting.h; sourceTree = ""; }; - 1E7EEFE0B1044C3AB4AE8F27 /* Pods-CoderwallTests-SBJson.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-SBJson.xcconfig"; sourceTree = ""; }; - 1F0DC82FF1134CC3B5DC9634 /* libPods-CoderwallTests-EGOTableViewPullRefresh.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CoderwallTests-EGOTableViewPullRefresh.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1FD97785EAF241BF9B379F69 /* CGGeometry-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CGGeometry-KIFAdditions.m"; path = "Additions/CGGeometry-KIFAdditions.m"; sourceTree = ""; }; - 2036288FE4BB4728839698ED /* KWGenericMatchEvaluator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWGenericMatchEvaluator.m; path = Classes/Matchers/KWGenericMatchEvaluator.m; sourceTree = ""; }; - 2220AC2A36C449CDA1071628 /* KWProbePoller.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWProbePoller.h; path = Classes/Core/KWProbePoller.h; sourceTree = ""; }; - 22D0903D81F046048CC1BFF9 /* Pods-SBJson-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SBJson-dummy.m"; sourceTree = ""; }; - 22D586E3967343259A98E0CE /* Podfile */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 24BC5FAEBD4E40B88BD33A59 /* KWProbe.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWProbe.h; path = Classes/Core/KWProbe.h; sourceTree = ""; }; - 258F55888F4E4599BF7A2E1E /* libPods-EGOTableViewPullRefresh.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-EGOTableViewPullRefresh.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2697406EEC5B47D28666DC6A /* Pods-CoderwallTests-EGOTableViewPullRefresh.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-EGOTableViewPullRefresh.xcconfig"; sourceTree = ""; }; - 26EE7C9D8A3E4A8381DE4A87 /* KWSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWSpec.m; path = Classes/Core/KWSpec.m; sourceTree = ""; }; - 27B52C79712A494C9D11D20B /* Pods-DejalActivityView-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DejalActivityView-Private.xcconfig"; sourceTree = ""; }; - 2849577CBAA14720B3D81315 /* KWCaptureSpy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWCaptureSpy.h; path = Classes/Core/KWCaptureSpy.h; sourceTree = ""; }; - 28CDDEAEF8254FBA8D2E40DF /* whiteArrow@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "whiteArrow@2x.png"; path = "EGOTableViewPullRefresh/Resources/whiteArrow@2x.png"; sourceTree = ""; }; - 29A7E85A9F114A068855D05E /* KWValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWValue.m; path = Classes/Core/KWValue.m; sourceTree = ""; }; - 29DC101E8895492C9AA78940 /* KWFailure.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWFailure.m; path = Classes/Core/KWFailure.m; sourceTree = ""; }; - 2A17E4F52A494B84A8991560 /* SBJson4.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4.h; path = src/main/objc/SBJson4.h; sourceTree = ""; }; - 2AA61F31EFE144C492D5C041 /* KWMessageSpying.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMessageSpying.h; path = Classes/Core/KWMessageSpying.h; sourceTree = ""; }; - 2C7627FA14854C468B9B8900 /* KWInequalityMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWInequalityMatcher.h; path = Classes/Matchers/KWInequalityMatcher.h; sourceTree = ""; }; - 2CBEF9DA7001499D8E153950 /* Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig"; sourceTree = ""; }; - 2D4179E9E04B4FE4AF93E67E /* KWBlock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBlock.m; path = Classes/Core/KWBlock.m; sourceTree = ""; }; - 2E771285B4D445F6A05DC4A7 /* UITouch-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UITouch-KIFAdditions.m"; path = "Additions/UITouch-KIFAdditions.m"; sourceTree = ""; }; - 2FD77985E97E4981801C94B6 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - 33940F808ACD4E9B9813C4E7 /* KWVerifying.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWVerifying.h; path = Classes/Verifiers/KWVerifying.h; sourceTree = ""; }; - 35B8DB81F9AF47CA873708BE /* KiwiBlockMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KiwiBlockMacros.h; path = Classes/Core/KiwiBlockMacros.h; sourceTree = ""; }; - 36110EF7406340C588FE55E9 /* KWBeforeAllNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeforeAllNode.m; path = Classes/Nodes/KWBeforeAllNode.m; sourceTree = ""; }; - 378769FD92DA4AB6B5EB8647 /* NSObject+KiwiMockAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+KiwiMockAdditions.m"; path = "Classes/Mocking/NSObject+KiwiMockAdditions.m"; sourceTree = ""; }; - 3826D80D120E4CF5AD5BAD39 /* UIView-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView-KIFAdditions.h"; path = "Additions/UIView-KIFAdditions.h"; sourceTree = ""; }; - 3951492BD8624FEF8648A032 /* Pods-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-resources.sh"; sourceTree = ""; }; - 3A666390F3E540F28DFC0FF3 /* NSObject+KiwiMockAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+KiwiMockAdditions.h"; path = "Classes/Mocking/NSObject+KiwiMockAdditions.h"; sourceTree = ""; }; - 3AE5E4F1632346E1AA0895D7 /* KIFUITestActor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KIFUITestActor.h; path = Classes/KIFUITestActor.h; sourceTree = ""; }; - 3C22D575BE134AEC8E8E3F72 /* KWCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWCallSite.h; path = Classes/Core/KWCallSite.h; sourceTree = ""; }; - 3D3479D7CBB3424099A70873 /* Kiwi.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Kiwi.h; path = Classes/Core/Kiwi.h; sourceTree = ""; }; - 3E3905E6CF8446F9BCD0021D /* Pods-DejalActivityView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-DejalActivityView-prefix.pch"; sourceTree = ""; }; - 3F0071D394B74AE88ADA02DD /* NSObject+KiwiSpyAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+KiwiSpyAdditions.h"; path = "Classes/Core/NSObject+KiwiSpyAdditions.h"; sourceTree = ""; }; - 3F1E9F82515D4EBF849FB942 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; - 3F5D8544C48E4C9890F3CCE1 /* grayArrow.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = grayArrow.png; path = EGOTableViewPullRefresh/Resources/grayArrow.png; sourceTree = ""; }; - 408281467E124C6985F83CFD /* KWCountType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWCountType.h; path = Classes/Core/KWCountType.h; sourceTree = ""; }; - 40D732AE888C4498A260A263 /* KiwiConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KiwiConfiguration.h; path = Classes/Core/KiwiConfiguration.h; sourceTree = ""; }; - 40EF75756D9B42F8B547C039 /* Pods-SBJson.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SBJson.xcconfig"; sourceTree = ""; }; - 411CD0F5E40F4C4DB43C4569 /* libPods-CoderwallTests-SBJson.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CoderwallTests-SBJson.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 418DA2E1F71E428E801FAABE /* KWBeBetweenMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeBetweenMatcher.h; path = Classes/Matchers/KWBeBetweenMatcher.h; sourceTree = ""; }; - 420AC90D743248FA9078C298 /* KWBeSubclassOfClassMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeSubclassOfClassMatcher.m; path = Classes/Matchers/KWBeSubclassOfClassMatcher.m; sourceTree = ""; }; - 42CCA4728D25449395E4D0DB /* NSNumber+KiwiAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNumber+KiwiAdditions.h"; path = "Classes/Core/NSNumber+KiwiAdditions.h"; sourceTree = ""; }; - 435CF21A79BE48FB9A21BB80 /* NSObject+KiwiSpyAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+KiwiSpyAdditions.m"; path = "Classes/Core/NSObject+KiwiSpyAdditions.m"; sourceTree = ""; }; - 43AA731ABBBD4FDFA6DFDCDE /* Pods-Integration Tests-KIF-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-KIF-Private.xcconfig"; sourceTree = ""; }; - 440FDBAA28FA40F68272869C /* KWAsyncVerifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWAsyncVerifier.h; path = Classes/Verifiers/KWAsyncVerifier.h; sourceTree = ""; }; - 444327FDE5524220A58DB6BE /* libPods-Integration Tests-DejalActivityView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Integration Tests-DejalActivityView.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 453516D391FA4CA397D3F1F8 /* UIWindow-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWindow-KIFAdditions.h"; path = "Additions/UIWindow-KIFAdditions.h"; sourceTree = ""; }; - 454C62DCE2424DDA89723CA8 /* KWBeMemberOfClassMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeMemberOfClassMatcher.h; path = Classes/Matchers/KWBeMemberOfClassMatcher.h; sourceTree = ""; }; - 4784BEDF088C4533A0A85AF4 /* KWGenericMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWGenericMatcher.m; path = Classes/Matchers/KWGenericMatcher.m; sourceTree = ""; }; - 47E1F8B2B1BF4750940F1A5E /* KWExampleNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExampleNode.h; path = Classes/Nodes/KWExampleNode.h; sourceTree = ""; }; - 48B6B45EF59649CDA0F621F2 /* KWExistVerifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWExistVerifier.m; path = Classes/Verifiers/KWExistVerifier.m; sourceTree = ""; }; - 495C9264974F4F5F8AE6A9EC /* SBJson4StreamWriterState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson4StreamWriterState.m; path = src/main/objc/SBJson4StreamWriterState.m; sourceTree = ""; }; - 4A7AAB838EE144B0B96917CA /* KWRespondToSelectorMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWRespondToSelectorMatcher.h; path = Classes/Matchers/KWRespondToSelectorMatcher.h; sourceTree = ""; }; - 4BF038A2C4FE4E8CBA7D5804 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 4C781914DB6840DF92A2FE57 /* SenTestSuite+KiwiAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SenTestSuite+KiwiAdditions.m"; path = "SenTestingKit/SenTestSuite+KiwiAdditions.m"; sourceTree = ""; }; - 4CFB80DD6E854D378C5B4CA3 /* UIScrollView-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIScrollView-KIFAdditions.h"; path = "Additions/UIScrollView-KIFAdditions.h"; sourceTree = ""; }; - 4D5F0DAA3C3642B1BE0219FC /* NSValue+KiwiAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+KiwiAdditions.m"; path = "Classes/Core/NSValue+KiwiAdditions.m"; sourceTree = ""; }; - 4D9B9D0D43724AB087A027D3 /* KWRaiseMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWRaiseMatcher.h; path = Classes/Matchers/KWRaiseMatcher.h; sourceTree = ""; }; - 4F19AB6BE42E423183FEC650 /* KWMatching.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMatching.h; path = Classes/Core/KWMatching.h; sourceTree = ""; }; - 504908A5CA9A4D8D81B4D8F8 /* DejalActivityView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = DejalActivityView.h; sourceTree = ""; }; - 519F69D30E544503B3AF34C4 /* UIApplication-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication-KIFAdditions.m"; path = "Additions/UIApplication-KIFAdditions.m"; sourceTree = ""; }; - 533AAA49A6614A389B783C79 /* KWRespondToSelectorMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWRespondToSelectorMatcher.m; path = Classes/Matchers/KWRespondToSelectorMatcher.m; sourceTree = ""; }; - 53DEC029DCC74A6A8C1CA00C /* KWIntercept.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWIntercept.h; path = NonARC/KWIntercept.h; sourceTree = ""; }; - 5421AE83B9F1489D8123046B /* Pods-Integration Tests-DejalActivityView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Integration Tests-DejalActivityView-prefix.pch"; sourceTree = ""; }; - 5506BAB36964473E8B9F4474 /* SBJson4StreamParser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4StreamParser.h; path = src/main/objc/SBJson4StreamParser.h; sourceTree = ""; }; - 55601D4B437849DAB124E1CE /* NSNumber+KiwiAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNumber+KiwiAdditions.m"; path = "Classes/Core/NSNumber+KiwiAdditions.m"; sourceTree = ""; }; - 5591BBFECFBA45AAA0E80970 /* KWStub.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWStub.h; path = NonARC/KWStub.h; sourceTree = ""; }; - 569180A44CB346969E95A140 /* KWMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWMatcher.m; path = Classes/Core/KWMatcher.m; sourceTree = ""; }; - 574EA2168C4B40199E76C4A4 /* KWBeIdenticalToMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeIdenticalToMatcher.m; path = Classes/Matchers/KWBeIdenticalToMatcher.m; sourceTree = ""; }; - 57FABE8B1AF4411D9BC7DC94 /* KWBeEmptyMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeEmptyMatcher.h; path = Classes/Matchers/KWBeEmptyMatcher.h; sourceTree = ""; }; - 5862979AFA3A464C8AF9E78F /* blackArrow@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "blackArrow@2x.png"; path = "EGOTableViewPullRefresh/Resources/blackArrow@2x.png"; sourceTree = ""; }; - 58F6EEBF929249809BD7BC3F /* KWBlockNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBlockNode.h; path = Classes/Nodes/KWBlockNode.h; sourceTree = ""; }; - 5941A06B65D940CE96AC8B24 /* Pods-Integration Tests.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests.xcconfig"; sourceTree = ""; }; - 599C7643ACE948569090F92B /* KWHaveValueMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWHaveValueMatcher.h; path = Classes/Matchers/KWHaveValueMatcher.h; sourceTree = ""; }; - 59EE11DB9B974251842EE049 /* KWBeKindOfClassMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeKindOfClassMatcher.h; path = Classes/Matchers/KWBeKindOfClassMatcher.h; sourceTree = ""; }; - 59F7E9B58A924784A69347AE /* SBJson4StreamWriterState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4StreamWriterState.h; path = src/main/objc/SBJson4StreamWriterState.h; sourceTree = ""; }; - 5AC2C477651844438A4796F0 /* SBJson4StreamParserState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4StreamParserState.h; path = src/main/objc/SBJson4StreamParserState.h; sourceTree = ""; }; - 5B5289CBBBC84D4791A65517 /* KWNull.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWNull.h; path = Classes/Core/KWNull.h; sourceTree = ""; }; - 5C46A3E3BB8D4CD787BDC4FE /* KWMatcherFactory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMatcherFactory.h; path = Classes/Core/KWMatcherFactory.h; sourceTree = ""; }; - 5CB8188DD5A7438A804899F1 /* SBJson4Writer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson4Writer.m; path = src/main/objc/SBJson4Writer.m; sourceTree = ""; }; - 5CC6ECFB60B44FD7B3B2CFEE /* KWIntercept.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWIntercept.m; path = NonARC/KWIntercept.m; sourceTree = ""; }; - 5D48A8E7D2E6417D9592C3BB /* KWExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWExample.m; path = Classes/Core/KWExample.m; sourceTree = ""; }; - 5D50388EC8654BBEABFCABE6 /* KWBeWithinMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeWithinMatcher.h; path = Classes/Matchers/KWBeWithinMatcher.h; sourceTree = ""; }; - 5D5CC6AFBFF94B34BDCD6254 /* blackArrow.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = blackArrow.png; path = EGOTableViewPullRefresh/Resources/blackArrow.png; sourceTree = ""; }; - 5E5EEAACE534481ABF37A8AF /* UIWindow-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWindow-KIFAdditions.m"; path = "Additions/UIWindow-KIFAdditions.m"; sourceTree = ""; }; - 60435698E6F4415597D03E8E /* KWStub.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWStub.m; path = NonARC/KWStub.m; sourceTree = ""; }; - 609AD201258C403EBCA94716 /* CGGeometry-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CGGeometry-KIFAdditions.h"; path = "Additions/CGGeometry-KIFAdditions.h"; sourceTree = ""; }; - 609CE693AACF40FC8D3C145E /* Pods-Integration Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Integration Tests-acknowledgements.plist"; sourceTree = ""; }; - 61071C2B816943BFA1600293 /* KWAfterEachNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWAfterEachNode.m; path = Classes/Nodes/KWAfterEachNode.m; sourceTree = ""; }; - 61F20BB1A3DC483AA58170D8 /* KIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KIF.h; path = Classes/KIF.h; sourceTree = ""; }; - 624D8C21F690498DABB15200 /* KWExampleDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExampleDelegate.h; path = Classes/Core/KWExampleDelegate.h; sourceTree = ""; }; - 62F791A0D6814EC78E516737 /* KIFSystemTestActor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KIFSystemTestActor.m; path = Classes/KIFSystemTestActor.m; sourceTree = ""; }; - 64B5CCBAD61F49C790C4EA76 /* KWBeEmptyMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeEmptyMatcher.m; path = Classes/Matchers/KWBeEmptyMatcher.m; sourceTree = ""; }; - 6697741CE0C3444FAB120FCA /* KWRaiseMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWRaiseMatcher.m; path = Classes/Matchers/KWRaiseMatcher.m; sourceTree = ""; }; - 66F63E3046CE46299EB17654 /* NSError-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSError-KIFAdditions.m"; path = "Additions/NSError-KIFAdditions.m"; sourceTree = ""; }; - 677A00A9D6D148D184141A09 /* Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch"; sourceTree = ""; }; - 6844DC0B9E3548A4B75191CD /* KIFTypist.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KIFTypist.h; path = Classes/KIFTypist.h; sourceTree = ""; }; - 687C6F14E3224CF29F3B79C8 /* Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m"; sourceTree = ""; }; - 69F3532B5C6643E794C6251D /* KWConformToProtocolMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWConformToProtocolMatcher.h; path = Classes/Matchers/KWConformToProtocolMatcher.h; sourceTree = ""; }; - 6A72FBBF5A3F45FC95F58CF0 /* Pods-CoderwallTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-CoderwallTests-acknowledgements.markdown"; sourceTree = ""; }; - 6B43FA92B41948C3A0F45F5C /* KWReceiveMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWReceiveMatcher.m; path = Classes/Matchers/KWReceiveMatcher.m; sourceTree = ""; }; - 6C530B8019C047C690B3F946 /* KWProbePoller.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWProbePoller.m; path = Classes/Core/KWProbePoller.m; sourceTree = ""; }; - 6CAFCE8420104A5E9A80D547 /* KWMessagePattern.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWMessagePattern.m; path = NonARC/KWMessagePattern.m; sourceTree = ""; }; - 6EAC456D65734A9A95ABFF39 /* whiteArrow.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = whiteArrow.png; path = EGOTableViewPullRefresh/Resources/whiteArrow.png; sourceTree = ""; }; - 7084CB0A467E4601A9477027 /* KWContextNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWContextNode.m; path = Classes/Nodes/KWContextNode.m; sourceTree = ""; }; - 7092C238A5284F5FAB8022F7 /* KWGenericMatchEvaluator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWGenericMatchEvaluator.h; path = Classes/Matchers/KWGenericMatchEvaluator.h; sourceTree = ""; }; - 70A8416A10924DBDB16FCFAF /* KIFTestStepValidation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KIFTestStepValidation.h; path = Classes/KIFTestStepValidation.h; sourceTree = ""; }; - 7106C0BAA2044FC38556F844 /* KWUserDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWUserDefinedMatcher.m; path = Classes/Matchers/KWUserDefinedMatcher.m; sourceTree = ""; }; - 715C760EEFD047F48AE92CE0 /* UITouch-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UITouch-KIFAdditions.h"; path = "Additions/UITouch-KIFAdditions.h"; sourceTree = ""; }; - 7193FED984BD4B7DB18D08DF /* KWInequalityMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWInequalityMatcher.m; path = Classes/Matchers/KWInequalityMatcher.m; sourceTree = ""; }; - 72331ABF178E4C269359E20F /* Pods-CoderwallTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-CoderwallTests-acknowledgements.plist"; sourceTree = ""; }; - 72425E82A42D447A986D1C9C /* KWBeWithinMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeWithinMatcher.m; path = Classes/Matchers/KWBeWithinMatcher.m; sourceTree = ""; }; - 72B6F09158C9469785815067 /* Pods-CoderwallTests-DejalActivityView-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-DejalActivityView-Private.xcconfig"; sourceTree = ""; }; - 74C1C574AE8D4EDB9E752C5C /* KWSymbolicator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWSymbolicator.m; path = NonARC/KWSymbolicator.m; sourceTree = ""; }; - 7500732C2EB647C282D9B1D8 /* Pods-CoderwallTests-SBJson-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CoderwallTests-SBJson-prefix.pch"; sourceTree = ""; }; - 756B96ACAE2B427C80E03C2D /* libPods-Integration Tests-SBJson.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Integration Tests-SBJson.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 75C8D9036B48423FA801C5E4 /* KWExampleSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExampleSuite.h; path = Classes/Core/KWExampleSuite.h; sourceTree = ""; }; - 778CC112D59E4DA5BF061F0E /* Pods-CoderwallTests-Kiwi-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-Kiwi-Private.xcconfig"; sourceTree = ""; }; - 77C245018E7E424796430E7B /* UIApplication-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication-KIFAdditions.h"; path = "Additions/UIApplication-KIFAdditions.h"; sourceTree = ""; }; - 78FC2EB07583411C9A646F43 /* KWContainMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWContainMatcher.m; path = Classes/Matchers/KWContainMatcher.m; sourceTree = ""; }; - 79494A524FF044CF951B2CF7 /* KWDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWDeviceInfo.m; path = Classes/Core/KWDeviceInfo.m; sourceTree = ""; }; - 7A2D2B6B74E441ABAA129986 /* Pods-Integration Tests-KIF-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Integration Tests-KIF-dummy.m"; sourceTree = ""; }; - 7AA5EBB9CE334EEDA4043726 /* KWAfterEachNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWAfterEachNode.h; path = Classes/Nodes/KWAfterEachNode.h; sourceTree = ""; }; - 7B6E508866B6405F9C8F60A8 /* NSMethodSignature+KiwiAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMethodSignature+KiwiAdditions.m"; path = "Classes/Core/NSMethodSignature+KiwiAdditions.m"; sourceTree = ""; }; - 7C0D6BFD5B1D455A8FB55ED5 /* NSValue+KiwiAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+KiwiAdditions.h"; path = "Classes/Core/NSValue+KiwiAdditions.h"; sourceTree = ""; }; - 7C84E6BB131E474E8D040828 /* libPods-DejalActivityView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DejalActivityView.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 7C9D4C048C134028B0166CCF /* KWBeZeroMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeZeroMatcher.h; path = Classes/Matchers/KWBeZeroMatcher.h; sourceTree = ""; }; - 7D54BF5ED67A4505BCE9C452 /* Pods-Integration Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Integration Tests-resources.sh"; sourceTree = ""; }; - 7EA917B0C5CF4AB18FD5533F /* Pods-CoderwallTests-SBJson-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CoderwallTests-SBJson-dummy.m"; sourceTree = ""; }; - 7F424E6637484386810C0EF5 /* KWContainStringMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWContainStringMatcher.h; path = Classes/Matchers/KWContainStringMatcher.h; sourceTree = ""; }; - 7FBA6D19AC514DB48181C131 /* KIFUITestActor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KIFUITestActor.m; path = Classes/KIFUITestActor.m; sourceTree = ""; }; - 8317B5213D674926AB145FEB /* KWBeIdenticalToMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeIdenticalToMatcher.h; path = Classes/Matchers/KWBeIdenticalToMatcher.h; sourceTree = ""; }; - 83B95B975BAE4EAEADB8D0E7 /* KiwiMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KiwiMacros.h; path = Classes/Core/KiwiMacros.h; sourceTree = ""; }; - 846F6B86027B4998ACB323F1 /* Pods-Integration Tests-SBJson.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-SBJson.xcconfig"; sourceTree = ""; }; - 85997DBB40B44570B95F66C1 /* SBJson4StreamTokeniser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4StreamTokeniser.h; path = src/main/objc/SBJson4StreamTokeniser.h; sourceTree = ""; }; - 868DE3D08ED74CC29B60F23E /* NSObject+KiwiVerifierAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+KiwiVerifierAdditions.h"; path = "Classes/Core/NSObject+KiwiVerifierAdditions.h"; sourceTree = ""; }; - 87F9C958DF0546F7AF5E56F1 /* Pods-Integration Tests-DejalActivityView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-DejalActivityView.xcconfig"; sourceTree = ""; }; - 8897D52921C34EE5BEC5B370 /* KWMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMatchers.h; path = Classes/Core/KWMatchers.h; sourceTree = ""; }; - 894AF56B4AF7461D9D547412 /* KWSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWSpec.h; path = Classes/Core/KWSpec.h; sourceTree = ""; }; - 8A54D3C469A346E2837EBEA4 /* Pods-CoderwallTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CoderwallTests-dummy.m"; sourceTree = ""; }; - 8AE0D762CE75471F8FB78582 /* KWNilMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWNilMatcher.h; path = Classes/Matchers/KWNilMatcher.h; sourceTree = ""; }; - 8B7CD89DA6064510A37CF14B /* KWValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWValue.h; path = Classes/Core/KWValue.h; sourceTree = ""; }; - 8BC59A6B1EFB451FAECB062C /* KWExampleSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWExampleSuite.m; path = Classes/Core/KWExampleSuite.m; sourceTree = ""; }; - 8BDC5BC05EB54C0A8F33CE1C /* KWAny.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWAny.h; path = Classes/Core/KWAny.h; sourceTree = ""; }; - 8D617DA0ABF64B0BB3F22B5A /* NSObject+KiwiStubAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+KiwiStubAdditions.m"; path = "Classes/Stubbing/NSObject+KiwiStubAdditions.m"; sourceTree = ""; }; - 8DFD097F19B54A53B18E54C3 /* KIFTestActor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KIFTestActor.m; path = Classes/KIFTestActor.m; sourceTree = ""; }; - 8EC64E16E9124D4588C8D107 /* libPods-CoderwallTests-DejalActivityView.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CoderwallTests-DejalActivityView.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9074C24D4ACE44DE8B1BC05A /* NSFileManager-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSFileManager-KIFAdditions.h"; path = "Additions/NSFileManager-KIFAdditions.h"; sourceTree = ""; }; - 91A9EDA86F464E15B81DCA1F /* DejalActivityView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = DejalActivityView.m; sourceTree = ""; }; - 9657A5FD62D74CCF9586C10F /* KWGenericMatchingAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWGenericMatchingAdditions.h; path = Classes/Matchers/KWGenericMatchingAdditions.h; sourceTree = ""; }; - 972CAFA9E7C04F7C942DE53D /* KWBlockRaiseMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBlockRaiseMatcher.h; path = Classes/Matchers/KWBlockRaiseMatcher.h; sourceTree = ""; }; - 98046D9F4D104B1691C32921 /* KWCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWCallSite.m; path = Classes/Core/KWCallSite.m; sourceTree = ""; }; - 989D7B752B954662B3390A65 /* libPods-SBJson.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SBJson.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9A0D2B9284744D01B1EC6B49 /* libPods-Integration Tests-EGOTableViewPullRefresh.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Integration Tests-EGOTableViewPullRefresh.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9BE600863A184BB88F9E695D /* KWAny.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWAny.m; path = Classes/Core/KWAny.m; sourceTree = ""; }; - 9D15DFC25D8446A1A8353B0C /* KWSymbolicator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWSymbolicator.h; path = NonARC/KWSymbolicator.h; sourceTree = ""; }; - 9D548B7F4CD94172BBD63789 /* KWFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWFormatter.m; path = Classes/Core/KWFormatter.m; sourceTree = ""; }; - 9D87B12BEED24A4D86ED025C /* KWExpectationType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExpectationType.h; path = Classes/Core/KWExpectationType.h; sourceTree = ""; }; - 9DCE07D1B9C44C078AEEAABE /* NSInvocation+KiwiAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+KiwiAdditions.m"; path = "Classes/Core/NSInvocation+KiwiAdditions.m"; sourceTree = ""; }; - 9E5140134B4744638B05D159 /* KWExampleNodeVisitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExampleNodeVisitor.h; path = Classes/Core/KWExampleNodeVisitor.h; sourceTree = ""; }; - 9E931A754C1B4A60B8C21296 /* KWDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWDeviceInfo.h; path = Classes/Core/KWDeviceInfo.h; sourceTree = ""; }; - A06259CFE3BD4B73A6F45836 /* NSError-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSError-KIFAdditions.h"; path = "Additions/NSError-KIFAdditions.h"; sourceTree = ""; }; - A1F3C21F71BF48C4BA9BF4D3 /* NSInvocation+OCMAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+OCMAdditions.m"; path = "Classes/Core/NSInvocation+OCMAdditions.m"; sourceTree = ""; }; - A224A8765AB24725A5908A97 /* NSProxy+KiwiVerifierAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSProxy+KiwiVerifierAdditions.h"; path = "Classes/Core/NSProxy+KiwiVerifierAdditions.h"; sourceTree = ""; }; - A5CC7198F7E64360BDAEC4A0 /* EGORefreshTableHeaderView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EGORefreshTableHeaderView.h; path = EGOTableViewPullRefresh/Classes/View/EGORefreshTableHeaderView.h; sourceTree = ""; }; - A68A8E1BEA2C4D62A101F6B1 /* KIFTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KIFTestCase.m; path = Classes/KIFTestCase.m; sourceTree = ""; }; - A71F1AF363664CEB945BA998 /* SBJson4StreamParserState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson4StreamParserState.m; path = src/main/objc/SBJson4StreamParserState.m; sourceTree = ""; }; - A73591B17D3E47D3B6E9AC74 /* UIView-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView-KIFAdditions.m"; path = "Additions/UIView-KIFAdditions.m"; sourceTree = ""; }; - A8217E312B934572AB9DFA06 /* KWContextNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWContextNode.h; path = Classes/Nodes/KWContextNode.h; sourceTree = ""; }; - A957C9ED21424A1B86A6AB67 /* KWRegularExpressionPatternMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWRegularExpressionPatternMatcher.h; path = Classes/Matchers/KWRegularExpressionPatternMatcher.h; sourceTree = ""; }; - A962282B54CE482888B045A6 /* UIScrollView-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView-KIFAdditions.m"; path = "Additions/UIScrollView-KIFAdditions.m"; sourceTree = ""; }; - A9B2F5D5E7B94166AF1270A2 /* KWHaveMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWHaveMatcher.m; path = Classes/Matchers/KWHaveMatcher.m; sourceTree = ""; }; - A9B32B116A744B3EA7A468A0 /* KWMatchVerifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMatchVerifier.h; path = Classes/Verifiers/KWMatchVerifier.h; sourceTree = ""; }; - AB1F523922194F4E8DF644AC /* KWStringUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWStringUtilities.h; path = Classes/Core/KWStringUtilities.h; sourceTree = ""; }; - AB36E9F4B497455C90B8B30D /* SBJson4Parser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4Parser.h; path = src/main/objc/SBJson4Parser.h; sourceTree = ""; }; - ACBD59B8972A4DF0ACDCD35B /* LoadableCategory.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LoadableCategory.h; path = Additions/LoadableCategory.h; sourceTree = ""; }; - AD3159C4BE884EB7836207B5 /* Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig"; sourceTree = ""; }; - AD4DFC209AE64D4AA50EB6CE /* KWMatchVerifier.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWMatchVerifier.m; path = Classes/Verifiers/KWMatchVerifier.m; sourceTree = ""; }; - AE72AECF4B5E4A4FAB792DA7 /* KWRegularExpressionPatternMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWRegularExpressionPatternMatcher.m; path = Classes/Matchers/KWRegularExpressionPatternMatcher.m; sourceTree = ""; }; - AE9CDD2E4C8E4E5980792C15 /* KWUserDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWUserDefinedMatcher.h; path = Classes/Matchers/KWUserDefinedMatcher.h; sourceTree = ""; }; - AEE2DEC6DF4B4EB9A120DAF3 /* Pods-EGOTableViewPullRefresh-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EGOTableViewPullRefresh-Private.xcconfig"; sourceTree = ""; }; - B0329F4B5B2C44B8B8F15B76 /* NSObject+KiwiVerifierAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+KiwiVerifierAdditions.m"; path = "Classes/Core/NSObject+KiwiVerifierAdditions.m"; sourceTree = ""; }; - B0E50458FC9941C68F40D8F0 /* Pods-SBJson-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SBJson-prefix.pch"; sourceTree = ""; }; - B0F957B81DC346DEBC53D0BB /* KWMock.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMock.h; path = Classes/Mocking/KWMock.h; sourceTree = ""; }; - B27FA756B0E844438BE10DB3 /* Pods-Integration Tests-EGOTableViewPullRefresh.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-EGOTableViewPullRefresh.xcconfig"; sourceTree = ""; }; - B2C0999815344E7481C2852A /* Pods-Integration Tests-DejalActivityView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Integration Tests-DejalActivityView-dummy.m"; sourceTree = ""; }; - B2D3565B36C141E08416F636 /* SenTestCase-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SenTestCase-KIFAdditions.h"; path = "Additions/SenTestCase-KIFAdditions.h"; sourceTree = ""; }; - B3DC7C85358A491CA3641B54 /* KWExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExample.h; path = Classes/Core/KWExample.h; sourceTree = ""; }; - B40BD4C4D1C443DDB9135515 /* NSObject+KiwiStubAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+KiwiStubAdditions.h"; path = "Classes/Stubbing/NSObject+KiwiStubAdditions.h"; sourceTree = ""; }; - B42308F5EB2646FEB64903E0 /* NSMethodSignature+KiwiAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMethodSignature+KiwiAdditions.h"; path = "Classes/Core/NSMethodSignature+KiwiAdditions.h"; sourceTree = ""; }; - B43F22629CB64B6886D1BA92 /* KWFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWFormatter.h; path = Classes/Core/KWFormatter.h; sourceTree = ""; }; - B653BE7015B043EB801477FD /* SenTestCase-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "SenTestCase-KIFAdditions.m"; path = "Additions/SenTestCase-KIFAdditions.m"; sourceTree = ""; }; - B6BD741FE643499A97170BB0 /* Pods-Integration Tests-SBJson-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Integration Tests-SBJson-dummy.m"; sourceTree = ""; }; - B70E8DA793774280B6028A30 /* KWBeforeEachNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeforeEachNode.m; path = Classes/Nodes/KWBeforeEachNode.m; sourceTree = ""; }; - B95B351C835D4F16AD899A7C /* KIFTypist.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KIFTypist.m; path = Classes/KIFTypist.m; sourceTree = ""; }; - BB3729D359FD4B6480E552C9 /* Pods-EGOTableViewPullRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-EGOTableViewPullRefresh-prefix.pch"; sourceTree = ""; }; - BBCAF31970D743FDADEBAC84 /* KWAfterAllNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWAfterAllNode.m; path = Classes/Nodes/KWAfterAllNode.m; sourceTree = ""; }; - BC2866E6C7A340898D373199 /* Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch"; sourceTree = ""; }; - BD112DB9B8B5461DA647D969 /* KIFTestActor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KIFTestActor.h; path = Classes/KIFTestActor.h; sourceTree = ""; }; - BD6DBC5E5FD44DF0A57C2B31 /* Pods-Integration Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Integration Tests-acknowledgements.markdown"; sourceTree = ""; }; - BF605553F5124CD69BAA263A /* Pods-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-acknowledgements.plist"; sourceTree = ""; }; - BF96081C85EE4128B9B66A27 /* Pods-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-environment.h"; sourceTree = ""; }; - BFA84E2CA2834DC09FB2BC1B /* Pods-CoderwallTests-Kiwi.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-Kiwi.xcconfig"; sourceTree = ""; }; - C0E9D52C763245789B5BBE49 /* KWMessageTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMessageTracker.h; path = Classes/Core/KWMessageTracker.h; sourceTree = ""; }; - C203781A6B6E40139A2CA84C /* KWRegisterMatchersNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWRegisterMatchersNode.m; path = Classes/Nodes/KWRegisterMatchersNode.m; sourceTree = ""; }; - C264E1F6DA8B4BF7934A3288 /* NSInvocation+OCMAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+OCMAdditions.h"; path = "Classes/Core/NSInvocation+OCMAdditions.h"; sourceTree = ""; }; - C2BACF6EA1B54B8FB3851D59 /* KWWorkarounds.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWWorkarounds.h; path = Classes/Core/KWWorkarounds.h; sourceTree = ""; }; - C2C6E8CFBA4543B89CDD777C /* KWPendingNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWPendingNode.m; path = Classes/Nodes/KWPendingNode.m; sourceTree = ""; }; - C2F50F1FA40B4B4BACB70491 /* KWFutureObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWFutureObject.h; path = Classes/Core/KWFutureObject.h; sourceTree = ""; }; - C36C37995AAD4B629E834164 /* UIAccessibilityElement-KIFAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIAccessibilityElement-KIFAdditions.h"; path = "Additions/UIAccessibilityElement-KIFAdditions.h"; sourceTree = ""; }; - C45C9BC2009A474DBE86567B /* Pods-EGOTableViewPullRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-EGOTableViewPullRefresh-dummy.m"; sourceTree = ""; }; - C46AA8D28D144A8BBCB768CA /* KWInvocationCapturer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWInvocationCapturer.h; path = Classes/Core/KWInvocationCapturer.h; sourceTree = ""; }; - C49B039040B34C8592AF0929 /* Pods-CoderwallTests-environment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CoderwallTests-environment.h"; sourceTree = ""; }; - C4C15D87EAFA44798901C342 /* KWInvocationCapturer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWInvocationCapturer.m; path = Classes/Core/KWInvocationCapturer.m; sourceTree = ""; }; - C4CB85868F8C4798BC085864 /* NSFileManager-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSFileManager-KIFAdditions.m"; path = "Additions/NSFileManager-KIFAdditions.m"; sourceTree = ""; }; - C532444277A14914AD0CA4D2 /* libPods-CoderwallTests-Kiwi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CoderwallTests-Kiwi.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C6B801827AC141AD97E712A4 /* SBJson4StreamParser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson4StreamParser.m; path = src/main/objc/SBJson4StreamParser.m; sourceTree = ""; }; - C6D8F16168F543E7A31B80C6 /* KWBeTrueMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeTrueMatcher.h; path = Classes/Matchers/KWBeTrueMatcher.h; sourceTree = ""; }; - C862D092CFF04D42A647CC84 /* libPods-CoderwallTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CoderwallTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C90AF1B3F3264B459ABF17A5 /* SBJson4Parser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson4Parser.m; path = src/main/objc/SBJson4Parser.m; sourceTree = ""; }; - C9B6B3F6810F42119030F2EF /* KWContainStringMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWContainStringMatcher.m; path = Classes/Matchers/KWContainStringMatcher.m; sourceTree = ""; }; - CA24AB35EC5F466683ABB99A /* KWBeBetweenMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeBetweenMatcher.m; path = Classes/Matchers/KWBeBetweenMatcher.m; sourceTree = ""; }; - CAC1ED62F49040AA9CEC4012 /* Pods-CoderwallTests.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests.xcconfig"; sourceTree = ""; }; - CC290B79DEF045F09B3478D2 /* KWStringPrefixMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWStringPrefixMatcher.h; path = Classes/Matchers/KWStringPrefixMatcher.h; sourceTree = ""; }; - CC4F659D75C149CE95C0496F /* KWStringPrefixMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWStringPrefixMatcher.m; path = Classes/Matchers/KWStringPrefixMatcher.m; sourceTree = ""; }; - CD663848E25D4C84BA298E51 /* libPods-Integration Tests-KIF.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Integration Tests-KIF.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - CDACCC1765FC4270B72D1A51 /* SBJson4Writer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4Writer.h; path = src/main/objc/SBJson4Writer.h; sourceTree = ""; }; - CFCEF6015B1E478C84704278 /* Pods-CoderwallTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-CoderwallTests-resources.sh"; sourceTree = ""; }; - D1CF9C4063E146CCA73E5CAC /* KWMessagePattern.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMessagePattern.h; path = NonARC/KWMessagePattern.h; sourceTree = ""; }; - D2F6DD8BE96040F7BF06A8E2 /* Pods-DejalActivityView.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DejalActivityView.xcconfig"; sourceTree = ""; }; - D3550548D85C4B5291A750C8 /* KWBeMemberOfClassMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeMemberOfClassMatcher.m; path = Classes/Matchers/KWBeMemberOfClassMatcher.m; sourceTree = ""; }; - D49763BBC2BF4141A5B56243 /* KIFTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KIFTestCase.h; path = Classes/KIFTestCase.h; sourceTree = ""; }; - D4AF486F88DD43EA8D119C7D /* KIFSystemTestActor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KIFSystemTestActor.h; path = Classes/KIFSystemTestActor.h; sourceTree = ""; }; - D5BFE5EEE1F443C891443223 /* KWStringContainsMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWStringContainsMatcher.m; path = Classes/Matchers/KWStringContainsMatcher.m; sourceTree = ""; }; - D5D71F5975804643B8E147B8 /* KWFutureObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWFutureObject.m; path = Classes/Core/KWFutureObject.m; sourceTree = ""; }; - D624A1CAB58640ECAEDE6EAA /* KWMatchers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWMatchers.m; path = Classes/Core/KWMatchers.m; sourceTree = ""; }; - D6A1A4941D14401DA957D2B3 /* KWMock.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWMock.m; path = Classes/Mocking/KWMock.m; sourceTree = ""; }; - D6D025F093A442AC862B7CEA /* KWObjCUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWObjCUtilities.h; path = Classes/Core/KWObjCUtilities.h; sourceTree = ""; }; - D7675467F1A143AFB486FA96 /* KWPendingNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWPendingNode.h; path = Classes/Nodes/KWPendingNode.h; sourceTree = ""; }; - D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - D800DCE31A0B4541B146E9FC /* KWEqualMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWEqualMatcher.m; path = Classes/Matchers/KWEqualMatcher.m; sourceTree = ""; }; - D80CA8FB209B4E4B9F8C60E8 /* KWBeZeroMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeZeroMatcher.m; path = Classes/Matchers/KWBeZeroMatcher.m; sourceTree = ""; }; - D8C5CC64AA5747158D4A738B /* KWBeTrueMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBeTrueMatcher.m; path = Classes/Matchers/KWBeTrueMatcher.m; sourceTree = ""; }; - D8C5FD6C8AC543C3AC797A14 /* Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m"; sourceTree = ""; }; - D8E9151209B64BC7BE4A186E /* KWStringContainsMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWStringContainsMatcher.h; path = Classes/Matchers/KWStringContainsMatcher.h; sourceTree = ""; }; - D8F4245C04134B15A6B7003B /* KWExistVerifier.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExistVerifier.h; path = Classes/Verifiers/KWExistVerifier.h; sourceTree = ""; }; - D9CFDFCABB5140DC89FB246B /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; - DA36856D715549C38D88CE85 /* SBJson4StreamTokeniser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson4StreamTokeniser.m; path = src/main/objc/SBJson4StreamTokeniser.m; sourceTree = ""; }; - DA5562A2263947C0BB6F9AF2 /* KWAfterAllNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWAfterAllNode.h; path = Classes/Nodes/KWAfterAllNode.h; sourceTree = ""; }; - DA808CD838C741F29F4FF2E5 /* KWEqualMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWEqualMatcher.h; path = Classes/Matchers/KWEqualMatcher.h; sourceTree = ""; }; - DB66E547CF384497B24F06CB /* KWGenericMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWGenericMatcher.h; path = Classes/Matchers/KWGenericMatcher.h; sourceTree = ""; }; - DBBA1379970D4A42B2298854 /* KWExampleSuiteBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWExampleSuiteBuilder.h; path = Classes/Core/KWExampleSuiteBuilder.h; sourceTree = ""; }; - DC3E4EC4A47E4548A1608507 /* KWMessageTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWMessageTracker.m; path = Classes/Core/KWMessageTracker.m; sourceTree = ""; }; - DD5D257FD6F845048A1A2842 /* KWMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWMatcher.h; path = Classes/Core/KWMatcher.h; sourceTree = ""; }; - DD78E167A9F543518D979C7C /* Pods-CoderwallTests-Kiwi-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-CoderwallTests-Kiwi-prefix.pch"; sourceTree = ""; }; - DED629F5B61648CAB919E517 /* Pods-Integration Tests-KIF-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Integration Tests-KIF-prefix.pch"; sourceTree = ""; }; - E0775BECD9C444A8BBEFB0B1 /* KWChangeMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWChangeMatcher.m; path = Classes/Matchers/KWChangeMatcher.m; sourceTree = ""; }; - E12231B5A09A47D5931C9808 /* NSProxy+KiwiVerifierAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSProxy+KiwiVerifierAdditions.m"; path = "Classes/Core/NSProxy+KiwiVerifierAdditions.m"; sourceTree = ""; }; - E1A8A09FDC144767AF3D5281 /* KWConformToProtocolMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWConformToProtocolMatcher.m; path = Classes/Matchers/KWConformToProtocolMatcher.m; sourceTree = ""; }; - E277A5A79F144372A87315AB /* KWBlockRaiseMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBlockRaiseMatcher.m; path = Classes/Matchers/KWBlockRaiseMatcher.m; sourceTree = ""; }; - E2B65D782C1C4E748277287F /* Pods-Integration Tests-SBJson-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Integration Tests-SBJson-prefix.pch"; sourceTree = ""; }; - E7970CB71D0F4847AC858D79 /* blueArrow.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = blueArrow.png; path = EGOTableViewPullRefresh/Resources/blueArrow.png; sourceTree = ""; }; - E853D267F7854F54AACC3526 /* KWBlockNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWBlockNode.m; path = Classes/Nodes/KWBlockNode.m; sourceTree = ""; }; - E8D3AB7E349340D1BCA46732 /* NSBundle-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSBundle-KIFAdditions.m"; path = "Additions/NSBundle-KIFAdditions.m"; sourceTree = ""; }; - E9063162C2804CCE9A71C5CD /* Pods-SBJson-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SBJson-Private.xcconfig"; sourceTree = ""; }; - EA14F3E9086E46F8A1A67F54 /* KWHaveValueMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWHaveValueMatcher.m; path = Classes/Matchers/KWHaveValueMatcher.m; sourceTree = ""; }; - EB7A30283D594B22A2B8818B /* KWReceiveMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWReceiveMatcher.h; path = Classes/Matchers/KWReceiveMatcher.h; sourceTree = ""; }; - ED4FF5B5B85A4D958D337C72 /* NSInvocation+KiwiAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+KiwiAdditions.h"; path = "Classes/Core/NSInvocation+KiwiAdditions.h"; sourceTree = ""; }; - EDE71FE2B75B489888456C63 /* KWItNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWItNode.h; path = Classes/Nodes/KWItNode.h; sourceTree = ""; }; - EE84DEB82AA94E6A9EA4E98D /* KWGenericMatchingAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWGenericMatchingAdditions.m; path = Classes/Matchers/KWGenericMatchingAdditions.m; sourceTree = ""; }; - EEFF293F56F446F489569CC2 /* Pods-EGOTableViewPullRefresh.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EGOTableViewPullRefresh.xcconfig"; sourceTree = ""; }; - F1DB00B6DEEE46318214A2A9 /* SBJson4StreamWriter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SBJson4StreamWriter.m; path = src/main/objc/SBJson4StreamWriter.m; sourceTree = ""; }; - F26DFAC51416441888E0E77B /* Pods-CoderwallTests-Kiwi-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-CoderwallTests-Kiwi-dummy.m"; sourceTree = ""; }; - F2D320B0D6ED4530AC286E1F /* KWFailure.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWFailure.h; path = Classes/Core/KWFailure.h; sourceTree = ""; }; - F74F87FC3436445FB9BA2543 /* Pods.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pods.xcconfig; sourceTree = ""; }; - F7DA9FEF5E47452FA2E0BAB6 /* grayArrow@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "grayArrow@2x.png"; path = "EGOTableViewPullRefresh/Resources/grayArrow@2x.png"; sourceTree = ""; }; - F922FD5CB2204862902D5FC9 /* KWRegisterMatchersNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWRegisterMatchersNode.h; path = Classes/Nodes/KWRegisterMatchersNode.h; sourceTree = ""; }; - FA787E931EFF4172BF87554E /* Pods-CoderwallTests-SBJson-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-CoderwallTests-SBJson-Private.xcconfig"; sourceTree = ""; }; - FB1D6CACC1BE49779795C853 /* SBJson4StreamWriter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SBJson4StreamWriter.h; path = src/main/objc/SBJson4StreamWriter.h; sourceTree = ""; }; - FB656ECC09854E6E92DBD1C0 /* KIFTestStepValidation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KIFTestStepValidation.m; path = Classes/KIFTestStepValidation.m; sourceTree = ""; }; - FC613F54CADB48BCA16AD943 /* KWBeforeEachNode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KWBeforeEachNode.h; path = Classes/Nodes/KWBeforeEachNode.h; sourceTree = ""; }; - FC681FA41F92469FBC85F6F4 /* Pods-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-dummy.m"; sourceTree = ""; }; - FCFCEE90186F45E581075B49 /* UIAccessibilityElement-KIFAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIAccessibilityElement-KIFAdditions.m"; path = "Additions/UIAccessibilityElement-KIFAdditions.m"; sourceTree = ""; }; - FD43BABB2FB94F2A9D93FBF4 /* Pods-Integration Tests-SBJson-Private.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Integration Tests-SBJson-Private.xcconfig"; sourceTree = ""; }; - FE69EF01645F4AD4AED1D926 /* KWItNode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWItNode.m; path = Classes/Nodes/KWItNode.m; sourceTree = ""; }; - FE9C6D7EA7464D6F80D19084 /* Pods-Integration Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Integration Tests-dummy.m"; sourceTree = ""; }; - FEB7DD0BBC7D415ABE87C2D7 /* KWObjCUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = KWObjCUtilities.m; path = Classes/Core/KWObjCUtilities.m; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 27FC9AE8735A48C18DD9D966 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BA17C2403EB3400BBF2BC294 /* Foundation.framework in Frameworks */, - 5704FDE6A3364220B7F2885C /* QuartzCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2DAE3402359C4128874F391C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2D60ED95EAE94E64A56CC7C0 /* Foundation.framework in Frameworks */, - 88166094FB8A46179A59B86B /* QuartzCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 41D49CB534DE4D668A7F7CA3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FEBB108E3AD8493597CDA9A5 /* Foundation.framework in Frameworks */, - 30C87C0E63BB4E3D9D32C205 /* libPods-DejalActivityView.a in Frameworks */, - D3B49A66B9B04D898AD7479C /* libPods-EGOTableViewPullRefresh.a in Frameworks */, - 149683CF90D34EA6905BCFD0 /* libPods-SBJson.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 45E7103D72694C6B99362547 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 40C2B647D06645FC9C80345F /* CoreGraphics.framework in Frameworks */, - DEC33B17F8CE43DDA9F8EBF4 /* Foundation.framework in Frameworks */, - 1584CF10A0D64CEFAC36C3D9 /* SenTestingKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4E05520504384C769BDBFF0A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 045A5AFA894B4EBD99940FD5 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 528586A8577847E487170D4D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 5DF1675FFD9543D892C20648 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 52962CBFBF134D2EAF67178F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - C2678F244E9E4160B6C58906 /* Foundation.framework in Frameworks */, - EB698CB558014545AE454D20 /* libPods-CoderwallTests-DejalActivityView.a in Frameworks */, - A153DD877B1D47449F96E3E2 /* libPods-CoderwallTests-EGOTableViewPullRefresh.a in Frameworks */, - 560339782C87440C8DC8DB3F /* libPods-CoderwallTests-Kiwi.a in Frameworks */, - C97C3F015A5E43CCAFBCC696 /* libPods-CoderwallTests-SBJson.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9D5AFE1F987E464F9BBC613F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D579161E02AC4ED5B45FC479 /* Foundation.framework in Frameworks */, - 91710A80D2004BED91D0ADA1 /* libPods-Integration Tests-DejalActivityView.a in Frameworks */, - 4E0516C24B734D8C83F42160 /* libPods-Integration Tests-EGOTableViewPullRefresh.a in Frameworks */, - 51ACEF9618E84D02A64CDB7A /* libPods-Integration Tests-KIF.a in Frameworks */, - 17CF973F6A3D435A9B05A561 /* libPods-Integration Tests-SBJson.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B6C92CDE6E7D46F89D946C03 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 83D30E8EBE6E452798B771DB /* Foundation.framework in Frameworks */, - 3ACF5F80E4954C0EA2F91930 /* UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E2AA70453CFE4CE49BE6EA2C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D79E8A8AEF1E417E9095FA4C /* Foundation.framework in Frameworks */, - 88699E17F7594E22B29875E6 /* SenTestingKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E70A547EB1B94153ABCB24AB /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 5E80BE964CD3418AB182F242 /* Foundation.framework in Frameworks */, - F9EA9DC6CEBB41689F95F8C2 /* UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E902D833B999440FA39AC401 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3544429C07024231A9FA6BD5 /* Foundation.framework in Frameworks */, - 52DE2086961C488695606F55 /* UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EE2B684AC68B4C38A0A3D123 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 37EC46907046435CA670FE4A /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F2C91B9293494C8E98BEEC44 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 59B0FFE0B47A484E851844A8 /* Foundation.framework in Frameworks */, - 45435A31609A40AC827300D6 /* QuartzCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0804DCFEB8614BF9AFC722A3 /* Support Files */ = { - isa = PBXGroup; - children = ( - 1625077DC7624F7A81C9D67F /* Pods-CoderwallTests-DejalActivityView.xcconfig */, - 72B6F09158C9469785815067 /* Pods-CoderwallTests-DejalActivityView-Private.xcconfig */, - 0459CA550AEE476080377798 /* Pods-CoderwallTests-DejalActivityView-dummy.m */, - 107887656E8446B79ABE77A2 /* Pods-CoderwallTests-DejalActivityView-prefix.pch */, - D2F6DD8BE96040F7BF06A8E2 /* Pods-DejalActivityView.xcconfig */, - 27B52C79712A494C9D11D20B /* Pods-DejalActivityView-Private.xcconfig */, - 134E464FF03343DE9AB90EB6 /* Pods-DejalActivityView-dummy.m */, - 3E3905E6CF8446F9BCD0021D /* Pods-DejalActivityView-prefix.pch */, - 87F9C958DF0546F7AF5E56F1 /* Pods-Integration Tests-DejalActivityView.xcconfig */, - 1DA65A08CCAD4903B1796549 /* Pods-Integration Tests-DejalActivityView-Private.xcconfig */, - B2C0999815344E7481C2852A /* Pods-Integration Tests-DejalActivityView-dummy.m */, - 5421AE83B9F1489D8123046B /* Pods-Integration Tests-DejalActivityView-prefix.pch */, - ); - name = "Support Files"; - sourceTree = SOURCE_ROOT; - }; - 08B7FA894AF94DF9B1D8E61F /* NonARC */ = { - isa = PBXGroup; - children = ( - 53DEC029DCC74A6A8C1CA00C /* KWIntercept.h */, - 5CC6ECFB60B44FD7B3B2CFEE /* KWIntercept.m */, - D1CF9C4063E146CCA73E5CAC /* KWMessagePattern.h */, - 6CAFCE8420104A5E9A80D547 /* KWMessagePattern.m */, - 5591BBFECFBA45AAA0E80970 /* KWStub.h */, - 60435698E6F4415597D03E8E /* KWStub.m */, - 9D15DFC25D8446A1A8353B0C /* KWSymbolicator.h */, - 74C1C574AE8D4EDB9E752C5C /* KWSymbolicator.m */, - ); - name = NonARC; - sourceTree = ""; - }; - 15D6A5928A4A4099B092B32D /* Support Files */ = { - isa = PBXGroup; - children = ( - 2697406EEC5B47D28666DC6A /* Pods-CoderwallTests-EGOTableViewPullRefresh.xcconfig */, - 2CBEF9DA7001499D8E153950 /* Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig */, - D8C5FD6C8AC543C3AC797A14 /* Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m */, - 677A00A9D6D148D184141A09 /* Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch */, - EEFF293F56F446F489569CC2 /* Pods-EGOTableViewPullRefresh.xcconfig */, - AEE2DEC6DF4B4EB9A120DAF3 /* Pods-EGOTableViewPullRefresh-Private.xcconfig */, - C45C9BC2009A474DBE86567B /* Pods-EGOTableViewPullRefresh-dummy.m */, - BB3729D359FD4B6480E552C9 /* Pods-EGOTableViewPullRefresh-prefix.pch */, - B27FA756B0E844438BE10DB3 /* Pods-Integration Tests-EGOTableViewPullRefresh.xcconfig */, - AD3159C4BE884EB7836207B5 /* Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig */, - 687C6F14E3224CF29F3B79C8 /* Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m */, - BC2866E6C7A340898D373199 /* Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch */, - ); - name = "Support Files"; - sourceTree = SOURCE_ROOT; - }; - 18C606C745F64D0A9C621703 /* EGOTableViewPullRefresh */ = { - isa = PBXGroup; - children = ( - A5CC7198F7E64360BDAEC4A0 /* EGORefreshTableHeaderView.h */, - 0D1AA8A443F34E558967066B /* EGORefreshTableHeaderView.m */, - E17A6FC719284472ACD394B0 /* Resources */, - 15D6A5928A4A4099B092B32D /* Support Files */, - ); - path = EGOTableViewPullRefresh; - sourceTree = ""; - }; - 1BEBD18D94FD4E489645C754 /* Pods */ = { - isa = PBXGroup; - children = ( - 8C1879DA548D4B2786F53201 /* DejalActivityView */, - 18C606C745F64D0A9C621703 /* EGOTableViewPullRefresh */, - 9A17F69342684ABFA672247D /* KIF */, - 7671A04437754E0DBFCCAE33 /* Kiwi */, - 41EE39F04C074C88AD47FE05 /* SBJson */, - ); - name = Pods; - sourceTree = ""; - }; - 33B249AE01724ABF83FE42DF = { - isa = PBXGroup; - children = ( - 22D586E3967343259A98E0CE /* Podfile */, - 539871821F6E4E96A8EFEDD9 /* Frameworks */, - 1BEBD18D94FD4E489645C754 /* Pods */, - 8E40D9186E3D4DA9B3F4684C /* Products */, - 8E44196DFCCE431E868C0822 /* Targets Support Files */, - ); - sourceTree = ""; - }; - 340136DAD1DE4A2DA78AD394 /* iOS */ = { - isa = PBXGroup; - children = ( - 3F1E9F82515D4EBF849FB942 /* CoreGraphics.framework */, - D7B0500CD2C24BD6ACC2FF4F /* Foundation.framework */, - 0D5111DD932648CAB6D4BBD5 /* QuartzCore.framework */, - 2FD77985E97E4981801C94B6 /* SenTestingKit.framework */, - 4BF038A2C4FE4E8CBA7D5804 /* UIKit.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 360B586EFCCD4A339B6E74DA /* Pods-Integration Tests */ = { - isa = PBXGroup; - children = ( - 5941A06B65D940CE96AC8B24 /* Pods-Integration Tests.xcconfig */, - BD6DBC5E5FD44DF0A57C2B31 /* Pods-Integration Tests-acknowledgements.markdown */, - 609CE693AACF40FC8D3C145E /* Pods-Integration Tests-acknowledgements.plist */, - FE9C6D7EA7464D6F80D19084 /* Pods-Integration Tests-dummy.m */, - 162E1E952686452AA205161C /* Pods-Integration Tests-environment.h */, - 7D54BF5ED67A4505BCE9C452 /* Pods-Integration Tests-resources.sh */, - ); - name = "Pods-Integration Tests"; - sourceTree = ""; - }; - 41EE39F04C074C88AD47FE05 /* SBJson */ = { - isa = PBXGroup; - children = ( - 2A17E4F52A494B84A8991560 /* SBJson4.h */, - AB36E9F4B497455C90B8B30D /* SBJson4Parser.h */, - C90AF1B3F3264B459ABF17A5 /* SBJson4Parser.m */, - 5506BAB36964473E8B9F4474 /* SBJson4StreamParser.h */, - C6B801827AC141AD97E712A4 /* SBJson4StreamParser.m */, - 5AC2C477651844438A4796F0 /* SBJson4StreamParserState.h */, - A71F1AF363664CEB945BA998 /* SBJson4StreamParserState.m */, - 85997DBB40B44570B95F66C1 /* SBJson4StreamTokeniser.h */, - DA36856D715549C38D88CE85 /* SBJson4StreamTokeniser.m */, - FB1D6CACC1BE49779795C853 /* SBJson4StreamWriter.h */, - F1DB00B6DEEE46318214A2A9 /* SBJson4StreamWriter.m */, - 59F7E9B58A924784A69347AE /* SBJson4StreamWriterState.h */, - 495C9264974F4F5F8AE6A9EC /* SBJson4StreamWriterState.m */, - CDACCC1765FC4270B72D1A51 /* SBJson4Writer.h */, - 5CB8188DD5A7438A804899F1 /* SBJson4Writer.m */, - 6E1BB9B2640147A189CC1BFC /* Support Files */, - ); - path = SBJson; - sourceTree = ""; - }; - 45431A726D374BDFA8074527 /* Pods-CoderwallTests */ = { - isa = PBXGroup; - children = ( - CAC1ED62F49040AA9CEC4012 /* Pods-CoderwallTests.xcconfig */, - 6A72FBBF5A3F45FC95F58CF0 /* Pods-CoderwallTests-acknowledgements.markdown */, - 72331ABF178E4C269359E20F /* Pods-CoderwallTests-acknowledgements.plist */, - 8A54D3C469A346E2837EBEA4 /* Pods-CoderwallTests-dummy.m */, - C49B039040B34C8592AF0929 /* Pods-CoderwallTests-environment.h */, - CFCEF6015B1E478C84704278 /* Pods-CoderwallTests-resources.sh */, - ); - name = "Pods-CoderwallTests"; - sourceTree = ""; - }; - 4B13CC71CBDE437F962BBF8A /* Support Files */ = { - isa = PBXGroup; - children = ( - 13CE47DBA8D74BAD806AA50E /* Pods-Integration Tests-KIF.xcconfig */, - 43AA731ABBBD4FDFA6DFDCDE /* Pods-Integration Tests-KIF-Private.xcconfig */, - 7A2D2B6B74E441ABAA129986 /* Pods-Integration Tests-KIF-dummy.m */, - DED629F5B61648CAB919E517 /* Pods-Integration Tests-KIF-prefix.pch */, - ); - name = "Support Files"; - sourceTree = SOURCE_ROOT; - }; - 539871821F6E4E96A8EFEDD9 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 340136DAD1DE4A2DA78AD394 /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - 6E1BB9B2640147A189CC1BFC /* Support Files */ = { - isa = PBXGroup; - children = ( - 1E7EEFE0B1044C3AB4AE8F27 /* Pods-CoderwallTests-SBJson.xcconfig */, - FA787E931EFF4172BF87554E /* Pods-CoderwallTests-SBJson-Private.xcconfig */, - 7EA917B0C5CF4AB18FD5533F /* Pods-CoderwallTests-SBJson-dummy.m */, - 7500732C2EB647C282D9B1D8 /* Pods-CoderwallTests-SBJson-prefix.pch */, - 846F6B86027B4998ACB323F1 /* Pods-Integration Tests-SBJson.xcconfig */, - FD43BABB2FB94F2A9D93FBF4 /* Pods-Integration Tests-SBJson-Private.xcconfig */, - B6BD741FE643499A97170BB0 /* Pods-Integration Tests-SBJson-dummy.m */, - E2B65D782C1C4E748277287F /* Pods-Integration Tests-SBJson-prefix.pch */, - 40EF75756D9B42F8B547C039 /* Pods-SBJson.xcconfig */, - E9063162C2804CCE9A71C5CD /* Pods-SBJson-Private.xcconfig */, - 22D0903D81F046048CC1BFF9 /* Pods-SBJson-dummy.m */, - B0E50458FC9941C68F40D8F0 /* Pods-SBJson-prefix.pch */, - ); - name = "Support Files"; - sourceTree = SOURCE_ROOT; - }; - 7671A04437754E0DBFCCAE33 /* Kiwi */ = { - isa = PBXGroup; - children = ( - B68C0C0892F542D59D070EA5 /* ARC */, - 08B7FA894AF94DF9B1D8E61F /* NonARC */, - AE4D2D5B840C43D09EE07F67 /* SenTestingKit */, - CA8E7AEB9ED9466CA201E4F6 /* Support Files */, - ); - path = Kiwi; - sourceTree = ""; - }; - 8C1879DA548D4B2786F53201 /* DejalActivityView */ = { - isa = PBXGroup; - children = ( - 504908A5CA9A4D8D81B4D8F8 /* DejalActivityView.h */, - 91A9EDA86F464E15B81DCA1F /* DejalActivityView.m */, - 0804DCFEB8614BF9AFC722A3 /* Support Files */, - ); - path = DejalActivityView; - sourceTree = ""; - }; - 8E40D9186E3D4DA9B3F4684C /* Products */ = { - isa = PBXGroup; - children = ( - D9CFDFCABB5140DC89FB246B /* libPods.a */, - C862D092CFF04D42A647CC84 /* libPods-CoderwallTests.a */, - 8EC64E16E9124D4588C8D107 /* libPods-CoderwallTests-DejalActivityView.a */, - 1F0DC82FF1134CC3B5DC9634 /* libPods-CoderwallTests-EGOTableViewPullRefresh.a */, - C532444277A14914AD0CA4D2 /* libPods-CoderwallTests-Kiwi.a */, - 411CD0F5E40F4C4DB43C4569 /* libPods-CoderwallTests-SBJson.a */, - 7C84E6BB131E474E8D040828 /* libPods-DejalActivityView.a */, - 258F55888F4E4599BF7A2E1E /* libPods-EGOTableViewPullRefresh.a */, - 00CFCAC93E824C9C91AAB89A /* libPods-Integration Tests.a */, - 444327FDE5524220A58DB6BE /* libPods-Integration Tests-DejalActivityView.a */, - 9A0D2B9284744D01B1EC6B49 /* libPods-Integration Tests-EGOTableViewPullRefresh.a */, - CD663848E25D4C84BA298E51 /* libPods-Integration Tests-KIF.a */, - 756B96ACAE2B427C80E03C2D /* libPods-Integration Tests-SBJson.a */, - 989D7B752B954662B3390A65 /* libPods-SBJson.a */, - ); - name = Products; - sourceTree = ""; - }; - 8E44196DFCCE431E868C0822 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - E9C9F7AF9C90463F88650CAE /* Pods */, - 45431A726D374BDFA8074527 /* Pods-CoderwallTests */, - 360B586EFCCD4A339B6E74DA /* Pods-Integration Tests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - 9A17F69342684ABFA672247D /* KIF */ = { - isa = PBXGroup; - children = ( - 609AD201258C403EBCA94716 /* CGGeometry-KIFAdditions.h */, - 1FD97785EAF241BF9B379F69 /* CGGeometry-KIFAdditions.m */, - 61F20BB1A3DC483AA58170D8 /* KIF.h */, - D4AF486F88DD43EA8D119C7D /* KIFSystemTestActor.h */, - 62F791A0D6814EC78E516737 /* KIFSystemTestActor.m */, - BD112DB9B8B5461DA647D969 /* KIFTestActor.h */, - 8DFD097F19B54A53B18E54C3 /* KIFTestActor.m */, - D49763BBC2BF4141A5B56243 /* KIFTestCase.h */, - A68A8E1BEA2C4D62A101F6B1 /* KIFTestCase.m */, - 70A8416A10924DBDB16FCFAF /* KIFTestStepValidation.h */, - FB656ECC09854E6E92DBD1C0 /* KIFTestStepValidation.m */, - 6844DC0B9E3548A4B75191CD /* KIFTypist.h */, - B95B351C835D4F16AD899A7C /* KIFTypist.m */, - 3AE5E4F1632346E1AA0895D7 /* KIFUITestActor.h */, - 7FBA6D19AC514DB48181C131 /* KIFUITestActor.m */, - ACBD59B8972A4DF0ACDCD35B /* LoadableCategory.h */, - 0D918EE6BBC74C22ADEA2549 /* NSBundle-KIFAdditions.h */, - E8D3AB7E349340D1BCA46732 /* NSBundle-KIFAdditions.m */, - A06259CFE3BD4B73A6F45836 /* NSError-KIFAdditions.h */, - 66F63E3046CE46299EB17654 /* NSError-KIFAdditions.m */, - 9074C24D4ACE44DE8B1BC05A /* NSFileManager-KIFAdditions.h */, - C4CB85868F8C4798BC085864 /* NSFileManager-KIFAdditions.m */, - B2D3565B36C141E08416F636 /* SenTestCase-KIFAdditions.h */, - B653BE7015B043EB801477FD /* SenTestCase-KIFAdditions.m */, - C36C37995AAD4B629E834164 /* UIAccessibilityElement-KIFAdditions.h */, - FCFCEE90186F45E581075B49 /* UIAccessibilityElement-KIFAdditions.m */, - 77C245018E7E424796430E7B /* UIApplication-KIFAdditions.h */, - 519F69D30E544503B3AF34C4 /* UIApplication-KIFAdditions.m */, - 4CFB80DD6E854D378C5B4CA3 /* UIScrollView-KIFAdditions.h */, - A962282B54CE482888B045A6 /* UIScrollView-KIFAdditions.m */, - 715C760EEFD047F48AE92CE0 /* UITouch-KIFAdditions.h */, - 2E771285B4D445F6A05DC4A7 /* UITouch-KIFAdditions.m */, - 3826D80D120E4CF5AD5BAD39 /* UIView-KIFAdditions.h */, - A73591B17D3E47D3B6E9AC74 /* UIView-KIFAdditions.m */, - 453516D391FA4CA397D3F1F8 /* UIWindow-KIFAdditions.h */, - 5E5EEAACE534481ABF37A8AF /* UIWindow-KIFAdditions.m */, - 4B13CC71CBDE437F962BBF8A /* Support Files */, - ); - path = KIF; - sourceTree = ""; - }; - AE4D2D5B840C43D09EE07F67 /* SenTestingKit */ = { - isa = PBXGroup; - children = ( - 1BA3ABACE8C3413FB069AA20 /* SenTestSuite+KiwiAdditions.h */, - 4C781914DB6840DF92A2FE57 /* SenTestSuite+KiwiAdditions.m */, - ); - name = SenTestingKit; - sourceTree = ""; - }; - B68C0C0892F542D59D070EA5 /* ARC */ = { - isa = PBXGroup; - children = ( - DA5562A2263947C0BB6F9AF2 /* KWAfterAllNode.h */, - BBCAF31970D743FDADEBAC84 /* KWAfterAllNode.m */, - 7AA5EBB9CE334EEDA4043726 /* KWAfterEachNode.h */, - 61071C2B816943BFA1600293 /* KWAfterEachNode.m */, - 8BDC5BC05EB54C0A8F33CE1C /* KWAny.h */, - 9BE600863A184BB88F9E695D /* KWAny.m */, - 440FDBAA28FA40F68272869C /* KWAsyncVerifier.h */, - 166D666A0D4344F99CB6DDA7 /* KWAsyncVerifier.m */, - 418DA2E1F71E428E801FAABE /* KWBeBetweenMatcher.h */, - CA24AB35EC5F466683ABB99A /* KWBeBetweenMatcher.m */, - 57FABE8B1AF4411D9BC7DC94 /* KWBeEmptyMatcher.h */, - 64B5CCBAD61F49C790C4EA76 /* KWBeEmptyMatcher.m */, - 8317B5213D674926AB145FEB /* KWBeIdenticalToMatcher.h */, - 574EA2168C4B40199E76C4A4 /* KWBeIdenticalToMatcher.m */, - 59EE11DB9B974251842EE049 /* KWBeKindOfClassMatcher.h */, - 1B57E82117244E14A270EC8D /* KWBeKindOfClassMatcher.m */, - 454C62DCE2424DDA89723CA8 /* KWBeMemberOfClassMatcher.h */, - D3550548D85C4B5291A750C8 /* KWBeMemberOfClassMatcher.m */, - 0B77E11396294589AB742586 /* KWBeSubclassOfClassMatcher.h */, - 420AC90D743248FA9078C298 /* KWBeSubclassOfClassMatcher.m */, - C6D8F16168F543E7A31B80C6 /* KWBeTrueMatcher.h */, - D8C5CC64AA5747158D4A738B /* KWBeTrueMatcher.m */, - 5D50388EC8654BBEABFCABE6 /* KWBeWithinMatcher.h */, - 72425E82A42D447A986D1C9C /* KWBeWithinMatcher.m */, - 7C9D4C048C134028B0166CCF /* KWBeZeroMatcher.h */, - D80CA8FB209B4E4B9F8C60E8 /* KWBeZeroMatcher.m */, - 0C58F85F06D844E6A5ED7188 /* KWBeforeAllNode.h */, - 36110EF7406340C588FE55E9 /* KWBeforeAllNode.m */, - FC613F54CADB48BCA16AD943 /* KWBeforeEachNode.h */, - B70E8DA793774280B6028A30 /* KWBeforeEachNode.m */, - 16127D529E9E45D1B86C3579 /* KWBlock.h */, - 2D4179E9E04B4FE4AF93E67E /* KWBlock.m */, - 58F6EEBF929249809BD7BC3F /* KWBlockNode.h */, - E853D267F7854F54AACC3526 /* KWBlockNode.m */, - 972CAFA9E7C04F7C942DE53D /* KWBlockRaiseMatcher.h */, - E277A5A79F144372A87315AB /* KWBlockRaiseMatcher.m */, - 3C22D575BE134AEC8E8E3F72 /* KWCallSite.h */, - 98046D9F4D104B1691C32921 /* KWCallSite.m */, - 2849577CBAA14720B3D81315 /* KWCaptureSpy.h */, - 0443954508434C1398B3705F /* KWCaptureSpy.m */, - 1941000A40394269ADC5754B /* KWChangeMatcher.h */, - E0775BECD9C444A8BBEFB0B1 /* KWChangeMatcher.m */, - 69F3532B5C6643E794C6251D /* KWConformToProtocolMatcher.h */, - E1A8A09FDC144767AF3D5281 /* KWConformToProtocolMatcher.m */, - 1BA2D932508B4543A82BD312 /* KWContainMatcher.h */, - 78FC2EB07583411C9A646F43 /* KWContainMatcher.m */, - 7F424E6637484386810C0EF5 /* KWContainStringMatcher.h */, - C9B6B3F6810F42119030F2EF /* KWContainStringMatcher.m */, - A8217E312B934572AB9DFA06 /* KWContextNode.h */, - 7084CB0A467E4601A9477027 /* KWContextNode.m */, - 408281467E124C6985F83CFD /* KWCountType.h */, - 9E931A754C1B4A60B8C21296 /* KWDeviceInfo.h */, - 79494A524FF044CF951B2CF7 /* KWDeviceInfo.m */, - DA808CD838C741F29F4FF2E5 /* KWEqualMatcher.h */, - D800DCE31A0B4541B146E9FC /* KWEqualMatcher.m */, - B3DC7C85358A491CA3641B54 /* KWExample.h */, - 5D48A8E7D2E6417D9592C3BB /* KWExample.m */, - 624D8C21F690498DABB15200 /* KWExampleDelegate.h */, - 47E1F8B2B1BF4750940F1A5E /* KWExampleNode.h */, - 9E5140134B4744638B05D159 /* KWExampleNodeVisitor.h */, - 75C8D9036B48423FA801C5E4 /* KWExampleSuite.h */, - 8BC59A6B1EFB451FAECB062C /* KWExampleSuite.m */, - DBBA1379970D4A42B2298854 /* KWExampleSuiteBuilder.h */, - 0914AD7335CC495EBF6DDF1A /* KWExampleSuiteBuilder.m */, - D8F4245C04134B15A6B7003B /* KWExistVerifier.h */, - 48B6B45EF59649CDA0F621F2 /* KWExistVerifier.m */, - 9D87B12BEED24A4D86ED025C /* KWExpectationType.h */, - F2D320B0D6ED4530AC286E1F /* KWFailure.h */, - 29DC101E8895492C9AA78940 /* KWFailure.m */, - B43F22629CB64B6886D1BA92 /* KWFormatter.h */, - 9D548B7F4CD94172BBD63789 /* KWFormatter.m */, - C2F50F1FA40B4B4BACB70491 /* KWFutureObject.h */, - D5D71F5975804643B8E147B8 /* KWFutureObject.m */, - 7092C238A5284F5FAB8022F7 /* KWGenericMatchEvaluator.h */, - 2036288FE4BB4728839698ED /* KWGenericMatchEvaluator.m */, - DB66E547CF384497B24F06CB /* KWGenericMatcher.h */, - 4784BEDF088C4533A0A85AF4 /* KWGenericMatcher.m */, - 9657A5FD62D74CCF9586C10F /* KWGenericMatchingAdditions.h */, - EE84DEB82AA94E6A9EA4E98D /* KWGenericMatchingAdditions.m */, - 166CA18B3C844C1F9BE1BCE2 /* KWHaveMatcher.h */, - A9B2F5D5E7B94166AF1270A2 /* KWHaveMatcher.m */, - 599C7643ACE948569090F92B /* KWHaveValueMatcher.h */, - EA14F3E9086E46F8A1A67F54 /* KWHaveValueMatcher.m */, - 2C7627FA14854C468B9B8900 /* KWInequalityMatcher.h */, - 7193FED984BD4B7DB18D08DF /* KWInequalityMatcher.m */, - C46AA8D28D144A8BBCB768CA /* KWInvocationCapturer.h */, - C4C15D87EAFA44798901C342 /* KWInvocationCapturer.m */, - EDE71FE2B75B489888456C63 /* KWItNode.h */, - FE69EF01645F4AD4AED1D926 /* KWItNode.m */, - A9B32B116A744B3EA7A468A0 /* KWMatchVerifier.h */, - AD4DFC209AE64D4AA50EB6CE /* KWMatchVerifier.m */, - DD5D257FD6F845048A1A2842 /* KWMatcher.h */, - 569180A44CB346969E95A140 /* KWMatcher.m */, - 5C46A3E3BB8D4CD787BDC4FE /* KWMatcherFactory.h */, - 1C1E02B06BB448248F57E207 /* KWMatcherFactory.m */, - 8897D52921C34EE5BEC5B370 /* KWMatchers.h */, - D624A1CAB58640ECAEDE6EAA /* KWMatchers.m */, - 4F19AB6BE42E423183FEC650 /* KWMatching.h */, - 2AA61F31EFE144C492D5C041 /* KWMessageSpying.h */, - C0E9D52C763245789B5BBE49 /* KWMessageTracker.h */, - DC3E4EC4A47E4548A1608507 /* KWMessageTracker.m */, - B0F957B81DC346DEBC53D0BB /* KWMock.h */, - D6A1A4941D14401DA957D2B3 /* KWMock.m */, - 8AE0D762CE75471F8FB78582 /* KWNilMatcher.h */, - 0121665D1487469BA64C8940 /* KWNilMatcher.m */, - 5B5289CBBBC84D4791A65517 /* KWNull.h */, - 176CDB6CCEF74E13A176B7A5 /* KWNull.m */, - D6D025F093A442AC862B7CEA /* KWObjCUtilities.h */, - FEB7DD0BBC7D415ABE87C2D7 /* KWObjCUtilities.m */, - D7675467F1A143AFB486FA96 /* KWPendingNode.h */, - C2C6E8CFBA4543B89CDD777C /* KWPendingNode.m */, - 24BC5FAEBD4E40B88BD33A59 /* KWProbe.h */, - 2220AC2A36C449CDA1071628 /* KWProbePoller.h */, - 6C530B8019C047C690B3F946 /* KWProbePoller.m */, - 4D9B9D0D43724AB087A027D3 /* KWRaiseMatcher.h */, - 6697741CE0C3444FAB120FCA /* KWRaiseMatcher.m */, - EB7A30283D594B22A2B8818B /* KWReceiveMatcher.h */, - 6B43FA92B41948C3A0F45F5C /* KWReceiveMatcher.m */, - F922FD5CB2204862902D5FC9 /* KWRegisterMatchersNode.h */, - C203781A6B6E40139A2CA84C /* KWRegisterMatchersNode.m */, - A957C9ED21424A1B86A6AB67 /* KWRegularExpressionPatternMatcher.h */, - AE72AECF4B5E4A4FAB792DA7 /* KWRegularExpressionPatternMatcher.m */, - 1E221FFC95CC459792BCB70A /* KWReporting.h */, - 4A7AAB838EE144B0B96917CA /* KWRespondToSelectorMatcher.h */, - 533AAA49A6614A389B783C79 /* KWRespondToSelectorMatcher.m */, - 894AF56B4AF7461D9D547412 /* KWSpec.h */, - 26EE7C9D8A3E4A8381DE4A87 /* KWSpec.m */, - D8E9151209B64BC7BE4A186E /* KWStringContainsMatcher.h */, - D5BFE5EEE1F443C891443223 /* KWStringContainsMatcher.m */, - CC290B79DEF045F09B3478D2 /* KWStringPrefixMatcher.h */, - CC4F659D75C149CE95C0496F /* KWStringPrefixMatcher.m */, - AB1F523922194F4E8DF644AC /* KWStringUtilities.h */, - 0B86A08AFCC84629B8E53869 /* KWStringUtilities.m */, - AE9CDD2E4C8E4E5980792C15 /* KWUserDefinedMatcher.h */, - 7106C0BAA2044FC38556F844 /* KWUserDefinedMatcher.m */, - 8B7CD89DA6064510A37CF14B /* KWValue.h */, - 29A7E85A9F114A068855D05E /* KWValue.m */, - 33940F808ACD4E9B9813C4E7 /* KWVerifying.h */, - C2BACF6EA1B54B8FB3851D59 /* KWWorkarounds.h */, - 1CFE19E9F589486D940FF252 /* KWWorkarounds.m */, - 3D3479D7CBB3424099A70873 /* Kiwi.h */, - 35B8DB81F9AF47CA873708BE /* KiwiBlockMacros.h */, - 40D732AE888C4498A260A263 /* KiwiConfiguration.h */, - 83B95B975BAE4EAEADB8D0E7 /* KiwiMacros.h */, - ED4FF5B5B85A4D958D337C72 /* NSInvocation+KiwiAdditions.h */, - 9DCE07D1B9C44C078AEEAABE /* NSInvocation+KiwiAdditions.m */, - C264E1F6DA8B4BF7934A3288 /* NSInvocation+OCMAdditions.h */, - A1F3C21F71BF48C4BA9BF4D3 /* NSInvocation+OCMAdditions.m */, - B42308F5EB2646FEB64903E0 /* NSMethodSignature+KiwiAdditions.h */, - 7B6E508866B6405F9C8F60A8 /* NSMethodSignature+KiwiAdditions.m */, - 42CCA4728D25449395E4D0DB /* NSNumber+KiwiAdditions.h */, - 55601D4B437849DAB124E1CE /* NSNumber+KiwiAdditions.m */, - 3A666390F3E540F28DFC0FF3 /* NSObject+KiwiMockAdditions.h */, - 378769FD92DA4AB6B5EB8647 /* NSObject+KiwiMockAdditions.m */, - 3F0071D394B74AE88ADA02DD /* NSObject+KiwiSpyAdditions.h */, - 435CF21A79BE48FB9A21BB80 /* NSObject+KiwiSpyAdditions.m */, - B40BD4C4D1C443DDB9135515 /* NSObject+KiwiStubAdditions.h */, - 8D617DA0ABF64B0BB3F22B5A /* NSObject+KiwiStubAdditions.m */, - 868DE3D08ED74CC29B60F23E /* NSObject+KiwiVerifierAdditions.h */, - B0329F4B5B2C44B8B8F15B76 /* NSObject+KiwiVerifierAdditions.m */, - A224A8765AB24725A5908A97 /* NSProxy+KiwiVerifierAdditions.h */, - E12231B5A09A47D5931C9808 /* NSProxy+KiwiVerifierAdditions.m */, - 7C0D6BFD5B1D455A8FB55ED5 /* NSValue+KiwiAdditions.h */, - 4D5F0DAA3C3642B1BE0219FC /* NSValue+KiwiAdditions.m */, - ); - name = ARC; - sourceTree = ""; - }; - CA8E7AEB9ED9466CA201E4F6 /* Support Files */ = { - isa = PBXGroup; - children = ( - BFA84E2CA2834DC09FB2BC1B /* Pods-CoderwallTests-Kiwi.xcconfig */, - 778CC112D59E4DA5BF061F0E /* Pods-CoderwallTests-Kiwi-Private.xcconfig */, - F26DFAC51416441888E0E77B /* Pods-CoderwallTests-Kiwi-dummy.m */, - DD78E167A9F543518D979C7C /* Pods-CoderwallTests-Kiwi-prefix.pch */, - ); - name = "Support Files"; - sourceTree = SOURCE_ROOT; - }; - E17A6FC719284472ACD394B0 /* Resources */ = { - isa = PBXGroup; - children = ( - 5D5CC6AFBFF94B34BDCD6254 /* blackArrow.png */, - 5862979AFA3A464C8AF9E78F /* blackArrow@2x.png */, - E7970CB71D0F4847AC858D79 /* blueArrow.png */, - 16E69B4C731042DE9CF00CB0 /* blueArrow@2x.png */, - 3F5D8544C48E4C9890F3CCE1 /* grayArrow.png */, - F7DA9FEF5E47452FA2E0BAB6 /* grayArrow@2x.png */, - 6EAC456D65734A9A95ABFF39 /* whiteArrow.png */, - 28CDDEAEF8254FBA8D2E40DF /* whiteArrow@2x.png */, - ); - name = Resources; - sourceTree = ""; - }; - E9C9F7AF9C90463F88650CAE /* Pods */ = { - isa = PBXGroup; - children = ( - F74F87FC3436445FB9BA2543 /* Pods.xcconfig */, - 08D99DE9966F4982B9D1FA3D /* Pods-acknowledgements.markdown */, - BF605553F5124CD69BAA263A /* Pods-acknowledgements.plist */, - FC681FA41F92469FBC85F6F4 /* Pods-dummy.m */, - BF96081C85EE4128B9B66A27 /* Pods-environment.h */, - 3951492BD8624FEF8648A032 /* Pods-resources.sh */, - ); - name = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 0505CE70E6674EF490211627 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 70223D74DDAE4B2DB83558F0 /* SBJson4.h in Headers */, - 0806387E6D694ACFAA4D682C /* SBJson4Parser.h in Headers */, - 5FA6171089B441D495C8F132 /* SBJson4StreamParser.h in Headers */, - 0FC5F4339FF944DF97EF9FF5 /* SBJson4StreamParserState.h in Headers */, - 7425CC76B00C42DD831F2067 /* SBJson4StreamTokeniser.h in Headers */, - 79F162E4D91948CB9E39C297 /* SBJson4StreamWriter.h in Headers */, - EF61B65FFD804E508A92F4BF /* SBJson4StreamWriterState.h in Headers */, - B9D6ACACAF2A41359C3EBF6C /* SBJson4Writer.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 08FD06F9452440C3BAA3130D /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - AE3500E27E1B4B04ADBDE372 /* EGORefreshTableHeaderView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 184CDFB717D64E0FBC276B35 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 340408E0600D46BEBBFA5AC6 /* SBJson4.h in Headers */, - 2F93DD40678142189E3A4653 /* SBJson4Parser.h in Headers */, - D8EC05B6A4054BFD807005F4 /* SBJson4StreamParser.h in Headers */, - AB035F6FA7BA4AB6A52945BD /* SBJson4StreamParserState.h in Headers */, - 9A11902F742A458C8A8A95BB /* SBJson4StreamTokeniser.h in Headers */, - ABEF2C2C069541CE9AC9ED13 /* SBJson4StreamWriter.h in Headers */, - ED10964C82264E008C881C9F /* SBJson4StreamWriterState.h in Headers */, - FD17B0F21C524D1586B28C8B /* SBJson4Writer.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 18A07E5F2F56472EA9359F40 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 53EC3F0A0210476DA74DC016 /* DejalActivityView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 1D586B729E2C4B408ABCB2FF /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 93892E272BF44A209A64E547 /* KWAfterAllNode.h in Headers */, - 45D9D6F8C7BD4F459BC2DF01 /* KWAfterEachNode.h in Headers */, - E5A87897FE044035900FF91B /* KWAny.h in Headers */, - FB4DCABBFDCA4AA2872BF81F /* KWAsyncVerifier.h in Headers */, - BC0D01C3399F4C368CC18614 /* KWBeBetweenMatcher.h in Headers */, - 593F750C6C5F4941BECF0DE2 /* KWBeEmptyMatcher.h in Headers */, - F9442F84C8E64BA3BF0FA334 /* KWBeIdenticalToMatcher.h in Headers */, - 4E79EC5DDC0D470B84957766 /* KWBeKindOfClassMatcher.h in Headers */, - 895A8841E91A4B4889522B08 /* KWBeMemberOfClassMatcher.h in Headers */, - 824AC9E2A35343BA82D42F51 /* KWBeSubclassOfClassMatcher.h in Headers */, - 4EC8CF60AE134C5287D083FA /* KWBeTrueMatcher.h in Headers */, - 375A3EECA8EB4711B81B053A /* KWBeWithinMatcher.h in Headers */, - 25655448D5E84CE69645DBB4 /* KWBeZeroMatcher.h in Headers */, - 3973BCD05D31406D986681C8 /* KWBeforeAllNode.h in Headers */, - 03CD51EE0D6243C8BE5C56D5 /* KWBeforeEachNode.h in Headers */, - A03E1CC9634E46B9B5ADD7C6 /* KWBlock.h in Headers */, - 2C683C7BD3E14048B6EEFFC5 /* KWBlockNode.h in Headers */, - 3139E502ECA240109EDB58FB /* KWBlockRaiseMatcher.h in Headers */, - 891D93BAA771454BBEA1B766 /* KWCallSite.h in Headers */, - ECA0AE252C51408E8192D5C9 /* KWCaptureSpy.h in Headers */, - 52CD608D699F489CA5219450 /* KWChangeMatcher.h in Headers */, - 3FF1D4EAED8742668D2FCC47 /* KWConformToProtocolMatcher.h in Headers */, - 5C3155DD68FE417C9C835826 /* KWContainMatcher.h in Headers */, - 14FBF32CFF7E4D14A5A9E5B1 /* KWContainStringMatcher.h in Headers */, - C1CE506732A44CA4BC54A043 /* KWContextNode.h in Headers */, - 7EE0CD14C88445DD8475A943 /* KWCountType.h in Headers */, - E32694C3E60B454AB53559AE /* KWDeviceInfo.h in Headers */, - FFBA9407C8A849C6B8A8C067 /* KWEqualMatcher.h in Headers */, - DCDB4FA2531F48BBA994C576 /* KWExample.h in Headers */, - 59B46642C97B466CB599051E /* KWExampleDelegate.h in Headers */, - A5BBB0C03E1847E2879FF90E /* KWExampleNode.h in Headers */, - B9D1C92827414E82B643973C /* KWExampleNodeVisitor.h in Headers */, - AF7CD6FCC94843F1BF888033 /* KWExampleSuite.h in Headers */, - 229C7B57B80D431E834B8C9A /* KWExampleSuiteBuilder.h in Headers */, - 165A5F06BC764550AD07EE2B /* KWExistVerifier.h in Headers */, - E390FFA19B594354AFCF833B /* KWExpectationType.h in Headers */, - 63E2E31A3D4F4CC383BF30AB /* KWFailure.h in Headers */, - 86274BF8FD9D4B2ABDB7FFBB /* KWFormatter.h in Headers */, - DACD176947F2492BB6EF190D /* KWFutureObject.h in Headers */, - 67A3854779244E24B6F8A94F /* KWGenericMatchEvaluator.h in Headers */, - 6148EEAF0F9542468205BD0C /* KWGenericMatcher.h in Headers */, - B27E80DAC74B49F6B09A4733 /* KWGenericMatchingAdditions.h in Headers */, - A5C3209D13894EBE8FA35232 /* KWHaveMatcher.h in Headers */, - 32FE839FC67048E79179CF0A /* KWHaveValueMatcher.h in Headers */, - 190D572AD3074BE0A2AAE127 /* KWInequalityMatcher.h in Headers */, - 53CD6D2EFE7F4625ABD6425C /* KWIntercept.h in Headers */, - 656FA032F0C348F784ECDA8B /* KWInvocationCapturer.h in Headers */, - 7DD5025F26A84B7EB9B28904 /* KWItNode.h in Headers */, - 181B3DD164D844BD91E816A9 /* KWMatchVerifier.h in Headers */, - E574F56B58904F23ABA5D7E1 /* KWMatcher.h in Headers */, - F9AE14D1D43442738F7B387E /* KWMatcherFactory.h in Headers */, - A2739AB467DA4E2F94767BD3 /* KWMatchers.h in Headers */, - 5BABEEDDD8634B6D8330E997 /* KWMatching.h in Headers */, - 3873B1AB06114E26813F03CA /* KWMessagePattern.h in Headers */, - 5488ADB664E6452FAF183392 /* KWMessageSpying.h in Headers */, - 6B8DFBC801AB46C8B866B78D /* KWMessageTracker.h in Headers */, - 89A2A118C0D34EF8A0629CA7 /* KWMock.h in Headers */, - F22E631C20394E90BBA52A11 /* KWNilMatcher.h in Headers */, - DE6E5E87CB584380B001074B /* KWNull.h in Headers */, - 789D944B399E4CC0A6A05D53 /* KWObjCUtilities.h in Headers */, - C5EABB223FC24FF9905CCF2B /* KWPendingNode.h in Headers */, - 5EE589E4ED884198B7CEC3D1 /* KWProbe.h in Headers */, - 6855D2BDDAF6474EBC9B60FB /* KWProbePoller.h in Headers */, - A40F3D4A14D94AEFA697D62C /* KWRaiseMatcher.h in Headers */, - 522E5BBA48C14A6798CB3232 /* KWReceiveMatcher.h in Headers */, - EBEB5BBB080C48FFA3819D46 /* KWRegisterMatchersNode.h in Headers */, - 216BC19939C643D6A919E121 /* KWRegularExpressionPatternMatcher.h in Headers */, - 8A480F18A1BC4492A4F4813A /* KWReporting.h in Headers */, - AE569133512C463ABC1C9018 /* KWRespondToSelectorMatcher.h in Headers */, - B5F11AF5CACB4E95B3452B1B /* KWSpec.h in Headers */, - AA6D01BFC4C14419B1A2BE66 /* KWStringContainsMatcher.h in Headers */, - 13D37490CDD84AA18364D448 /* KWStringPrefixMatcher.h in Headers */, - 70780574E35A4159AAA5D5A2 /* KWStringUtilities.h in Headers */, - BBAD292205E147478EA8ADCE /* KWStub.h in Headers */, - E3826C48066A49B68B01E180 /* KWSymbolicator.h in Headers */, - BF8A1BDC3B5E4229914B83CA /* KWUserDefinedMatcher.h in Headers */, - E0E520E4735A46FF8069A315 /* KWValue.h in Headers */, - 8559134F3BD345CB8AA42C52 /* KWVerifying.h in Headers */, - 95C6297A2D0D4BA7A2544CA0 /* KWWorkarounds.h in Headers */, - A69F739A4E6D476BB5C99AB8 /* Kiwi.h in Headers */, - D055A67552224549931525B4 /* KiwiBlockMacros.h in Headers */, - 2BAE7602E83E425DA677C90D /* KiwiConfiguration.h in Headers */, - B12945F5CE754B7291AD6206 /* KiwiMacros.h in Headers */, - EEA7AC5D5AF74BEBAA7C59C7 /* NSInvocation+KiwiAdditions.h in Headers */, - 7D14BB670A244CACB4D5F8E6 /* NSInvocation+OCMAdditions.h in Headers */, - 779DFC5B0EDF4B1FAF753F24 /* NSMethodSignature+KiwiAdditions.h in Headers */, - C5921597F3954583934A1E31 /* NSNumber+KiwiAdditions.h in Headers */, - 70E66573E456477FABB862A9 /* NSObject+KiwiMockAdditions.h in Headers */, - 5A4EFBCA4ACF4B3F957C494A /* NSObject+KiwiSpyAdditions.h in Headers */, - D54B17331DE64395B96F7678 /* NSObject+KiwiStubAdditions.h in Headers */, - 5F63BF0F35AC449E942A52F3 /* NSObject+KiwiVerifierAdditions.h in Headers */, - 0873B43F12DC4199A1BAB89F /* NSProxy+KiwiVerifierAdditions.h in Headers */, - DED016EB94594392B76D5850 /* NSValue+KiwiAdditions.h in Headers */, - 27D072DA5B0C471C86A0B405 /* SenTestSuite+KiwiAdditions.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 2B0859CBA0D94A4CBA83F92B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 27E9AA2B89824FD4AB0D032B /* SBJson4.h in Headers */, - 6614DE432224459FA0ABD39F /* SBJson4Parser.h in Headers */, - 4B46916E943D451BB5F61458 /* SBJson4StreamParser.h in Headers */, - ED021E1406064603A159D738 /* SBJson4StreamParserState.h in Headers */, - 10C3CC27331741B5AB6B915B /* SBJson4StreamTokeniser.h in Headers */, - 86563BCD64464EBC9D84D83F /* SBJson4StreamWriter.h in Headers */, - 467B6C8582544A3BAAD81666 /* SBJson4StreamWriterState.h in Headers */, - 8CDBC15E21C145D19D986EF3 /* SBJson4Writer.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 39503F2B70B146F2AF5D9C85 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B9C149E6AA994C56AFBAD85C /* EGORefreshTableHeaderView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 71C3736A5B35481C9DF8E4B7 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B55F167E57054A63896DDBDF /* DejalActivityView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A519A265930F4C65B39A14AB /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E8DE8938A09941209ACA39C6 /* DejalActivityView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AEFAD60EC9684E3D9FF32297 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 0FAD15AFB0CD4DD99761B7E9 /* EGORefreshTableHeaderView.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D519BD67326249DCAB85E755 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - FB3B2C36BCBA40119EB0EA90 /* CGGeometry-KIFAdditions.h in Headers */, - 743AD1B86D8F4F629C1D0226 /* KIF.h in Headers */, - 2D15980DA5F44F54BD3FDB3F /* KIFSystemTestActor.h in Headers */, - 3EE0AB2846CC4514AA6F6143 /* KIFTestActor.h in Headers */, - 3E9B8CB74B9E4613B09BF0BE /* KIFTestCase.h in Headers */, - BAAEE045169E4B46AA5D6A97 /* KIFTestStepValidation.h in Headers */, - D745954B2AB642149F6C1D7C /* KIFTypist.h in Headers */, - DFFF740B04E84924B25FE208 /* KIFUITestActor.h in Headers */, - 2DBEE2E1CCB94184B99DD9A0 /* LoadableCategory.h in Headers */, - A4F45575FECD4010AAAC09EE /* NSBundle-KIFAdditions.h in Headers */, - F3A4CC8742B744A6A5587821 /* NSError-KIFAdditions.h in Headers */, - 1F4B6A16E2A14E859AC0998D /* NSFileManager-KIFAdditions.h in Headers */, - 8D6A8D6F0A2B494E805BA703 /* SenTestCase-KIFAdditions.h in Headers */, - 9B8E38E6E5484D6BADABD01E /* UIAccessibilityElement-KIFAdditions.h in Headers */, - 235E44F8B5644F61855B3F92 /* UIApplication-KIFAdditions.h in Headers */, - 2469D71FAEB64FA0B495E9FF /* UIScrollView-KIFAdditions.h in Headers */, - DB31C0C2EA6E4878A5C650A0 /* UITouch-KIFAdditions.h in Headers */, - 71F7CE34D029449789779871 /* UIView-KIFAdditions.h in Headers */, - D0443AAF5B4D4CD0ADDF70CD /* UIWindow-KIFAdditions.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 0491CC7D0EC747A48F89C80F /* Pods-DejalActivityView */ = { - isa = PBXNativeTarget; - buildConfigurationList = 9748BA147843455A8C4AEBB5 /* Build configuration list for PBXNativeTarget "Pods-DejalActivityView" */; - buildPhases = ( - 386E771D13D34E8CBD1DEC45 /* Sources */, - E70A547EB1B94153ABCB24AB /* Frameworks */, - A519A265930F4C65B39A14AB /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-DejalActivityView"; - productName = "Pods-DejalActivityView"; - productReference = 7C84E6BB131E474E8D040828 /* libPods-DejalActivityView.a */; - productType = "com.apple.product-type.library.static"; - }; - 0FF3D6503D884183AC95D5E3 /* Pods-Integration Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 053B04E820E04962ADB0AF35 /* Build configuration list for PBXNativeTarget "Pods-Integration Tests" */; - buildPhases = ( - 723EA66F5348488DA08243E8 /* Sources */, - 9D5AFE1F987E464F9BBC613F /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 947B1A6821714F698B1AE83B /* PBXTargetDependency */, - 10F082DB6C8F40FE90D57421 /* PBXTargetDependency */, - 8CA46404EC714A4BA3354275 /* PBXTargetDependency */, - 97D71B56969E42D49A2F5FB6 /* PBXTargetDependency */, - ); - name = "Pods-Integration Tests"; - productName = "Pods-Integration Tests"; - productReference = 00CFCAC93E824C9C91AAB89A /* libPods-Integration Tests.a */; - productType = "com.apple.product-type.library.static"; - }; - 19C221923F7B4B75A4598DE7 /* Pods-CoderwallTests-DejalActivityView */ = { - isa = PBXNativeTarget; - buildConfigurationList = F0582C8DDF6240F09BCA1054 /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-DejalActivityView" */; - buildPhases = ( - 1DA0E62D8E9443618B8BEBD8 /* Sources */, - B6C92CDE6E7D46F89D946C03 /* Frameworks */, - 18A07E5F2F56472EA9359F40 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-CoderwallTests-DejalActivityView"; - productName = "Pods-CoderwallTests-DejalActivityView"; - productReference = 8EC64E16E9124D4588C8D107 /* libPods-CoderwallTests-DejalActivityView.a */; - productType = "com.apple.product-type.library.static"; - }; - 1E9853B8E0094E99B8EF4104 /* Pods-CoderwallTests-EGOTableViewPullRefresh */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6FB32C61CE4A4E5987D0A0A5 /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-EGOTableViewPullRefresh" */; - buildPhases = ( - 8497661028984E8D9678F90B /* Sources */, - 2DAE3402359C4128874F391C /* Frameworks */, - 08FD06F9452440C3BAA3130D /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-CoderwallTests-EGOTableViewPullRefresh"; - productName = "Pods-CoderwallTests-EGOTableViewPullRefresh"; - productReference = 1F0DC82FF1134CC3B5DC9634 /* libPods-CoderwallTests-EGOTableViewPullRefresh.a */; - productType = "com.apple.product-type.library.static"; - }; - 29A8A04BCD5543358CED18A6 /* Pods */ = { - isa = PBXNativeTarget; - buildConfigurationList = EFDDC5F5D1354342A1CEB8BF /* Build configuration list for PBXNativeTarget "Pods" */; - buildPhases = ( - E312733D7FF14280AFA7C624 /* Sources */, - 41D49CB534DE4D668A7F7CA3 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 69A5C772F1D9447DA6E00F33 /* PBXTargetDependency */, - D393D73049F1478CB185B356 /* PBXTargetDependency */, - FF42187F1DD04D47BF0CA631 /* PBXTargetDependency */, - ); - name = Pods; - productName = Pods; - productReference = D9CFDFCABB5140DC89FB246B /* libPods.a */; - productType = "com.apple.product-type.library.static"; - }; - 29ECF8741AF940F7895B2672 /* Pods-CoderwallTests-Kiwi */ = { - isa = PBXNativeTarget; - buildConfigurationList = 02F8487909D7460893AA6BAC /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-Kiwi" */; - buildPhases = ( - 6E964A9548F14DAD93C5DCEF /* Sources */, - E2AA70453CFE4CE49BE6EA2C /* Frameworks */, - 1D586B729E2C4B408ABCB2FF /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-CoderwallTests-Kiwi"; - productName = "Pods-CoderwallTests-Kiwi"; - productReference = C532444277A14914AD0CA4D2 /* libPods-CoderwallTests-Kiwi.a */; - productType = "com.apple.product-type.library.static"; - }; - 3DCC03C18367418FB774B1CD /* Pods-EGOTableViewPullRefresh */ = { - isa = PBXNativeTarget; - buildConfigurationList = 52E6E67670CA497586B2DAD5 /* Build configuration list for PBXNativeTarget "Pods-EGOTableViewPullRefresh" */; - buildPhases = ( - 6DF5B33D4DF04C65919829B4 /* Sources */, - F2C91B9293494C8E98BEEC44 /* Frameworks */, - AEFAD60EC9684E3D9FF32297 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-EGOTableViewPullRefresh"; - productName = "Pods-EGOTableViewPullRefresh"; - productReference = 258F55888F4E4599BF7A2E1E /* libPods-EGOTableViewPullRefresh.a */; - productType = "com.apple.product-type.library.static"; - }; - 4482B0C4B2474DD5B6150F76 /* Pods-Integration Tests-DejalActivityView */ = { - isa = PBXNativeTarget; - buildConfigurationList = AD602020016F4E24BE912DA7 /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-DejalActivityView" */; - buildPhases = ( - 5D12FF289F3E477799E77E35 /* Sources */, - E902D833B999440FA39AC401 /* Frameworks */, - 71C3736A5B35481C9DF8E4B7 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-Integration Tests-DejalActivityView"; - productName = "Pods-Integration Tests-DejalActivityView"; - productReference = 444327FDE5524220A58DB6BE /* libPods-Integration Tests-DejalActivityView.a */; - productType = "com.apple.product-type.library.static"; - }; - 4735B4FCA4194299880CF589 /* Pods-Integration Tests-EGOTableViewPullRefresh */ = { - isa = PBXNativeTarget; - buildConfigurationList = E34443E26C01404F81379578 /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-EGOTableViewPullRefresh" */; - buildPhases = ( - CB15BAE832214F84A9D7BFFE /* Sources */, - 27FC9AE8735A48C18DD9D966 /* Frameworks */, - 39503F2B70B146F2AF5D9C85 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-Integration Tests-EGOTableViewPullRefresh"; - productName = "Pods-Integration Tests-EGOTableViewPullRefresh"; - productReference = 9A0D2B9284744D01B1EC6B49 /* libPods-Integration Tests-EGOTableViewPullRefresh.a */; - productType = "com.apple.product-type.library.static"; - }; - 5161A5D54A454843B4ED9E62 /* Pods-SBJson */ = { - isa = PBXNativeTarget; - buildConfigurationList = DBCAB477C674464C9CA2C5BC /* Build configuration list for PBXNativeTarget "Pods-SBJson" */; - buildPhases = ( - 69E077FF7B294656853BC6BB /* Sources */, - 528586A8577847E487170D4D /* Frameworks */, - 184CDFB717D64E0FBC276B35 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-SBJson"; - productName = "Pods-SBJson"; - productReference = 989D7B752B954662B3390A65 /* libPods-SBJson.a */; - productType = "com.apple.product-type.library.static"; - }; - 5926E3A165BA4A97BCE6FFAE /* Pods-CoderwallTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = BF679D73F61B4B4C849997AF /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests" */; - buildPhases = ( - 50C363310CA842F48A6F7667 /* Sources */, - 52962CBFBF134D2EAF67178F /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 0991A3F48D51416ABC5D2952 /* PBXTargetDependency */, - B32AC66EDB9A4D15995B0FC0 /* PBXTargetDependency */, - 0E1D47C388E44D1794C3085E /* PBXTargetDependency */, - C085F6554FAD4644B312630F /* PBXTargetDependency */, - ); - name = "Pods-CoderwallTests"; - productName = "Pods-CoderwallTests"; - productReference = C862D092CFF04D42A647CC84 /* libPods-CoderwallTests.a */; - productType = "com.apple.product-type.library.static"; - }; - 6B6391CFA1A949A0A1FAABA0 /* Pods-CoderwallTests-SBJson */ = { - isa = PBXNativeTarget; - buildConfigurationList = E872EDF15F754F6FA73E6B50 /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-SBJson" */; - buildPhases = ( - BE3BF985ACF9483DB1CD4533 /* Sources */, - 4E05520504384C769BDBFF0A /* Frameworks */, - 2B0859CBA0D94A4CBA83F92B /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-CoderwallTests-SBJson"; - productName = "Pods-CoderwallTests-SBJson"; - productReference = 411CD0F5E40F4C4DB43C4569 /* libPods-CoderwallTests-SBJson.a */; - productType = "com.apple.product-type.library.static"; - }; - 8DED04B8BBFC47EBB10ECB2F /* Pods-Integration Tests-KIF */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6F80ACB5BAF340DB895EE3FE /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-KIF" */; - buildPhases = ( - 3FE2F4D388E440BD9A554F23 /* Sources */, - 45E7103D72694C6B99362547 /* Frameworks */, - D519BD67326249DCAB85E755 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-Integration Tests-KIF"; - productName = "Pods-Integration Tests-KIF"; - productReference = CD663848E25D4C84BA298E51 /* libPods-Integration Tests-KIF.a */; - productType = "com.apple.product-type.library.static"; - }; - A9C67A8848B541A0A5560A36 /* Pods-Integration Tests-SBJson */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0EE4353EAE1B43F6A1008C7D /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-SBJson" */; - buildPhases = ( - E7C5F62F7A76413F81E75F66 /* Sources */, - EE2B684AC68B4C38A0A3D123 /* Frameworks */, - 0505CE70E6674EF490211627 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "Pods-Integration Tests-SBJson"; - productName = "Pods-Integration Tests-SBJson"; - productReference = 756B96ACAE2B427C80E03C2D /* libPods-Integration Tests-SBJson.a */; - productType = "com.apple.product-type.library.static"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 7EFC5F676FE249F3BE6FEA60 /* Project object */ = { - isa = PBXProject; - attributes = { - LastTestingUpgradeCheck = 0510; - LastUpgradeCheck = 0510; - }; - buildConfigurationList = 7D86E533D0BA4797B8C839E2 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 33B249AE01724ABF83FE42DF; - productRefGroup = 8E40D9186E3D4DA9B3F4684C /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 29A8A04BCD5543358CED18A6 /* Pods */, - 5926E3A165BA4A97BCE6FFAE /* Pods-CoderwallTests */, - 19C221923F7B4B75A4598DE7 /* Pods-CoderwallTests-DejalActivityView */, - 1E9853B8E0094E99B8EF4104 /* Pods-CoderwallTests-EGOTableViewPullRefresh */, - 29ECF8741AF940F7895B2672 /* Pods-CoderwallTests-Kiwi */, - 6B6391CFA1A949A0A1FAABA0 /* Pods-CoderwallTests-SBJson */, - 0491CC7D0EC747A48F89C80F /* Pods-DejalActivityView */, - 3DCC03C18367418FB774B1CD /* Pods-EGOTableViewPullRefresh */, - 0FF3D6503D884183AC95D5E3 /* Pods-Integration Tests */, - 4482B0C4B2474DD5B6150F76 /* Pods-Integration Tests-DejalActivityView */, - 4735B4FCA4194299880CF589 /* Pods-Integration Tests-EGOTableViewPullRefresh */, - 8DED04B8BBFC47EBB10ECB2F /* Pods-Integration Tests-KIF */, - A9C67A8848B541A0A5560A36 /* Pods-Integration Tests-SBJson */, - 5161A5D54A454843B4ED9E62 /* Pods-SBJson */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 1DA0E62D8E9443618B8BEBD8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 64094C51DD79454DBC60F438 /* DejalActivityView.m in Sources */, - 7205299DF5C7491D927CCC66 /* Pods-CoderwallTests-DejalActivityView-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 386E771D13D34E8CBD1DEC45 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DFDEB905E806402687A1B39E /* DejalActivityView.m in Sources */, - 4039352191D1435883D4E351 /* Pods-DejalActivityView-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3FE2F4D388E440BD9A554F23 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9616A01BF8C94C57BB9F3274 /* CGGeometry-KIFAdditions.m in Sources */, - 20F6D94D03854E8E8850E84B /* KIFSystemTestActor.m in Sources */, - 5F5D74A425654E089A44438C /* KIFTestActor.m in Sources */, - C652A1F667A24E6AA1A54FAD /* KIFTestCase.m in Sources */, - 26805BC19CBF48C69D6F9B85 /* KIFTestStepValidation.m in Sources */, - 5D672B2C597E4F20A66B0B20 /* KIFTypist.m in Sources */, - AAAE0F5827634EF1A816A85C /* KIFUITestActor.m in Sources */, - 03A621324779475583D2D63D /* NSBundle-KIFAdditions.m in Sources */, - 90428BB7F10E450FB87023E3 /* NSError-KIFAdditions.m in Sources */, - 1EBE661525A649DF85EE5B6A /* NSFileManager-KIFAdditions.m in Sources */, - 3C97458466E841218E5C5A7E /* Pods-Integration Tests-KIF-dummy.m in Sources */, - EEBB98DA7BB1498FB6FCEA40 /* SenTestCase-KIFAdditions.m in Sources */, - BF1FD03326F9422498FCD0F4 /* UIAccessibilityElement-KIFAdditions.m in Sources */, - 65D93F14612D49439F33A92B /* UIApplication-KIFAdditions.m in Sources */, - 93419EC562C240349F513377 /* UIScrollView-KIFAdditions.m in Sources */, - 85C25333A3404C878183D99B /* UITouch-KIFAdditions.m in Sources */, - C7EA4E2BE6884EA2B026B107 /* UIView-KIFAdditions.m in Sources */, - 00EF318A1C044D0C96364CC6 /* UIWindow-KIFAdditions.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 50C363310CA842F48A6F7667 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - EAE37FC7A28641D196374C48 /* Pods-CoderwallTests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 5D12FF289F3E477799E77E35 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2022EBBBBBED4465BBC48860 /* DejalActivityView.m in Sources */, - B97D8E9EC965453080BF5007 /* Pods-Integration Tests-DejalActivityView-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 69E077FF7B294656853BC6BB /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AA94A3F156EC40B393105C20 /* Pods-SBJson-dummy.m in Sources */, - 3971DC9E8AF34D74A8F749D6 /* SBJson4Parser.m in Sources */, - 87766C1FA1B048149BAF0915 /* SBJson4StreamParser.m in Sources */, - 88076EAA2F6C4DBEB0508E3F /* SBJson4StreamParserState.m in Sources */, - A30867C4B1A54B75B01CBFD2 /* SBJson4StreamTokeniser.m in Sources */, - C2C1BE7EBBC44CDF8E6BF185 /* SBJson4StreamWriter.m in Sources */, - DD4B6F1831174942AB36CE02 /* SBJson4StreamWriterState.m in Sources */, - 1C04778490A74F6880C120F1 /* SBJson4Writer.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6DF5B33D4DF04C65919829B4 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D7594DB6EFEB4874853CC35C /* EGORefreshTableHeaderView.m in Sources */, - 98E2D9E7C6FA4CC2824B0B07 /* Pods-EGOTableViewPullRefresh-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6E964A9548F14DAD93C5DCEF /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CE62D6CD42F1460D80695EDB /* KWAfterAllNode.m in Sources */, - 6672542004B343AF90AABC3E /* KWAfterEachNode.m in Sources */, - BE9FDDED008A4288BAC28494 /* KWAny.m in Sources */, - 833849EF63D24EE4B7F5BB54 /* KWAsyncVerifier.m in Sources */, - D14B6DB4B75C4D9C83B8639B /* KWBeBetweenMatcher.m in Sources */, - 5E6698D62F35445CAAD9679F /* KWBeEmptyMatcher.m in Sources */, - 786F153E475742A1BABE7937 /* KWBeIdenticalToMatcher.m in Sources */, - 5DF9E858CD514583B081F305 /* KWBeKindOfClassMatcher.m in Sources */, - 604C123D4A2C451983713C55 /* KWBeMemberOfClassMatcher.m in Sources */, - 9B1DA13789EF4ADFA6D30631 /* KWBeSubclassOfClassMatcher.m in Sources */, - 92335086E16B4EF1B26C8775 /* KWBeTrueMatcher.m in Sources */, - 53AA274C225B4E2D8B782885 /* KWBeWithinMatcher.m in Sources */, - CE84F0CD5FC047F78EF87A0B /* KWBeZeroMatcher.m in Sources */, - BFBA5F38EC32497DB7748A5E /* KWBeforeAllNode.m in Sources */, - FC08BBE050E54D61A03042EE /* KWBeforeEachNode.m in Sources */, - F37106B484604FE7B6DFE948 /* KWBlock.m in Sources */, - 15D5EE841E3445709D0618EA /* KWBlockNode.m in Sources */, - 5797961AA4604FC494E3D97F /* KWBlockRaiseMatcher.m in Sources */, - 6D0DB97578FF496C9D1E21E4 /* KWCallSite.m in Sources */, - FE45FFF30A2B490481A58BCF /* KWCaptureSpy.m in Sources */, - 18DDCCF5AC3A401CB75AC58C /* KWChangeMatcher.m in Sources */, - 8B5F6446D4864985921D3954 /* KWConformToProtocolMatcher.m in Sources */, - 41B730461B4E493C96DC026B /* KWContainMatcher.m in Sources */, - 935CB037774241E2B8596B42 /* KWContainStringMatcher.m in Sources */, - D280220F1CE44081B823CE0E /* KWContextNode.m in Sources */, - 504206E8955D478E983BF08A /* KWDeviceInfo.m in Sources */, - 7BB19602167F4770825AF80A /* KWEqualMatcher.m in Sources */, - FECDFD8BB61847129DD2221A /* KWExample.m in Sources */, - CCA8436518B448BF97E25F4E /* KWExampleSuite.m in Sources */, - 73DB4FE377E94A19BB6D8203 /* KWExampleSuiteBuilder.m in Sources */, - 0F354CF7F6F3461587128378 /* KWExistVerifier.m in Sources */, - BDD6867EF4EC47108811502F /* KWFailure.m in Sources */, - D7BA994BAB3A487B9F59953D /* KWFormatter.m in Sources */, - BCF328E55E754C87912E882C /* KWFutureObject.m in Sources */, - 7A7130C5174D419FBA442670 /* KWGenericMatchEvaluator.m in Sources */, - 568B38FC76A04E308F5D659D /* KWGenericMatcher.m in Sources */, - BD5F8B61A5684762BFD0D54A /* KWGenericMatchingAdditions.m in Sources */, - 39D1771FD6F54A878A13BD5F /* KWHaveMatcher.m in Sources */, - 995464D4CFC54B1AA1348BA6 /* KWHaveValueMatcher.m in Sources */, - 4F431DC4BCA643CDB18DD650 /* KWInequalityMatcher.m in Sources */, - 43C68860AA01487380D90942 /* KWIntercept.m in Sources */, - 548BCFCEB38D4733937E7B03 /* KWInvocationCapturer.m in Sources */, - 9AB58F6E945943BD950F22B1 /* KWItNode.m in Sources */, - 1E03DA016FC14F1EA6791F02 /* KWMatchVerifier.m in Sources */, - 75A90DFE9F614A8692616A9F /* KWMatcher.m in Sources */, - EF2254D09E5042DD8193E29C /* KWMatcherFactory.m in Sources */, - 894540CB600B48A2954AB4C9 /* KWMatchers.m in Sources */, - B39A0A41F2604301B77DDA53 /* KWMessagePattern.m in Sources */, - D6F0006E96ED4ADB8EBAEDF3 /* KWMessageTracker.m in Sources */, - 08E1E9C0FB7841068B277B08 /* KWMock.m in Sources */, - B5689EF53B8C4D569C856969 /* KWNilMatcher.m in Sources */, - FA6F0E4F3FCD45A9AD88C841 /* KWNull.m in Sources */, - 2E7A7563BC274E69A2DC8BC4 /* KWObjCUtilities.m in Sources */, - B27324AE61E046BDB4B633B6 /* KWPendingNode.m in Sources */, - 72F7DC58C4E3416A8B47E169 /* KWProbePoller.m in Sources */, - 8F08F09E79F444CDA6AF6FD5 /* KWRaiseMatcher.m in Sources */, - A7D9E1C343F04DC0B63C30E6 /* KWReceiveMatcher.m in Sources */, - FBB8246097F2407B86F67138 /* KWRegisterMatchersNode.m in Sources */, - 87E66ECF54B5480DAB616373 /* KWRegularExpressionPatternMatcher.m in Sources */, - 1C8908C555424BE79C058ECD /* KWRespondToSelectorMatcher.m in Sources */, - CBF21652805B4A69B2807EC5 /* KWSpec.m in Sources */, - 0C62A95B3E6B49EEBE5198A9 /* KWStringContainsMatcher.m in Sources */, - 1DCB50B54705427699739463 /* KWStringPrefixMatcher.m in Sources */, - 4386BF248BE5442AA3771E42 /* KWStringUtilities.m in Sources */, - 78D85C0A375544B6869E6BC9 /* KWStub.m in Sources */, - 88424F94164543938B2229AD /* KWSymbolicator.m in Sources */, - 287F81074295464ABF3EF92F /* KWUserDefinedMatcher.m in Sources */, - 62CC43254B624D2A8981893F /* KWValue.m in Sources */, - 2465F7D113D549A4A844DF5A /* KWWorkarounds.m in Sources */, - 65FA01E77165431F9082E929 /* NSInvocation+KiwiAdditions.m in Sources */, - A7F1E53BF7C44C0EA695F982 /* NSInvocation+OCMAdditions.m in Sources */, - E249C9D4FFFE4770A59E56EC /* NSMethodSignature+KiwiAdditions.m in Sources */, - 2387A01E3A1E45D795F8F257 /* NSNumber+KiwiAdditions.m in Sources */, - 8FCB97E4F35947CE8BDCCD71 /* NSObject+KiwiMockAdditions.m in Sources */, - 1C357524A8544D7C8E390D92 /* NSObject+KiwiSpyAdditions.m in Sources */, - 8EEF2A7C7AE649F79859379B /* NSObject+KiwiStubAdditions.m in Sources */, - 14C65CE6DFD947388E9C3B4B /* NSObject+KiwiVerifierAdditions.m in Sources */, - 9D9AF2E7F4604790BD0DFAF0 /* NSProxy+KiwiVerifierAdditions.m in Sources */, - 97AF780667434801AEA22DBE /* NSValue+KiwiAdditions.m in Sources */, - 6D48E2DA0FB5488F82E04C88 /* Pods-CoderwallTests-Kiwi-dummy.m in Sources */, - 288208EB274E4C12B34AE199 /* SenTestSuite+KiwiAdditions.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 723EA66F5348488DA08243E8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 26A4EFC699204BB1BAA908FA /* Pods-Integration Tests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8497661028984E8D9678F90B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7CE829F95E2D4A33B338E478 /* EGORefreshTableHeaderView.m in Sources */, - 3DA3A4F6947847FBA8F7828F /* Pods-CoderwallTests-EGOTableViewPullRefresh-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BE3BF985ACF9483DB1CD4533 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5C2A5AD8E7F74398AB791857 /* Pods-CoderwallTests-SBJson-dummy.m in Sources */, - 1E9CB887BB5D4340B2CB1640 /* SBJson4Parser.m in Sources */, - 80A21E1D41D84FCFAC2BDB5D /* SBJson4StreamParser.m in Sources */, - 07B51266FE9F429E9D73BBF1 /* SBJson4StreamParserState.m in Sources */, - 797E1674C54C4F71A0BB3E26 /* SBJson4StreamTokeniser.m in Sources */, - 072878F96BD84008A9854098 /* SBJson4StreamWriter.m in Sources */, - E8F7276424EC4330BB1451EC /* SBJson4StreamWriterState.m in Sources */, - C61FFE7D86564880BD8498B7 /* SBJson4Writer.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CB15BAE832214F84A9D7BFFE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A9771C65FCBF4C7A9B22D895 /* EGORefreshTableHeaderView.m in Sources */, - 82991D0C14D34780A77061A1 /* Pods-Integration Tests-EGOTableViewPullRefresh-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E312733D7FF14280AFA7C624 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 08869600398848FEB414589F /* Pods-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E7C5F62F7A76413F81E75F66 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 713DFDEEEC154DB1AF6ED086 /* Pods-Integration Tests-SBJson-dummy.m in Sources */, - 7DC934366F4A451BBA5EE5CA /* SBJson4Parser.m in Sources */, - 0743BE9651FF4F269333E45E /* SBJson4StreamParser.m in Sources */, - 504A907D8F3040219BA0AC55 /* SBJson4StreamParserState.m in Sources */, - AA341DE1D9A244848975E28F /* SBJson4StreamTokeniser.m in Sources */, - EDCFEFBC60EA4535A47B23BF /* SBJson4StreamWriter.m in Sources */, - 0A95CFCE3C314E439A5EF550 /* SBJson4StreamWriterState.m in Sources */, - 299E895D5B9E4E0BACC15344 /* SBJson4Writer.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 0991A3F48D51416ABC5D2952 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 19C221923F7B4B75A4598DE7 /* Pods-CoderwallTests-DejalActivityView */; - targetProxy = 890EC28F16BD4487A3AE73F9 /* PBXContainerItemProxy */; - }; - 0E1D47C388E44D1794C3085E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 29ECF8741AF940F7895B2672 /* Pods-CoderwallTests-Kiwi */; - targetProxy = E96A8714641D40A1BEB757EF /* PBXContainerItemProxy */; - }; - 10F082DB6C8F40FE90D57421 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4735B4FCA4194299880CF589 /* Pods-Integration Tests-EGOTableViewPullRefresh */; - targetProxy = EAA321FBC2664091972D552E /* PBXContainerItemProxy */; - }; - 69A5C772F1D9447DA6E00F33 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 0491CC7D0EC747A48F89C80F /* Pods-DejalActivityView */; - targetProxy = 570D5EA19F3D4960BF957691 /* PBXContainerItemProxy */; - }; - 8CA46404EC714A4BA3354275 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8DED04B8BBFC47EBB10ECB2F /* Pods-Integration Tests-KIF */; - targetProxy = 541663298EA3492290C387F2 /* PBXContainerItemProxy */; - }; - 947B1A6821714F698B1AE83B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 4482B0C4B2474DD5B6150F76 /* Pods-Integration Tests-DejalActivityView */; - targetProxy = 3B545E3BA3BF4F75AADECD6F /* PBXContainerItemProxy */; - }; - 97D71B56969E42D49A2F5FB6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A9C67A8848B541A0A5560A36 /* Pods-Integration Tests-SBJson */; - targetProxy = F70FD4BC69FA40A78C6D2882 /* PBXContainerItemProxy */; - }; - B32AC66EDB9A4D15995B0FC0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 1E9853B8E0094E99B8EF4104 /* Pods-CoderwallTests-EGOTableViewPullRefresh */; - targetProxy = 6F44B93549D64982B0B0249E /* PBXContainerItemProxy */; - }; - C085F6554FAD4644B312630F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 6B6391CFA1A949A0A1FAABA0 /* Pods-CoderwallTests-SBJson */; - targetProxy = 8622BFBAF8694E9B843313C0 /* PBXContainerItemProxy */; - }; - D393D73049F1478CB185B356 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 3DCC03C18367418FB774B1CD /* Pods-EGOTableViewPullRefresh */; - targetProxy = 2F6CBA5FE5204443A35FF131 /* PBXContainerItemProxy */; - }; - FF42187F1DD04D47BF0CA631 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 5161A5D54A454843B4ED9E62 /* Pods-SBJson */; - targetProxy = 367F96E9A0AE43E89FE9BF7B /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 07007999460E407CA14483DF /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1DA65A08CCAD4903B1796549 /* Pods-Integration Tests-DejalActivityView-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-DejalActivityView-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 10135218853F4878909983E9 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F74F87FC3436445FB9BA2543 /* Pods.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 18A2C2B0495F4E0E86276BE0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 43AA731ABBBD4FDFA6DFDCDE /* Pods-Integration Tests-KIF-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-KIF-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 1D9DED14F7D148CB85E21E81 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FA787E931EFF4172BF87554E /* Pods-CoderwallTests-SBJson-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-SBJson-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 2541FAF809754DED8B67EB12 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FA787E931EFF4172BF87554E /* Pods-CoderwallTests-SBJson-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-SBJson-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 2E0002AC4E1D47DA8F4D9DD0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CAC1ED62F49040AA9CEC4012 /* Pods-CoderwallTests.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 39ED1882C6A546848EA76F25 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CAC1ED62F49040AA9CEC4012 /* Pods-CoderwallTests.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 3FFC063310AE4752BB48E623 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E9063162C2804CCE9A71C5CD /* Pods-SBJson-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-SBJson-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 42F9155F478D417EBE1292BC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AD3159C4BE884EB7836207B5 /* Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 62E046812FA8458AA8DCA399 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 43AA731ABBBD4FDFA6DFDCDE /* Pods-Integration Tests-KIF-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-KIF-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 74A956944B594E68B7F5B38C /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 72B6F09158C9469785815067 /* Pods-CoderwallTests-DejalActivityView-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-DejalActivityView-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 845621E04B344DD08292A2B0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AEE2DEC6DF4B4EB9A120DAF3 /* Pods-EGOTableViewPullRefresh-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-EGOTableViewPullRefresh-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 901948E95CEC4FBBA760E620 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 72B6F09158C9469785815067 /* Pods-CoderwallTests-DejalActivityView-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-DejalActivityView-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 929DF9717AAE46B89B2A6EC3 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 778CC112D59E4DA5BF061F0E /* Pods-CoderwallTests-Kiwi-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-Kiwi-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 9496B324C483483CAC9D8976 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5941A06B65D940CE96AC8B24 /* Pods-Integration Tests.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - 96799001E61E4533A078BB57 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = NO; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - COPY_PHASE_STRIP = NO; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - STRIP_INSTALLED_PRODUCT = NO; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - A0843DCAF77843629CF890FE /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5941A06B65D940CE96AC8B24 /* Pods-Integration Tests.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - A36A7551B33044FB8E492458 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1DA65A08CCAD4903B1796549 /* Pods-Integration Tests-DejalActivityView-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-DejalActivityView-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - B7749905CCA944B0B9263DD6 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = NO; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - COPY_PHASE_STRIP = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - ONLY_ACTIVE_ARCH = YES; - STRIP_INSTALLED_PRODUCT = NO; - }; - name = Debug; - }; - C4260A3D084241AFA2896822 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 27B52C79712A494C9D11D20B /* Pods-DejalActivityView-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-DejalActivityView-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - C9C0C5E6127349BBA74B683B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AD3159C4BE884EB7836207B5 /* Pods-Integration Tests-EGOTableViewPullRefresh-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-EGOTableViewPullRefresh-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - DE02AF51D3C84551975921C7 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 778CC112D59E4DA5BF061F0E /* Pods-CoderwallTests-Kiwi-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-Kiwi-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - DFA9C77922B044898A814FAB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2CBEF9DA7001499D8E153950 /* Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - E1A88715ADBC47E7A6B3C4B0 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AEE2DEC6DF4B4EB9A120DAF3 /* Pods-EGOTableViewPullRefresh-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-EGOTableViewPullRefresh-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - E5AF74F9284947B888EC7D6E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 27B52C79712A494C9D11D20B /* Pods-DejalActivityView-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-DejalActivityView-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - EB84E3B3C8A34435BFB15634 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F74F87FC3436445FB9BA2543 /* Pods.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - EC1507C1686F4DB0BE384183 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD43BABB2FB94F2A9D93FBF4 /* Pods-Integration Tests-SBJson-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = YES; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-SBJson-prefix.pch"; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_CFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-DNS_BLOCK_ASSERTIONS=1", - "$(inherited)", - ); - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - F72AB5E3264D4E349E1A1AB5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2CBEF9DA7001499D8E153950 /* Pods-CoderwallTests-EGOTableViewPullRefresh-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-CoderwallTests-EGOTableViewPullRefresh-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - F98E15BF4EE44028BC2665F7 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD43BABB2FB94F2A9D93FBF4 /* Pods-Integration Tests-SBJson-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-Integration Tests-SBJson-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - FD51C8BDA0B249E9B4FCFF36 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E9063162C2804CCE9A71C5CD /* Pods-SBJson-Private.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - COPY_PHASE_STRIP = NO; - DSTROOT = /tmp/xcodeproj.dst; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "Pods-SBJson-prefix.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - }; - name = Debug; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 02F8487909D7460893AA6BAC /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-Kiwi" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DE02AF51D3C84551975921C7 /* Debug */, - 929DF9717AAE46B89B2A6EC3 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 053B04E820E04962ADB0AF35 /* Build configuration list for PBXNativeTarget "Pods-Integration Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 9496B324C483483CAC9D8976 /* Debug */, - A0843DCAF77843629CF890FE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0EE4353EAE1B43F6A1008C7D /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-SBJson" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F98E15BF4EE44028BC2665F7 /* Debug */, - EC1507C1686F4DB0BE384183 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 52E6E67670CA497586B2DAD5 /* Build configuration list for PBXNativeTarget "Pods-EGOTableViewPullRefresh" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 845621E04B344DD08292A2B0 /* Debug */, - E1A88715ADBC47E7A6B3C4B0 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6F80ACB5BAF340DB895EE3FE /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-KIF" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 18A2C2B0495F4E0E86276BE0 /* Debug */, - 62E046812FA8458AA8DCA399 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 6FB32C61CE4A4E5987D0A0A5 /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-EGOTableViewPullRefresh" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F72AB5E3264D4E349E1A1AB5 /* Debug */, - DFA9C77922B044898A814FAB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 7D86E533D0BA4797B8C839E2 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B7749905CCA944B0B9263DD6 /* Debug */, - 96799001E61E4533A078BB57 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 9748BA147843455A8C4AEBB5 /* Build configuration list for PBXNativeTarget "Pods-DejalActivityView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E5AF74F9284947B888EC7D6E /* Debug */, - C4260A3D084241AFA2896822 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AD602020016F4E24BE912DA7 /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-DejalActivityView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 07007999460E407CA14483DF /* Debug */, - A36A7551B33044FB8E492458 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - BF679D73F61B4B4C849997AF /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2E0002AC4E1D47DA8F4D9DD0 /* Debug */, - 39ED1882C6A546848EA76F25 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DBCAB477C674464C9CA2C5BC /* Build configuration list for PBXNativeTarget "Pods-SBJson" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FD51C8BDA0B249E9B4FCFF36 /* Debug */, - 3FFC063310AE4752BB48E623 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E34443E26C01404F81379578 /* Build configuration list for PBXNativeTarget "Pods-Integration Tests-EGOTableViewPullRefresh" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 42F9155F478D417EBE1292BC /* Debug */, - C9C0C5E6127349BBA74B683B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E872EDF15F754F6FA73E6B50 /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-SBJson" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1D9DED14F7D148CB85E21E81 /* Debug */, - 2541FAF809754DED8B67EB12 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - EFDDC5F5D1354342A1CEB8BF /* Build configuration list for PBXNativeTarget "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 10135218853F4878909983E9 /* Debug */, - EB84E3B3C8A34435BFB15634 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F0582C8DDF6240F09BCA1054 /* Build configuration list for PBXNativeTarget "Pods-CoderwallTests-DejalActivityView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 901948E95CEC4FBBA760E620 /* Debug */, - 74A956944B594E68B7F5B38C /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 7EFC5F676FE249F3BE6FEA60 /* Project object */; -} diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-DejalActivityView.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-DejalActivityView.xcscheme deleted file mode 100644 index 90e8064..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-DejalActivityView.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-EGOTableViewPullRefresh.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-EGOTableViewPullRefresh.xcscheme deleted file mode 100644 index 5230bd6..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-EGOTableViewPullRefresh.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-Kiwi.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-Kiwi.xcscheme deleted file mode 100644 index b28587a..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-Kiwi.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-SBJson.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-SBJson.xcscheme deleted file mode 100644 index 6616896..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests-SBJson.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests.xcscheme deleted file mode 100644 index f31c022..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-CoderwallTests.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-DejalActivityView.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-DejalActivityView.xcscheme deleted file mode 100644 index 457cf29..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-DejalActivityView.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-EGOTableViewPullRefresh.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-EGOTableViewPullRefresh.xcscheme deleted file mode 100644 index 635a9b2..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-EGOTableViewPullRefresh.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-DejalActivityView.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-DejalActivityView.xcscheme deleted file mode 100644 index d043413..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-DejalActivityView.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-EGOTableViewPullRefresh.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-EGOTableViewPullRefresh.xcscheme deleted file mode 100644 index 902440b..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-EGOTableViewPullRefresh.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-KIF.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-KIF.xcscheme deleted file mode 100644 index daaab0b..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-KIF.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-SBJson.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-SBJson.xcscheme deleted file mode 100644 index 051e43a..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests-SBJson.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests.xcscheme deleted file mode 100644 index 4672578..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-Integration Tests.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-SBJson.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-SBJson.xcscheme deleted file mode 100644 index a027eab..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods-SBJson.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods.xcscheme b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods.xcscheme deleted file mode 100644 index 1ba4674..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/Pods.xcscheme +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index d8bc710..0000000 --- a/Pods/Pods.xcodeproj/xcuserdata/will.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,152 +0,0 @@ - - - - - SchemeUserState - - Pods-CoderwallTests-DejalActivityView.xcscheme - - isShown - - - Pods-CoderwallTests-EGOTableViewPullRefresh.xcscheme - - isShown - - - Pods-CoderwallTests-Kiwi.xcscheme - - isShown - - - Pods-CoderwallTests-SBJson.xcscheme - - isShown - - - Pods-CoderwallTests.xcscheme - - isShown - - - Pods-DejalActivityView.xcscheme - - isShown - - - Pods-EGOTableViewPullRefresh.xcscheme - - isShown - - - Pods-Integration Tests-DejalActivityView.xcscheme - - isShown - - - Pods-Integration Tests-EGOTableViewPullRefresh.xcscheme - - isShown - - - Pods-Integration Tests-KIF.xcscheme - - isShown - - - Pods-Integration Tests-SBJson.xcscheme - - isShown - - - Pods-Integration Tests.xcscheme - - isShown - - - Pods-SBJson.xcscheme - - isShown - - - Pods.xcscheme - - isShown - - - - SuppressBuildableAutocreation - - 0491CC7D0EC747A48F89C80F - - primary - - - 0FF3D6503D884183AC95D5E3 - - primary - - - 19C221923F7B4B75A4598DE7 - - primary - - - 1E9853B8E0094E99B8EF4104 - - primary - - - 29A8A04BCD5543358CED18A6 - - primary - - - 29ECF8741AF940F7895B2672 - - primary - - - 3DCC03C18367418FB774B1CD - - primary - - - 4482B0C4B2474DD5B6150F76 - - primary - - - 4735B4FCA4194299880CF589 - - primary - - - 5161A5D54A454843B4ED9E62 - - primary - - - 5926E3A165BA4A97BCE6FFAE - - primary - - - 6B6391CFA1A949A0A1FAABA0 - - primary - - - 8DED04B8BBFC47EBB10ECB2F - - primary - - - A9C67A8848B541A0A5560A36 - - primary - - - - - diff --git a/Pods/SBJson/README.md b/Pods/SBJson/README.md deleted file mode 100644 index 9156199..0000000 --- a/Pods/SBJson/README.md +++ /dev/null @@ -1,87 +0,0 @@ -JSON (JavaScript Object Notation) is a light-weight data interchange -format that's easy to read and write for humans and computers alike. -This library implements chunk-based JSON parsing and generation in -Objective-C. - -Features -======== - -SBJson's number one feature is chunk-based operation. Feed the parser one or -more chunks of UTF8-encoded data and it will call a block you provide with each -root-level document or array; or optionally for each top-level entry in one (or -more) root-level array. See more in the [Version 4 API -docs](http://sbjson.org/api/4.0/Classes/SBJson4Parser.html). - -Other features: - -* Configurable recursion limit. For safety SBJson defaults to a max nesting - level of 32 for all input. This can be configured if necessary. -* The writer can optionally sort dictionary keys so output is consistent across writes. -* The writer can optionally create human-readable (indented) output. - -Links -===== - -* [GitHub project page](http://github.com/stig/json-framework) -* [Online API docs](http://sbjson.org/api/4.0) -* [SBJson tag on Stack Overflow](http://stackoverflow.com/questions/tagged/sbjson) - - -Installation -============ - -The simplest way to start using JSON in your application is to copy all -the source files (the contents of the `src/main/objc` folder) into your own -Xcode project. - -1. In the Finder, navigate into the `src/main/objc` folder. -2. Select all the files and drag-and-drop them into your Xcode project. -3. Tick the **Copy items into destination group's folder** option. -4. Use `#import "SBJson.h"` in your source files. - -That should be it. Now create that Twitter client! - -*If you're upgrading from a previous version, make sure you're deleting the -old SBJson classes first, moving all the files to Trash.* - - -Alternative Installation Instructions -===================================== - -* With Xcode 4's workspaces it has become much simpler to link to dependant -projects. The examples in the distribution link to the iOS library and Mac -framework, respectively. Des Hartman wrote [a blog post with step-by-step -instructions for iOS][link-ios]. This is the recommended way if you need to -make local changes to SBJson. -* You can also install SBJson using [CocoaPods](http://cocoapods.org). - -[link-ios]: http://deshartman.wordpress.com/2011/09/02/configuring-sbjson-framework-for-xcode-4-2/ - - -License -======= - -Copyright (C) 2007-2013 Stig Brautaset. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Pods/SBJson/src/main/objc/SBJson4.h b/Pods/SBJson/src/main/objc/SBJson4.h deleted file mode 100644 index f996ed4..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - Copyright (C) 2009-2011 Stig Brautaset. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import "SBJson4Writer.h" -#import "SBJson4StreamParser.h" -#import "SBJson4Parser.h" -#import "SBJson4StreamWriter.h" -#import "SBJson4StreamTokeniser.h" - diff --git a/Pods/SBJson/src/main/objc/SBJson4Parser.h b/Pods/SBJson/src/main/objc/SBJson4Parser.h deleted file mode 100644 index e865d2e..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4Parser.h +++ /dev/null @@ -1,249 +0,0 @@ -/* - Copyright (c) 2010-2013, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import -#import "SBJson4StreamParser.h" - -/** - Block called when the parser has parsed an item. This could be once - for each root document parsed, or once for each unwrapped root array element. - - @param item contains the parsed item. - @param stop set to YES if you want the parser to stop - */ -typedef void (^SBJson4ValueBlock)(id item, BOOL* stop); - -/** - Block called if an error occurs. - @param error the error. - */ -typedef void (^SBJson4ErrorBlock)(NSError* error); - -/** - Block used to process parsed tokens as they are encountered. You can use this - to transform strings containing dates into NSDate, for example. - @param item the parsed token - @param path the JSON Path of the token - */ -typedef id (^SBJson4ProcessBlock)(id item, NSString* path); - - -/** - Parse one or more chunks of JSON data. - - Using this class directly you can reduce the apparent latency for each - download/parse cycle of documents over a slow connection. You can start - parsing *and return chunks of the parsed document* before the entire - document is downloaded. - - Using this class is also useful to parse huge documents on disk - bit by bit so you don't have to keep them all in memory. - - JSON is mapped to Objective-C types in the following way: - - - null -> NSNull - - string -> NSString - - array -> NSMutableArray - - object -> NSMutableDictionary - - true -> NSNumber's -numberWithBool:YES - - false -> NSNumber's -numberWithBool:NO - - number -> NSNumber - - Since Objective-C doesn't have a dedicated class for boolean values, - these turns into NSNumber instances. However, since these are - initialised with the -initWithBool: method they round-trip back to JSON - properly. In other words, they won't silently suddenly become 0 or 1; - they'll be represented as 'true' and 'false' again. - - Integers are parsed into either a `long long` or `unsigned long long` - type if they fit, else a `double` is used. All real & exponential numbers - are represented using a `double`. Previous versions of this library used - an NSDecimalNumber in some cases, but this is no longer the case. - - The default behaviour is that your passed-in block is only called once the - entire input is parsed. If you set supportManyDocuments to YES and your input - contains multiple (whitespace limited) JSON documents your block will be called - for each document: - - SBJson4ValueBlock block = ^(id v, BOOL *stop) { - NSLog(@"Found: %@", @([v isKindOfClass:[NSArray class]])); - }; - SBJson4ErrorBlock eh = ^(NSError* err) { - NSLog(@"OOPS: %@", err); - } - - id parser = [SBJson4Parser parserWithBlock:block - manyDocuments:YES - rootArrayItems:NO - errorHandler:eh]; - - // Note that this input contains multiple top-level JSON documents - NSData *json = [@"[]{}[]{}" dataWithEncoding:NSUTF8StringEncoding]; - [parser parse:data]; - - The above example will print: - - - Found: YES - - Found: NO - - Found: YES - - Found: NO - - Often you won't have control over the input you're parsing, so can't make use - of this feature. But, all is not lost: if you are parsing a long array you can - get the same effect by setting rootArrayItems to YES: - - id parser = [SBJson4Parser parserWithBlock:block - manyDocuments:NO - rootArrayItems:YES - errorHandler:eh]; - - // Note that this input contains A SINGLE top-level document - NSData *json = [@"[[],{},[],{}]" dataWithEncoding:NSUTF8StringEncoding]; - [parser parse:data]; - - @note Stream based parsing does mean that you lose some of the correctness - verification you would have with a parser that considered the entire input - before returning an answer. It is technically possible to have some parts - of a document returned *as if they were correct* but then encounter an error - in a later part of the document. You should keep this in mind when - considering whether it would suit your application. - - -*/ -@interface SBJson4Parser : NSObject - -/** - Create a JSON Parser. - - This can be used to create a parser that accepts only one document, or one that parses - many documents any - - @param block Called for each element. Set *stop to `YES` if you have seen - enough and would like to skip the rest of the elements. - - @param allowMultiRoot Indicate that you are expecting multiple whitespace-separated - JSON documents, similar to what Twitter uses. - - @param unwrapRootArray If set the parser will pretend an root array does not exist - and the enumerator block will be called once for each item in it. This option - does nothing if the the JSON has an object at its root. - - @param eh Called if the parser encounters an error. - - @see -unwrapRootArrayParserWithBlock:errorHandler: - @see -multiRootParserWithBlock:errorHandler: - @see -initWithBlock:processBlock:multiRoot:unwrapRootArray:maxDepth:errorHandler: - - */ -+ (id)parserWithBlock:(SBJson4ValueBlock)block - allowMultiRoot:(BOOL)allowMultiRoot - unwrapRootArray:(BOOL)unwrapRootArray - errorHandler:(SBJson4ErrorBlock)eh; - - -/** - Create a JSON Parser that parses multiple whitespace separated documents. - This is useful for something like twitter's feed, which gives you one JSON - document per line. - - @param block Called for each element. Set *stop to `YES` if you have seen - enough and would like to skip the rest of the elements. - - @param eh Called if the parser encounters an error. - - @see +unwrapRootArrayParserWithBlock:errorHandler: - @see +parserWithBlock:allowMultiRoot:unwrapRootArray:errorHandler: - @see -initWithBlock:processBlock:multiRoot:unwrapRootArray:maxDepth:errorHandler: - */ -+ (id)multiRootParserWithBlock:(SBJson4ValueBlock)block - errorHandler:(SBJson4ErrorBlock)eh; - -/** - Create a JSON Parser that parses a huge array and calls for the value block for - each element in the outermost array. - - @param block Called for each element. Set *stop to `YES` if you have seen - enough and would like to skip the rest of the elements. - - @param eh Called if the parser encounters an error. - - @see +multiRootParserWithBlock:errorHandler: - @see +parserWithBlock:allowMultiRoot:unwrapRootArray:errorHandler: - @see -initWithBlock:processBlock:multiRoot:unwrapRootArray:maxDepth:errorHandler: - */ -+ (id)unwrapRootArrayParserWithBlock:(SBJson4ValueBlock)block - errorHandler:(SBJson4ErrorBlock)eh; - -/** - Create a JSON Parser. - - @param block Called for each element. Set *stop to `YES` if you have seen - enough and would like to skip the rest of the elements. - - @param processBlock A block that allows you to process individual values before being - returned. - - @param multiRoot Indicate that you are expecting multiple whitespace-separated - JSON documents, similar to what Twitter uses. - - @param unwrapRootArray If set the parser will pretend an root array does not exist - and the enumerator block will be called once for each item in it. This option - does nothing if the the JSON has an object at its root. - - @param maxDepth The max recursion depth of the parser. Defaults to 32. - - @param eh Called if the parser encounters an error. - - */ -- (id)initWithBlock:(SBJson4ValueBlock)block - processBlock:(SBJson4ProcessBlock)processBlock - multiRoot:(BOOL)multiRoot - unwrapRootArray:(BOOL)unwrapRootArray - maxDepth:(NSUInteger)maxDepth - errorHandler:(SBJson4ErrorBlock)eh; - -/** - Parse some JSON - - The JSON is assumed to be UTF8 encoded. This can be a full JSON document, or a part of one. - - @param data An NSData object containing the next chunk of JSON - - @return - - SBJson4ParserComplete if a full document was found - - SBJson4ParserWaitingForData if a partial document was found and more data is required to complete it - - SBJson4ParserError if an error occured. - - */ -- (SBJson4ParserStatus)parse:(NSData*)data; - -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4Parser.m b/Pods/SBJson/src/main/objc/SBJson4Parser.m deleted file mode 100644 index ec877a8..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4Parser.m +++ /dev/null @@ -1,292 +0,0 @@ -/* - Copyright (c) 2010-2013, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if !__has_feature(objc_arc) -#error "This source file must be compiled with ARC enabled!" -#endif - -#import "SBJson4Parser.h" - -@interface SBJson4Parser () - -- (void)pop; -- (void)parser:(SBJson4StreamParser *)parser found:(id)obj; - -@end - -typedef enum { - SBJson4ChunkNone, - SBJson4ChunkArray, - SBJson4ChunkObject, -} SBJson4ChunkType; - -@implementation SBJson4Parser { - SBJson4StreamParser *_parser; - NSUInteger depth; - NSMutableArray *array; - NSMutableDictionary *dict; - NSMutableArray *keyStack; - NSMutableArray *stack; - NSMutableArray *path; - SBJson4ProcessBlock processBlock; - SBJson4ErrorBlock errorHandler; - SBJson4ValueBlock valueBlock; - SBJson4ChunkType currentType; - BOOL supportManyDocuments; - BOOL supportPartialDocuments; - NSUInteger _maxDepth; -} - -#pragma mark Housekeeping - -- (id)init { - @throw @"Not Implemented"; -} - -+ (id)multiRootParserWithBlock:(SBJson4ValueBlock)block errorHandler:(SBJson4ErrorBlock)eh { - return [self parserWithBlock:block - allowMultiRoot:YES - unwrapRootArray:NO - errorHandler:eh]; -} - -+ (id)unwrapRootArrayParserWithBlock:(SBJson4ValueBlock)block errorHandler:(SBJson4ErrorBlock)eh { - return [self parserWithBlock:block - allowMultiRoot:NO - unwrapRootArray:YES - errorHandler:eh]; -} - -+ (id)parserWithBlock:(SBJson4ValueBlock)block - allowMultiRoot:(BOOL)allowMultiRoot - unwrapRootArray:(BOOL)unwrapRootArray - errorHandler:(SBJson4ErrorBlock)eh { - - return [[self alloc] initWithBlock:block - processBlock:nil - multiRoot:allowMultiRoot - unwrapRootArray:unwrapRootArray - maxDepth:32 - errorHandler:eh]; -} - -- (id)initWithBlock:(SBJson4ValueBlock)block - processBlock:(SBJson4ProcessBlock)initialProcessBlock - multiRoot:(BOOL)multiRoot - unwrapRootArray:(BOOL)unwrapRootArray - maxDepth:(NSUInteger)maxDepth - errorHandler:(SBJson4ErrorBlock)eh { - - self = [super init]; - if (self) { - _parser = [[SBJson4StreamParser alloc] init]; - _parser.delegate = self; - - supportManyDocuments = multiRoot; - supportPartialDocuments = unwrapRootArray; - - valueBlock = block; - keyStack = [[NSMutableArray alloc] initWithCapacity:32]; - stack = [[NSMutableArray alloc] initWithCapacity:32]; - if (initialProcessBlock) - path = [[NSMutableArray alloc] initWithCapacity:32]; - processBlock = initialProcessBlock; - errorHandler = eh ? eh : ^(NSError*err) { NSLog(@"%@", err); }; - currentType = SBJson4ChunkNone; - _maxDepth = maxDepth; - } - return self; -} - - -#pragma mark Private methods - -- (void)pop { - [stack removeLastObject]; - array = nil; - dict = nil; - currentType = SBJson4ChunkNone; - - id value = [stack lastObject]; - - if ([value isKindOfClass:[NSArray class]]) { - array = value; - currentType = SBJson4ChunkArray; - } else if ([value isKindOfClass:[NSDictionary class]]) { - dict = value; - currentType = SBJson4ChunkObject; - } -} - -- (void)parser:(SBJson4StreamParser *)parser found:(id)obj { - [self parserFound:obj isValue:NO ]; -} - -- (void)parserFound:(id)obj isValue:(BOOL)isValue { - NSParameterAssert(obj); - - if(processBlock&&path) { - if(isValue) { - obj = processBlock(obj,[NSString stringWithFormat:@"%@.%@",[self pathString],[keyStack lastObject]]); - } - else { - [path removeLastObject]; - } - } - - switch (currentType) { - case SBJson4ChunkArray: - [array addObject:obj]; - break; - - case SBJson4ChunkObject: - NSParameterAssert(keyStack.count); - [dict setObject:obj forKey:[keyStack lastObject]]; - [keyStack removeLastObject]; - break; - - case SBJson4ChunkNone: { - __block BOOL stop = NO; - valueBlock(obj, &stop); - if (stop) [_parser stop]; - } - break; - - default: - break; - } -} - - -#pragma mark Delegate methods - -- (void)parserFoundObjectStart { - ++depth; - if (depth > _maxDepth) - [self maxDepthError]; - - if (path) - [self addToPath]; - dict = [NSMutableDictionary new]; - [stack addObject:dict]; - currentType = SBJson4ChunkObject; -} - -- (void)parserFoundObjectKey:(NSString *)key_ { - [keyStack addObject:key_]; -} - -- (void)parserFoundObjectEnd { - depth--; - id value = dict; - [self pop]; - [self parser:_parser found:value]; -} - -- (void)parserFoundArrayStart { - depth++; - if (depth > _maxDepth) - [self maxDepthError]; - - if (depth > 1 || !supportPartialDocuments) { - if(path) - [self addToPath]; - array = [NSMutableArray new]; - [stack addObject:array]; - currentType = SBJson4ChunkArray; - } -} - -- (void)parserFoundArrayEnd { - depth--; - if (depth > 1 || !supportPartialDocuments) { - id value = array; - [self pop]; - [self parser:_parser found:value]; - } -} - -- (void)maxDepthError { - id ui = @{ NSLocalizedDescriptionKey: [NSString stringWithFormat:@"Input depth exceeds max depth of %lu", (unsigned long)_maxDepth]}; - errorHandler([NSError errorWithDomain:@"org.sbjson.parser" code:3 userInfo:ui]); - [_parser stop]; -} - -- (void)parserFoundBoolean:(BOOL)x { - [self parserFound:[NSNumber numberWithBool:x] isValue:YES ]; -} - -- (void)parserFoundNull { - [self parserFound:[NSNull null] isValue:YES ]; -} - -- (void)parserFoundNumber:(NSNumber *)num { - [self parserFound:num isValue:YES ]; -} - -- (void)parserFoundString:(NSString *)string { - [self parserFound:string isValue:YES ]; -} - -- (void)parserFoundError:(NSError *)err { - errorHandler(err); -} - -- (void)addToPath { - if([path count]==0) - [path addObject:@"$"]; - else if([[stack lastObject] isKindOfClass:[NSArray class]]) - [path addObject:@([[stack lastObject] count])]; - else - [path addObject:[keyStack lastObject]]; -} - -- (NSString *)pathString { - NSMutableString *pathString = [NSMutableString stringWithString:@"$"]; - for(NSUInteger i=1;i<[path count];i++) { - if([[path objectAtIndex:i] isKindOfClass:[NSNumber class]]) - [pathString appendString:[NSString stringWithFormat:@"[%@]",[path objectAtIndex:i]]]; - else - [pathString appendString:[NSString stringWithFormat:@".%@",[path objectAtIndex:i]]]; - } - return pathString; -} - -- (BOOL)parserShouldSupportManyDocuments { - return supportManyDocuments; -} - -- (SBJson4ParserStatus)parse:(NSData *)data { - return [_parser parse:data]; -} - -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamParser.h b/Pods/SBJson/src/main/objc/SBJson4StreamParser.h deleted file mode 100644 index 6c9ab8b..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamParser.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - Copyright (c) 2010-2013, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import - -@class SBJson4StreamParser; -@class SBJson4StreamParserState; - -typedef enum { - SBJson4ParserComplete, - SBJson4ParserStopped, - SBJson4ParserWaitingForData, - SBJson4ParserError, -} SBJson4ParserStatus; - - -/** - Delegate for interacting directly with the low-level parser - - You will most likely find it much more convenient to use the SBJson4Parser instead. - */ -@protocol SBJson4StreamParserDelegate < NSObject > - -/// Called when object start is found -- (void)parserFoundObjectStart; - -/// Called when object key is found -- (void)parserFoundObjectKey:(NSString *)key; - -/// Called when object end is found -- (void)parserFoundObjectEnd; - -/// Called when array start is found -- (void)parserFoundArrayStart; - -/// Called when array end is found -- (void)parserFoundArrayEnd; - -/// Called when a boolean value is found -- (void)parserFoundBoolean:(BOOL)x; - -/// Called when a null value is found -- (void)parserFoundNull; - -/// Called when a number is found -- (void)parserFoundNumber:(NSNumber *)num; - -/// Called when a string is found -- (void)parserFoundString:(NSString *)string; - -/// Called when an error occurs -- (void)parserFoundError:(NSError *)err; - -@optional - -/// Called to determine whether to allow multiple whitespace-separated documents -- (BOOL)parserShouldSupportManyDocuments; - -@end - -/** - Low-level Stream parser - - You most likely want to use the SBJson4Parser instead, but if you - really need low-level access to tokens one-by-one you can use this class. - */ -@interface SBJson4StreamParser : NSObject - -@property (nonatomic, weak) SBJson4StreamParserState *state; // Private -@property (nonatomic, readonly, strong) NSMutableArray *stateStack; // Private - -/** - Delegate to receive messages - - The object set here receives a series of messages as the parser breaks down the JSON stream - into valid tokens. - - Usually this should be an instance of SBJson4Parser, but you can - substitute your own implementation of the SBJson4StreamParserDelegate protocol if you need to. - */ -@property (nonatomic, weak) id delegate; - -/** - Parse some JSON - - The JSON is assumed to be UTF8 encoded. This can be a full JSON document, or a part of one. - - @param data An NSData object containing the next chunk of JSON - - @return - - SBJson4ParserComplete if a full document was found - - SBJson4ParserWaitingForData if a partial document was found and more data is required to complete it - - SBJson4ParserError if an error occured. - - */ -- (SBJson4ParserStatus)parse:(NSData*)data; - -/** - Call this to cause parsing to stop. - */ -- (void)stop; - -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamParser.m b/Pods/SBJson/src/main/objc/SBJson4StreamParser.m deleted file mode 100644 index 59b66e1..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamParser.m +++ /dev/null @@ -1,327 +0,0 @@ -/* - Copyright (c) 2010, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if !__has_feature(objc_arc) -#error "This source file must be compiled with ARC enabled!" -#endif - -#import "SBJson4StreamParser.h" -#import "SBJson4StreamTokeniser.h" -#import "SBJson4StreamParserState.h" - -#define SBStringIsSurrogateHighCharacter(character) ((character >= 0xD800UL) && (character <= 0xDBFFUL)) - -@implementation SBJson4StreamParser { - SBJson4StreamTokeniser *tokeniser; - BOOL stopped; -} - -#pragma mark Housekeeping - -- (id)init { - self = [super init]; - if (self) { - _stateStack = [[NSMutableArray alloc] initWithCapacity:32]; - _state = [SBJson4StreamParserStateStart sharedInstance]; - tokeniser = [[SBJson4StreamTokeniser alloc] init]; - } - return self; -} - - -#pragma mark Methods - -- (NSString*)tokenName:(sbjson4_token_t)token { - switch (token) { - case sbjson4_token_array_open: - return @"start of array"; - break; - - case sbjson4_token_array_close: - return @"end of array"; - break; - - case sbjson4_token_integer: - case sbjson4_token_real: - return @"number"; - break; - - case sbjson4_token_string: - case sbjson4_token_encoded: - return @"string"; - break; - - case sbjson4_token_bool: - return @"boolean"; - break; - - case sbjson4_token_null: - return @"null"; - break; - - case sbjson4_token_entry_sep: - return @"key-value separator"; - break; - - case sbjson4_token_value_sep: - return @"value separator"; - break; - - case sbjson4_token_object_open: - return @"start of object"; - break; - - case sbjson4_token_object_close: - return @"end of object"; - break; - - case sbjson4_token_eof: - case sbjson4_token_error: - break; - } - NSAssert(NO, @"Should not get here"); - return @""; -} - -- (void)handleObjectStart { - [_delegate parserFoundObjectStart]; - [_stateStack addObject:_state]; - _state = [SBJson4StreamParserStateObjectStart sharedInstance]; -} - -- (void)handleObjectEnd: (sbjson4_token_t) tok { - _state = [_stateStack lastObject]; - [_stateStack removeLastObject]; - [_state parser:self shouldTransitionTo:tok]; - [_delegate parserFoundObjectEnd]; -} - -- (void)handleArrayStart { - [_delegate parserFoundArrayStart]; - [_stateStack addObject:_state]; - _state = [SBJson4StreamParserStateArrayStart sharedInstance]; -} - -- (void)handleArrayEnd: (sbjson4_token_t) tok { - _state = [_stateStack lastObject]; - [_stateStack removeLastObject]; - [_state parser:self shouldTransitionTo:tok]; - [_delegate parserFoundArrayEnd]; -} - -- (void) handleTokenNotExpectedHere: (sbjson4_token_t) tok { - NSString *tokenName = [self tokenName:tok]; - NSString *stateName = [_state name]; - - _state = [SBJson4StreamParserStateError sharedInstance]; - id ui = @{ NSLocalizedDescriptionKey : [NSString stringWithFormat:@"Token '%@' not expected %@", tokenName, stateName]}; - [_delegate parserFoundError:[NSError errorWithDomain:@"org.sbjson.parser" code:2 userInfo:ui]]; -} - -- (SBJson4ParserStatus)parse:(NSData *)data_ { - @autoreleasepool { - [tokeniser appendData:data_]; - - for (;;) { - - if (stopped) - return SBJson4ParserStopped; - - if ([_state isError]) - return SBJson4ParserError; - - char *token; - NSUInteger token_len; - sbjson4_token_t tok = [tokeniser getToken:&token length:&token_len]; - - switch (tok) { - case sbjson4_token_eof: - return [_state parserShouldReturn:self]; - break; - - case sbjson4_token_error: - _state = [SBJson4StreamParserStateError sharedInstance]; - [_delegate parserFoundError:[NSError errorWithDomain:@"org.sbjson.parser" code:3 - userInfo:@{NSLocalizedDescriptionKey : tokeniser.error}]]; - return SBJson4ParserError; - break; - - default: - - if (![_state parser:self shouldAcceptToken:tok]) { - [self handleTokenNotExpectedHere: tok]; - return SBJson4ParserError; - } - - switch (tok) { - case sbjson4_token_object_open: - [self handleObjectStart]; - break; - - case sbjson4_token_object_close: - [self handleObjectEnd: tok]; - break; - - case sbjson4_token_array_open: - [self handleArrayStart]; - break; - - case sbjson4_token_array_close: - [self handleArrayEnd: tok]; - break; - - case sbjson4_token_value_sep: - case sbjson4_token_entry_sep: - [_state parser:self shouldTransitionTo:tok]; - break; - - case sbjson4_token_bool: - [_delegate parserFoundBoolean:token[0] == 't']; - [_state parser:self shouldTransitionTo:tok]; - break; - - - case sbjson4_token_null: - [_delegate parserFoundNull]; - [_state parser:self shouldTransitionTo:tok]; - break; - - case sbjson4_token_integer: { - const int UNSIGNED_LONG_LONG_MAX_DIGITS = 20; - if (token_len <= UNSIGNED_LONG_LONG_MAX_DIGITS) { - if (*token == '-') - [_delegate parserFoundNumber:@(strtoll(token, NULL, 10))]; - else - [_delegate parserFoundNumber:@(strtoull(token, NULL, 10))]; - - [_state parser:self shouldTransitionTo:tok]; - break; - } - } - // FALLTHROUGH - - case sbjson4_token_real: { - [_delegate parserFoundNumber:@(strtod(token, NULL))]; - [_state parser:self shouldTransitionTo:tok]; - break; - } - - case sbjson4_token_string: { - NSString *string = [[NSString alloc] initWithBytes:token length:token_len encoding:NSUTF8StringEncoding]; - if ([_state needKey]) - [_delegate parserFoundObjectKey:string]; - else - [_delegate parserFoundString:string]; - [_state parser:self shouldTransitionTo:tok]; - break; - } - - case sbjson4_token_encoded: { - NSString *string = [self decodeStringToken:token length:token_len]; - if ([_state needKey]) - [_delegate parserFoundObjectKey:string]; - else - [_delegate parserFoundString:string]; - [_state parser:self shouldTransitionTo:tok]; - break; - } - - default: - break; - } - break; - } - } - return SBJson4ParserComplete; - } -} - -- (unichar)decodeHexQuad:(char *)quad { - unichar ch = 0; - for (NSUInteger i = 0; i < 4; i++) { - int c = quad[i]; - ch *= 16; - switch (c) { - case '0' ... '9': ch += c - '0'; break; - case 'a' ... 'f': ch += 10 + c - 'a'; break; - case 'A' ... 'F': ch += 10 + c - 'A'; break; - default: @throw @"FUT FUT FUT"; - } - } - return ch; -} - -- (NSString*)decodeStringToken:(char*)bytes length:(NSUInteger)len { - NSMutableData *buf = [NSMutableData dataWithCapacity:len]; - for (NSUInteger i = 0; i < len;) { - switch ((unsigned char)bytes[i]) { - case '\\': { - switch ((unsigned char)bytes[++i]) { - case '"': [buf appendBytes:"\"" length:1]; i++; break; - case '/': [buf appendBytes:"/" length:1]; i++; break; - case '\\': [buf appendBytes:"\\" length:1]; i++; break; - case 'b': [buf appendBytes:"\b" length:1]; i++; break; - case 'f': [buf appendBytes:"\f" length:1]; i++; break; - case 'n': [buf appendBytes:"\n" length:1]; i++; break; - case 'r': [buf appendBytes:"\r" length:1]; i++; break; - case 't': [buf appendBytes:"\t" length:1]; i++; break; - case 'u': { - unichar hi = [self decodeHexQuad:bytes + i + 1]; - i += 5; - if (SBStringIsSurrogateHighCharacter(hi)) { - // Skip past \u that we know is there.. - unichar lo = [self decodeHexQuad:bytes + i + 2]; - i += 6; - [buf appendData:[[NSString stringWithFormat:@"%C%C", hi, lo] dataUsingEncoding:NSUTF8StringEncoding]]; - } else { - [buf appendData:[[NSString stringWithFormat:@"%C", hi] dataUsingEncoding:NSUTF8StringEncoding]]; - } - break; - } - default: @throw @"FUT FUT FUT"; - } - break; - } - default: - [buf appendBytes:bytes + i length:1]; - i++; - break; - } - } - return [[NSString alloc] initWithData:buf encoding:NSUTF8StringEncoding]; -} - -- (void)stop { - stopped = YES; -} - -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamParserState.h b/Pods/SBJson/src/main/objc/SBJson4StreamParserState.h deleted file mode 100644 index d602fcd..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamParserState.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - Copyright (c) 2010, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import - -#import "SBJson4StreamTokeniser.h" -#import "SBJson4StreamParser.h" - -@interface SBJson4StreamParserState : NSObject -+ (id)sharedInstance; - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token; -- (SBJson4ParserStatus)parserShouldReturn:(SBJson4StreamParser *)parser; -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok; -- (BOOL)needKey; -- (BOOL)isError; - -- (NSString*)name; - -@end - -@interface SBJson4StreamParserStateStart : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateComplete : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateError : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateObjectStart : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateObjectGotKey : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateObjectSeparator : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateObjectGotValue : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateObjectNeedKey : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateArrayStart : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateArrayGotValue : SBJson4StreamParserState -@end - -@interface SBJson4StreamParserStateArrayNeedValue : SBJson4StreamParserState -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamParserState.m b/Pods/SBJson/src/main/objc/SBJson4StreamParserState.m deleted file mode 100644 index d791e54..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamParserState.m +++ /dev/null @@ -1,364 +0,0 @@ -/* - Copyright (c) 2010-2013, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if !__has_feature(objc_arc) -#error "This source file must be compiled with ARC enabled!" -#endif - -#import "SBJson4StreamParserState.h" - -#define SINGLETON \ -+ (id)sharedInstance { \ - static id state = nil; \ - if (!state) { \ - @synchronized(self) { \ - if (!state) state = [[self alloc] init]; \ - } \ - } \ - return state; \ -} - -@implementation SBJson4StreamParserState - -+ (id)sharedInstance { return nil; } - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - return NO; -} - -- (SBJson4ParserStatus)parserShouldReturn:(SBJson4StreamParser *)parser { - return SBJson4ParserWaitingForData; -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok {} - -- (BOOL)needKey { - return NO; -} - -- (NSString*)name { - return @""; -} - -- (BOOL)isError { - return NO; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateStart - -SINGLETON - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - return token == sbjson4_token_array_open || token == sbjson4_token_object_open; -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - - SBJson4StreamParserState *state = nil; - switch (tok) { - case sbjson4_token_array_open: - state = [SBJson4StreamParserStateArrayStart sharedInstance]; - break; - - case sbjson4_token_object_open: - state = [SBJson4StreamParserStateObjectStart sharedInstance]; - break; - - case sbjson4_token_array_close: - case sbjson4_token_object_close: - if ([parser.delegate respondsToSelector:@selector(parserShouldSupportManyDocuments)] && [parser.delegate parserShouldSupportManyDocuments]) - state = parser.state; - else - state = [SBJson4StreamParserStateComplete sharedInstance]; - break; - - case sbjson4_token_eof: - return; - - default: - state = [SBJson4StreamParserStateError sharedInstance]; - break; - } - - - parser.state = state; -} - -- (NSString*)name { return @"before outer-most array or object"; } - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateComplete - -SINGLETON - -- (NSString*)name { return @"after outer-most array or object"; } - -- (SBJson4ParserStatus)parserShouldReturn:(SBJson4StreamParser *)parser { - return SBJson4ParserComplete; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateError - -SINGLETON - -- (NSString*)name { return @"in error"; } - -- (SBJson4ParserStatus)parserShouldReturn:(SBJson4StreamParser *)parser { - return SBJson4ParserError; -} - -- (BOOL)isError { - return YES; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateObjectStart - -SINGLETON - -- (NSString*)name { return @"at beginning of object"; } - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - switch (token) { - case sbjson4_token_object_close: - case sbjson4_token_string: - case sbjson4_token_encoded: - return YES; - break; - default: - return NO; - break; - } -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - parser.state = [SBJson4StreamParserStateObjectGotKey sharedInstance]; -} - -- (BOOL)needKey { - return YES; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateObjectGotKey - -SINGLETON - -- (NSString*)name { return @"after object key"; } - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - return token == sbjson4_token_entry_sep; -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - parser.state = [SBJson4StreamParserStateObjectSeparator sharedInstance]; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateObjectSeparator - -SINGLETON - -- (NSString*)name { return @"as object value"; } - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - switch (token) { - case sbjson4_token_object_open: - case sbjson4_token_array_open: - case sbjson4_token_bool: - case sbjson4_token_null: - case sbjson4_token_integer: - case sbjson4_token_real: - case sbjson4_token_string: - case sbjson4_token_encoded: - return YES; - break; - - default: - return NO; - break; - } -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - parser.state = [SBJson4StreamParserStateObjectGotValue sharedInstance]; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateObjectGotValue - -SINGLETON - -- (NSString*)name { return @"after object value"; } - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - switch (token) { - case sbjson4_token_object_close: - case sbjson4_token_value_sep: - return YES; - break; - default: - return NO; - break; - } -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - parser.state = [SBJson4StreamParserStateObjectNeedKey sharedInstance]; -} - - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateObjectNeedKey - -SINGLETON - -- (NSString*)name { return @"in place of object key"; } - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - return sbjson4_token_string == token || sbjson4_token_encoded == token; -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - parser.state = [SBJson4StreamParserStateObjectGotKey sharedInstance]; -} - -- (BOOL)needKey { - return YES; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateArrayStart - -SINGLETON - -- (NSString*)name { return @"at array start"; } - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - switch (token) { - case sbjson4_token_object_close: - case sbjson4_token_entry_sep: - case sbjson4_token_value_sep: - return NO; - break; - - default: - return YES; - break; - } -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - parser.state = [SBJson4StreamParserStateArrayGotValue sharedInstance]; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateArrayGotValue - -SINGLETON - -- (NSString*)name { return @"after array value"; } - - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - return token == sbjson4_token_array_close || token == sbjson4_token_value_sep; -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - if (tok == sbjson4_token_value_sep) - parser.state = [SBJson4StreamParserStateArrayNeedValue sharedInstance]; -} - -@end - -#pragma mark - - -@implementation SBJson4StreamParserStateArrayNeedValue - -SINGLETON - -- (NSString*)name { return @"as array value"; } - - -- (BOOL)parser:(SBJson4StreamParser *)parser shouldAcceptToken:(sbjson4_token_t)token { - switch (token) { - case sbjson4_token_array_close: - case sbjson4_token_entry_sep: - case sbjson4_token_object_close: - case sbjson4_token_value_sep: - return NO; - break; - - default: - return YES; - break; - } -} - -- (void)parser:(SBJson4StreamParser *)parser shouldTransitionTo:(sbjson4_token_t)tok { - parser.state = [SBJson4StreamParserStateArrayGotValue sharedInstance]; -} - -@end - diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamTokeniser.h b/Pods/SBJson/src/main/objc/SBJson4StreamTokeniser.h deleted file mode 100644 index 518b0f2..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamTokeniser.h +++ /dev/null @@ -1,40 +0,0 @@ -// -// Created by SuperPappi on 09/01/2013. -// -// To change the template use AppCode | Preferences | File Templates. -// - -#import - -typedef enum { - sbjson4_token_error = -1, - sbjson4_token_eof, - - sbjson4_token_array_open, - sbjson4_token_array_close, - sbjson4_token_value_sep, - - sbjson4_token_object_open, - sbjson4_token_object_close, - sbjson4_token_entry_sep, - - sbjson4_token_bool, - sbjson4_token_null, - - sbjson4_token_integer, - sbjson4_token_real, - - sbjson4_token_string, - sbjson4_token_encoded, -} sbjson4_token_t; - - -@interface SBJson4StreamTokeniser : NSObject - -@property (nonatomic, readonly, copy) NSString *error; - -- (void)appendData:(NSData*)data_; -- (sbjson4_token_t)getToken:(char**)tok length:(NSUInteger*)len; - -@end - diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamTokeniser.m b/Pods/SBJson/src/main/objc/SBJson4StreamTokeniser.m deleted file mode 100644 index e9fee37..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamTokeniser.m +++ /dev/null @@ -1,397 +0,0 @@ -// -// Created by SuperPappi on 09/01/2013. -// -// To change the template use AppCode | Preferences | File Templates. -// - - -#import "SBJson4StreamTokeniser.h" - -#define SBStringIsIllegalSurrogateHighCharacter(character) (((character) >= 0xD800UL) && ((character) <= 0xDFFFUL)) -#define SBStringIsSurrogateLowCharacter(character) ((character >= 0xDC00UL) && (character <= 0xDFFFUL)) -#define SBStringIsSurrogateHighCharacter(character) ((character >= 0xD800UL) && (character <= 0xDBFFUL)) - -@implementation SBJson4StreamTokeniser { - NSMutableData *data; - const char *bytes; - NSUInteger index; - NSUInteger offset; -} - -- (void)setError:(NSString *)error { - _error = [NSString stringWithFormat:@"%@ at index %lu", error, (unsigned long)(offset + index)]; -} - -- (void)appendData:(NSData *)data_ { - if (!data) { - data = [data_ mutableCopy]; - - } else if (index) { - // Discard data we've already parsed - [data replaceBytesInRange:NSMakeRange(0, index) withBytes:"" length:0]; - [data appendData:data_]; - - // Add to the offset for reporting - offset += index; - - // Reset index to point to current position - index = 0u; - - } - else { - [data appendData:data_]; - } - - bytes = [data bytes]; -} - -- (void)skipWhitespace { - while (index < data.length) { - switch (bytes[index]) { - case ' ': - case '\t': - case '\r': - case '\n': - index++; - break; - default: - return; - } - } -} - -- (BOOL)getUnichar:(unichar *)ch { - if ([self haveRemainingCharacters:1]) { - *ch = (unichar) bytes[index]; - return YES; - } - return NO; -} - -- (BOOL)haveOneMoreCharacter { - return [self haveRemainingCharacters:1]; -} - -- (BOOL)haveRemainingCharacters:(NSUInteger)length { - return data.length - index >= length; -} - -- (sbjson4_token_t)match:(char *)str retval:(sbjson4_token_t)tok token:(char **)token length:(NSUInteger *)length { - NSUInteger len = strlen(str); - if ([self haveRemainingCharacters:len]) { - if (!memcmp(bytes + index, str, len)) { - *token = str; - *length = len; - index += len; - return tok; - } - [self setError: [NSString stringWithFormat:@"Expected '%s' after initial '%.1s'", str, str]]; - return sbjson4_token_error; - } - - return sbjson4_token_eof; -} - -- (BOOL)decodeHexQuad:(unichar*)quad { - unichar tmp = 0; - - for (int i = 0; i < 4; i++, index++) { - unichar c = bytes[index]; - tmp *= 16; - switch (c) { - case '0' ... '9': - tmp += c - '0'; - break; - - case 'a' ... 'f': - tmp += 10 + c - 'a'; - break; - - case 'A' ... 'F': - tmp += 10 + c - 'A'; - break; - - default: - return NO; - } - } - *quad = tmp; - return YES; -} - -- (sbjson4_token_t)getStringToken:(char **)token length:(NSUInteger *)length { - - // Skip initial " - index++; - - NSUInteger string_start = index; - sbjson4_token_t tok = sbjson4_token_string; - - for (;;) { - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - - switch (bytes[index]) { - case 0 ... 0x1F: - [self setError:[NSString stringWithFormat:@"Unescaped control character [0x%0.2X] in string", bytes[index]]]; - return sbjson4_token_error; - - case '"': - *token = (char *)(bytes + string_start); - *length = index - string_start; - index++; - return tok; - - case '\\': - tok = sbjson4_token_encoded; - index++; - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - - if (bytes[index] == 'u') { - index++; - if (![self haveRemainingCharacters:4]) - return sbjson4_token_eof; - - unichar hi; - if (![self decodeHexQuad:&hi]) { - [self setError:@"Invalid hex quad"]; - return sbjson4_token_error; - } - - if (SBStringIsSurrogateHighCharacter(hi)) { - if (![self haveRemainingCharacters:6]) - return sbjson4_token_eof; - - unichar lo; - if (bytes[index++] != '\\' || bytes[index++] != 'u' || ![self decodeHexQuad:&lo]) { - [self setError:@"Missing low character in surrogate pair"]; - return sbjson4_token_error; - } - - if (!SBStringIsSurrogateLowCharacter(lo)) { - [self setError:@"Invalid low character in surrogate pair"]; - return sbjson4_token_error; - } - - } else if (SBStringIsIllegalSurrogateHighCharacter(hi)) { - [self setError:@"Invalid high character in surrogate pair"]; - return sbjson4_token_error; - - } - - - } else { - switch (bytes[index]) { - case '\\': - case '/': - case '"': - case 'b': - case 'n': - case 'r': - case 't': - case 'f': - index++; - break; - - default: - [self setError:[NSString stringWithFormat:@"Illegal escape character [%x]", bytes[index]]]; - return sbjson4_token_error; - } - } - - break; - - default: - index++; - break; - } - } - - @throw @"FUT FUT FUT"; -} - -- (sbjson4_token_t)getNumberToken:(char **)token length:(NSUInteger *)length { - NSUInteger num_start = index; - if (bytes[index] == '-') { - index++; - - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - } - - sbjson4_token_t tok = sbjson4_token_integer; - if (bytes[index] == '0') { - index++; - - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - - if (isdigit(bytes[index])) { - [self setError:@"Leading zero is illegal in number"]; - return sbjson4_token_error; - } - } - - while (isdigit(bytes[index])) { - index++; - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - } - - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - - - if (bytes[index] == '.') { - index++; - tok = sbjson4_token_real; - - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - - NSUInteger frac_start = index; - while (isdigit(bytes[index])) { - index++; - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - } - - if (frac_start == index) { - [self setError:@"No digits after decimal point"]; - return sbjson4_token_error; - } - } - - if (bytes[index] == 'e' || bytes[index] == 'E') { - index++; - tok = sbjson4_token_real; - - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - - if (bytes[index] == '-' || bytes[index] == '+') { - index++; - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - } - - NSUInteger exp_start = index; - while (isdigit(bytes[index])) { - index++; - if (![self haveOneMoreCharacter]) - return sbjson4_token_eof; - } - - if (exp_start == index) { - [self setError:@"No digits in exponent"]; - return sbjson4_token_error; - } - - } - - if (num_start + 1 == index && bytes[num_start] == '-') { - [self setError:@"No digits after initial minus"]; - return sbjson4_token_error; - } - - *token = (char *)(bytes + num_start); - *length = index - num_start; - return tok; -} - - -- (sbjson4_token_t)getToken:(char **)token length:(NSUInteger *)length { - [self skipWhitespace]; - NSUInteger copyOfIndex = index; - - unichar ch; - if (![self getUnichar:&ch]) - return sbjson4_token_eof; - - sbjson4_token_t tok; - switch (ch) { - case '{': { - index++; - tok = sbjson4_token_object_open; - break; - } - case '}': { - index++; - tok = sbjson4_token_object_close; - break; - - } - case '[': { - index++; - tok = sbjson4_token_array_open; - break; - - } - case ']': { - index++; - tok = sbjson4_token_array_close; - break; - - } - case 't': { - tok = [self match:"true" retval:sbjson4_token_bool token:token length:length]; - break; - - } - case 'f': { - tok = [self match:"false" retval:sbjson4_token_bool token:token length:length]; - break; - - } - case 'n': { - tok = [self match:"null" retval:sbjson4_token_null token:token length:length]; - break; - - } - case ',': { - index++; - tok = sbjson4_token_value_sep; - break; - - } - case ':': { - index++; - tok = sbjson4_token_entry_sep; - break; - - } - case '"': { - tok = [self getStringToken:token length:length]; - break; - - } - case '-': - case '0' ... '9': { - tok = [self getNumberToken:token length:length]; - break; - - } - case '+': { - self.error = @"Leading + is illegal in number"; - tok = sbjson4_token_error; - break; - - } - default: { - self.error = [NSString stringWithFormat:@"Illegal start of token [%c]", ch]; - tok = sbjson4_token_error; - break; - } - } - - if (tok == sbjson4_token_eof) { - // We ran out of bytes before we could finish parsing the current token. - // Back up to the start & wait for more data. - index = copyOfIndex; - } - - return tok; -} - -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamWriter.h b/Pods/SBJson/src/main/objc/SBJson4StreamWriter.h deleted file mode 100644 index 65e5410..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamWriter.h +++ /dev/null @@ -1,210 +0,0 @@ -/* - Copyright (c) 2010, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import - -/// Enable JSON writing for non-native objects -@interface NSObject (SBProxyForJson) - -/** - Allows generation of JSON for otherwise unsupported classes. - - If you have a custom class that you want to create a JSON representation - for you can implement this method in your class. It should return a - representation of your object defined in terms of objects that can be - translated into JSON. For example, a Person object might implement it like this: - - - (id)proxyForJson { - return [NSDictionary dictionaryWithObjectsAndKeys: - name, @"name", - phone, @"phone", - email, @"email", - nil]; - } - - */ -- (id)proxyForJson; - -@end - -@class SBJson4StreamWriter; - -@protocol SBJson4StreamWriterDelegate - -- (void)writer:(SBJson4StreamWriter *)writer appendBytes:(const void *)bytes length:(NSUInteger)length; - -@end - -@class SBJson4StreamWriterState; - -/** - The Stream Writer class. - - Accepts a stream of messages and writes JSON of these to its delegate object. - - This class provides a range of high-, mid- and low-level methods. You can mix - and match calls to these. For example, you may want to call -writeArrayOpen - to start an array and then repeatedly call -writeObject: with various objects - before finishing off with a -writeArrayClose call. - - Objective-C types are mapped to JSON types in the following way: - - - NSNull -> null - - NSString -> string - - NSArray -> array - - NSDictionary -> object - - NSNumber's -initWithBool:YES -> true - - NSNumber's -initWithBool:NO -> false - - NSNumber -> number - - NSNumber instances created with the -numberWithBool: method are - converted into the JSON boolean "true" and "false" values, and vice - versa. Any other NSNumber instances are converted to a JSON number the - way you would expect. - - @warning: In JSON the keys of an object must be strings. NSDictionary - keys need not be, but attempting to convert an NSDictionary with - non-string keys into JSON will throw an exception.* - - */ - -@interface SBJson4StreamWriter : NSObject { - NSMutableDictionary *cache; -} - -@property (nonatomic, weak) SBJson4StreamWriterState *state; // Internal -@property (nonatomic, readonly, strong) NSMutableArray *stateStack; // Internal - -/** - delegate to receive JSON output - Delegate that will receive messages with output. - */ -@property (nonatomic, weak) id delegate; - -/** - The maximum recursing depth. - - Defaults to 512. If the input is nested deeper than this the input will be deemed to be - malicious and the parser returns nil, signalling an error. ("Nested too deep".) You can - turn off this security feature by setting the maxDepth value to 0. - */ -@property(nonatomic) NSUInteger maxDepth; - -/** - Whether we are generating human-readable (multiline) JSON. - - Set whether or not to generate human-readable JSON. The default is NO, which produces - JSON without any whitespace between tokens. If set to YES, generates human-readable - JSON with linebreaks after each array value and dictionary key/value pair, indented two - spaces per nesting level. - */ -@property(nonatomic) BOOL humanReadable; - -/** - Whether or not to sort the dictionary keys in the output. - - If this is set to YES, the dictionary keys in the JSON output will be in sorted order. - (This is useful if you need to compare two structures, for example.) The default is NO. - */ -@property(nonatomic) BOOL sortKeys; - -/** - An optional comparator to be used if sortKeys is YES. - - If this is nil, sorting will be done via @selector(compare:). - */ -@property (nonatomic, copy) NSComparator sortKeysComparator; - -/// Contains the error description after an error has occured. -@property (nonatomic, copy) NSString *error; - -/** - Write an NSDictionary to the JSON stream. - @return YES if successful, or NO on failure - */ -- (BOOL)writeObject:(NSDictionary*)dict; - -/** - Write an NSArray to the JSON stream. - @return YES if successful, or NO on failure - */ -- (BOOL)writeArray:(NSArray *)array; - -/** - Start writing an Object to the stream - @return YES if successful, or NO on failure -*/ -- (BOOL)writeObjectOpen; - -/** - Close the current object being written - @return YES if successful, or NO on failure -*/ -- (BOOL)writeObjectClose; - -/** Start writing an Array to the stream - @return YES if successful, or NO on failure -*/ -- (BOOL)writeArrayOpen; - -/** Close the current Array being written - @return YES if successful, or NO on failure -*/ -- (BOOL)writeArrayClose; - -/** Write a null to the stream - @return YES if successful, or NO on failure -*/ -- (BOOL)writeNull; - -/** Write a boolean to the stream - @return YES if successful, or NO on failure -*/ -- (BOOL)writeBool:(BOOL)x; - -/** Write a Number to the stream - @return YES if successful, or NO on failure -*/ -- (BOOL)writeNumber:(NSNumber*)n; - -/** Write a String to the stream - @return YES if successful, or NO on failure -*/ -- (BOOL)writeString:(NSString*)s; - -@end - -@interface SBJson4StreamWriter (Private) -- (BOOL)writeValue:(id)v; -- (void)appendBytes:(const void *)bytes length:(NSUInteger)length; -@end - diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamWriter.m b/Pods/SBJson/src/main/objc/SBJson4StreamWriter.m deleted file mode 100644 index 6cbc520..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamWriter.m +++ /dev/null @@ -1,357 +0,0 @@ -/* - Copyright (c) 2010, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if !__has_feature(objc_arc) -#error "This source file must be compiled with ARC enabled!" -#endif - -#import "SBJson4StreamWriter.h" -#import "SBJson4StreamWriterState.h" - -static NSNumber *kTrue; -static NSNumber *kFalse; -static NSNumber *kPositiveInfinity; -static NSNumber *kNegativeInfinity; - - -@implementation SBJson4StreamWriter - -+ (void)initialize { - kPositiveInfinity = [NSNumber numberWithDouble:+HUGE_VAL]; - kNegativeInfinity = [NSNumber numberWithDouble:-HUGE_VAL]; - kTrue = [NSNumber numberWithBool:YES]; - kFalse = [NSNumber numberWithBool:NO]; -} - -#pragma mark Housekeeping - -- (id)init { - self = [super init]; - if (self) { - _maxDepth = 32u; - _stateStack = [[NSMutableArray alloc] initWithCapacity:_maxDepth]; - _state = [SBJson4StreamWriterStateStart sharedInstance]; - cache = [[NSMutableDictionary alloc] initWithCapacity:32]; - } - return self; -} - -#pragma mark Methods - -- (void)appendBytes:(const void *)bytes length:(NSUInteger)length { - [_delegate writer:self appendBytes:bytes length:length]; -} - -- (BOOL)writeObject:(NSDictionary *)dict { - if (![self writeObjectOpen]) - return NO; - - NSArray *keys = [dict allKeys]; - - if (_sortKeys) { - if (_sortKeysComparator) { - keys = [keys sortedArrayWithOptions:NSSortStable usingComparator:_sortKeysComparator]; - } - else{ - keys = [keys sortedArrayUsingSelector:@selector(compare:)]; - } - } - - for (id k in keys) { - if (![k isKindOfClass:[NSString class]]) { - self.error = [NSString stringWithFormat:@"JSON object key must be string: %@", k]; - return NO; - } - - if (![self writeString:k]) - return NO; - if (![self writeValue:[dict objectForKey:k]]) - return NO; - } - - return [self writeObjectClose]; -} - -- (BOOL)writeArray:(NSArray*)array { - if (![self writeArrayOpen]) - return NO; - for (id v in array) - if (![self writeValue:v]) - return NO; - return [self writeArrayClose]; -} - - -- (BOOL)writeObjectOpen { - if ([_state isInvalidState:self]) return NO; - if ([_state expectingKey:self]) return NO; - [_state appendSeparator:self]; - if (_humanReadable && _stateStack.count) [_state appendWhitespace:self]; - - [_stateStack addObject:_state]; - self.state = [SBJson4StreamWriterStateObjectStart sharedInstance]; - - if (_maxDepth && _stateStack.count > _maxDepth) { - self.error = @"Nested too deep"; - return NO; - } - - [_delegate writer:self appendBytes:"{" length:1]; - return YES; -} - -- (BOOL)writeObjectClose { - if ([_state isInvalidState:self]) return NO; - - SBJson4StreamWriterState *prev = _state; - - self.state = [_stateStack lastObject]; - [_stateStack removeLastObject]; - - if (_humanReadable) [prev appendWhitespace:self]; - [_delegate writer:self appendBytes:"}" length:1]; - - [_state transitionState:self]; - return YES; -} - -- (BOOL)writeArrayOpen { - if ([_state isInvalidState:self]) return NO; - if ([_state expectingKey:self]) return NO; - [_state appendSeparator:self]; - if (_humanReadable && _stateStack.count) [_state appendWhitespace:self]; - - [_stateStack addObject:_state]; - self.state = [SBJson4StreamWriterStateArrayStart sharedInstance]; - - if (_maxDepth && _stateStack.count > _maxDepth) { - self.error = @"Nested too deep"; - return NO; - } - - [_delegate writer:self appendBytes:"[" length:1]; - return YES; -} - -- (BOOL)writeArrayClose { - if ([_state isInvalidState:self]) return NO; - if ([_state expectingKey:self]) return NO; - - SBJson4StreamWriterState *prev = _state; - - self.state = [_stateStack lastObject]; - [_stateStack removeLastObject]; - - if (_humanReadable) [prev appendWhitespace:self]; - [_delegate writer:self appendBytes:"]" length:1]; - - [_state transitionState:self]; - return YES; -} - -- (BOOL)writeNull { - if ([_state isInvalidState:self]) return NO; - if ([_state expectingKey:self]) return NO; - [_state appendSeparator:self]; - if (_humanReadable) [_state appendWhitespace:self]; - - [_delegate writer:self appendBytes:"null" length:4]; - [_state transitionState:self]; - return YES; -} - -- (BOOL)writeBool:(BOOL)x { - if ([_state isInvalidState:self]) return NO; - if ([_state expectingKey:self]) return NO; - [_state appendSeparator:self]; - if (_humanReadable) [_state appendWhitespace:self]; - - if (x) - [_delegate writer:self appendBytes:"true" length:4]; - else - [_delegate writer:self appendBytes:"false" length:5]; - [_state transitionState:self]; - return YES; -} - - -- (BOOL)writeValue:(id)o { - if ([o isKindOfClass:[NSDictionary class]]) { - return [self writeObject:o]; - - } else if ([o isKindOfClass:[NSArray class]]) { - return [self writeArray:o]; - - } else if ([o isKindOfClass:[NSString class]]) { - [self writeString:o]; - return YES; - - } else if ([o isKindOfClass:[NSNumber class]]) { - return [self writeNumber:o]; - - } else if ([o isKindOfClass:[NSNull class]]) { - return [self writeNull]; - - } else if ([o respondsToSelector:@selector(proxyForJson)]) { - return [self writeValue:[o proxyForJson]]; - - } - - self.error = [NSString stringWithFormat:@"JSON serialisation not supported for %@", [o class]]; - return NO; -} - -static const char *strForChar(int c) { - switch (c) { - case 0: return "\\u0000"; break; - case 1: return "\\u0001"; break; - case 2: return "\\u0002"; break; - case 3: return "\\u0003"; break; - case 4: return "\\u0004"; break; - case 5: return "\\u0005"; break; - case 6: return "\\u0006"; break; - case 7: return "\\u0007"; break; - case 8: return "\\b"; break; - case 9: return "\\t"; break; - case 10: return "\\n"; break; - case 11: return "\\u000b"; break; - case 12: return "\\f"; break; - case 13: return "\\r"; break; - case 14: return "\\u000e"; break; - case 15: return "\\u000f"; break; - case 16: return "\\u0010"; break; - case 17: return "\\u0011"; break; - case 18: return "\\u0012"; break; - case 19: return "\\u0013"; break; - case 20: return "\\u0014"; break; - case 21: return "\\u0015"; break; - case 22: return "\\u0016"; break; - case 23: return "\\u0017"; break; - case 24: return "\\u0018"; break; - case 25: return "\\u0019"; break; - case 26: return "\\u001a"; break; - case 27: return "\\u001b"; break; - case 28: return "\\u001c"; break; - case 29: return "\\u001d"; break; - case 30: return "\\u001e"; break; - case 31: return "\\u001f"; break; - case 34: return "\\\""; break; - case 92: return "\\\\"; break; - } - NSLog(@"FUTFUTFUT: -->'%c'<---", c); - return "FUTFUTFUT"; -} - -- (BOOL)writeString:(NSString*)string { - if ([_state isInvalidState:self]) return NO; - [_state appendSeparator:self]; - if (_humanReadable) [_state appendWhitespace:self]; - - NSMutableData *buf = [cache objectForKey:string]; - if (!buf) { - - NSUInteger len = [string lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; - const char *utf8 = [string UTF8String]; - NSUInteger written = 0, i = 0; - - buf = [NSMutableData dataWithCapacity:(NSUInteger)(len * 1.1f)]; - [buf appendBytes:"\"" length:1]; - - for (i = 0; i < len; i++) { - int c = utf8[i]; - BOOL isControlChar = c >= 0 && c < 32; - if (isControlChar || c == '"' || c == '\\') { - if (i - written) - [buf appendBytes:utf8 + written length:i - written]; - written = i + 1; - - const char *t = strForChar(c); - [buf appendBytes:t length:strlen(t)]; - } - } - - if (i - written) - [buf appendBytes:utf8 + written length:i - written]; - - [buf appendBytes:"\"" length:1]; - [cache setObject:buf forKey:string]; - } - - [_delegate writer:self appendBytes:[buf bytes] length:[buf length]]; - [_state transitionState:self]; - return YES; -} - -- (BOOL)writeNumber:(NSNumber*)number { - if (number == kTrue || number == kFalse) - return [self writeBool:[number boolValue]]; - - if ([_state isInvalidState:self]) return NO; - if ([_state expectingKey:self]) return NO; - [_state appendSeparator:self]; - if (_humanReadable) [_state appendWhitespace:self]; - - if ([kPositiveInfinity isEqualToNumber:number]) { - self.error = @"+Infinity is not a valid number in JSON"; - return NO; - - } else if ([kNegativeInfinity isEqualToNumber:number]) { - self.error = @"-Infinity is not a valid number in JSON"; - return NO; - - } else if (isnan([number doubleValue])) { - self.error = @"NaN is not a valid number in JSON"; - return NO; - } - - const char *objcType = [number objCType]; - char num[128]; - size_t len; - - switch (objcType[0]) { - case 'c': case 'i': case 's': case 'l': case 'q': - len = snprintf(num, sizeof num, "%lld", [number longLongValue]); - break; - case 'C': case 'I': case 'S': case 'L': case 'Q': - len = snprintf(num, sizeof num, "%llu", [number unsignedLongLongValue]); - break; - case 'f': case 'd': default: { - len = snprintf(num, sizeof num, "%.17g", [number doubleValue]); - break; - } - } - [_delegate writer:self appendBytes:num length: len]; - [_state transitionState:self]; - return YES; -} - -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamWriterState.h b/Pods/SBJson/src/main/objc/SBJson4StreamWriterState.h deleted file mode 100644 index 020f715..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamWriterState.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - Copyright (c) 2010, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import - -@class SBJson4StreamWriter; - -@interface SBJson4StreamWriterState : NSObject -+ (id)sharedInstance; -- (BOOL)isInvalidState:(SBJson4StreamWriter *)writer; -- (void)appendSeparator:(SBJson4StreamWriter *)writer; -- (BOOL)expectingKey:(SBJson4StreamWriter *)writer; -- (void)transitionState:(SBJson4StreamWriter *)writer; -- (void)appendWhitespace:(SBJson4StreamWriter *)writer; -@end - -@interface SBJson4StreamWriterStateObjectStart : SBJson4StreamWriterState -@end - -@interface SBJson4StreamWriterStateObjectKey : SBJson4StreamWriterStateObjectStart -@end - -@interface SBJson4StreamWriterStateObjectValue : SBJson4StreamWriterState -@end - -@interface SBJson4StreamWriterStateArrayStart : SBJson4StreamWriterState -@end - -@interface SBJson4StreamWriterStateArrayValue : SBJson4StreamWriterState -@end - -@interface SBJson4StreamWriterStateStart : SBJson4StreamWriterState -@end - -@interface SBJson4StreamWriterStateComplete : SBJson4StreamWriterState -@end - -@interface SBJson4StreamWriterStateError : SBJson4StreamWriterState -@end - diff --git a/Pods/SBJson/src/main/objc/SBJson4StreamWriterState.m b/Pods/SBJson/src/main/objc/SBJson4StreamWriterState.m deleted file mode 100644 index ed7890a..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4StreamWriterState.m +++ /dev/null @@ -1,147 +0,0 @@ -/* - Copyright (c) 2010, Stig Brautaset. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the the author nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS - IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if !__has_feature(objc_arc) -#error "This source file must be compiled with ARC enabled!" -#endif - -#import "SBJson4StreamWriterState.h" -#import "SBJson4StreamWriter.h" - -#define SINGLETON \ -+ (id)sharedInstance { \ - static id state = nil; \ - if (!state) { \ - @synchronized(self) { \ - if (!state) state = [[self alloc] init]; \ - } \ - } \ - return state; \ -} - - -@implementation SBJson4StreamWriterState -+ (id)sharedInstance { return nil; } -- (BOOL)isInvalidState:(SBJson4StreamWriter *)writer { return NO; } -- (void)appendSeparator:(SBJson4StreamWriter *)writer {} -- (BOOL)expectingKey:(SBJson4StreamWriter *)writer { return NO; } -- (void)transitionState:(SBJson4StreamWriter *)writer {} -- (void)appendWhitespace:(SBJson4StreamWriter *)writer { - [writer appendBytes:"\n" length:1]; - for (NSUInteger i = 0; i < writer.stateStack.count; i++) - [writer appendBytes:" " length:2]; -} -@end - -@implementation SBJson4StreamWriterStateObjectStart - -SINGLETON - -- (void)transitionState:(SBJson4StreamWriter *)writer { - writer.state = [SBJson4StreamWriterStateObjectValue sharedInstance]; -} -- (BOOL)expectingKey:(SBJson4StreamWriter *)writer { - writer.error = @"JSON object key must be string"; - return YES; -} -@end - -@implementation SBJson4StreamWriterStateObjectKey - -SINGLETON - -- (void)appendSeparator:(SBJson4StreamWriter *)writer { - [writer appendBytes:"," length:1]; -} -@end - -@implementation SBJson4StreamWriterStateObjectValue - -SINGLETON - -- (void)appendSeparator:(SBJson4StreamWriter *)writer { - [writer appendBytes:":" length:1]; -} -- (void)transitionState:(SBJson4StreamWriter *)writer { - writer.state = [SBJson4StreamWriterStateObjectKey sharedInstance]; -} -- (void)appendWhitespace:(SBJson4StreamWriter *)writer { - [writer appendBytes:" " length:1]; -} -@end - -@implementation SBJson4StreamWriterStateArrayStart - -SINGLETON - -- (void)transitionState:(SBJson4StreamWriter *)writer { - writer.state = [SBJson4StreamWriterStateArrayValue sharedInstance]; -} -@end - -@implementation SBJson4StreamWriterStateArrayValue - -SINGLETON - -- (void)appendSeparator:(SBJson4StreamWriter *)writer { - [writer appendBytes:"," length:1]; -} -@end - -@implementation SBJson4StreamWriterStateStart - -SINGLETON - - -- (void)transitionState:(SBJson4StreamWriter *)writer { - writer.state = [SBJson4StreamWriterStateComplete sharedInstance]; -} -- (void)appendSeparator:(SBJson4StreamWriter *)writer { -} -@end - -@implementation SBJson4StreamWriterStateComplete - -SINGLETON - -- (BOOL)isInvalidState:(SBJson4StreamWriter *)writer { - writer.error = @"Stream is closed"; - return YES; -} -@end - -@implementation SBJson4StreamWriterStateError - -SINGLETON - -@end - diff --git a/Pods/SBJson/src/main/objc/SBJson4Writer.h b/Pods/SBJson/src/main/objc/SBJson4Writer.h deleted file mode 100644 index 17328e9..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4Writer.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - Copyright (C) 2009 Stig Brautaset. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import - -/** - The JSON writer class. - - This uses SBJson4StreamWriter internally. - - */ - -@interface SBJson4Writer : NSObject - -/** - The maximum recursing depth. - - Defaults to 32. If the input is nested deeper than this the input will be deemed to be - malicious and the parser returns nil, signalling an error. ("Nested too deep".) You can - turn off this security feature by setting the maxDepth value to 0. - */ -@property(nonatomic) NSUInteger maxDepth; - -/** - Return an error trace, or nil if there was no errors. - - Note that this method returns the trace of the last method that failed. - You need to check the return value of the call you're making to figure out - if the call actually failed, before you know call this method. - */ -@property (nonatomic, readonly, copy) NSString *error; - -/** - Whether we are generating human-readable (multiline) JSON. - - Set whether or not to generate human-readable JSON. The default is NO, which produces - JSON without any whitespace. (Except inside strings.) If set to YES, generates human-readable - JSON with linebreaks after each array value and dictionary key/value pair, indented two - spaces per nesting level. - */ -@property(nonatomic) BOOL humanReadable; - -/** - Whether or not to sort the dictionary keys in the output. - - If this is set to YES, the dictionary keys in the JSON output will be in sorted order. - (This is useful if you need to compare two structures, for example.) The default is NO. - */ -@property(nonatomic) BOOL sortKeys; - -/** - An optional comparator to be used if sortKeys is YES. - - If this is nil, sorting will be done via @selector(compare:). - */ -@property (nonatomic, copy) NSComparator sortKeysComparator; - -/** - Generates string with JSON representation for the given object. - - Returns a string containing JSON representation of the passed in value, or nil on error. - If nil is returned and error is not NULL, *error can be interrogated to find the cause of the error. - - @param value any instance that can be represented as JSON text. - */ -- (NSString*)stringWithObject:(id)value; - -/** - Generates JSON representation for the given object. - - Returns an NSData object containing JSON represented as UTF8 text, or nil on error. - - @param value any instance that can be represented as JSON text. - */ -- (NSData*)dataWithObject:(id)value; - -@end diff --git a/Pods/SBJson/src/main/objc/SBJson4Writer.m b/Pods/SBJson/src/main/objc/SBJson4Writer.m deleted file mode 100644 index 9eec555..0000000 --- a/Pods/SBJson/src/main/objc/SBJson4Writer.m +++ /dev/null @@ -1,102 +0,0 @@ -/* - Copyright (C) 2009 Stig Brautaset. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of the author nor the names of its contributors may be used - to endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#if !__has_feature(objc_arc) -#error "This source file must be compiled with ARC enabled!" -#endif - -#import "SBJson4Writer.h" -#import "SBJson4StreamWriter.h" - - -@interface SBJson4Writer () < SBJson4StreamWriterDelegate > -@property (nonatomic, copy) NSString *error; -@property (nonatomic, strong) NSMutableData *acc; -@end - -@implementation SBJson4Writer - -- (id)init { - self = [super init]; - if (self) { - self.maxDepth = 32u; - } - return self; -} - - -- (NSString*)stringWithObject:(id)value { - NSData *data = [self dataWithObject:value]; - if (data) - return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - return nil; -} - -- (NSData*)dataWithObject:(id)object { - self.error = nil; - - self.acc = [[NSMutableData alloc] initWithCapacity:8096u]; - - SBJson4StreamWriter *streamWriter = [[SBJson4StreamWriter alloc] init]; - streamWriter.sortKeys = self.sortKeys; - streamWriter.maxDepth = self.maxDepth; - streamWriter.sortKeysComparator = self.sortKeysComparator; - streamWriter.humanReadable = self.humanReadable; - streamWriter.delegate = self; - - BOOL ok = NO; - if ([object isKindOfClass:[NSDictionary class]]) - ok = [streamWriter writeObject:object]; - - else if ([object isKindOfClass:[NSArray class]]) - ok = [streamWriter writeArray:object]; - - else if ([object respondsToSelector:@selector(proxyForJson)]) - return [self dataWithObject:[object proxyForJson]]; - else { - self.error = @"Not valid type for JSON"; - return nil; - } - - if (ok) - return self.acc; - - self.error = streamWriter.error; - return nil; -} - -#pragma mark SBJson4StreamWriterDelegate - -- (void)writer:(SBJson4StreamWriter *)writer appendBytes:(const void *)bytes length:(NSUInteger)length { - [self.acc appendBytes:bytes length:length]; -} - - - -@end diff --git a/README.md b/README.md deleted file mode 100755 index 8ccc955..0000000 --- a/README.md +++ /dev/null @@ -1,125 +0,0 @@ -Coderwall-iOS [![Build Status](https://modocache-oss.ci.cloudbees.com/job/Coderwall-iOS/badge/icon)](https://modocache-oss.ci.cloudbees.com/job/Coderwall-iOS/) -=============================================================================================================================================================== - -![iPhone Screenshots](https://github.com/OiNutter/Coderwall-iOS/raw/master/iPhones.png) - -COMING SOON ------------ - -I'm currently in the midst of updating the App for iOS7 and iPhone5. It -will only support iOS6 from now on, but will continue to support both -iPhone and iPad, and will work on both iPhone screen sizes. I'm still -wanting to add support for some of Coderwall's newer features once we -can get them added to the API, but for now at least the app has got a -bit of a facelift. - -The App -------- - -Coderwall-iOS is an app for the iPhone and iPad that lets you browse your -[Coderwall](http://coderwall.com) profile. You can browse your list of -badges, accomplishments, stats, and specialities, and even -search for other users. - -Available free on the [App -Store](http://itunes.apple.com/us/app/coderwall/id520035280?ls=1&mt=8) - -Why is it Open Source? ----------------------- - -I'm putting the app on the App Store for free as it's making use of -Coderwall, a free service, which itself is taking advantage of GitHub, -a huge promoter of Open Source, and free for public use, so it seemed -somewhat against the spirit of the thing to try and charge for it. In -addition it's my first app and is really just a bit of fun. - -As for why I'm making it available on GitHub, like I said, it was my first app and -was something of a learning experience. I'm putting it here for 2 -reasons. - -* I hope that it will help other people trying to get into iOS - development, that they'll be able to learn from the things I had to do -to make things work the way I wanted them to. -* I hope that people with more knowledge and experience when it comes to - iOS and Objective C will maybe get involved, and offer improvements -and tips so I can learn more for future projects. - -### A Note On Copying ### - -I realise the risk with putting this code online is that someone else -could just take it and publish their own version, they could even charge -for it. I also realise there's probably not a lot I can do about that -short of making it private, which I don't want to do. All I can hope to -do is say if you want to add new features or improvements, please get -involved and support this app, submit pull requests and bug reports etc -and lets try and have one really good Coderwall app, instead of several -average ones. - -Coming Soon ------------ - -At the moment the app is read only and doesn't take advantage of some of -the new features Coderwall has been adding, such as Teams and Network. -This is because I'm limited to what is available in their current API. -However I have been talking to the guys at Coderwall and I know they -have plans to add a lot more functionality that myself and other guys -working with the api will be able to take advantage of. - -Libraries ---------- - -The following third party libraries were used in development of the app: - -* [DejalActivityView](http://www.dejal.com/developer/#dejalactivityview) -* [EgoTableViewPullRefresh](https://github.com/enormego/EGOTableViewPullRefresh) -* [SBJson](http://stig.github.com/json-framework/) -* [Kiwi](https://github.com/allending/Kiwi) -* [ILTesting](https://github.com/InfiniteLoopDK/ILTesting) -* [KIF](https://github.com/square/KIF/) -* [ios-sim](https://github.com/phonegap/ios-sim) - -I've also used [App Icon Template -2.0](http://appicontemplate.com/) by Michael Flarup at -[Pixelresort](http://pixelresort.com) - -Development ------------ - -* Third party libraries are primarily managed via - [CocoaPods](https://github.com/CocoaPods/CocoaPods). -* Libraries without podspecs are added as submodules, housed in the - `Vendor` directory. Make sure to run `git submodule init && git submodule update` - from the project root directory after cloning the repository. - -Testing -------- - -* You can run the same tests as the CI environment by running `rake test`--this will run - build the app and run the unit and integration test suite. Note that you must have - `ios-sim` on your PATH (`brew install ios-sim`) in order to run the suite. - -License -------- - -Copyright (c) 2012 Will McKenzie -http://oinutter.co.uk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/Rakefile b/Rakefile deleted file mode 100755 index 5aec38e..0000000 --- a/Rakefile +++ /dev/null @@ -1,15 +0,0 @@ -require 'rake' - - -task :default => 'test' - -desc 'run all tests' -task :test do - build_number = ENV.fetch('build_number', '0') - success = system "./Scripts/jenkinsBuild.sh #{build_number}" - - output = success ? '### TESTS PASSED ###' : '### TESTS FAILED ###' - puts output - - exit success -end diff --git a/Scripts/RunPlatformUnitTests b/Scripts/RunPlatformUnitTests deleted file mode 100755 index fb78055..0000000 --- a/Scripts/RunPlatformUnitTests +++ /dev/null @@ -1,151 +0,0 @@ -#!/bin/sh -## -# Copyright 2008 Apple Inc. -# All rights reserved. -# -# iPhoneSimulator platform -# This script runs all of the unit tests for the target test bundle specified by the passed-in environment. -# This script is generally intended to be invoked by ${DEVELOPER_TOOLS_DIR}/RunUnitTests. The interface or location of this script may change in future releases. -## -# -# Input: -# See ${DEVELOPER_TOOLS_DIR}/RunUnitTests for input variables - -Message() { -# usage: Message line type message -# Echo the message to stdout as the given type of message and continue - echo "${PLATFORM_DEVELOPER_TOOLS_DIR}/Tools/RunPlatformUnitTests:${1}: ${2}: ${3}" -} - -Note() { -# usage: Notify line message -# Echo the message to stdout as a note and continue - Message "${1}" note "${2}" -} - -Warning() { -# usage: Warning line message -# Echo the message to stdout as a note and continue - Message "${1}" warning "${2}" -} - -Error() { -# usage: Notify line message -# Echo the message to stdout as an error and continue - Message "${1}" error "${2}" -} - -Fail() { -# usage: Fail line message -# Echo the message to stdout and return 1, the universal error code - Error "${1}" "${2}" - exit 1 -} - -### Do not run tests on anything but a "build". - -if [ "${ACTION}" != "build" ]; then - exit 0 -fi - -### Silently skip tests if TEST_AFTER_BUILD is NO - -if [ "${TEST_AFTER_BUILD}" = "NO" ]; then - exit 0 -fi - -### Source RunUnitTests.include functionality - -if [ "${DEVELOPER_TOOLS_DIR}" = "" ]; then - Fail ${LINENO} "DEVELOPER_TOOLS_DIR is not set." -fi - -if [ "${PLATFORM_DEVELOPER_TOOLS_DIR}" = "" ]; then - Fail ${LINENO} "PLATFORM_DEVELOPER_TOOLS_DIR is not set." -fi - -includeFile="${DEVELOPER_TOOLS_DIR}/RunPlatformUnitTests.include" -if [ ! -r "${includeFile}" ]; then - Fail ${LINENO} "Cannot read include file ${includeFile}" -fi - -source "${includeFile}" - -if [ 0 != $? ]; then - Fail ${LINENO} "Could not source include file ${includeFile}" -fi - -### Define a sensible default for the path to the otest - -if [ "${OTEST}" = "" ]; then - OTEST="${SDKROOT}/Developer/usr/bin/otest" -fi - -Main() { -# usage: Main -# Determine how tests need to be run and run them. - - # GC not supported by the simulator - TEST_GC_STATES="OFF" - - Configure_TEST_ARCHS - - if [ "${TEST_HOST}" != "" ]; then - - # Change default behavior in order to run unit tests from the command line, see: - # http://www.raingrove.com/2012/03/28/running-ocunit-and-specta-tests-from-command-line.html - - # Warning ${LINENO} "Skipping tests; the iPhoneSimulator platform does not currently support application-hosted tests (TEST_HOST set)." - - export CFFIXED_USER_HOME="${BUILT_PRODUCTS_DIR}/UserHome/" - mkdir -p "${CFFIXED_USER_HOME}" - mkdir -p "${CFFIXED_USER_HOME}Library/Caches" - mkdir "${CFFIXED_USER_HOME}Library/Preferences" - mkdir "${CFFIXED_USER_HOME}Documents" - export OTHER_TEST_FLAGS="${OTHER_TEST_FLAGS} -RegisterForSystemEvents" - RunTestsForApplication "${TEST_HOST}" "${TEST_BUNDLE_PATH}" - - else - # If no TEST_HOST is specified, assume we're running the test bundle. - - RunTestsForBundle "${TEST_BUNDLE_PATH}" - fi -} - -### Update the dyld environment to support running tests out of the build directory. - -# Sets and exports the following environment variables: -# DYLD_ROOT_PATH -# DYLD_FRAMEWORK_PATH -# DYLD_LIBRARY_PATH -# DYLD_NEW_LOCAL_SHARED_REGIONS -# DYLD_NO_FIX_PREBINDING - -if [ "${DYLD_FRAMEWORK_PATH}" != "" ]; then - DYLD_FRAMEWORK_PATH="${BUILT_PRODUCTS_DIR}:${SDKROOT}${DEVELOPER_LIBRARY_DIR}/Frameworks:${DYLD_FRAMEWORK_PATH}" -else - DYLD_FRAMEWORK_PATH="${BUILT_PRODUCTS_DIR}:${SDKROOT}${DEVELOPER_LIBRARY_DIR}/Frameworks" -fi - -if [ "${DYLD_LIBRARY_PATH}" != "" ]; then - DYLD_LIBRARY_PATH="${BUILT_PRODUCTS_DIR}:${DYLD_LIBRARY_PATH}" -else - DYLD_LIBRARY_PATH="${BUILT_PRODUCTS_DIR}" -fi - -if [ "${DYLD_ROOT_PATH}" != "" ]; then - DYLD_ROOT_PATH="${SDKROOT}:${DYLD_ROOT_PATH}" -else - DYLD_ROOT_PATH="${SDKROOT}" -fi - -DYLD_NEW_LOCAL_SHARED_REGIONS=YES -DYLD_NO_FIX_PREBINDING=YES -IPHONE_SIMULATOR_ROOT=$SDKROOT ## rdar://6528939 -CFFIXED_USER_HOME="${HOME}/Library/Application Support/iPhone Simulator/$IPHONESIMULATOR_PLATFORM_VERSION" - -EXPORT_VARS=(DYLD_FRAMEWORK_PATH DYLD_LIBRARY_PATH DYLD_NEW_LOCAL_SHARED_REGIONS DYLD_NO_FIX_PREBINDING DYLD_ROOT_PATH IPHONE_SIMULATOR_ROOT CFFIXED_USER_HOME ) - -### Run the tests - -Main diff --git a/Scripts/jenkinsBuild.sh b/Scripts/jenkinsBuild.sh deleted file mode 100755 index 83cfa88..0000000 --- a/Scripts/jenkinsBuild.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/sh - - -set -e - - -BUILD_NUMBER=$1 - -die () { - echo >&2 "$@" - exit -} -[ "$#" -ge 1 ] || die "$0 BUILD_NUMBER" - - -PROJECT_ROOT="`pwd`" -SYMROOT="$PROJECT_ROOT/build" -DIST_DIR="$PROJECT_ROOT/dist" - - -echo "### CREATE DIST DIRECTORY" -echo "rm -rf $SYMROOT" -rm -rf "$SYMROOT" -echo "rm -rf $DIST_DIR" -rm -rf "$DIST_DIR" -echo "mkdir -p $DIST_DIR" -mkdir -p "$DIST_DIR" -ls -laF - - -build_and_package() -{ - CONFIGURATION=$1 - PACKAGENAME=`echo $CONFIGURATION | sed 's%/%-%g' | tr '[A-Z]' '[a-z]'` - BUILD_DIR="$SYMROOT/$PACKAGENAME-iphoneos" - - if [ "$MODIFYCONFIG" = "YES" ]; then - replace_infoplist $CONFIGURATION - fi - - echo "### EXECUTING BUILD COMMAND : CONFIGURATION[$CONFIGURATION]" - echo "xcodebuild -workspace Coderwall.xcworkspace -scheme Coderwall -configuration $CONFIGURATION -sdk iphoneos CONFIGURATION_BUILD_DIR=\"$BUILD_DIR\" SYMROOT=$SYMROOT clean build" - xcodebuild -workspace Coderwall.xcworkspace -scheme Coderwall -configuration "$CONFIGURATION" -sdk iphoneos CONFIGURATION_BUILD_DIR="$BUILD_DIR" SYMROOT="$SYMROOT" clean build - - BUILD_RESULT=$? - - ## HANDLE BUILD FAILURE - if [ "$BUILD_RESULT" -ne "0" ]; then - echo "### FAILED TO BUILD APP : CONFIGURATION[$CONFIGURATION] WITH EXIT CODE[$BUILD_RESULT]" - exit $? - fi - - echo "" - echo "### START PACKAGING APP : CONFIGURATION[$CONFIGURATION]" - echo "" - - # PACKAGE - cd "$BUILD_DIR" - zip -9 -y -r "$DIST_DIR/Coderwall_$PACKAGENAME"_"b$BUILD_NUMBER.zip" "Coderwall.app" - - if [ -f "$DIST_DIR/Coderwall_$PACKAGENAME"_"b$BUILD_NUMBER.zip" ]; then - echo "" - echo "### FINISHED BUILD APP : CONFIGURATION[$CONFIGURATION]" - echo "### " `date` - echo "" - else - echo "PACKAGING FAILED : CONFIGURATION[$CONFIGURATION]" - exit 1 - fi - - cd "$PROJECT_ROOT" -} - - -kill_simulator() -{ - if [[ $(ps axo pid,command | grep "[i]Phone Simulator") ]]; then - killall "iPhone Simulator" - fi -} - - -run_integration_tests() -{ - echo "### RUN INTEGRATION TESTS" - BUILD_DIR="$SYMROOT/Debug-iphonesimulator" - xcodebuild -workspace Coderwall.xcworkspace -scheme "Integration Tests" -configuration Debug -sdk iphonesimulator -xcconfig="Pods/Pods-integration.xcconfig" CONFIGURATION_BUILD_DIR="$BUILD_DIR" SYMROOT="$SYMROOT" clean build - - kill_simulator - - OUTPUT_FILE="$DIST_DIR/kif_results_$BUILD_NUMBER.txt" - ios-sim launch "$BUILD_DIR/Coderwall (Integration Tests).app" --stdout "$OUTPUT_FILE" --stderr "$OUTPUT_FILE" - cat "$OUTPUT_FILE" - grep -q "TESTING FINISHED: 0 failures" "$OUTPUT_FILE" -} - - -run_unit_tests() -{ - OUTPUT_FILE="$DIST_DIR/kiwi_results_$BUILD_NUMBER.txt" - - echo "### RUN UNIT TESTS" - kill_simulator - xcodebuild -workspace Coderwall.xcworkspace/ -scheme "Unit Tests" -sdk iphonesimulator TEST_AFTER_BUILD=YES clean build > "$OUTPUT_FILE" - cat "$OUTPUT_FILE" - exit `grep -c "FAILED" "$OUTPUT_FILE"` -} - - -build_and_package Debug -build_and_package Release -run_integration_tests -run_unit_tests diff --git a/Vendor/ILTesting b/Vendor/ILTesting deleted file mode 160000 index 2288fba..0000000 --- a/Vendor/ILTesting +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2288fbafd2b12104ef713dda5b781257c2268ffb diff --git a/iPhones.png b/iPhones.png deleted file mode 100644 index 109ec1f..0000000 Binary files a/iPhones.png and /dev/null differ diff --git a/images/bg_hr.png b/images/bg_hr.png new file mode 100644 index 0000000..7973bd6 Binary files /dev/null and b/images/bg_hr.png differ diff --git a/images/blacktocat.png b/images/blacktocat.png new file mode 100644 index 0000000..6e264fe Binary files /dev/null and b/images/blacktocat.png differ diff --git a/images/iPhones.png b/images/iPhones.png new file mode 100644 index 0000000..758dbf5 Binary files /dev/null and b/images/iPhones.png differ diff --git a/images/icon_download.png b/images/icon_download.png new file mode 100644 index 0000000..a2a287f Binary files /dev/null and b/images/icon_download.png differ diff --git a/images/sprite_download.png b/images/sprite_download.png new file mode 100644 index 0000000..f2babd5 Binary files /dev/null and b/images/sprite_download.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..d90f179 --- /dev/null +++ b/index.html @@ -0,0 +1,141 @@ + + + + + + + + + + + Coderwall-iOS + + + + + +
+
+ View on GitHub + +

Coderwall-iOS

+

iOS app for Coderwall.com

+ +
+ Download this project as a .zip file + Download this project as a tar.gz file +
+
+
+ + +
+
+

+Coderwall-iOS

+ +

iPhone Screenshots

+ +

+The App

+ +

Coderwall-iOS is an app for iPhone and iPad that lets you browse your +Coderwall profile. You can browse you list of +badges, your accomplishments and your stats and specialities, and even +search for other users.

+ +

+Why is it Open Source?

+ +

I'm putting the app on the App Store for free as it's making use of +Coderwall, a free service, which itself is taking advantage of GitHub, +a huge promoter of Open Source, and free for public use, so it seemed +somewhat against the spirit of the thing to try and charge for it. In +addition it's my first app and is really just a bit of fun.

+ +

As for why I'm making it available on GitHub, like I said, it was my first app and +was something of a learning experience. I'm putting it here for 2 +reasons.

+ +
    +
  • I hope that it will help other people trying to get into iOS +development, that they'll be able to learn from the things I had to do +to make things work the way I wanted them to.
  • +
  • I hope that people with more knowledge and experience when it comes to +iOS and Objective C will maybe get involved, and offer improvements +and tips so I can learn more for future projects.
  • +

+A Note On Copying

+ +

I realise the risk with putting this code online is that someone else +could just take it and publish their own version, they could even charge +for it. I also realise there's probably not a lot I can do about that +short of making it private, which I don't want to do. All I can hope to +do is say if you want to add new features or improvements, please get +involved and support this app, submit pull requests and bug reports etc +and lets try and have one really good Coderwall app, instead of several +average ones.

+ +

+Coming Soon

+ +

At the moment the app is read only and doesn't take advantage of some of +the new features Coderwall has been adding, such as Teams and Network. +This is because I'm limited to what is available in their current api. +However I have been talking to the guys at Coderwall and I know they +have plans to add a lot more functionality that myself and other guys +working with the api will be able to take advantage of.

+ +

+Libraries

+ +

The following third party libraries where used in the app:

+ +

I've also used App Icon Template +2.0 by Michael Flarup at +Pixelresort

+ +

+License

+ +

Copyright (c) 2012 Will McKenzie +http://oinutter.co.uk

+ +

Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions:

+ +

The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software.

+ +

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+
+
+ + + + + + + + diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 0000000..d8135d3 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/params.json b/params.json new file mode 100644 index 0000000..3428496 --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"name":"Coderwall-iOS","tagline":"iOS app for Coderwall.com","body":"Coderwall-iOS\r\n=============\r\n\r\n![iPhone Screenshots](https://github.com/OiNutter/Coderwall-iOS/raw/gh-pages/images/iPhones.png)\r\n\r\nThe App\r\n-------\r\n\r\nCoderwall-iOS is an app for iPhone and iPad that lets you browse your\r\n[Coderwall](http://coderwall.com) profile. You can browse you list of\r\nbadges, your accomplishments and your stats and specialities, and even\r\nsearch for other users.\r\n\r\nWhy is it Open Source?\r\n----------------------\r\n\r\nI'm putting the app on the App Store for free as it's making use of\r\nCoderwall, a free service, which itself is taking advantage of GitHub,\r\na huge promoter of Open Source, and free for public use, so it seemed\r\nsomewhat against the spirit of the thing to try and charge for it. In\r\naddition it's my first app and is really just a bit of fun. \r\n\r\nAs for why I'm making it available on GitHub, like I said, it was my first app and\r\nwas something of a learning experience. I'm putting it here for 2\r\nreasons.\r\n\r\n* I hope that it will help other people trying to get into iOS\r\n development, that they'll be able to learn from the things I had to do\r\nto make things work the way I wanted them to.\r\n* I hope that people with more knowledge and experience when it comes to\r\n iOS and Objective C will maybe get involved, and offer improvements\r\nand tips so I can learn more for future projects.\r\n\r\n### A Note On Copying ###\r\n\r\nI realise the risk with putting this code online is that someone else\r\ncould just take it and publish their own version, they could even charge\r\nfor it. I also realise there's probably not a lot I can do about that\r\nshort of making it private, which I don't want to do. All I can hope to\r\ndo is say if you want to add new features or improvements, please get\r\ninvolved and support this app, submit pull requests and bug reports etc\r\nand lets try and have one really good Coderwall app, instead of several\r\naverage ones.\r\n\r\nComing Soon\r\n-----------\r\n\r\nAt the moment the app is read only and doesn't take advantage of some of\r\nthe new features Coderwall has been adding, such as Teams and Network.\r\nThis is because I'm limited to what is available in their current api.\r\nHowever I have been talking to the guys at Coderwall and I know they\r\nhave plans to add a lot more functionality that myself and other guys\r\nworking with the api will be able to take advantage of.\r\n\r\nLibraries\r\n---------\r\n\r\nThe following third party libraries where used in the app:\r\n\r\n* [DejalActivityView](http://www.dejal.com/developer/#dejalactivityview)\r\n* [EgoTableViewPullRefresh](https://github.com/enormego/EGOTableViewPullRefresh)\r\n* [SBJson](http://stig.github.com/json-framework/)\r\n* [SDURLCache](https://github.com/rs/SDURLCache)\r\n\r\nI've also used [App Icon Template\r\n2.0](http://http://appicontemplate.com/) by Michael Flarup at\r\n[Pixelresort](http://pixelresort.com)\r\n\r\nLicense\r\n-------\r\n\r\nCopyright (c) 2012 Will McKenzie\r\nhttp://oinutter.co.uk\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining\r\na copy of this software and associated documentation files (the\r\n\"Software\"), to deal in the Software without restriction, including\r\nwithout limitation the rights to use, copy, modify, merge, publish,\r\ndistribute, sublicense, and/or sell copies of the Software, and to\r\npermit persons to whom the Software is furnished to do so, subject to\r\nthe following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be\r\nincluded in all copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css new file mode 100644 index 0000000..e65cedf --- /dev/null +++ b/stylesheets/pygment_trac.css @@ -0,0 +1,70 @@ +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f0f3f3; } +.highlight .c { color: #0099FF; font-style: italic } /* Comment */ +.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */ +.highlight .k { color: #006699; font-weight: bold } /* Keyword */ +.highlight .o { color: #555555 } /* Operator */ +.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #009999 } /* Comment.Preproc */ +.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */ +.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ +.highlight .go { color: #AAAAAA } /* Generic.Output */ +.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #99CC66 } /* Generic.Traceback */ +.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #006699 } /* Keyword.Pseudo */ +.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #FF6600 } /* Literal.Number */ +.highlight .s { color: #CC3300 } /* Literal.String */ +.highlight .na { color: #330099 } /* Name.Attribute */ +.highlight .nb { color: #336666 } /* Name.Builtin */ +.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */ +.highlight .no { color: #336600 } /* Name.Constant */ +.highlight .nd { color: #9999FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #CC00FF } /* Name.Function */ +.highlight .nl { color: #9999FF } /* Name.Label */ +.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #003333 } /* Name.Variable */ +.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #FF6600 } /* Literal.Number.Float */ +.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */ +.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */ +.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */ +.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */ +.highlight .sc { color: #CC3300 } /* Literal.String.Char */ +.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #CC3300 } /* Literal.String.Double */ +.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */ +.highlight .si { color: #AA0000 } /* Literal.String.Interpol */ +.highlight .sx { color: #CC3300 } /* Literal.String.Other */ +.highlight .sr { color: #33AAAA } /* Literal.String.Regex */ +.highlight .s1 { color: #CC3300 } /* Literal.String.Single */ +.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */ +.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #003333 } /* Name.Variable.Class */ +.highlight .vg { color: #003333 } /* Name.Variable.Global */ +.highlight .vi { color: #003333 } /* Name.Variable.Instance */ +.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */ + +.type-csharp .highlight .k { color: #0000FF } +.type-csharp .highlight .kt { color: #0000FF } +.type-csharp .highlight .nf { color: #000000; font-weight: normal } +.type-csharp .highlight .nc { color: #2B91AF } +.type-csharp .highlight .nn { color: #000000 } +.type-csharp .highlight .s { color: #A31515 } +.type-csharp .highlight .sc { color: #A31515 } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 0000000..7a08b01 --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,423 @@ +/******************************************************************************* +Slate Theme for GitHub Pages +by Jason Costello, @jsncostello +*******************************************************************************/ + +@import url(pygment_trac.css); + +/******************************************************************************* +MeyerWeb Reset +*******************************************************************************/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +ol, ul { + list-style: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/******************************************************************************* +Theme Styles +*******************************************************************************/ + +body { + box-sizing: border-box; + color:#373737; + background: #212121; + font-size: 16px; + font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +h1, h2, h3, h4, h5, h6 { + margin: 10px 0; + font-weight: 700; + color:#222222; + font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; + letter-spacing: -1px; +} + +h1 { + font-size: 36px; + font-weight: 700; +} + +h2 { + padding-bottom: 10px; + font-size: 32px; + background: url('../images/bg_hr.png') repeat-x bottom; +} + +h3 { + font-size: 24px; +} + +h4 { + font-size: 21px; +} + +h5 { + font-size: 18px; +} + +h6 { + font-size: 16px; +} + +p { + margin: 10px 0 15px 0; +} + +footer p { + color: #f2f2f2; +} + +a { + text-decoration: none; + color: #007edf; + text-shadow: none; + + transition: color 0.5s ease; + transition: text-shadow 0.5s ease; + -webkit-transition: color 0.5s ease; + -webkit-transition: text-shadow 0.5s ease; + -moz-transition: color 0.5s ease; + -moz-transition: text-shadow 0.5s ease; + -o-transition: color 0.5s ease; + -o-transition: text-shadow 0.5s ease; + -ms-transition: color 0.5s ease; + -ms-transition: text-shadow 0.5s ease; +} + +a:hover, a:focus {text-decoration: underline;} + +footer a { + color: #F2F2F2; + text-decoration: underline; +} + +em { + font-style: italic; +} + +strong { + font-weight: bold; +} + +img { + position: relative; + margin: 0 auto; + max-width: 739px; + padding: 5px; + margin: 10px 0 10px 0; + border: 1px solid #ebebeb; + + box-shadow: 0 0 5px #ebebeb; + -webkit-box-shadow: 0 0 5px #ebebeb; + -moz-box-shadow: 0 0 5px #ebebeb; + -o-box-shadow: 0 0 5px #ebebeb; + -ms-box-shadow: 0 0 5px #ebebeb; +} + +p img { + display: inline; + margin: 0; + padding: 0; + vertical-align: middle; + text-align: center; + border: none; +} + +pre, code { + width: 100%; + color: #222; + background-color: #fff; + + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 14px; + + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; +} + +pre { + width: 100%; + padding: 10px; + box-shadow: 0 0 10px rgba(0,0,0,.1); + overflow: auto; +} + +code { + padding: 3px; + margin: 0 3px; + box-shadow: 0 0 10px rgba(0,0,0,.1); +} + +pre code { + display: block; + box-shadow: none; +} + +blockquote { + color: #666; + margin-bottom: 20px; + padding: 0 0 0 20px; + border-left: 3px solid #bbb; +} + + +ul, ol, dl { + margin-bottom: 15px +} + +ul { + list-style: inside; + padding-left: 20px; +} + +ol { + list-style: decimal inside; + padding-left: 20px; +} + +dl dt { + font-weight: bold; +} + +dl dd { + padding-left: 20px; + font-style: italic; +} + +dl p { + padding-left: 20px; + font-style: italic; +} + +hr { + height: 1px; + margin-bottom: 5px; + border: none; + background: url('../images/bg_hr.png') repeat-x center; +} + +table { + border: 1px solid #373737; + margin-bottom: 20px; + text-align: left; + } + +th { + font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; + padding: 10px; + background: #373737; + color: #fff; + } + +td { + padding: 10px; + border: 1px solid #373737; + } + +form { + background: #f2f2f2; + padding: 20px; +} + +/******************************************************************************* +Full-Width Styles +*******************************************************************************/ + +.outer { + width: 100%; +} + +.inner { + position: relative; + max-width: 640px; + padding: 20px 10px; + margin: 0 auto; +} + +#forkme_banner { + display: block; + position: absolute; + top:0; + right: 10px; + z-index: 10; + padding: 10px 50px 10px 10px; + color: #fff; + background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; + font-weight: 700; + box-shadow: 0 0 10px rgba(0,0,0,.5); + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +#header_wrap { + background: #212121; + background: -moz-linear-gradient(top, #373737, #212121); + background: -webkit-linear-gradient(top, #373737, #212121); + background: -ms-linear-gradient(top, #373737, #212121); + background: -o-linear-gradient(top, #373737, #212121); + background: linear-gradient(top, #373737, #212121); +} + +#header_wrap .inner { + padding: 50px 10px 30px 10px; +} + +#project_title { + margin: 0; + color: #fff; + font-size: 42px; + font-weight: 700; + text-shadow: #111 0px 0px 10px; +} + +#project_tagline { + color: #fff; + font-size: 24px; + font-weight: 300; + background: none; + text-shadow: #111 0px 0px 10px; +} + +#downloads { + position: absolute; + width: 210px; + z-index: 10; + bottom: -40px; + right: 0; + height: 70px; + background: url('../images/icon_download.png') no-repeat 0% 90%; +} + +.zip_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom left; +} + +.tar_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom right; + margin-left: 10px; +} + +.zip_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top left; +} + +.tar_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top right; +} + +#main_content_wrap { + background: #f2f2f2; + border-top: 1px solid #111; + border-bottom: 1px solid #111; +} + +#main_content { + padding-top: 40px; +} + +#footer_wrap { + background: #212121; +} + + + +/******************************************************************************* +Small Device Styles +*******************************************************************************/ + +@media screen and (max-width: 480px) { + body { + font-size:14px; + } + + #downloads { + display: none; + } + + .inner { + min-width: 320px; + max-width: 480px; + } + + #project_title { + font-size: 32px; + } + + h1 { + font-size: 28px; + } + + h2 { + font-size: 24px; + } + + h3 { + font-size: 21px; + } + + h4 { + font-size: 18px; + } + + h5 { + font-size: 14px; + } + + h6 { + font-size: 12px; + } + + code, pre { + min-width: 320px; + max-width: 480px; + font-size: 11px; + } + +}