├── .gitignore ├── Helper ├── PSPDFTestAdditions.h ├── PSPDFTestAdditions.mm ├── PSPDFTestCase.h ├── PSPDTestCase.m └── TestControllerFactory.swift ├── README.md ├── UITestingComparison.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcshareddata │ └── xcschemes │ └── UITestingComparison.xcscheme ├── UITestingComparison ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── appicon-29pt.png │ │ ├── appicon-29pt@2x-2.png │ │ ├── appicon-29pt@2x-3.png │ │ ├── appicon-29pt@3x.png │ │ ├── appicon-40pt.png │ │ ├── appicon-40pt@2x-1.png │ │ ├── appicon-40pt@2x-2.png │ │ ├── appicon-40pt@3x-1.png │ │ ├── appicon-40pt@3x-2.png │ │ ├── appicon-60pt@3x.png │ │ ├── appicon-76pt.png │ │ ├── appicon-76pt@2x.png │ │ └── appicon-83.5pt@2x.png │ ├── Contents.json │ └── LaunchLogo.imageset │ │ ├── Contents.json │ │ ├── LaunchLogoLarge.pdf │ │ └── LaunchLogoSmall.pdf ├── PDFViewController.swift └── Resources │ ├── Info.plist │ ├── LaunchScreen.storyboard │ ├── Main.storyboard │ └── PSPDFKit 6 QuickStart Guide.pdf ├── UITestingEarlGreyTests ├── BridgingHeader.h ├── EarlGrey.swift ├── Info.plist ├── UITestingEarlGreyTests.swift └── Vendor │ └── EarlGrey │ ├── EarlGrey-Info.plist │ ├── EarlGrey.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ └── contents.xcworkspacedata │ ├── EarlGrey │ ├── Action │ │ ├── GREYAction.h │ │ ├── GREYActionBlock.h │ │ ├── GREYActionBlock.m │ │ ├── GREYActions.h │ │ ├── GREYActions.m │ │ ├── GREYBaseAction.h │ │ ├── GREYBaseAction.m │ │ ├── GREYChangeStepperAction.h │ │ ├── GREYChangeStepperAction.m │ │ ├── GREYPathGestureUtils.h │ │ ├── GREYPathGestureUtils.m │ │ ├── GREYPickerAction.h │ │ ├── GREYPickerAction.m │ │ ├── GREYPinchAction.h │ │ ├── GREYPinchAction.m │ │ ├── GREYScrollAction.h │ │ ├── GREYScrollAction.m │ │ ├── GREYScrollActionError.h │ │ ├── GREYScrollActionError.m │ │ ├── GREYScrollToContentEdgeAction.h │ │ ├── GREYScrollToContentEdgeAction.m │ │ ├── GREYSlideAction.h │ │ ├── GREYSlideAction.m │ │ ├── GREYSwipeAction.h │ │ ├── GREYSwipeAction.m │ │ ├── GREYTapAction.h │ │ ├── GREYTapAction.m │ │ ├── GREYTapper.h │ │ └── GREYTapper.m │ ├── Additions │ │ ├── CAAnimation+GREYAdditions.h │ │ ├── CAAnimation+GREYAdditions.m │ │ ├── CALayer+GREYAdditions.h │ │ ├── CALayer+GREYAdditions.m │ │ ├── CGGeometry+GREYAdditions.h │ │ ├── CGGeometry+GREYAdditions.m │ │ ├── NSError+GREYAdditions.h │ │ ├── NSError+GREYAdditions.m │ │ ├── NSObject+GREYAdditions.h │ │ ├── NSObject+GREYAdditions.m │ │ ├── NSRunLoop+GREYAdditions.h │ │ ├── NSRunLoop+GREYAdditions.m │ │ ├── NSString+GREYAdditions.h │ │ ├── NSString+GREYAdditions.m │ │ ├── NSTimer+GREYAdditions.h │ │ ├── NSTimer+GREYAdditions.m │ │ ├── NSURL+GREYAdditions.h │ │ ├── NSURL+GREYAdditions.m │ │ ├── NSURLConnection+GREYAdditions.h │ │ ├── NSURLConnection+GREYAdditions.m │ │ ├── UIAnimation+GREYAdditions.h │ │ ├── UIAnimation+GREYAdditions.m │ │ ├── UIApplication+GREYAdditions.h │ │ ├── UIApplication+GREYAdditions.m │ │ ├── UIGestureRecognizer+GREYAdditions.h │ │ ├── UIGestureRecognizer+GREYAdditions.m │ │ ├── UIScrollView+GREYAdditions.h │ │ ├── UIScrollView+GREYAdditions.m │ │ ├── UISwitch+GREYAdditions.h │ │ ├── UISwitch+GREYAdditions.m │ │ ├── UITouch+GREYAdditions.h │ │ ├── UITouch+GREYAdditions.m │ │ ├── UIView+GREYAdditions.h │ │ ├── UIView+GREYAdditions.m │ │ ├── UIViewController+GREYAdditions.h │ │ ├── UIViewController+GREYAdditions.m │ │ ├── UIWebView+GREYAdditions.h │ │ ├── UIWebView+GREYAdditions.m │ │ ├── UIWindow+GREYAdditions.h │ │ ├── UIWindow+GREYAdditions.m │ │ ├── XCTestCase+GREYAdditions.h │ │ ├── XCTestCase+GREYAdditions.m │ │ ├── _UIModalItemsPresentingViewController_GREYAdditions.h │ │ ├── _UIModalItemsPresentingViewController_GREYAdditions.m │ │ ├── __NSCFLocalDataTask_GREYAdditions.h │ │ └── __NSCFLocalDataTask_GREYAdditions.m │ ├── AppSupport │ │ └── GREYIdlingResource.h │ ├── Assertion │ │ ├── GREYAssertion.h │ │ ├── GREYAssertionBlock.h │ │ ├── GREYAssertionBlock.m │ │ ├── GREYAssertionDefines.h │ │ ├── GREYAssertions.h │ │ └── GREYAssertions.m │ ├── Common │ │ ├── GREYAnalytics.h │ │ ├── GREYAnalytics.m │ │ ├── GREYAnalyticsDelegate.h │ │ ├── GREYConfiguration.h │ │ ├── GREYConfiguration.m │ │ ├── GREYConstants.h │ │ ├── GREYConstants.m │ │ ├── GREYDefines.h │ │ ├── GREYElementHierarchy.h │ │ ├── GREYElementHierarchy.m │ │ ├── GREYExposed.h │ │ ├── GREYPrivate.h │ │ ├── GREYScreenshotUtil.h │ │ ├── GREYScreenshotUtil.m │ │ ├── GREYSwizzler.h │ │ ├── GREYSwizzler.m │ │ ├── GREYTestHelper.h │ │ ├── GREYTestHelper.m │ │ ├── GREYVisibilityChecker.h │ │ ├── GREYVisibilityChecker.m │ │ ├── GREYWeakObjectContainer.h │ │ └── GREYWeakObjectContainer.m │ ├── Core │ │ ├── GREYAutomationSetup.h │ │ ├── GREYAutomationSetup.m │ │ ├── GREYElementFinder.h │ │ ├── GREYElementFinder.m │ │ ├── GREYElementInteraction.h │ │ ├── GREYElementInteraction.m │ │ ├── GREYInteraction.h │ │ ├── GREYInteractionDataSource.h │ │ ├── GREYKeyboard.h │ │ └── GREYKeyboard.m │ ├── Delegate │ │ ├── GREYCAAnimationDelegate.h │ │ ├── GREYCAAnimationDelegate.m │ │ ├── GREYNSURLConnectionDelegate.h │ │ ├── GREYNSURLConnectionDelegate.m │ │ ├── GREYSurrogateDelegate.h │ │ ├── GREYSurrogateDelegate.m │ │ ├── GREYUIWebViewDelegate.h │ │ └── GREYUIWebViewDelegate.m │ ├── EarlGrey.h │ ├── EarlGrey.m │ ├── Event │ │ ├── GREYSyntheticEvents.h │ │ ├── GREYSyntheticEvents.m │ │ ├── GREYTouchInfo.h │ │ ├── GREYTouchInfo.m │ │ ├── GREYTouchInjector.h │ │ └── GREYTouchInjector.m │ ├── Exception │ │ ├── GREYDefaultFailureHandler.h │ │ ├── GREYDefaultFailureHandler.m │ │ ├── GREYFailureHandler.h │ │ ├── GREYFrameworkException.h │ │ └── GREYFrameworkException.m │ ├── Matcher │ │ ├── GREYAllOf.h │ │ ├── GREYAllOf.m │ │ ├── GREYAnyOf.h │ │ ├── GREYAnyOf.m │ │ ├── GREYBaseMatcher.h │ │ ├── GREYBaseMatcher.m │ │ ├── GREYDescription.h │ │ ├── GREYElementMatcherBlock.h │ │ ├── GREYElementMatcherBlock.m │ │ ├── GREYHCMatcher.h │ │ ├── GREYHCMatcher.m │ │ ├── GREYLayoutConstraint.h │ │ ├── GREYLayoutConstraint.m │ │ ├── GREYMatcher.h │ │ ├── GREYMatchers.h │ │ ├── GREYMatchers.m │ │ ├── GREYNot.h │ │ ├── GREYNot.m │ │ ├── GREYStringDescription.h │ │ └── GREYStringDescription.m │ ├── Provider │ │ ├── GREYDataEnumerator.h │ │ ├── GREYDataEnumerator.m │ │ ├── GREYElementProvider.h │ │ ├── GREYElementProvider.m │ │ ├── GREYProvider.h │ │ ├── GREYUIWindowProvider.h │ │ └── GREYUIWindowProvider.m │ └── Synchronization │ │ ├── GREYAppStateTracker.h │ │ ├── GREYAppStateTracker.m │ │ ├── GREYCondition.h │ │ ├── GREYCondition.m │ │ ├── GREYDispatchQueueIdlingResource.h │ │ ├── GREYDispatchQueueIdlingResource.m │ │ ├── GREYDispatchQueueTracker.h │ │ ├── GREYDispatchQueueTracker.m │ │ ├── GREYManagedObjectContextIdlingResource.h │ │ ├── GREYManagedObjectContextIdlingResource.m │ │ ├── GREYNSTimerIdlingResource.h │ │ ├── GREYNSTimerIdlingResource.m │ │ ├── GREYOperationQueueIdlingResource.h │ │ ├── GREYOperationQueueIdlingResource.m │ │ ├── GREYRunLoopSpinner.h │ │ ├── GREYRunLoopSpinner.m │ │ ├── GREYSyncAPI.h │ │ ├── GREYSyncAPI.m │ │ ├── GREYTimedIdlingResource.h │ │ ├── GREYTimedIdlingResource.m │ │ ├── GREYUIThreadExecutor.h │ │ ├── GREYUIThreadExecutor.m │ │ ├── GREYUIWebViewIdlingResource.h │ │ └── GREYUIWebViewIdlingResource.m │ ├── LICENSE │ ├── OCHamcrest.framework │ ├── Headers │ ├── OCHamcrest │ ├── Resources │ └── Versions │ │ ├── A │ │ ├── Headers │ │ │ ├── HCAllOf.h │ │ │ ├── HCAnyOf.h │ │ │ ├── HCArgumentCaptor.h │ │ │ ├── HCAssertThat.h │ │ │ ├── HCBaseDescription.h │ │ │ ├── HCBaseMatcher.h │ │ │ ├── HCClassMatcher.h │ │ │ ├── HCCollect.h │ │ │ ├── HCConformsToProtocol.h │ │ │ ├── HCDescribedAs.h │ │ │ ├── HCDescription.h │ │ │ ├── HCDiagnosingMatcher.h │ │ │ ├── HCEvery.h │ │ │ ├── HCHasCount.h │ │ │ ├── HCHasDescription.h │ │ │ ├── HCHasProperty.h │ │ │ ├── HCInvocationMatcher.h │ │ │ ├── HCIs.h │ │ │ ├── HCIsAnything.h │ │ │ ├── HCIsCloseTo.h │ │ │ ├── HCIsCollectionContaining.h │ │ │ ├── HCIsCollectionContainingInAnyOrder.h │ │ │ ├── HCIsCollectionContainingInOrder.h │ │ │ ├── HCIsCollectionContainingInRelativeOrder.h │ │ │ ├── HCIsCollectionOnlyContaining.h │ │ │ ├── HCIsDictionaryContaining.h │ │ │ ├── HCIsDictionaryContainingEntries.h │ │ │ ├── HCIsDictionaryContainingKey.h │ │ │ ├── HCIsDictionaryContainingValue.h │ │ │ ├── HCIsEmptyCollection.h │ │ │ ├── HCIsEqual.h │ │ │ ├── HCIsEqualIgnoringCase.h │ │ │ ├── HCIsEqualIgnoringWhiteSpace.h │ │ │ ├── HCIsEqualToNumber.h │ │ │ ├── HCIsIn.h │ │ │ ├── HCIsInstanceOf.h │ │ │ ├── HCIsNil.h │ │ │ ├── HCIsNot.h │ │ │ ├── HCIsSame.h │ │ │ ├── HCIsTrueFalse.h │ │ │ ├── HCIsTypeOf.h │ │ │ ├── HCMatcher.h │ │ │ ├── HCNumberAssert.h │ │ │ ├── HCOrderingComparison.h │ │ │ ├── HCRequireNonNilObject.h │ │ │ ├── HCSelfDescribing.h │ │ │ ├── HCStringContains.h │ │ │ ├── HCStringContainsInOrder.h │ │ │ ├── HCStringDescription.h │ │ │ ├── HCStringEndsWith.h │ │ │ ├── HCStringStartsWith.h │ │ │ ├── HCSubstringMatcher.h │ │ │ ├── HCTestFailure.h │ │ │ ├── HCTestFailureReporter.h │ │ │ ├── HCTestFailureReporterChain.h │ │ │ ├── HCThrowsException.h │ │ │ ├── HCWrapInMatcher.h │ │ │ └── OCHamcrest.h │ │ ├── OCHamcrestIOS │ │ └── Resources │ │ │ └── Info.plist │ │ └── Current │ ├── Scripts │ ├── cheatsheet │ │ ├── Gemfile │ │ ├── Gemfile.lock │ │ ├── readme.md │ │ ├── render.rb │ │ └── setup.rb │ ├── rename-ochamcrestIOS.py │ ├── setup-earlgrey.sh │ └── travis.sh │ ├── Tests │ ├── FunctionalTests │ │ ├── FunctionalTests.pch │ │ ├── FunctionalTests.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ ├── EarlGreyFunctionalSwiftTests.xcscheme │ │ │ │ └── EarlGreyFunctionalTests.xcscheme │ │ ├── LICENSE │ │ ├── Sources │ │ │ ├── FTRAccessibilityTest.m │ │ │ ├── FTRActionSheetTest.m │ │ │ ├── FTRActivityIndicatorTest.m │ │ │ ├── FTRAlertViewTest.m │ │ │ ├── FTRAnalyticsTearDownOptOutTest.m │ │ │ ├── FTRAnalyticsTest.m │ │ │ ├── FTRAnalyticsTestCaseSetupOptOutTest.m │ │ │ ├── FTRAnalyticsTestMethodOptOutTest.m │ │ │ ├── FTRAnalyticsTestSuiteSetupOptOutTest.m │ │ │ ├── FTRAnimationsTest.m │ │ │ ├── FTRBaseAnalyticsTest.h │ │ │ ├── FTRBaseAnalyticsTest.m │ │ │ ├── FTRBaseIntegrationTest.h │ │ │ ├── FTRBaseIntegrationTest.m │ │ │ ├── FTRBasicInteractionTest.m │ │ │ ├── FTRCollectionViewTest.m │ │ │ ├── FTRErrorAPITest.m │ │ │ ├── FTRFailureHandler.h │ │ │ ├── FTRFailureHandler.m │ │ │ ├── FTRGeometryTest.m │ │ │ ├── FTRGestureTest.m │ │ │ ├── FTRKeyboardKeysTest.m │ │ │ ├── FTRLocalUIWebViewTest.m │ │ │ ├── FTRMatcherTest.m │ │ │ ├── FTRNetworkTest.m │ │ │ ├── FTROrientationChangeTest.m │ │ │ ├── FTROrientationPortraitOnlyChangeTest.m │ │ │ ├── FTRPickerViewInteractionTest.m │ │ │ ├── FTRPinchViewTest.m │ │ │ ├── FTRPresentedViewTest.m │ │ │ ├── FTRScreenshotTest.m │ │ │ ├── FTRScrollViewTest.m │ │ │ ├── FTRSlideTest.m │ │ │ ├── FTRSwiftTests.swift │ │ │ ├── FTRSyncAPITest.m │ │ │ ├── FTRUITableViewTest.m │ │ │ ├── FTRUIWebViewTest.m │ │ │ ├── FTRVisibilityTest.m │ │ │ └── FunctionalTestRig-Bridging-Header.h │ │ └── TestRig │ │ │ ├── FunctionalTestRig-Info.plist │ │ │ ├── FunctionalTestRig.pch │ │ │ ├── Resources │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default-667@2x.png │ │ │ ├── Default-736h@3x.png │ │ │ ├── Default.png │ │ │ ├── Default@2x.png │ │ │ ├── Default@3x.png │ │ │ ├── ic_local_cafe_48pt.png │ │ │ ├── ic_local_cafe_48pt@2x.png │ │ │ ├── ic_local_cafe_48pt@3x.png │ │ │ └── www │ │ │ │ ├── eg_mov.gif │ │ │ │ ├── material.min.css │ │ │ │ ├── material.min.js │ │ │ │ ├── styles.css │ │ │ │ ├── testpage.html │ │ │ │ └── testpage_rich.html │ │ │ └── Sources │ │ │ ├── FTRAccessibilityViewController.h │ │ │ ├── FTRAccessibilityViewController.m │ │ │ ├── FTRAccessibilityViewController.xib │ │ │ ├── FTRAccessibleView.h │ │ │ ├── FTRAccessibleView.m │ │ │ ├── FTRActionSheetViewController.h │ │ │ ├── FTRActionSheetViewController.m │ │ │ ├── FTRActionSheetViewController.xib │ │ │ ├── FTRActivityIndicatorViewController.h │ │ │ ├── FTRActivityIndicatorViewController.m │ │ │ ├── FTRActivityIndicatorViewController.xib │ │ │ ├── FTRAlertViewController.h │ │ │ ├── FTRAlertViewController.m │ │ │ ├── FTRAlertViewController.xib │ │ │ ├── FTRAnimationViewController.h │ │ │ ├── FTRAnimationViewController.m │ │ │ ├── FTRAnimationViewController.xib │ │ │ ├── FTRAppDelegate.h │ │ │ ├── FTRAppDelegate.m │ │ │ ├── FTRBasicViewController.h │ │ │ ├── FTRBasicViewController.m │ │ │ ├── FTRBasicViewController.xib │ │ │ ├── FTRCollectionViewCell.h │ │ │ ├── FTRCollectionViewCell.m │ │ │ ├── FTRCollectionViewCell.xib │ │ │ ├── FTRCollectionViewController.h │ │ │ ├── FTRCollectionViewController.m │ │ │ ├── FTRCollectionViewController.xib │ │ │ ├── FTRCollectionViewLayout.h │ │ │ ├── FTRCollectionViewLayout.m │ │ │ ├── FTRGestureViewController.h │ │ │ ├── FTRGestureViewController.m │ │ │ ├── FTRGestureViewController.xib │ │ │ ├── FTRImageViewController.h │ │ │ ├── FTRImageViewController.m │ │ │ ├── FTRImageViewController.xib │ │ │ ├── FTRMainViewController.h │ │ │ ├── FTRMainViewController.m │ │ │ ├── FTRMainViewController.xib │ │ │ ├── FTRNetworkProxy.h │ │ │ ├── FTRNetworkProxy.m │ │ │ ├── FTRNetworkTestViewController.h │ │ │ ├── FTRNetworkTestViewController.m │ │ │ ├── FTRNetworkTestViewController.xib │ │ │ ├── FTRPickerViewController.h │ │ │ ├── FTRPickerViewController.m │ │ │ ├── FTRPickerViewController.xib │ │ │ ├── FTRPresentedViewController.h │ │ │ ├── FTRPresentedViewController.m │ │ │ ├── FTRPresentedViewController.xib │ │ │ ├── FTRRotatedViewsViewController.h │ │ │ ├── FTRRotatedViewsViewController.m │ │ │ ├── FTRRotatedViewsViewController.xib │ │ │ ├── FTRScrollViewController.h │ │ │ ├── FTRScrollViewController.m │ │ │ ├── FTRScrollViewController.xib │ │ │ ├── FTRSliderViewController.h │ │ │ ├── FTRSliderViewController.m │ │ │ ├── FTRSliderViewController.xib │ │ │ ├── FTRSplashViewController.h │ │ │ ├── FTRSplashViewController.m │ │ │ ├── FTRTableViewController.h │ │ │ ├── FTRTableViewController.m │ │ │ ├── FTRTableViewController.xib │ │ │ ├── FTRTypingViewController.h │ │ │ ├── FTRTypingViewController.m │ │ │ ├── FTRTypingViewController.xib │ │ │ ├── FTRVisibilityTestViewController.h │ │ │ ├── FTRVisibilityTestViewController.m │ │ │ ├── FTRVisibilityTestViewController.xib │ │ │ ├── FTRWebViewController.h │ │ │ ├── FTRWebViewController.m │ │ │ ├── FTRWebViewController.xib │ │ │ └── main.m │ └── UnitTests │ │ ├── LICENSE │ │ ├── Sources │ │ ├── CAAnimation+GREYAdditionsTest.m │ │ ├── CALayer+GREYAdditionsTest.m │ │ ├── CGGeometry+GREYAdditionsTest.m │ │ ├── GREYActionsTest.m │ │ ├── GREYAnalyticsTest.m │ │ ├── GREYAppStateTrackerTest.m │ │ ├── GREYAssertionsTest.m │ │ ├── GREYBaseTest.h │ │ ├── GREYBaseTest.m │ │ ├── GREYConditionTest.m │ │ ├── GREYConfigurationTest.m │ │ ├── GREYDataEnumeratorTest.m │ │ ├── GREYDispatchQueueIdlingResourceTest.m │ │ ├── GREYDispatchQueueTrackerTest.m │ │ ├── GREYElementFinderTest.m │ │ ├── GREYElementHierarchyTest.m │ │ ├── GREYElementInteractionTest.m │ │ ├── GREYElementMatcherBlockTest.m │ │ ├── GREYElementProviderTest.m │ │ ├── GREYExposedForTesting.h │ │ ├── GREYLayoutConstraintTest.m │ │ ├── GREYManagedObjectContextIdlingResourceTest.m │ │ ├── GREYMatchersTest.m │ │ ├── GREYNSTimerIdlingResourceTest.m │ │ ├── GREYOperationQueueIdlingResourceTest.m │ │ ├── GREYPathGestureUtilsTest.m │ │ ├── GREYRunLoopSpinnerTest.m │ │ ├── GREYScreenshotUtilTest.m │ │ ├── GREYScrollActionTest.m │ │ ├── GREYStringDescriptionTest.m │ │ ├── GREYSwipeActionTest.m │ │ ├── GREYSwizzlerTest.m │ │ ├── GREYSyncAPITest.m │ │ ├── GREYTestHelperTest.m │ │ ├── GREYTimedIdlingResourceTest.m │ │ ├── GREYTouchInjectorTest.m │ │ ├── GREYUIScrollViewTest.m │ │ ├── GREYUIThreadExecutorTest.m │ │ ├── GREYUIWindowProviderTest.m │ │ ├── GREYVisibilityCheckerTest.m │ │ ├── GREYWeakObjectContainerTest.m │ │ ├── NSObject+GREYAdditionsTest.m │ │ ├── NSString+GREYAdditionsTest.m │ │ ├── NSURLConnection+GREYAdditionsTest.m │ │ ├── NSURLSessionTask+GREYAdditionsTest.m │ │ ├── UIView+GREYAdditionsTest.m │ │ ├── UIViewController+GREYAdditionsTest.m │ │ ├── UIWindow+GREYAdditionsTest.m │ │ └── XCTestCase+GREYAdditionsTest.m │ │ ├── TestRig │ │ ├── Resources │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default.png │ │ │ ├── Default@2x.png │ │ │ ├── Default@3x.png │ │ │ ├── ic_local_drink_48pt.png │ │ │ ├── ic_local_drink_48pt@2x.png │ │ │ └── ic_local_drink_48pt@3x.png │ │ ├── Sources │ │ │ └── main.m │ │ └── UnitTestRig-Info.plist │ │ ├── UnitTests.pch │ │ ├── UnitTests.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── EarlGreyUnitTests.xcscheme │ │ └── ocmock │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── Examples │ │ ├── ArcExample │ │ │ ├── ArcExample.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ └── ArcExample │ │ │ │ ├── ArcExample-Prefix.pch │ │ │ │ ├── ArcExample.1 │ │ │ │ └── main.m │ │ ├── SwiftExamples │ │ │ ├── SwiftExamples.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── SwiftExamples │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Base.lproj │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Connection.swift │ │ │ │ ├── Controller.swift │ │ │ │ ├── DetailViewController.swift │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── LaunchImage.launchimage │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Info.plist │ │ │ │ └── MasterViewController.swift │ │ │ ├── SwiftExamplesTests │ │ │ │ ├── Info.plist │ │ │ │ ├── MockTests.m │ │ │ │ ├── SwiftExamplesTests-Bridging-Header.h │ │ │ │ └── SwiftExamplesTests.swift │ │ │ └── usr │ │ │ │ ├── include │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMLocation.h │ │ │ │ │ ├── OCMMacroState.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ ├── OCMockObject.h │ │ │ │ │ └── OCMockRecorder.h │ │ │ │ └── lib │ │ │ │ └── libOCMock.a │ │ ├── iOS5Example │ │ │ ├── iOS5Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── iOS5Example │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── DetailViewController.h │ │ │ │ ├── DetailViewController.m │ │ │ │ ├── MasterViewController.h │ │ │ │ ├── MasterViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ ├── MainStoryboard_iPad.storyboard │ │ │ │ │ └── MainStoryboard_iPhone.storyboard │ │ │ │ ├── iOS5Example-Info.plist │ │ │ │ ├── iOS5Example-Prefix.pch │ │ │ │ └── main.m │ │ │ ├── iOS5ExampleTests │ │ │ │ ├── ProtocolTests.h │ │ │ │ ├── ProtocolTests.m │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── iOS5ExampleTests-Info.plist │ │ │ │ ├── iOS5ExampleTests.h │ │ │ │ └── iOS5ExampleTests.m │ │ │ └── usr │ │ │ │ ├── include │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ ├── OCMockObject.h │ │ │ │ │ └── OCMockRecorder.h │ │ │ │ └── lib │ │ │ │ └── libOCMock.a │ │ ├── iOS7Example │ │ │ ├── iOS7Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── iOS7Example │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Base.lproj │ │ │ │ │ ├── Main_iPad.storyboard │ │ │ │ │ └── Main_iPhone.storyboard │ │ │ │ ├── DetailViewController.h │ │ │ │ ├── DetailViewController.m │ │ │ │ ├── Images.xcassets │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── LaunchImage.launchimage │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── MasterViewController.h │ │ │ │ ├── MasterViewController.m │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── iOS7Example-Info.plist │ │ │ │ ├── iOS7Example-Prefix.pch │ │ │ │ └── main.m │ │ │ ├── iOS7ExampleTests │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── iOS7ExampleTests-Info.plist │ │ │ │ └── iOS7ExampleTests.m │ │ │ └── usr │ │ │ │ ├── include │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMLocation.h │ │ │ │ │ ├── OCMMacroState.h │ │ │ │ │ ├── OCMRecorder.h │ │ │ │ │ ├── OCMStubRecorder.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ └── OCMockObject.h │ │ │ │ └── lib │ │ │ │ └── libOCMock.a │ │ ├── iOS9Example │ │ │ ├── iOS9Example.xcodeproj │ │ │ │ └── project.pbxproj │ │ │ ├── iOS9Example │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.m │ │ │ │ ├── Assets.xcassets │ │ │ │ │ └── AppIcon.appiconset │ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── DetailViewController.h │ │ │ │ ├── DetailViewController.m │ │ │ │ ├── Info.plist │ │ │ │ ├── MasterViewController.h │ │ │ │ ├── MasterViewController.m │ │ │ │ └── main.m │ │ │ ├── iOS9ExampleTests │ │ │ │ ├── Info.plist │ │ │ │ └── iOS9ExampleTests.m │ │ │ └── usr │ │ │ │ ├── include │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMFunctions.h │ │ │ │ │ ├── OCMLocation.h │ │ │ │ │ ├── OCMMacroState.h │ │ │ │ │ ├── OCMRecorder.h │ │ │ │ │ ├── OCMStubRecorder.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ └── OCMockObject.h │ │ │ │ └── lib │ │ │ │ └── libOCMock.a │ │ └── iPhoneExample │ │ │ ├── Classes │ │ │ ├── RootViewController.h │ │ │ ├── RootViewController.m │ │ │ ├── iPhoneExampleAppDelegate.h │ │ │ └── iPhoneExampleAppDelegate.m │ │ │ ├── Libraries │ │ │ ├── Headers │ │ │ │ └── OCMock │ │ │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ │ │ ├── OCMArg.h │ │ │ │ │ ├── OCMConstraint.h │ │ │ │ │ ├── OCMock.h │ │ │ │ │ ├── OCMockObject.h │ │ │ │ │ └── OCMockRecorder.h │ │ │ └── libOCMock.a │ │ │ ├── MainWindow.xib │ │ │ ├── OCMockLogo.png │ │ │ ├── RootViewController.xib │ │ │ ├── Tests │ │ │ ├── RootViewControllerTests.h │ │ │ └── RootViewControllerTests.m │ │ │ ├── iPhoneExample-Info.plist │ │ │ ├── iPhoneExample.xcodeproj │ │ │ └── project.pbxproj │ │ │ ├── iPhoneExampleTests-Info.plist │ │ │ ├── iPhoneExample_Prefix.pch │ │ │ └── main.m │ │ ├── License.txt │ │ ├── Makefile │ │ ├── OCMock.podspec │ │ ├── README.md │ │ ├── Source │ │ ├── Changes.txt │ │ ├── Frameworks │ │ │ └── OCHamcrest.tar.bz2 │ │ ├── OCMock iOS │ │ │ └── Info.plist │ │ ├── OCMock.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ ├── OCMock iOS.xcscheme │ │ │ │ ├── OCMock tvOS.xcscheme │ │ │ │ ├── OCMock.xcscheme │ │ │ │ └── OCMockLib.xcscheme │ │ ├── OCMock │ │ │ ├── NSInvocation+OCMAdditions.h │ │ │ ├── NSInvocation+OCMAdditions.m │ │ │ ├── NSMethodSignature+OCMAdditions.h │ │ │ ├── NSMethodSignature+OCMAdditions.m │ │ │ ├── NSNotificationCenter+OCMAdditions.h │ │ │ ├── NSNotificationCenter+OCMAdditions.m │ │ │ ├── NSObject+OCMAdditions.h │ │ │ ├── NSObject+OCMAdditions.m │ │ │ ├── NSValue+OCMAdditions.h │ │ │ ├── NSValue+OCMAdditions.m │ │ │ ├── OCClassMockObject.h │ │ │ ├── OCClassMockObject.m │ │ │ ├── OCMArg.h │ │ │ ├── OCMArg.m │ │ │ ├── OCMArgAction.h │ │ │ ├── OCMArgAction.m │ │ │ ├── OCMBlockArgCaller.h │ │ │ ├── OCMBlockArgCaller.m │ │ │ ├── OCMBlockCaller.h │ │ │ ├── OCMBlockCaller.m │ │ │ ├── OCMBoxedReturnValueProvider.h │ │ │ ├── OCMBoxedReturnValueProvider.m │ │ │ ├── OCMConstraint.h │ │ │ ├── OCMConstraint.m │ │ │ ├── OCMExceptionReturnValueProvider.h │ │ │ ├── OCMExceptionReturnValueProvider.m │ │ │ ├── OCMExpectationRecorder.h │ │ │ ├── OCMExpectationRecorder.m │ │ │ ├── OCMFunctions.h │ │ │ ├── OCMFunctions.m │ │ │ ├── OCMFunctionsPrivate.h │ │ │ ├── OCMIndirectReturnValueProvider.h │ │ │ ├── OCMIndirectReturnValueProvider.m │ │ │ ├── OCMInvocationExpectation.h │ │ │ ├── OCMInvocationExpectation.m │ │ │ ├── OCMInvocationMatcher.h │ │ │ ├── OCMInvocationMatcher.m │ │ │ ├── OCMInvocationStub.h │ │ │ ├── OCMInvocationStub.m │ │ │ ├── OCMLocation.h │ │ │ ├── OCMLocation.m │ │ │ ├── OCMMacroState.h │ │ │ ├── OCMMacroState.m │ │ │ ├── OCMNotificationPoster.h │ │ │ ├── OCMNotificationPoster.m │ │ │ ├── OCMObserverRecorder.h │ │ │ ├── OCMObserverRecorder.m │ │ │ ├── OCMPassByRefSetter.h │ │ │ ├── OCMPassByRefSetter.m │ │ │ ├── OCMRealObjectForwarder.h │ │ │ ├── OCMRealObjectForwarder.m │ │ │ ├── OCMRecorder.h │ │ │ ├── OCMRecorder.m │ │ │ ├── OCMReturnValueProvider.h │ │ │ ├── OCMReturnValueProvider.m │ │ │ ├── OCMStubRecorder.h │ │ │ ├── OCMStubRecorder.m │ │ │ ├── OCMVerifier.h │ │ │ ├── OCMVerifier.m │ │ │ ├── OCMock-Info.plist │ │ │ ├── OCMock-Prefix.pch │ │ │ ├── OCMock.h │ │ │ ├── OCMockObject.h │ │ │ ├── OCMockObject.m │ │ │ ├── OCObserverMockObject.h │ │ │ ├── OCObserverMockObject.m │ │ │ ├── OCPartialMockObject.h │ │ │ ├── OCPartialMockObject.m │ │ │ ├── OCProtocolMockObject.h │ │ │ ├── OCProtocolMockObject.m │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ ├── OCMockLib │ │ │ └── OCMockLib-Prefix.pch │ │ ├── OCMockLibTests │ │ │ ├── OCMockLibTests-Info.plist │ │ │ ├── OCMockLibTests-Prefix.pch │ │ │ └── en.lproj │ │ │ │ └── InfoPlist.strings │ │ └── OCMockTests │ │ │ ├── NSInvocationOCMAdditionsTests.m │ │ │ ├── NSMethodSignatureOCMAdditionsTests.m │ │ │ ├── OCMArgTests.m │ │ │ ├── OCMBoxedReturnValueProviderTests.m │ │ │ ├── OCMConstraintTests.m │ │ │ ├── OCMInvocationMatcherTests.m │ │ │ ├── OCMStubRecorderTests.m │ │ │ ├── OCMockObjectClassMethodMockingTests.m │ │ │ ├── OCMockObjectDynamicPropertyMockingTests.m │ │ │ ├── OCMockObjectForwardingTargetTests.m │ │ │ ├── OCMockObjectHamcrestTests.m │ │ │ ├── OCMockObjectMacroTests.m │ │ │ ├── OCMockObjectPartialMocksTests.m │ │ │ ├── OCMockObjectProtocolMocksTests.m │ │ │ ├── OCMockObjectRuntimeTests.m │ │ │ ├── OCMockObjectTests.m │ │ │ ├── OCMockObjectVerifyAfterRunTests.m │ │ │ ├── OCMockTests-Info.plist │ │ │ ├── OCMockTests-Prefix.pch │ │ │ ├── OCObserverMockObjectTests.m │ │ │ ├── TestClassWithCustomReferenceCounting.h │ │ │ ├── TestClassWithCustomReferenceCounting.m │ │ │ └── en.lproj │ │ │ └── InfoPlist.strings │ │ └── Tools │ │ ├── build.rb │ │ └── updatebanner.rb │ └── fishhook │ ├── LICENSE │ ├── README.md │ ├── fishhook.c │ ├── fishhook.h │ └── fishhook.podspec ├── UITestingKIFTests ├── BridgingHeader.h ├── Info.plist ├── UITestingKIFTests.swift ├── Vendor │ └── KIF │ │ ├── Additions │ │ ├── CAAnimation+KIFAdditions.h │ │ ├── CAAnimation+KIFAdditions.m │ │ ├── CALayer-KIFAdditions.h │ │ ├── CALayer-KIFAdditions.m │ │ ├── CGGeometry-KIFAdditions.h │ │ ├── CGGeometry-KIFAdditions.m │ │ ├── LoadableCategory.h │ │ ├── NSBundle-KIFAdditions.h │ │ ├── NSBundle-KIFAdditions.m │ │ ├── NSError-KIFAdditions.h │ │ ├── NSError-KIFAdditions.m │ │ ├── NSException-KIFAdditions.h │ │ ├── NSException-KIFAdditions.m │ │ ├── NSFileManager-KIFAdditions.h │ │ ├── NSFileManager-KIFAdditions.m │ │ ├── NSPredicate+KIFAdditions.h │ │ ├── NSPredicate+KIFAdditions.m │ │ ├── NSString+KIFAdditions.h │ │ ├── NSString+KIFAdditions.m │ │ ├── UIAccessibilityElement-KIFAdditions.h │ │ ├── UIAccessibilityElement-KIFAdditions.m │ │ ├── UIApplication-KIFAdditions.h │ │ ├── UIApplication-KIFAdditions.m │ │ ├── UIEvent+KIFAdditions.h │ │ ├── UIEvent+KIFAdditions.m │ │ ├── UIScreen+KIFAdditions.h │ │ ├── UIScreen+KIFAdditions.m │ │ ├── UIScrollView-KIFAdditions.h │ │ ├── UIScrollView-KIFAdditions.m │ │ ├── UITableView-KIFAdditions.h │ │ ├── UITableView-KIFAdditions.m │ │ ├── UITouch-KIFAdditions.h │ │ ├── UITouch-KIFAdditions.m │ │ ├── UIView-Debugging.h │ │ ├── UIView-Debugging.m │ │ ├── UIView-KIFAdditions.h │ │ ├── UIView-KIFAdditions.m │ │ ├── UIWindow-KIFAdditions.h │ │ ├── UIWindow-KIFAdditions.m │ │ ├── XCTestCase-KIFAdditions.h │ │ └── XCTestCase-KIFAdditions.m │ │ ├── Classes │ │ ├── IOHIDEvent+KIF.h │ │ ├── IOHIDEvent+KIF.m │ │ ├── KIF-Prefix.pch │ │ ├── KIF-XCTestPrefix.pch │ │ ├── KIF.h │ │ ├── KIFAccessibilityEnabler.h │ │ ├── KIFAccessibilityEnabler.m │ │ ├── KIFSystemTestActor.h │ │ ├── KIFSystemTestActor.m │ │ ├── KIFTestActor.h │ │ ├── KIFTestActor.m │ │ ├── KIFTestCase.h │ │ ├── KIFTestCase.m │ │ ├── KIFTestStepValidation.h │ │ ├── KIFTestStepValidation.m │ │ ├── KIFTypist.h │ │ ├── KIFTypist.m │ │ ├── KIFUIObject.h │ │ ├── KIFUIObject.m │ │ ├── KIFUITestActor-ConditionalTests.h │ │ ├── KIFUITestActor-ConditionalTests.m │ │ ├── KIFUITestActor.h │ │ ├── KIFUITestActor.m │ │ ├── KIFUIViewTestActor.h │ │ ├── KIFUIViewTestActor.m │ │ ├── UIAutomationHelper.h │ │ └── UIAutomationHelper.m │ │ ├── IdentifierTests │ │ ├── KIFUITestActor-IdentifierTests.h │ │ └── KIFUITestActor-IdentifierTests.m │ │ ├── KIF Tests │ │ ├── AccessibilityIdentifierPullToRefreshTests.m │ │ ├── AccessibilityIdentifierTests.m │ │ ├── AccessibilityIdentifierTests_ViewTestActor.m │ │ ├── Additions │ │ │ └── UIScreen+KIFAdditionsTests.m │ │ ├── BackgroundTests.m │ │ ├── CascadingFailureTests.m │ │ ├── CollectionViewTests.m │ │ ├── CollectionViewTests_ViewTestActor.m │ │ ├── CompositionTests.m │ │ ├── CompositionTests_ViewTestActor.m │ │ ├── ExistTests.m │ │ ├── ExistTests_ViewTestActor.m │ │ ├── GestureTests.m │ │ ├── GestureTests_ViewTestActor.m │ │ ├── KIF Tests-Info.plist │ │ ├── KIF Tests-Prefix.pch │ │ ├── KIF XCTests-Prefix.pch │ │ ├── LandscapeTests.m │ │ ├── LandscapeTests_ViewTestActor.m │ │ ├── LongPressTests.m │ │ ├── LongPressTests_ViewTestActor.m │ │ ├── ModalViewTests.m │ │ ├── ModalViewTests_ViewTestActor.m │ │ ├── MultiFingerTests.m │ │ ├── MultiFingerTests_ViewTestActor.m │ │ ├── PickerTests.m │ │ ├── PickerTests_ViewTestActor.m │ │ ├── PullToRefreshTests.m │ │ ├── PullToRefreshTests_ViewTestActor.m │ │ ├── ScrollViewTests.m │ │ ├── ScrollViewTests_ViewTestActor.m │ │ ├── SearchFieldTests.m │ │ ├── SearchFieldTests_ViewTestActor.m │ │ ├── SpecificControlTests.m │ │ ├── SpecificControlTests_ViewTestActor.m │ │ ├── SystemAlertTests.m │ │ ├── SystemAlertTests_ViewTestActor.m │ │ ├── SystemTests.m │ │ ├── TableViewTests.m │ │ ├── TableViewTests_ViewTestActor.m │ │ ├── TappingTests.m │ │ ├── TappingTests_ViewTestActor.m │ │ ├── TypingTests.m │ │ ├── TypingTests_ViewTestActor.m │ │ ├── UIApplicationKIFAdditionsTests.m │ │ ├── WaitForAbscenceTests.m │ │ ├── WaitForAbscenceTests_ViewTestActor.m │ │ ├── WaitForAnimationTests.m │ │ ├── WaitForAnimationTests_ViewTestActor.m │ │ ├── WaitForTappableViewTests.m │ │ ├── WaitForTappableViewTests_ViewTestActor.m │ │ ├── WaitForViewTests.m │ │ ├── WaitForViewTests_ViewTestActor.m │ │ ├── WebViewTests.m │ │ ├── WebViewTests_ViewTestActor.m │ │ └── en.lproj │ │ │ └── InfoPlist.strings │ │ ├── KIF.podspec │ │ ├── KIF.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ ├── KIFFramework │ │ ├── Info.plist │ │ └── KIF.h │ │ ├── KIFFrameworkConsumer │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── ViewController.h │ │ ├── ViewController.m │ │ └── main.m │ │ ├── KIFFrameworkConsumerTests │ │ ├── Info.plist │ │ └── KIFFrameworkConsumerTests.m │ │ ├── LICENSE │ │ ├── README.md │ │ ├── Test Host │ │ ├── AnimationViewController.m │ │ ├── AppDelegate.m │ │ ├── BackgroundViewController.m │ │ ├── CollectionViewController.m │ │ ├── Default-568h@2x.png │ │ ├── Default.png │ │ ├── Default@2x.png │ │ ├── GestureViewController.m │ │ ├── PickerController.m │ │ ├── ScrollViewController.m │ │ ├── ShowHideViewController.m │ │ ├── SystemAlertViewController.m │ │ ├── TableViewController.m │ │ ├── TapViewController.m │ │ ├── Test Host-Info.plist │ │ ├── Test Host-Prefix.pch │ │ ├── TestSuiteViewController.m │ │ ├── WebViewController.m │ │ ├── en.lproj │ │ │ ├── InfoPlist.strings │ │ │ └── MainStoryboard.storyboard │ │ ├── index.html │ │ ├── main.m │ │ └── page2.html │ │ └── scripts │ │ └── ci.sh └── XCTestCaseKIFExtensions.swift └── UITestingXCUITests ├── Info.plist ├── UITestingXCUITests-Bridging-Header.h └── UITestingXCUITests.swift /Helper/PSPDFTestAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // PSPDFTestAdditions.h 3 | // UITestingComparison 4 | // 5 | // Copyright © 2016 PSPDFKit GmbH. All rights reserved. 6 | // 7 | 8 | typedef BOOL(^PSPDFTestCondition)(void); 9 | 10 | // More convenient for Swift to have a trailing block 11 | FOUNDATION_EXTERN BOOL PSPDFWaitForConditionWithTimeout(NSTimeInterval timeout, PSPDFTestCondition condition); 12 | 13 | #define PSPDF_DEPRECATED_NOWARN(expression) \ 14 | _Pragma("clang diagnostic push") \ 15 | _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"") \ 16 | expression \ 17 | _Pragma("clang diagnostic pop") 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## iOS UI Testing Comparison 2 | 3 | Demo project to show how UI testing frameworks compare to each other. 4 | Here we are comparing *EarlGrey*, *KIF* and *XCUI*. 5 | 6 | ### What you need to do 7 | 8 | To run this project you have to copy `PSPDFKit.framework`, which [you can download here](https://pspdfkit.com/#trynow) in the root folder. 9 | Run all tests by selecting `Test` (CMD+U) on the `UITestingComparison` scheme. This will run all the UI test from the 3 different frameworks. 10 | -------------------------------------------------------------------------------- /UITestingComparison.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /UITestingComparison/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // UITestingComparison 4 | // 5 | // Copyright © 2016 PSPDFKit GmbH. All rights reserved. 6 | // 7 | 8 | import UIKit 9 | import PSPDFKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | public func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool { 17 | // Custom apps will require either a demo or commercial license key from http://pspdfkit.com 18 | PSPDFKit.setLicenseKey("YOUR_LICENSE_KEY_GOES_HERE") 19 | 20 | return true 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt@2x-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt@2x-2.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt@2x-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt@2x-3.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-29pt@3x.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@2x-1.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@2x-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@2x-2.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@3x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@3x-1.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@3x-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-40pt@3x-2.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-60pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-60pt@3x.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-76pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-76pt.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-76pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-76pt@2x.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-83.5pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/AppIcon.appiconset/appicon-83.5pt@2x.png -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/LaunchLogo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchLogoLarge.pdf" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "LaunchLogoSmall.pdf", 10 | "width-class" : "compact" 11 | } 12 | ], 13 | "info" : { 14 | "version" : 1, 15 | "author" : "xcode" 16 | } 17 | } -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/LaunchLogo.imageset/LaunchLogoLarge.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/LaunchLogo.imageset/LaunchLogoLarge.pdf -------------------------------------------------------------------------------- /UITestingComparison/Assets.xcassets/LaunchLogo.imageset/LaunchLogoSmall.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Assets.xcassets/LaunchLogo.imageset/LaunchLogoSmall.pdf -------------------------------------------------------------------------------- /UITestingComparison/Resources/PSPDFKit 6 QuickStart Guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingComparison/Resources/PSPDFKit 6 QuickStart Guide.pdf -------------------------------------------------------------------------------- /UITestingEarlGreyTests/BridgingHeader.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "PSPDFTestCase.h" 3 | #import "PSPDFTestAdditions.h" 4 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Action/GREYScrollActionError.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import "Action/GREYScrollActionError.h" 18 | 19 | /** 20 | * Error domain for scroll action errors. 21 | */ 22 | NSString *const kGREYScrollErrorDomain = @"com.google.earlgrey.ScrollErrorDomain"; 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/CALayer+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * EarlGrey specific additions to CALayer to track animations. 21 | */ 22 | @interface CALayer (GREYAdditions) 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/NSRunLoop+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * EarlGrey specific additions to NSRunLoop to track run loop timers. 21 | */ 22 | @interface NSRunLoop (GREYAdditions) 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/NSTimer+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * EarlGrey specific additions to NSTimer to track timer events. 21 | */ 22 | @interface NSTimer (GREYAdditions) 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/NSURL+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | @interface NSURL (GREYAdditions) 20 | 21 | /** 22 | * @return @c YES if EarlGrey must synchronize with this url, @c NO otherwise. 23 | */ 24 | - (BOOL)grey_shouldSynchronize; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/NSURLConnection+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Additions to NSURLConnection to allow EarlGrey to track status for every connection. By 21 | * default, EarlGrey tracks all NSURLConnection's, to change this behavior update GREYConfiguration 22 | * setting with @c kGREYConfigKeyURLBlacklistRegex key. 23 | */ 24 | @interface NSURLConnection (GREYAdditions) 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/UIAnimation+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * EarlGrey additions for UIAnimation, UIKit's internal representation of animations used by some 21 | * of its components, such as UIScrollView. 22 | */ 23 | @interface UIAnimation_GREYAdditions : NSObject 24 | @end 25 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/UIApplication+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * EarlGrey specific additions for tracking runloop mode changes and user interaction events. 21 | */ 22 | @interface UIApplication (GREYAdditions) 23 | 24 | /** 25 | * @return Active mode for the main runloop that was pushed by one of the push runloop methods. 26 | * May return @c nil when no mode was pushed. 27 | */ 28 | - (NSString *)grey_activeRunLoopMode; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/UIGestureRecognizer+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Additions that allow EarlGrey to synchronize with UIGestureRecognizers. 21 | */ 22 | @interface UIGestureRecognizer (GREYAdditions) 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/UISwitch+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Additions for the UISwitch class. 21 | */ 22 | @interface UISwitch (GREYAdditions) 23 | 24 | /** 25 | * @param onState The specified switch state. 26 | * 27 | * @return A string representation of the specified switch state. 28 | */ 29 | + (NSString *)grey_stringFromOnState:(BOOL)onState; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/UISwitch+GREYAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import "UISwitch+GREYAdditions.h" 18 | 19 | @implementation UISwitch (GREYAdditions) 20 | 21 | + (NSString *)grey_stringFromOnState:(BOOL)onState { 22 | return onState ? @"ON" : @"OFF"; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/UIWebView+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Additions that allow EarlGrey to sync with UIWebView load requests. 21 | */ 22 | @interface UIWebView (GREYAdditions) 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/UIWindow+GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | @interface UIWindow (GREYAdditions) 20 | @end 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/_UIModalItemsPresentingViewController_GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Private iOS class that doesn't call through to @code [super viewWillDisappear:] @endcode. 21 | * Without this, EarlGrey is unable to synchronize with disappearance of views of this controller. 22 | * 23 | * @remark This is fixed in iOS 9. 24 | */ 25 | @interface _UIModalItemsPresentingViewController_GREYAdditions : NSObject 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Additions/__NSCFLocalDataTask_GREYAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Additions to NSURLSessionTask to allow EarlGrey to track status for every network request. By 21 | * default, EarlGrey tracks all URLs, to change this behavior update GREYConfiguration setting with 22 | * @c kGREYConfigKeyURLBlacklistRegex key. 23 | */ 24 | @interface __NSCFLocalDataTask_GREYAdditions : NSObject 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Assertion/GREYAssertions.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * An interface that exposes UI element assertions. 21 | */ 22 | @interface GREYAssertions : NSObject 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Common/GREYTestHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Provides interface for test helper methods. 21 | */ 22 | @interface GREYTestHelper : NSObject 23 | 24 | /** 25 | * Enables fast animation. Invoke in the XCTest setUp method to increase 26 | * the speed of your tests by not having to wait on slow animations. 27 | */ 28 | + (void)enableFastAnimation; 29 | 30 | /** 31 | * Disables fast animation. 32 | */ 33 | + (void)disableFastAnimation; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Common/GREYWeakObjectContainer.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import "Common/GREYWeakObjectContainer.h" 18 | 19 | @implementation GREYWeakObjectContainer 20 | 21 | - (instancetype)initWithObject:(id)object { 22 | self = [super init]; 23 | if (self) { 24 | _object = object; 25 | } 26 | return self; 27 | } 28 | 29 | @end 30 | 31 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Exception/GREYDefaultFailureHandler.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Failure handler that prints formatted exceptions and stack traces on failure, 21 | * including paths to the application's screenshots and saving them. It also prints 22 | * the UI hierarchy at the point of failure. 23 | */ 24 | @interface GREYDefaultFailureHandler : NSObject 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Matcher/GREYStringDescription.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | #import 19 | 20 | /** 21 | * A string based implementation of GREYDescription protocol. 22 | */ 23 | @interface GREYStringDescription : NSObject 24 | @end 25 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/EarlGrey/Provider/GREYProvider.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | @protocol GREYProvider 20 | 21 | /** 22 | * @return A new enumerator that can be used to enumerate data backed by this provider. 23 | */ 24 | - (NSEnumerator *)dataEnumerator; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/OCHamcrest: -------------------------------------------------------------------------------- 1 | Versions/Current/OCHamcrestIOS -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCBaseDescription.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | #import 6 | 7 | 8 | /*! 9 | * @abstract Base class for all @ref HCDescription implementations. 10 | */ 11 | @interface HCBaseDescription : NSObject 12 | @end 13 | 14 | 15 | /*! 16 | * @abstract Methods that must be provided by subclasses of HCBaseDescription. 17 | */ 18 | @interface HCBaseDescription (SubclassResponsibility) 19 | 20 | /*! 21 | * @abstract Appends the specified string to the description. 22 | */ 23 | - (void)append:(NSString *)str; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCBaseMatcher.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | #import 6 | 7 | #define HC_ABSTRACT_METHOD [self subclassResponsibility:_cmd] 8 | 9 | 10 | /*! 11 | * @abstract Base class for all @ref HCMatcher implementations. 12 | * @discussion Simple matchers can just subclass HCBaseMatcher and implement -matches: 13 | * and -describeTo:. But if the matching algorithm has several "no match" paths, 14 | * consider subclassing @ref HCDiagnosingMatcher instead. 15 | */ 16 | @interface HCBaseMatcher : NSObject 17 | 18 | /*! @abstract Raises exception that command (a pseudo-abstract method) is not implemented. */ 19 | - (void)subclassResponsibility:(SEL)command; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCClassMatcher.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @interface HCClassMatcher : HCBaseMatcher 8 | 9 | @property (nonatomic, strong, readonly) Class theClass; 10 | 11 | - (instancetype)initWithClass:(Class)aClass; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCCollect.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | #import 7 | 8 | 9 | /*! 10 | * @abstract Returns an array of values from a variable-length comma-separated list terminated 11 | * by nil. 12 | */ 13 | FOUNDATION_EXPORT NSArray * HCCollectItems(id item, va_list args); 14 | 15 | /*! 16 | * @abstract Returns an array of matchers from a variable-length comma-separated list terminated 17 | * by nil. 18 | * @discussion Each item is wrapped in @ref HCWrapInMatcher to transform non-matcher items into 19 | * equality matchers. 20 | */ 21 | FOUNDATION_EXPORT NSArray * HCCollectMatchers(id item, va_list args); 22 | 23 | /*! 24 | * @abstract Returns an array of matchers from a mixed array of items and matchers. 25 | * @discussion Each item is wrapped in @ref HCWrapInMatcher to transform non-matcher items into 26 | * equality matchers. 27 | */ 28 | FOUNDATION_EXPORT NSArray * HCWrapIntoMatchers(NSArray *items); 29 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCDiagnosingMatcher.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | /*! 8 | * @abstract Base class for matchers that generate mismatch descriptions during the matching. 9 | * @discussion Some matching algorithms have several "no match" paths. It helps to make the mismatch 10 | * description as precise as possible, but we don't want to have to repeat the matching logic to do 11 | * so. For such matchers, subclass HCDiagnosingMatcher and implement @ref HCMatcher's 12 | * -matches:describingMismatchTo:. 13 | */ 14 | @interface HCDiagnosingMatcher : HCBaseMatcher 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCIsEmptyCollection.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | /*! 8 | * @abstract Matches empty collections. 9 | */ 10 | @interface HCIsEmptyCollection : HCHasCount 11 | 12 | - (instancetype)init; 13 | 14 | @end 15 | 16 | 17 | FOUNDATION_EXPORT id HC_isEmpty(void); 18 | 19 | #ifndef HC_DISABLE_SHORT_SYNTAX 20 | /*! 21 | * @abstract Creates a matcher that matches any examined object whose -count method 22 | * returns zero. 23 | * 24 | * Example
25 | *
assertThat(\@[], isEmpty())
26 | * 27 | * Name Clash
28 | * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym 29 | * HC_isEmpty instead. 30 | */ 31 | static inline id isEmpty(void) 32 | { 33 | return HC_isEmpty(); 34 | } 35 | #endif 36 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCIsInstanceOf.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | /*! 8 | * @abstract Matches objects that are of a given class or any subclass. 9 | */ 10 | @interface HCIsInstanceOf : HCClassMatcher 11 | @end 12 | 13 | 14 | FOUNDATION_EXPORT id HC_instanceOf(Class expectedClass); 15 | 16 | #ifndef HC_DISABLE_SHORT_SYNTAX 17 | /*! 18 | * @abstract Creates a matcher that matches when the examined object is an instance of, or inherits 19 | * from, the specified class. 20 | * @param expectedClass The class to compare against as the expected class. 21 | * @discussion 22 | * Example
23 | *
assertThat(canoe, instanceOf([Canoe class]))
24 | * 25 | * Name Clash
26 | * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym 27 | * HC_instanceOf instead. 28 | */ 29 | static inline id instanceOf(Class expectedClass) 30 | { 31 | return HC_instanceOf(expectedClass); 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCIsTypeOf.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | /*! 8 | * @abstract Matches objects that are of a given class. 9 | */ 10 | @interface HCIsTypeOf : HCClassMatcher 11 | @end 12 | 13 | 14 | FOUNDATION_EXPORT id HC_isA(Class expectedClass); 15 | 16 | #ifndef HC_DISABLE_SHORT_SYNTAX 17 | /*! 18 | * @abstract Creates a matcher that matches when the examined object is an instance of the specified 19 | * class, but not of any subclass. 20 | * @param expectedClass The class to compare against as the expected class. 21 | * @discussion 22 | * Example
23 | *
assertThat(canoe, isA([Canoe class]))
24 | * 25 | * Name Clash
26 | * In the event of a name clash, #define HC_DISABLE_SHORT_SYNTAX and use the synonym 27 | * HC_isA instead. 28 | */ 29 | static inline id isA(Class expectedClass) 30 | { 31 | return HC_isA(expectedClass); 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCRequireNonNilObject.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | /*! 8 | * @abstract Throws an NSException if obj is nil. 9 | */ 10 | FOUNDATION_EXPORT void HCRequireNonNilObject(id obj); 11 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCSelfDescribing.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | #import "HCDescription.h" // Convenience header 7 | 8 | 9 | /*! 10 | * @abstract The ability of an object to describe itself. 11 | */ 12 | @protocol HCSelfDescribing 13 | 14 | /*! 15 | * @abstract Generates a description of the object. 16 | * @param description The description to be built or appended to. 17 | * @discussion The description may be part of a description of a larger object of which this is just 18 | * a component, so it should be worded appropriately. 19 | */ 20 | - (void)describeTo:(id )description; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCStringDescription.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | @protocol HCSelfDescribing; 7 | 8 | 9 | /*! 10 | * @abstract An @ref HCDescription that is stored as a string. 11 | */ 12 | @interface HCStringDescription : HCBaseDescription 13 | { 14 | NSMutableString *accumulator; 15 | } 16 | 17 | /*! 18 | * @abstract Returns the description of an HCSelfDescribing object as a string. 19 | * @param selfDescribing The object to be described. 20 | * @return The description of the object. 21 | */ 22 | + (NSString *)stringFrom:(id )selfDescribing; 23 | 24 | /*! 25 | * @abstract Creates and returns an empty description. 26 | */ 27 | + (instancetype)stringDescription; 28 | 29 | /*! 30 | * @abstract Initializes a newly allocated HCStringDescription that is initially empty. 31 | */ 32 | - (instancetype)init; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCSubstringMatcher.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | 7 | @interface HCSubstringMatcher : HCBaseMatcher 8 | 9 | @property (nonatomic, copy, readonly) NSString *substring; 10 | 11 | - (instancetype)initWithSubstring:(NSString *)substring; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCTestFailureReporter.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | @class HCTestFailure; 7 | 8 | 9 | /*! 10 | Chain-of-responsibility for handling test failures. 11 | */ 12 | @interface HCTestFailureReporter : NSObject 13 | 14 | @property (nonatomic, strong) HCTestFailureReporter *successor; 15 | 16 | /*! 17 | Handle test failure at specific location, or pass to successor. 18 | */ 19 | - (void)handleFailure:(HCTestFailure *)failure; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCTestFailureReporterChain.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | @class HCTestFailureReporter; 7 | 8 | 9 | /*! 10 | * @abstract Manage chain-of-responsibility for reporting test failures. 11 | * @discussion This provides a generic way of reporting test failures without knowing about the 12 | * underlying test framework. By default, we try XCTest first, then SenTestingKit. If we run out of 13 | * options, the final catch-all is to throw an NSException describing the test failure. 14 | */ 15 | @interface HCTestFailureReporterChain : NSObject 16 | 17 | /*! 18 | * @abstract Returns current chain of test failure reporters. 19 | */ 20 | + (HCTestFailureReporter *)reporterChain; 21 | 22 | /*! 23 | * @abstract Adds specified test failure reporter to head of chain-of-responsibility. 24 | */ 25 | + (void)addReporter:(HCTestFailureReporter *)reporter; 26 | 27 | /*! 28 | * @abstract Resets chain-of-responsibility to default. 29 | */ 30 | + (void)reset; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/Headers/HCWrapInMatcher.h: -------------------------------------------------------------------------------- 1 | // OCHamcrest by Jon Reid, http://qualitycoding.org/about/ 2 | // Copyright 2015 hamcrest.org. See LICENSE.txt 3 | 4 | #import 5 | 6 | @protocol HCMatcher; 7 | 8 | 9 | /*! 10 | * @abstract Wraps argument in a matcher, if necessary. 11 | * @return The argument as-is if it is already a matcher, otherwise wrapped in an equalTo matcher. 12 | */ 13 | FOUNDATION_EXPORT id HCWrapInMatcher(id matcherOrValue); 14 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/OCHamcrestIOS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/A/OCHamcrestIOS -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/OCHamcrest.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Scripts/cheatsheet/Gemfile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016 Google Inc. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | source 'https://rubygems.org' 17 | 18 | gem 'eyes_selenium', '>= 2.37.0' # Enables full page screenshot 19 | gem 'chromedriver-helper', '>= 1.0' # Downloads chromedriver automatically 20 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Scripts/cheatsheet/readme.md: -------------------------------------------------------------------------------- 1 | # Cheatsheet Render 2 | 3 | Renders the cheatsheet HTML to a PNG via Chrome. 4 | 5 | #### Usage 6 | 7 | - `bundle install` 8 | - `bundle exec ruby render.rb` 9 | 10 | #### Tips 11 | 12 | - `gem cleanup` - Remove old versions of gems 13 | - `bundle update` - Update Gemfile.lock to use new gems 14 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Scripts/cheatsheet/setup.rb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2016 Google Inc. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | 16 | require 'rubygems' 17 | require 'bundler/setup' 18 | require 'eyes_selenium' 19 | 20 | def join *args 21 | File.expand_path(File.join(*args)) 22 | end 23 | 24 | def assert_exists(path, message) 25 | abort message unless File.exist?(path) 26 | end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/FunctionalTests.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #ifdef __OBJC__ 18 | @import EarlGrey; 19 | @import Foundation; 20 | @import UIKit; 21 | @import XCTest; 22 | #endif 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/Sources/FTRBaseIntegrationTest.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // Base test class for all EarlGrey integration tests. 18 | @interface FTRBaseIntegrationTest : XCTestCase 19 | 20 | - (void)openTestViewNamed:(NSString *)name; 21 | 22 | #pragma mark - XCTestCase 23 | 24 | - (void)tearDown; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/Sources/FTRFailureHandler.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // Test failure handler. 18 | @interface FTRFailureHandler : NSObject 19 | @end 20 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/Sources/FTRFailureHandler.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import "FTRFailureHandler.h" 18 | 19 | @implementation FTRFailureHandler 20 | 21 | - (void)handleException:(GREYFrameworkException *)exception details:(NSString *)details { 22 | [exception raise]; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/Sources/FunctionalTestRig-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | @import EarlGrey; 18 | 19 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/FunctionalTestRig.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #ifdef __OBJC__ 18 | #import 19 | #import 20 | #endif 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default-667@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default-667@2x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default-736h@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default-736h@3x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default@2x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/Default@3x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/ic_local_cafe_48pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/ic_local_cafe_48pt.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/ic_local_cafe_48pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/ic_local_cafe_48pt@2x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/ic_local_cafe_48pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/ic_local_cafe_48pt@3x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/www/eg_mov.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Resources/www/eg_mov.gif -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRAccessibilityViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // View controller for testing accessibility elements. 18 | @interface FTRAccessibilityViewController : UIViewController 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRAccessibilityViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import "FTRAccessibilityViewController.h" 18 | 19 | @implementation FTRAccessibilityViewController 20 | @end 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRAccessibleView.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // A UIView that contains accessibility elements. 18 | @interface FTRAccessibleView : UIView 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRActionSheetViewController.h: -------------------------------------------------------------------------------- 1 | // View controller for testing action sheets with a check for iOS 9 compatibility. 2 | @interface FTRActionSheetViewController : UIViewController 3 | 4 | @end 5 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRActivityIndicatorViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | @interface FTRActivityIndicatorViewController : UIViewController 18 | 19 | @property(nonatomic, retain) IBOutlet UIActivityIndicatorView *activityIndicator; 20 | @property(nonatomic, retain) IBOutlet UILabel *status; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRAlertViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | @interface FTRAlertViewController : UIViewController 18 | 19 | - (IBAction)showSimpleAlert:(id)sender; 20 | - (IBAction)showMultiOptionAlert:(id)sender; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | @interface FTRAppDelegate : NSObject 18 | 19 | @property(nonatomic, strong) UIWindow *window; 20 | 21 | // Makes a new main view controller and sets the root nav controller to it 22 | - (void)resetRootNavigationController; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRCollectionViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // FTRCollectionViewCell implements a button with an alphabet as text that turns into the alphabet's 18 | // ASCII value ('A' - 65, 'B' - 66 etc) when tapped. 19 | @interface FTRCollectionViewCell : UICollectionViewCell 20 | 21 | @property(weak, nonatomic) IBOutlet UIButton *alphaButton; 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRCollectionViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // A View Controller for testing UICollectionView related features on EarlGrey. 18 | @interface FTRCollectionViewController : UIViewController < 19 | UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout> 20 | 21 | @property(weak, nonatomic) IBOutlet UICollectionView *collectionView; 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRCollectionViewLayout.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // Implements a custom grid based layout for EarlGrey TestApp. 18 | @interface FTRCollectionViewLayout : UICollectionViewLayout 19 | 20 | @property(nonatomic, assign) CGSize greyItemSize; 21 | @property(nonatomic, assign) CGFloat greyItemMargin; 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRImageViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | /** 20 | * Class that controls FTRImageViewController.xib view. The view contains an image view used 21 | * for testing pinch action. 22 | */ 23 | @interface FTRImageViewController : UIViewController 24 | @end 25 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRMainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | @interface FTRMainViewController : UIViewController 18 | 19 | @property(unsafe_unretained, nonatomic) IBOutlet UITableView *tableview; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRNetworkTestViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import 18 | 19 | // View controller with a button which sends a network request and shows the comletion label after 20 | // request gets finished. 21 | @interface FTRNetworkTestViewController : UIViewController 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRPresentedViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // View controller for testing view presentation 18 | @interface FTRPresentedViewController : UIViewController 19 | @end 20 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRPresentedViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import "FTRPresentedViewController.h" 18 | 19 | @implementation FTRPresentedViewController 20 | 21 | - (IBAction)dismissModalButtonPressed { 22 | [self dismissViewControllerAnimated:NO completion:nil]; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRRotatedViewsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | // UIViewController used for testing whether EarlGrey's basic checks and interactions behave 18 | // correctly after the device is rotated to different orientation. 19 | @interface FTRRotatedViewsViewController : UIViewController 20 | @property(retain, nonatomic) IBOutlet UILabel *lastTappedLabel; 21 | @end 22 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRSplashViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | @interface FTRSplashViewController : UIViewController 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/FTRTableViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | @interface FTRTableViewController : UIViewController 19 | 20 | @property(retain, nonatomic) IBOutlet UITableView *mainTableView; 21 | @property(weak, nonatomic) IBOutlet UITextField *insetsValue; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/FunctionalTests/TestRig/Sources/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | #import "FTRAppDelegate.h" 18 | 19 | int main(int argc, char *argv[]) { 20 | @autoreleasepool { 21 | // Using this strategy to pick up the FTRAppDelegate this way if the 22 | // App Delegate is refactored, You don't miss this instance. 23 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([FTRAppDelegate class])); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default@2x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/Default@3x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/ic_local_drink_48pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/ic_local_drink_48pt.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/ic_local_drink_48pt@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/ic_local_drink_48pt@2x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/ic_local_drink_48pt@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/TestRig/Resources/ic_local_drink_48pt@3x.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/UnitTests.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2016 Google Inc. 3 | // 4 | // Licensed under the Apache License, Version 2.0 (the "License"); 5 | // you may not use this file except in compliance with the License. 6 | // You may obtain a copy of the License at 7 | // 8 | // http://www.apache.org/licenses/LICENSE-2.0 9 | // 10 | // Unless required by applicable law or agreed to in writing, software 11 | // distributed under the License is distributed on an "AS IS" BASIS, 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | // See the License for the specific language governing permissions and 14 | // limitations under the License. 15 | // 16 | 17 | /** 18 | * @file 19 | * @brief Prefix header for all source files. 20 | */ 21 | 22 | #ifdef __OBJC__ 23 | 24 | #import 25 | #import 26 | 27 | #endif // __OBJC__ 28 | 29 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | xcuserdata 3 | *.xcworkspace 4 | .idea 5 | build 6 | Carthage 7 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | osx_image: xcode7.3 3 | before_install: 4 | - gem install xcpretty -N --quiet 5 | script: make ci 6 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/ArcExample/ArcExample/ArcExample-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ArcExample' target in the 'ArcExample' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/ArcExample/ArcExample/main.m: -------------------------------------------------------------------------------- 1 | 2 | #import 3 | #import 4 | 5 | @protocol SomeDelegateProtocol 6 | - (void)doStuff; 7 | @end 8 | 9 | @interface SomeClass : NSObject 10 | @property (nonatomic, weak) id delegate; 11 | @end 12 | 13 | @implementation SomeClass 14 | 15 | @synthesize delegate; 16 | 17 | @end 18 | 19 | 20 | int main (int argc, const char * argv[]) 21 | { 22 | 23 | @autoreleasepool { 24 | 25 | SomeClass *someObject = [[SomeClass alloc] init]; 26 | id delegate = [OCMockObject mockForProtocol:@protocol(SomeDelegateProtocol)]; 27 | someObject.delegate = delegate; 28 | NSLog(@"delegate = %@", delegate); 29 | NSLog(@"someObject = %@", someObject.delegate); 30 | 31 | } 32 | return 0; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/SwiftExamples/SwiftExamples/Connection.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Connection.swift 3 | // SwiftExperiments 4 | // 5 | // Created by Erik D on 05/06/14. 6 | // Copyright (c) 2014 Mulle Kybernetik. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | @objc 12 | protocol Connection { 13 | func fetchData() -> String 14 | } 15 | 16 | class ServerConnection : NSObject, Connection { 17 | func fetchData() -> String { 18 | return "real data returned from other system" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/SwiftExamples/SwiftExamples/Controller.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Controller.swift 3 | // SwiftExperiments 4 | // 5 | // Created by Erik D on 05/06/14. 6 | // Copyright (c) 2014 Mulle Kybernetik. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | 11 | class Controller: NSObject { 12 | var connection: Connection; 13 | var data: String; 14 | 15 | class func newController() -> Controller { 16 | return Controller() 17 | } 18 | 19 | override init() { 20 | self.connection = ServerConnection(); 21 | self.data = ""; 22 | } 23 | 24 | func redisplay() { 25 | data = connection.fetchData(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/SwiftExamples/SwiftExamplesTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/SwiftExamples/SwiftExamplesTests/SwiftExamplesTests-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/SwiftExamples/usr/include/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2014 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/SwiftExamples/usr/lib/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/SwiftExamples/usr/lib/libOCMock.a -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5Example/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @interface AppDelegate : UIResponder 9 | 10 | @property (strong, nonatomic) UIWindow *window; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5Example/DetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // DetailViewController.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @interface DetailViewController : UIViewController 9 | 10 | @property (strong, nonatomic) id detailItem; 11 | 12 | @property (strong, nonatomic) IBOutlet UILabel *detailDescriptionLabel; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5Example/MasterViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MasterViewController.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @class DetailViewController; 9 | 10 | @interface MasterViewController : UITableViewController 11 | 12 | @property (strong, nonatomic) DetailViewController *detailViewController; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5Example/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5Example/iOS5Example-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'iOS5Example' target in the 'iOS5Example' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_5_0 8 | #warning "This project uses features only available in iOS SDK 5.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5Example/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | #import "AppDelegate.h" 9 | 10 | int main(int argc, char *argv[]) 11 | { 12 | @autoreleasepool { 13 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5ExampleTests/ProtocolTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // ProtocolTests.h 3 | // iOS5Example 4 | // 5 | 6 | #import 7 | 8 | @interface ProtocolTests : SenTestCase 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5ExampleTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5ExampleTests/iOS5ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.ocmock.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/iOS5ExampleTests/iOS5ExampleTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // iOS5ExampleTests.h 3 | // iOS5ExampleTests 4 | // 5 | 6 | #import 7 | 8 | @interface iOS5ExampleTests : SenTestCase 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/usr/include/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id$ 3 | // Copyright (c) 2009 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @class OCMockObserver; 9 | 10 | 11 | @interface NSNotificationCenter(OCMAdditions) 12 | 13 | - (void)addMockObserver:(OCMockObserver *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/usr/include/OCMock/OCMArg.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id$ 3 | // Copyright (c) 2009-2010 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @interface OCMArg : NSObject 9 | 10 | // constraining arguments 11 | 12 | + (id)any; 13 | + (void *)anyPointer; 14 | + (id)isNil; 15 | + (id)isNotNil; 16 | + (id)isNotEqual:(id)value; 17 | + (id)checkWithSelector:(SEL)selector onObject:(id)anObject; 18 | #if NS_BLOCKS_AVAILABLE 19 | + (id)checkWithBlock:(BOOL (^)(id))block; 20 | #endif 21 | 22 | // manipulating arguments 23 | 24 | + (id *)setTo:(id)value; 25 | 26 | // internal use only 27 | 28 | + (id)resolveSpecialValues:(NSValue *)value; 29 | 30 | @end 31 | 32 | #define OCMOCK_ANY [OCMArg any] 33 | #define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(__typeof__(variable))] 34 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/usr/include/OCMock/OCMock.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id$ 3 | // Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | #import 8 | #import 9 | #import 10 | #import 11 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/usr/include/OCMock/OCMockRecorder.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id$ 3 | // Copyright (c) 2004-2010 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @interface OCMockRecorder : NSProxy 9 | { 10 | id signatureResolver; 11 | NSInvocation *recordedInvocation; 12 | NSMutableArray *invocationHandlers; 13 | } 14 | 15 | - (id)initWithSignatureResolver:(id)anObject; 16 | 17 | - (BOOL)matchesInvocation:(NSInvocation *)anInvocation; 18 | - (void)releaseInvocation; 19 | 20 | - (id)andReturn:(id)anObject; 21 | - (id)andReturnValue:(NSValue *)aValue; 22 | - (id)andThrow:(NSException *)anException; 23 | - (id)andPost:(NSNotification *)aNotification; 24 | - (id)andCall:(SEL)selector onObject:(id)anObject; 25 | #if NS_BLOCKS_AVAILABLE 26 | - (id)andDo:(void (^)(NSInvocation *))block; 27 | #endif 28 | - (id)andForwardToRealObject; 29 | 30 | - (NSArray *)invocationHandlers; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/usr/lib/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS5Example/usr/lib/libOCMock.a -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7Example/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7Example/DetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // DetailViewController.h 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DetailViewController : UIViewController 12 | 13 | @property (strong, nonatomic) id detailItem; 14 | 15 | @property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel; 16 | @end 17 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7Example/MasterViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MasterViewController.h 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class DetailViewController; 12 | 13 | @interface MasterViewController : UITableViewController 14 | 15 | @property (strong, nonatomic) DetailViewController *detailViewController; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7Example/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7Example/iOS7Example-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7Example/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iOS7Example 4 | // 5 | // Created by Erik Doernenburg on 10/06/2014. 6 | // Copyright (c) 2014 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7ExampleTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/iOS7ExampleTests/iOS7ExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.mulle-kybernetik.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/usr/include/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2014 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/usr/lib/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS7Example/usr/lib/libOCMock.a -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/iOS9Example/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // iOS9Example 4 | // 5 | // Created by Erik Doernenburg on 29/09/2015. 6 | // Copyright © 2015 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/iOS9Example/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/iOS9Example/DetailViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // DetailViewController.h 3 | // iOS9Example 4 | // 5 | // Created by Erik Doernenburg on 29/09/2015. 6 | // Copyright © 2015 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface DetailViewController : UIViewController 12 | 13 | @property (strong, nonatomic) id detailItem; 14 | @property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel; 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/iOS9Example/MasterViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // MasterViewController.h 3 | // iOS9Example 4 | // 5 | // Created by Erik Doernenburg on 29/09/2015. 6 | // Copyright © 2015 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class DetailViewController; 12 | 13 | @interface MasterViewController : UITableViewController 14 | 15 | @property (strong, nonatomic) DetailViewController *detailViewController; 16 | 17 | 18 | @end 19 | 20 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/iOS9Example/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iOS9Example 4 | // 5 | // Created by Erik Doernenburg on 29/09/2015. 6 | // Copyright © 2015 Erik Doernenburg. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/iOS9ExampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/usr/include/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/usr/include/OCMock/OCMFunctions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | 20 | #if defined(__cplusplus) 21 | #define OCMOCK_EXTERN extern "C" 22 | #else 23 | #define OCMOCK_EXTERN extern 24 | #endif 25 | 26 | 27 | OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); 28 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/usr/lib/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iOS9Example/usr/lib/libOCMock.a -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Classes/RootViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // RootViewController.h 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright Mulle Kybernetik 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface RootViewController : UITableViewController { 12 | } 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Classes/iPhoneExampleAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // iPhoneExampleAppDelegate.h 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright Mulle Kybernetik 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface iPhoneExampleAppDelegate : NSObject { 12 | 13 | UIWindow *window; 14 | UINavigationController *navigationController; 15 | } 16 | 17 | @property (nonatomic, retain) IBOutlet UIWindow *window; 18 | @property (nonatomic, retain) IBOutlet UINavigationController *navigationController; 19 | 20 | @end 21 | 22 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Libraries/Headers/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id: NSNotificationCenter+OCMAdditions.h 57 2010-07-19 06:14:27Z erik $ 3 | // Copyright (c) 2009 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @class OCMockObserver; 9 | 10 | 11 | @interface NSNotificationCenter(OCMAdditions) 12 | 13 | - (void)addMockObserver:(OCMockObserver *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Libraries/Headers/OCMock/OCMArg.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id: OCMArg.h 57 2010-07-19 06:14:27Z erik $ 3 | // Copyright (c) 2009-2010 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | 8 | @interface OCMArg : NSObject 9 | 10 | // constraining arguments 11 | 12 | + (id)any; 13 | + (void *)anyPointer; 14 | + (id)isNil; 15 | + (id)isNotNil; 16 | + (id)isNotEqual:(id)value; 17 | + (id)checkWithSelector:(SEL)selector onObject:(id)anObject; 18 | #if NS_BLOCKS_AVAILABLE 19 | + (id)checkWithBlock:(BOOL (^)(id))block; 20 | #endif 21 | 22 | // manipulating arguments 23 | 24 | + (id *)setTo:(id)value; 25 | 26 | // internal use only 27 | 28 | + (id)resolveSpecialValues:(NSValue *)value; 29 | 30 | @end 31 | 32 | #define OCMOCK_ANY [OCMArg any] 33 | #define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(typeof(variable))] 34 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Libraries/Headers/OCMock/OCMock.h: -------------------------------------------------------------------------------- 1 | //--------------------------------------------------------------------------------------- 2 | // $Id: OCMock.h 39 2009-04-09 05:31:28Z erik $ 3 | // Copyright (c) 2004-2008 by Mulle Kybernetik. See License file for details. 4 | //--------------------------------------------------------------------------------------- 5 | 6 | #import 7 | #import 8 | #import 9 | #import 10 | #import 11 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Libraries/libOCMock.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Libraries/libOCMock.a -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/OCMockLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/OCMockLogo.png -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/Tests/RootViewControllerTests.h: -------------------------------------------------------------------------------- 1 | // 2 | // RootViewControllerTests.h 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright 2010 Mulle Kybernetik. All rights reserved. 7 | // 8 | // See Also: http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/135-Unit_Testing_Applications/unit_testing_applications.html 9 | 10 | 11 | #import 12 | #import 13 | 14 | 15 | @interface RootViewControllerTests : SenTestCase 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/iPhoneExample-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | OCMockLogo.png 13 | CFBundleIdentifier 14 | com.mulle-kybernetik.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | 30 | 31 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/iPhoneExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/iPhoneExample_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'iPhoneExample' target in the 'iPhoneExample' project 3 | // 4 | #import 5 | 6 | #ifndef __IPHONE_3_0 7 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 8 | #endif 9 | 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Examples/iPhoneExample/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iPhoneExample 4 | // 5 | // Created by Erik Doernenburg on 20/07/10. 6 | // Copyright Mulle Kybernetik 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) { 12 | 13 | NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 14 | int retVal = UIApplicationMain(argc, argv, nil, nil); 15 | [pool release]; 16 | return retVal; 17 | } 18 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/README.md: -------------------------------------------------------------------------------- 1 | OCMock 2 | ====== 3 | 4 | OCMock is an Objective-C implementation of mock objects. 5 | 6 | For downloads, documentation, and support please visit [ocmock.org][]. 7 | 8 | [![Build Status](https://travis-ci.org/erikdoe/ocmock.svg?branch=master)](https://travis-ci.org/erikdoe/ocmock) 9 | 10 | [ocmock.org]: http://ocmock.org/ 11 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/Frameworks/OCHamcrest.tar.bz2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/Frameworks/OCHamcrest.tar.bz2 -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/NSNotificationCenter+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @class OCObserverMockObject; 20 | 21 | 22 | @interface NSNotificationCenter(OCMAdditions) 23 | 24 | - (void)addMockObserver:(OCObserverMockObject *)notificationObserver name:(NSString *)notificationName object:(id)notificationSender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/NSObject+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface NSObject(OCMAdditions) 20 | 21 | + (IMP)instanceMethodForwarderForSelector:(SEL)aSelector; 22 | + (void)enumerateMethodsInClass:(Class)aClass usingBlock:(void (^)(Class cls, SEL sel))aBlock; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/NSValue+OCMAdditions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface NSValue(OCMAdditions) 20 | 21 | - (BOOL)getBytes:(void *)outputBuf objCType:(const char *)targetType; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCClassMockObject.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2005-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCClassMockObject : OCMockObject 20 | { 21 | Class mockedClass; 22 | Class originalMetaClass; 23 | } 24 | 25 | - (id)initWithClass:(Class)aClass; 26 | 27 | - (Class)mockedClass; 28 | - (Class)mockObjectClass; // since -class returns the mockedClass 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMArgAction.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMArgAction : NSObject 20 | 21 | - (void)handleArgument:(id)argument; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMArgAction.m: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMArgAction.h" 18 | 19 | 20 | @implementation OCMArgAction 21 | 22 | - (void)handleArgument:(id)argument 23 | { 24 | 25 | } 26 | 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMBlockArgCaller.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMArgAction.h" 18 | 19 | @interface OCMBlockArgCaller : OCMArgAction 20 | { 21 | NSArray *arguments; 22 | } 23 | 24 | - (instancetype)initWithBlockArguments:(NSArray *)someArgs; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMBlockCaller.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | 20 | @interface OCMBlockCaller : NSObject 21 | { 22 | void (^block)(NSInvocation *); 23 | } 24 | 25 | - (id)initWithCallBlock:(void (^)(NSInvocation *))theBlock; 26 | 27 | - (void)handleInvocation:(NSInvocation *)anInvocation; 28 | 29 | @end 30 | 31 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMBoxedReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMReturnValueProvider.h" 18 | 19 | @interface OCMBoxedReturnValueProvider : OCMReturnValueProvider 20 | { 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMExceptionReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMReturnValueProvider.h" 18 | 19 | extern NSString *OCMStubbedException; 20 | 21 | @interface OCMExceptionReturnValueProvider : OCMReturnValueProvider 22 | { 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMExpectationRecorder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMExpectationRecorder : OCMStubRecorder 20 | 21 | - (id)never; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMFunctions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | 20 | #if defined(__cplusplus) 21 | #define OCMOCK_EXTERN extern "C" 22 | #else 23 | #define OCMOCK_EXTERN extern 24 | #endif 25 | 26 | 27 | OCMOCK_EXTERN BOOL OCMIsObjectType(const char *objCType); 28 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMIndirectReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMIndirectReturnValueProvider : NSObject 20 | { 21 | id provider; 22 | SEL selector; 23 | } 24 | 25 | - (id)initWithProvider:(id)aProvider andSelector:(SEL)aSelector; 26 | 27 | - (void)handleInvocation:(NSInvocation *)anInvocation; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMInvocationExpectation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMInvocationStub.h" 18 | 19 | @interface OCMInvocationExpectation : OCMInvocationStub 20 | { 21 | BOOL matchAndReject; 22 | BOOL isSatisfied; 23 | } 24 | 25 | - (void)setMatchAndReject:(BOOL)flag; 26 | - (BOOL)isMatchAndReject; 27 | 28 | - (BOOL)isSatisfied; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMInvocationStub.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMInvocationMatcher.h" 18 | 19 | @interface OCMInvocationStub : OCMInvocationMatcher 20 | { 21 | NSMutableArray *invocationActions; 22 | } 23 | 24 | - (void)addInvocationAction:(id)anAction; 25 | - (NSArray *)invocationActions; 26 | 27 | - (void)handleInvocation:(NSInvocation *)anInvocation; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMNotificationPoster.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMNotificationPoster : NSObject 20 | { 21 | NSNotification *notification; 22 | } 23 | 24 | - (id)initWithNotification:(id)aNotification; 25 | 26 | - (void)handleInvocation:(NSInvocation *)anInvocation; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMPassByRefSetter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMArgAction.h" 18 | 19 | @interface OCMPassByRefSetter : OCMArgAction 20 | { 21 | id value; 22 | } 23 | 24 | - (id)initWithValue:(id)value; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMRealObjectForwarder.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMRealObjectForwarder : NSObject 20 | { 21 | } 22 | 23 | - (void)handleInvocation:(NSInvocation *)anInvocation; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMReturnValueProvider.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCMReturnValueProvider : NSObject 20 | { 21 | id returnValue; 22 | } 23 | 24 | - (instancetype)initWithValue:(id)aValue; 25 | 26 | - (void)handleInvocation:(NSInvocation *)anInvocation; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMVerifier.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2014-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCMRecorder.h" 18 | #import "OCMLocation.h" 19 | 20 | 21 | @interface OCMVerifier : OCMRecorder 22 | 23 | @property(retain) OCMLocation *location; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMock-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | NSHumanReadableCopyright 26 | Copyright © 2004-2013 Mulle Kybernetik. 27 | NSPrincipalClass 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCMock-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'OCMock' target in the 'OCMock' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCPartialMockObject.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2009-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import "OCClassMockObject.h" 18 | 19 | @interface OCPartialMockObject : OCClassMockObject 20 | { 21 | NSObject *realObject; 22 | } 23 | 24 | - (id)initWithObject:(NSObject *)anObject; 25 | 26 | - (NSObject *)realObject; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/OCProtocolMockObject.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2005-2016 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface OCProtocolMockObject : OCMockObject 20 | { 21 | Protocol *mockedProtocol; 22 | } 23 | 24 | - (id)initWithProtocol:(Protocol *)aProtocol; 25 | 26 | @end 27 | 28 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMock/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockLib/OCMockLib-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'OCMockLib' target in the 'OCMockLib' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockLibTests/OCMockLibTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockLibTests/OCMockLibTests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #ifdef __OBJC__ 8 | #import 9 | #import 10 | #endif 11 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockLibTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockTests/OCMockTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockTests/OCMockTests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #ifdef __OBJC__ 8 | #import 9 | #endif 10 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockTests/TestClassWithCustomReferenceCounting.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015 Erik Doernenburg and contributors 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | * not use these files except in compliance with the License. You may obtain 6 | * a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | * License for the specific language governing permissions and limitations 14 | * under the License. 15 | */ 16 | 17 | #import 18 | 19 | @interface TestClassWithCustomReferenceCounting : NSObject 20 | @end 21 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/Tests/UnitTests/ocmock/Source/OCMockTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingEarlGreyTests/Vendor/EarlGrey/fishhook/fishhook.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |spec| 2 | spec.name = "fishhook" 3 | spec.version = "0.2" 4 | spec.license = { :type => "BSD", :file => "LICENSE" } 5 | spec.homepage = 'https://github.com/facebook/fishhook' 6 | spec.author = { "Facebook, Inc." => "https://github.com/facebook" } 7 | spec.summary = "A library that enables dynamically rebinding symbols in Mach-O binaries running on iOS." 8 | spec.source = { :git => "https://github.com/facebook/fishhook.git", :tag => '0.2'} 9 | spec.source_files = "fishhook.{h,c}" 10 | spec.social_media_url = 'https://twitter.com/fbOpenSource' 11 | 12 | spec.ios.deployment_target = '6.0' 13 | end 14 | -------------------------------------------------------------------------------- /UITestingKIFTests/BridgingHeader.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "PSPDFTestAdditions.h" 3 | #import "PSPDFTestCase.h" 4 | -------------------------------------------------------------------------------- /UITestingKIFTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/CAAnimation+KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // CAAnimation+KIFAdditions.h 3 | // Pods 4 | // 5 | // Created by Justin Martin on 6/6/16. 6 | // 7 | 8 | #import 9 | 10 | 11 | @interface CAAnimation (KIFAdditions) 12 | 13 | - (double)KIF_completionTime; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/CAAnimation+KIFAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // CAAnimation+KIFAdditions.m 3 | // Pods 4 | // 5 | // Created by Justin Martin on 6/6/16. 6 | // 7 | 8 | #import "CAAnimation+KIFAdditions.h" 9 | 10 | 11 | @implementation CAAnimation (KIFAdditions) 12 | 13 | - (double)KIF_completionTime; 14 | { 15 | if (self.repeatDuration > 0) { 16 | return self.beginTime + self.repeatDuration; 17 | } else if (self.repeatCount == HUGE_VALF) { 18 | return HUGE_VALF; 19 | } else if (self.repeatCount > 0) { 20 | return self.beginTime + (self.repeatCount * self.duration); 21 | } else { 22 | return self.beginTime + self.duration; 23 | } 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/CALayer-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // CALayer-KIFAdditions.h 3 | // Pods 4 | // 5 | // Created by Radu Ciobanu on 28/01/2016. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | // 10 | 11 | #import 12 | 13 | @interface CALayer (KIFAdditions) 14 | 15 | /** 16 | * @method hasAnimations 17 | * @abstract Traverses self's hierarchy of layers and checks whether any 18 | * visible sublayers or self have ongoing anymations. 19 | * @return YES if an animated layer has been found, NO otherwise. 20 | */ 21 | - (BOOL)hasAnimations; 22 | 23 | /*! 24 | @method performBlockOnDescendentLayers: 25 | @abstract Calls a block on the layer itself and on all its descendent layers. 26 | @param block The block that will be called on the layers. Stop the traversation 27 | of the layers by assigning YES to the stop-parameter of the block. 28 | */ 29 | - (void)performBlockOnDescendentLayers:(void (^)(CALayer *layer, BOOL *stop))block; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/CGGeometry-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // CGGeometry-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Eric Firestone on 5/22/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import 11 | 12 | CG_INLINE CGPoint CGPointCenteredInRect(CGRect bounds) { 13 | return CGPointMake(bounds.origin.x + bounds.size.width * 0.5f, bounds.origin.y + bounds.size.height * 0.5f); 14 | } 15 | 16 | CG_INLINE CGPoint CGPointMidPoint(CGPoint point1, CGPoint point2) { 17 | return CGPointMake((point1.x + point2.x) / 2.0f, (point1.y + point2.y) / 2.0f); 18 | } 19 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/CGGeometry-KIFAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // CGGeometry-KIFAdditions.m 3 | // KIF 4 | // 5 | // Created by Eric Firestone on 5/22/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import "CGGeometry-KIFAdditions.h" 11 | 12 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/LoadableCategory.h: -------------------------------------------------------------------------------- 1 | // 2 | // LoadableCategory.h 3 | // KIF 4 | // 5 | // Created by Karl Stenerud on 7/16/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | /** Make all categories in the current file loadable without using -load-all. 11 | * 12 | * Normally, compilers will skip linking files that contain only categories. 13 | * Adding a call to this macro adds a dummy class, which causes the linker 14 | * to add the file. 15 | * 16 | * @param UNIQUE_NAME A globally unique name. 17 | */ 18 | #define MAKE_CATEGORIES_LOADABLE(UNIQUE_NAME) @interface FORCELOAD_##UNIQUE_NAME : NSObject @end @implementation FORCELOAD_##UNIQUE_NAME @end 19 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSBundle-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Brian Nickel on 7/27/13. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface NSBundle (KIFAdditions) 12 | 13 | + (NSBundle *)KIFTestBundle; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSBundle-KIFAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSBundle+KIFAdditions.m 3 | // KIF 4 | // 5 | // Created by Brian Nickel on 7/27/13. 6 | // 7 | // 8 | 9 | #import "NSBundle-KIFAdditions.h" 10 | #import "KIFTestCase.h" 11 | #import "LoadableCategory.h" 12 | 13 | MAKE_CATEGORIES_LOADABLE(NSBundle_KIFAdditions) 14 | 15 | @implementation NSBundle (KIFAdditions) 16 | 17 | + (NSBundle *)KIFTestBundle 18 | { 19 | static NSBundle *bundle; 20 | static dispatch_once_t onceToken; 21 | dispatch_once(&onceToken, ^{ 22 | bundle = [self bundleForClass:[KIFTestCase class]]; 23 | }); 24 | return bundle; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSError-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSError+KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Brian Nickel on 7/27/13. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface NSError (KIFAdditions) 12 | 13 | + (instancetype)KIFErrorWithUnderlyingError:(NSError *)underlyingError format:(NSString *)format, ... NS_FORMAT_FUNCTION(2,3); 14 | + (instancetype)KIFErrorWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSException-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSException-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Tony DiPasquale on 12/20/13. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface NSException (KIFAdditions) 12 | 13 | + (NSException *)failureInFile:(NSString *)file atLine:(NSInteger)line withDescription:(NSString *)formatString, ...; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSException-KIFAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSException-KIFAdditions.m 3 | // KIF 4 | // 5 | // Created by Tony DiPasquale on 12/20/13. 6 | // 7 | // 8 | 9 | #import "NSException-KIFAdditions.h" 10 | 11 | @implementation NSException (KIFAdditions) 12 | 13 | + (NSException *)failureInFile:(NSString *)file atLine:(NSInteger)line withDescription:(NSString *)formatString, ... 14 | { 15 | va_list argumentList; 16 | va_start(argumentList, formatString); 17 | 18 | NSString *reason = [[NSString alloc] initWithFormat:formatString arguments:argumentList]; 19 | 20 | va_end(argumentList); 21 | 22 | return [NSException exceptionWithName:@"KIFFailureException" 23 | reason: reason 24 | userInfo:@{@"FilenameKey": file, 25 | @"LineNumberKey": @(line)}]; 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSFileManager-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSFileManager-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Michael Thole on 6/1/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import 11 | 12 | 13 | @interface NSFileManager (KIFAdditions) 14 | 15 | - (NSString *)createUserDirectory:(NSSearchPathDirectory)searchPath; 16 | - (BOOL)recursivelyCreateDirectory:(NSString *)path; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSPredicate+KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSPredicate+KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 2/3/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface NSPredicate (KIFAdditions) 12 | 13 | @property NSString *kifPredicateDescription; 14 | 15 | - (NSArray *)flatten; 16 | - (NSCompoundPredicate *)minusSubpredicatesFrom:(NSPredicate *)otherPredicate; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSString+KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/28/16. 6 | // 7 | // 8 | 9 | #import 10 | 11 | #pragma mark - NSString 12 | @interface NSString (KIFAdditions) 13 | 14 | - (BOOL)KIF_isEqualToStringOrAttributedString:(id)aString; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/NSString+KIFAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSString+KIFAdditions.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/28/16. 6 | // 7 | // 8 | 9 | #import "NSString+KIFAdditions.h" 10 | 11 | #pragma mark - NSString 12 | @implementation NSString (KIFAdditions) 13 | 14 | - (BOOL)KIF_isEqualToStringOrAttributedString:(id)aString; 15 | { 16 | // Somtimes Accessibility Elements will return an AXAttributedString. 17 | // This compares the raw backing string against a vanilla NSString, ignoring any attributes. 18 | if ([aString respondsToSelector:@selector(string)]) { 19 | return [self isEqualToString:[(id)aString string]]; 20 | } 21 | return [self isEqualToString:aString]; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UIEvent+KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIEvent+KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Thomas on 3/1/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | // Exposes methods of UITouchesEvent so that the compiler doesn't complain 12 | @interface UIEvent (KIFAdditionsPrivateHeaders) 13 | - (void)_addTouch:(UITouch *)touch forDelayedDelivery:(BOOL)arg2; 14 | - (void)_clearTouches; 15 | @end 16 | 17 | @interface UIEvent (KIFAdditions) 18 | - (void)kif_setEventWithTouches:(NSArray *)touches; 19 | @end 20 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UIScreen+KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIScreen+KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Steven King on 25/02/2016. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface UIScreen (KIFAdditions) 12 | 13 | @property (nonatomic, readonly) CGFloat majorSwipeDisplacement; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UIScreen+KIFAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIScreen+KIFAdditions.m 3 | // KIF 4 | // 5 | // Created by Steven King on 25/02/2016. 6 | // 7 | // 8 | 9 | #import "UIScreen+KIFAdditions.h" 10 | 11 | @implementation UIScreen (KIFAdditions) 12 | 13 | - (CGFloat)majorSwipeDisplacement { 14 | return self.bounds.size.width * 0.625; 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UIScrollView-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIScrollView-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Eric Firestone on 5/22/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import 11 | 12 | 13 | @interface UIScrollView (KIFAdditions) 14 | 15 | - (void)scrollViewToVisible:(UIView *)view animated:(BOOL)animated; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UITableView-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UITableView-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Hilton Campbell on 4/12/14. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import 11 | 12 | @interface UITableView (KIFAdditions) 13 | 14 | - (BOOL)dragCell:(UITableViewCell *)cell toIndexPath:(NSIndexPath *)indexPath error:(NSError **)error; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UITouch-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UITouch-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Eric Firestone on 5/20/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import 11 | 12 | 13 | @interface UITouch (KIFAdditions) 14 | 15 | - (id)initInView:(UIView *)view; 16 | - (id)initAtPoint:(CGPoint)point inView:(UIView *)view; 17 | 18 | - (void)setLocationInWindow:(CGPoint)location; 19 | - (void)setPhaseAndUpdateTimestamp:(UITouchPhase)phase; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UIView-Debugging.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+Debugging.h 3 | // KIF 4 | // 5 | // Created by Graeme Arthur on 02/05/15. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | @interface UIView (Debugging) 12 | /*! 13 | @abstract Prints the view hiererchy, starting from the top window(s), along with accessibility information, which is more related to KIF than the usual information given by the 'description' method. 14 | */ 15 | +(void)printViewHierarchy; 16 | 17 | /*! 18 | @abstract Prints the view hiererchy, starting from this view, along with accessibility information, which is more related to KIF than the usual information given by the 'description' method. 19 | */ 20 | -(void)printViewHierarchy; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UIWindow-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIWindow-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Eric Firestone on 5/20/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import 11 | 12 | 13 | @interface UIWindow (KIFAdditions) 14 | 15 | - (UIResponder *)firstResponder; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/UIWindow-KIFAdditions.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIWindow-KIFAdditions.m 3 | // KIF 4 | // 5 | // Created by Eric Firestone on 5/20/11. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import "UIWindow-KIFAdditions.h" 11 | 12 | 13 | //@implementation UIWindow (KIFAdditions) 14 | // 15 | //@end 16 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Additions/XCTestCase-KIFAdditions.h: -------------------------------------------------------------------------------- 1 | // 2 | // XCTestCase-KIFAdditions.h 3 | // KIF 4 | // 5 | // Created by Tony DiPasquale on 12/9/13. 6 | // 7 | // 8 | 9 | #import 10 | #import "KIFTestActor.h" 11 | 12 | @interface XCTestCase (KIFAdditions) 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/IOHIDEvent+KIF.h: -------------------------------------------------------------------------------- 1 | // 2 | // IOHIDEvent+KIF.h 3 | // KIF 4 | // 5 | // Created by Thomas Bonnin on 7/6/15. 6 | // 7 | // 8 | 9 | typedef struct __IOHIDEvent * IOHIDEventRef; 10 | IOHIDEventRef kif_IOHIDEventWithTouches(NSArray *touches) CF_RETURNS_RETAINED; 11 | 12 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIF-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'KIF' target in the 'KIF' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIF-XCTestPrefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'KIF' target in the 'KIF' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIF.h: -------------------------------------------------------------------------------- 1 | // 2 | // KIF.h 3 | // KIF 4 | // 5 | // Created by Jim Puls on 12/21/12. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | #import "KIFTestActor.h" 11 | #import "KIFTestCase.h" 12 | #import "KIFSystemTestActor.h" 13 | #import "KIFUITestActor.h" 14 | #import "KIFUITestActor-ConditionalTests.h" 15 | 16 | #import "KIFUIViewTestActor.h" 17 | #import "KIFUIObject.h" 18 | 19 | #import "XCTestCase-KIFAdditions.h" 20 | 21 | #import "KIFAccessibilityEnabler.h" 22 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIFAccessibilityEnabler.h: -------------------------------------------------------------------------------- 1 | // 2 | // KIFAccessibilityEnabler.h 3 | // KIF 4 | // 5 | // Created by Timothy Clem on 10/11/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | /** 12 | * Provides way to enable the Accessibility Inspector. 13 | */ 14 | FOUNDATION_EXTERN void KIFEnableAccessibility(void); 15 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIFTestStepValidation.m: -------------------------------------------------------------------------------- 1 | // 2 | // KIFTestStepValidation.m 3 | // KIF 4 | // 5 | // Created by Brian Nickel on 7/27/13. 6 | // 7 | // 8 | 9 | #import "KIFTestStepValidation.h" 10 | 11 | @implementation _MockKIFTestActorDelegate 12 | 13 | - (void)failWithException:(NSException *)exception stopTest:(BOOL)stop 14 | { 15 | [self failWithExceptions:@[exception] stopTest:stop]; 16 | } 17 | 18 | - (void)failWithExceptions:(NSArray *)exceptions stopTest:(BOOL)stop 19 | { 20 | self.failed = YES; 21 | self.exceptions = exceptions; 22 | self.stopped = stop; 23 | if (stop) { 24 | [[exceptions objectAtIndex:0] raise]; 25 | } 26 | } 27 | 28 | + (instancetype)mockDelegate 29 | { 30 | return [[self alloc] init]; 31 | } 32 | 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIFTypist.h: -------------------------------------------------------------------------------- 1 | // 2 | // KIFTypist.h 3 | // KIF 4 | // 5 | // Created by Pete Hodgson on 8/12/12. 6 | // Licensed to Square, Inc. under one or more contributor license agreements. 7 | // See the LICENSE file distributed with this work for the terms under 8 | // which Square, Inc. licenses this file to you. 9 | 10 | 11 | @interface KIFTypist : NSObject 12 | 13 | + (void)registerForNotifications; 14 | + (BOOL)keyboardHidden; 15 | + (BOOL)enterCharacter:(NSString *)characterString; 16 | 17 | + (NSTimeInterval)keystrokeDelay; 18 | + (void)setKeystrokeDelay:(NSTimeInterval)delay; 19 | 20 | + (BOOL)hasHardwareKeyboard; 21 | + (BOOL)hasKeyInputResponder; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIFUIObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // KIFUIObject.h 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface KIFUIObject : NSObject 12 | 13 | @property (nonatomic, weak, readonly) UIView *view; 14 | @property (nonatomic, weak, readonly) UIAccessibilityElement *element; 15 | 16 | - (instancetype)initWithElement:(UIAccessibilityElement *)element view:(UIView *)view; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/KIFUIObject.m: -------------------------------------------------------------------------------- 1 | // 2 | // KIFUIObject.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | #import "KIFUIObject.h" 10 | 11 | 12 | @implementation KIFUIObject 13 | 14 | - (instancetype)initWithElement:(UIAccessibilityElement *)element view:(UIView *)view; 15 | { 16 | self = [super init]; 17 | if (self) { 18 | _element = element; 19 | _view = view; 20 | } 21 | return self; 22 | } 23 | 24 | - (NSString *)description; 25 | { 26 | return [NSString stringWithFormat:@"<%@;\n| element=%@;\n| | view=%@>", [super description], self.element, self.view]; 27 | } 28 | @end 29 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Classes/UIAutomationHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIAutomationHelper.h 3 | // KIF 4 | // 5 | // Created by Joe Masilotti on 12/1/14. 6 | // 7 | // 8 | 9 | #import 10 | 11 | 12 | @class KIFTestActor; 13 | 14 | @interface UIAutomationHelper : NSObject 15 | 16 | + (BOOL)acknowledgeSystemAlert; 17 | 18 | + (void)deactivateAppForDuration:(NSNumber *)duration; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/BackgroundTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // BackgroundTests.m 3 | // KIF 4 | // 5 | // Created by Jordan Zucker on 5/18/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface BackgroundTests : KIFTestCase 12 | 13 | @end 14 | 15 | @implementation BackgroundTests 16 | 17 | + (XCTestSuite *)defaultTestSuite 18 | { 19 | // 'deactivateAppForDuration' can't be used on iOS7 20 | // The console shows a message "AX Lookup problem! 22 com.apple.iphone.axserver:-1" 21 | if ([UIDevice.currentDevice.systemVersion compare:@"8.0" options:NSNumericSearch] < 0) { 22 | return nil; 23 | } 24 | 25 | return [super defaultTestSuite]; 26 | } 27 | 28 | - (void)beforeEach { 29 | [tester tapViewWithAccessibilityLabel:@"Background"]; 30 | } 31 | 32 | - (void)afterEach { 33 | [tester tapViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton]; 34 | } 35 | 36 | - (void)testBackgroundApp { 37 | [tester waitForViewWithAccessibilityLabel:@"Start"]; 38 | [system deactivateAppForDuration:5]; 39 | [tester waitForViewWithAccessibilityLabel:@"Back"]; 40 | } 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/CascadingFailureTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // CascadingFailureTests.m 3 | // Test Suite 4 | // 5 | // Created by Brian Nickel on 8/4/13. 6 | // Copyright (c) 2013 Brian Nickel. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "KIFTestStepValidation.h" 11 | 12 | @interface KIFSystemTestActor (CascadingFailureTests) 13 | - (void)failA; 14 | @end 15 | 16 | @implementation KIFSystemTestActor (CascadingFailureTests) 17 | 18 | - (void)failA 19 | { 20 | [system failB]; 21 | } 22 | 23 | - (void)failB 24 | { 25 | [system failC]; 26 | } 27 | 28 | - (void)failC 29 | { 30 | [system fail]; 31 | } 32 | 33 | @end 34 | 35 | @interface CascadingFailureTests : KIFTestCase 36 | @end 37 | 38 | @implementation CascadingFailureTests 39 | 40 | - (void)testCascadingFailure 41 | { 42 | KIFExpectFailure([system failA]); 43 | KIFExpectFailureWithCount([system failA], 4); 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/ExistTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ExistTests.m 3 | // KIF 4 | // 5 | // Created by Jeroen Leenarts on 11-07-14. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface ExistTests : KIFTestCase 12 | 13 | @end 14 | 15 | @implementation ExistTests 16 | 17 | - (void)testExistsViewWithAccessibilityLabel 18 | { 19 | if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Tapping" error:NULL] && ![tester tryFindingTappableViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton error:NULL]) { 20 | [tester tapViewWithAccessibilityLabel:@"Tapping"]; 21 | } else { 22 | [tester fail]; 23 | } 24 | 25 | if ([tester tryFindingTappableViewWithAccessibilityLabel:@"Test Suite" error:NULL] && ![tester tryFindingTappableViewWithAccessibilityLabel:@"Tapping" error:NULL]) { 26 | [tester tapViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton]; 27 | } else { 28 | [tester fail]; 29 | } 30 | } 31 | 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/ExistTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // NewExistsTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface ExistTests_ViewTestActor : KIFTestCase 12 | @end 13 | 14 | 15 | @implementation ExistTests_ViewTestActor 16 | 17 | - (void)testExistsViewWithAccessibilityLabel 18 | { 19 | if ([[viewTester usingLabel:@"Tapping"] tryFindingTappableView] && ![[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tryFindingTappableView]) { 20 | [[viewTester usingLabel:@"Tapping"] tap]; 21 | } else { 22 | [viewTester fail]; 23 | } 24 | 25 | if ([[viewTester usingLabel:@"Test Suite"] tryFindingTappableView] && ![[viewTester usingLabel:@"Tapping"] tryFindingTappableView]) { 26 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tap]; 27 | } else { 28 | [viewTester fail]; 29 | } 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/KIF Tests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/KIF Tests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'KIF Tests' target in the 'KIF Tests' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/KIF XCTests-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'KIF Tests' target in the 'KIF Tests' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #import 9 | #endif 10 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/LandscapeTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // LandscapeTests.m 3 | // KIF 4 | // 5 | // Created by Brian Nickel on 9/11/13. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface LandscapeTests : KIFTestCase 12 | @end 13 | 14 | @implementation LandscapeTests 15 | 16 | - (void)beforeAll 17 | { 18 | [system simulateDeviceRotationToOrientation:UIDeviceOrientationLandscapeLeft]; 19 | [tester scrollViewWithAccessibilityIdentifier:@"Test Suite TableView" byFractionOfSizeHorizontal:0 vertical:-0.2]; 20 | } 21 | 22 | - (void)afterAll 23 | { 24 | [system simulateDeviceRotationToOrientation:UIDeviceOrientationPortrait]; 25 | [tester waitForTimeInterval:0.5]; 26 | } 27 | 28 | - (void)beforeEach 29 | { 30 | [tester waitForTimeInterval:0.25]; 31 | } 32 | 33 | - (void)testThatAlertViewsCanBeTappedInLandscape 34 | { 35 | [tester tapViewWithAccessibilityLabel:@"UIAlertView"]; 36 | [tester tapViewWithAccessibilityLabel:@"Continue"]; 37 | [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Message"]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/LandscapeTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // NewLandscapeTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/27/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface LandscapeTests_ViewTestActor : KIFTestCase 12 | @end 13 | 14 | @implementation LandscapeTests_ViewTestActor 15 | 16 | - (void)beforeAll 17 | { 18 | [system simulateDeviceRotationToOrientation:UIDeviceOrientationLandscapeLeft]; 19 | [[viewTester usingIdentifier:@"Test Suite TableView"] scrollByFractionOfSizeHorizontal:0 vertical:-0.2]; 20 | } 21 | 22 | - (void)afterAll 23 | { 24 | [system simulateDeviceRotationToOrientation:UIDeviceOrientationPortrait]; 25 | [viewTester waitForTimeInterval:0.5]; 26 | } 27 | 28 | - (void)beforeEach 29 | { 30 | [viewTester waitForTimeInterval:0.25]; 31 | } 32 | 33 | - (void)testThatAlertViewsCanBeTappedInLandscape 34 | { 35 | [[viewTester usingLabel:@"UIAlertView"] tap]; 36 | [[viewTester usingLabel:@"Continue"] tap]; 37 | [[viewTester usingLabel:@"Message"] waitForAbsenceOfView]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/ScrollViewTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ScrollViewTests.m 3 | // Test Suite 4 | // 5 | // Created by Hilton Campbell on 2/20/14. 6 | // 7 | // 8 | 9 | #import 10 | #import "KIFTestStepValidation.h" 11 | 12 | @interface ScrollViewTests : KIFTestCase 13 | @end 14 | 15 | @implementation ScrollViewTests 16 | 17 | - (void)beforeEach 18 | { 19 | [tester tapViewWithAccessibilityLabel:@"ScrollViews"]; 20 | } 21 | 22 | - (void)afterEach 23 | { 24 | [tester tapViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton]; 25 | } 26 | 27 | - (void)testScrollingToTapOffscreenViews 28 | { 29 | [tester tapViewWithAccessibilityLabel:@"Down"]; 30 | [tester tapViewWithAccessibilityLabel:@"Up"]; 31 | [tester tapViewWithAccessibilityLabel:@"Right"]; 32 | [tester tapViewWithAccessibilityLabel:@"Left"]; 33 | } 34 | 35 | - (void)testScrollingToTapOffscreenTextView 36 | { 37 | [tester tapViewWithAccessibilityLabel:@"TextView"]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/ScrollViewTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // NewScrollViewTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/27/15. 6 | // 7 | // 8 | 9 | #import 10 | #import "KIFTestStepValidation.h" 11 | 12 | @interface ScrollViewTests_ViewTestActor : KIFTestCase 13 | @end 14 | 15 | @implementation ScrollViewTests_ViewTestActor 16 | 17 | - (void)beforeEach 18 | { 19 | [[viewTester usingLabel:@"ScrollViews"] tap]; 20 | } 21 | 22 | - (void)afterEach 23 | { 24 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tap]; 25 | } 26 | 27 | - (void)testScrollingToTapOffscreenViews 28 | { 29 | [[viewTester usingLabel:@"Down"] tap]; 30 | [[viewTester usingLabel:@"Up"] tap]; 31 | [[viewTester usingLabel:@"Right"] tap]; 32 | [[viewTester usingLabel:@"Left"] tap]; 33 | } 34 | 35 | - (void)testScrollingToTapOffscreenTextView 36 | { 37 | [[viewTester usingLabel:@"TextView"] tap]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/SearchFieldTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // SearchFieldTests.m 3 | // KIF 4 | // 5 | // Created by Brian Nickel on 9/13/13. 6 | // 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface SearchFieldTests : KIFTestCase 13 | @end 14 | 15 | @implementation SearchFieldTests 16 | 17 | - (void)beforeEach 18 | { 19 | [tester tapViewWithAccessibilityLabel:@"TableViews"]; 20 | } 21 | 22 | - (void)afterEach 23 | { 24 | [tester tapViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton]; 25 | } 26 | 27 | - (void)testWaitingForSearchFieldToBecomeFirstResponder 28 | { 29 | [tester tapViewWithAccessibilityLabel:nil traits:UIAccessibilityTraitSearchField]; 30 | [tester waitForFirstResponderWithAccessibilityLabel:nil traits:UIAccessibilityTraitSearchField]; 31 | [tester enterTextIntoCurrentFirstResponder:@"text"]; 32 | [tester waitForViewWithAccessibilityLabel:nil value:@"text" traits:UIAccessibilityTraitSearchField]; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/SearchFieldTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewSearchFieldTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | 10 | #import 11 | #import 12 | 13 | @interface SearchFieldTests_ViewTestActor : KIFTestCase 14 | @end 15 | 16 | 17 | @implementation SearchFieldTests_ViewTestActor 18 | 19 | - (void)beforeEach 20 | { 21 | [[viewTester usingLabel:@"TableViews"] tap]; 22 | } 23 | 24 | - (void)afterEach 25 | { 26 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tap]; 27 | } 28 | 29 | - (void)testWaitingForSearchFieldToBecomeFirstResponder 30 | { 31 | [[viewTester usingTraits:UIAccessibilityTraitSearchField] tap]; 32 | [[viewTester usingTraits:UIAccessibilityTraitSearchField] waitToBecomeFirstResponder]; 33 | [viewTester enterTextIntoCurrentFirstResponder:@"text"]; 34 | [[[viewTester usingValue:@"text"] usingTraits:UIAccessibilityTraitSearchField] waitForView]; 35 | } 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WaitForAbscenceTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // WaitForAbscenceTests.m 3 | // Test Suite 4 | // 5 | // Created by Brian Nickel on 6/28/13. 6 | // Copyright (c) 2013 Brian Nickel. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WaitForAbscenceTests : KIFTestCase 12 | @end 13 | 14 | @implementation WaitForAbscenceTests 15 | 16 | - (void)beforeEach 17 | { 18 | [tester tapViewWithAccessibilityLabel:@"Tapping"]; 19 | } 20 | 21 | - (void)afterEach 22 | { 23 | [tester tapViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton]; 24 | } 25 | 26 | - (void)testWaitingForAbsenceOfViewWithAccessibilityLabel 27 | { 28 | [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Tapping"]; 29 | } 30 | 31 | - (void)testWaitingForAbsenceOfViewWithTraits 32 | { 33 | [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Tapping" traits:UIAccessibilityTraitStaticText]; 34 | } 35 | 36 | - (void)testWaitingForAbsenceOfViewWithValue 37 | { 38 | [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Switch 1" value:@"1" traits:UIAccessibilityTraitNone]; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WaitForAbscenceTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // NewWaitForAbsenceTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | 10 | #import 11 | 12 | @interface WaitForAbscenceTests_ViewTestActor : KIFTestCase 13 | @end 14 | 15 | 16 | @implementation WaitForAbscenceTests_ViewTestActor 17 | 18 | - (void)beforeEach 19 | { 20 | [[viewTester usingLabel:@"Tapping"] tap]; 21 | } 22 | 23 | - (void)afterEach 24 | { 25 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tap]; 26 | } 27 | 28 | - (void)testWaitingForAbsenceOfViewWithAccessibilityLabel 29 | { 30 | [[viewTester usingLabel:@"Tapping"] waitForAbsenceOfView]; 31 | } 32 | 33 | - (void)testWaitingForAbsenceOfViewWithTraits 34 | { 35 | [[[viewTester usingLabel:@"Tapping"] usingTraits:UIAccessibilityTraitStaticText] waitForAbsenceOfView]; 36 | } 37 | 38 | - (void)testWaitingForAbsenceOfViewWithValue 39 | { 40 | [[[viewTester usingLabel:@"Switch 1"] usingValue:@"1"] waitForAbsenceOfView]; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WaitForAnimationTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // WaitForAnimationTests.m 3 | // KIF 4 | // 5 | // Created by Hendrik von Prince on 11.11.14. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface WaitForAnimationTests : KIFTestCase 12 | 13 | @end 14 | 15 | @implementation WaitForAnimationTests 16 | 17 | - (void)beforeEach { 18 | [tester tapViewWithAccessibilityLabel:@"Tapping"]; 19 | [tester tapViewWithAccessibilityLabel:@"Animations"]; 20 | } 21 | 22 | - (void)afterEach { 23 | [tester tapViewWithAccessibilityLabel:@"Back"]; 24 | [tester tapViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton]; 25 | } 26 | 27 | - (void)testWaitForFinishingAnimation { 28 | [tester waitForViewWithAccessibilityLabel:@"Label"]; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WaitForAnimationTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewWaitForAnimationTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface WaitForAnimationTests_ViewTestActor : KIFTestCase 12 | @end 13 | 14 | 15 | @implementation WaitForAnimationTests_ViewTestActor 16 | 17 | - (void)beforeEach 18 | { 19 | [[viewTester usingLabel:@"Tapping"] tap]; 20 | [[viewTester usingLabel:@"Animations"] tap]; 21 | } 22 | 23 | - (void)afterEach 24 | { 25 | [[viewTester usingLabel:@"Back"] tap]; 26 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tap]; 27 | } 28 | 29 | - (void)testWaitForFinishingAnimation 30 | { 31 | [viewTester tapScreenAtPoint:CGPointMake(100, 100)]; 32 | [[viewTester usingLabel:@"Label"] waitForView]; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WaitForTappableViewTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewWaitForTappableViewTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface WaitForTappableViewTests_ViewTestActor : KIFTestCase 12 | @end 13 | 14 | 15 | @implementation WaitForTappableViewTests_ViewTestActor 16 | 17 | - (void)beforeEach 18 | { 19 | [[viewTester usingLabel:@"Show/Hide"] tap]; 20 | [[viewTester usingLabel:@"Cover/Uncover"] tap]; 21 | } 22 | 23 | - (void)afterEach 24 | { 25 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tap]; 26 | } 27 | 28 | - (void)testWaitingForTappableViewWithAccessibilityLabel 29 | { 30 | [[viewTester usingLabel:@"B"] waitToBecomeTappable]; 31 | } 32 | 33 | - (void)testWaitingForViewWithTraits 34 | { 35 | [[[viewTester usingLabel:@"B"] usingTraits:UIAccessibilityTraitButton] waitToBecomeTappable]; 36 | } 37 | 38 | - (void)testWaitingForViewWithValue 39 | { 40 | [[[[viewTester usingLabel:@"B"] usingValue:@"BB"] usingTraits:UIAccessibilityTraitButton] waitToBecomeTappable]; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WaitForViewTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // WaitForViewTests.m 3 | // Test Suite 4 | // 5 | // Created by Brian Nickel on 6/28/13. 6 | // Copyright (c) 2013 Brian Nickel. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface WaitForViewTests : KIFTestCase 12 | @end 13 | 14 | @implementation WaitForViewTests 15 | 16 | - (void)testWaitingForViewWithAccessibilityLabel 17 | { 18 | [tester waitForViewWithAccessibilityLabel:@"Test Suite"]; 19 | } 20 | 21 | - (void)testWaitingForViewWithTraits 22 | { 23 | [tester waitForViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitStaticText]; 24 | } 25 | 26 | - (void)testWaitingForViewWithValue 27 | { 28 | [tester waitForViewWithAccessibilityLabel:@"Switch 1" value:@"1" traits:UIAccessibilityTraitNone]; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WaitForViewTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewWaitForViewTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | 10 | #import 11 | 12 | @interface WaitForViewTests_ViewTestActor : KIFTestCase 13 | @end 14 | 15 | 16 | @implementation WaitForViewTests_ViewTestActor 17 | 18 | - (void)testWaitingForViewWithAccessibilityLabel 19 | { 20 | [[viewTester usingLabel:@"Test Suite"] waitForView]; 21 | } 22 | 23 | - (void)testWaitingForViewWithTraits 24 | { 25 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitStaticText] waitForView]; 26 | } 27 | 28 | - (void)testWaitingForViewWithValue 29 | { 30 | [[[viewTester usingLabel:@"Switch 1"] usingValue:@"1"] waitForView]; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WebViewTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // WebViewTests.m 3 | // KIF 4 | // 5 | // Created by Joe Masilotti on 11/19/14. 6 | // 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | @interface WebViewTests : KIFTestCase 14 | @end 15 | 16 | @implementation WebViewTests 17 | 18 | - (void)beforeEach 19 | { 20 | [tester tapViewWithAccessibilityLabel:@"WebViews"]; 21 | } 22 | 23 | - (void)afterEach 24 | { 25 | [tester tapViewWithAccessibilityLabel:@"Test Suite" traits:UIAccessibilityTraitButton]; 26 | } 27 | 28 | - (void)testTappingLinks { 29 | [tester tapViewWithAccessibilityLabel:@"A link"]; 30 | [tester waitForViewWithAccessibilityLabel:@"Page 2"]; 31 | } 32 | 33 | - (void)testScrolling { 34 | // Off screen, the web view will need to be scrolled down 35 | [tester waitForViewWithAccessibilityLabel:@"Footer"]; 36 | } 37 | 38 | - (void)testEnteringText { 39 | [tester tapViewWithAccessibilityLabel:@"Input Label"]; 40 | [tester enterTextIntoCurrentFirstResponder:@"Keyboard text"]; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/WebViewTests_ViewTestActor.m: -------------------------------------------------------------------------------- 1 | // 2 | // NewWebViewTests.m 3 | // KIF 4 | // 5 | // Created by Alex Odawa on 1/26/15. 6 | // 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | @interface WebViewTests_ViewTestActor : KIFTestCase 14 | @end 15 | 16 | 17 | @implementation WebViewTests_ViewTestActor 18 | 19 | - (void)beforeEach 20 | { 21 | [[viewTester usingLabel:@"WebViews"] tap]; 22 | } 23 | 24 | - (void)afterEach 25 | { 26 | [[[viewTester usingLabel:@"Test Suite"] usingTraits:UIAccessibilityTraitButton] tap]; 27 | } 28 | 29 | - (void)testTappingLinks 30 | { 31 | [[viewTester usingLabel:@"A link"] tap]; 32 | [[viewTester usingLabel:@"Page 2"] waitForView]; 33 | } 34 | 35 | - (void)testScrolling 36 | { 37 | // Off screen, the web view will need to be scrolled down 38 | [[viewTester usingLabel:@"Footer"] waitForView]; 39 | } 40 | 41 | - (void)testEnteringText 42 | { 43 | [[viewTester usingLabel:@"Input Label"] tap]; 44 | [viewTester enterTextIntoCurrentFirstResponder:@"Keyboard text"]; 45 | } 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF Tests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIF.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFramework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFrameworkConsumer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // KIFFrameworkConsumer 4 | // 5 | // Created by Alex Odawa on 3/30/16. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFrameworkConsumer/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | } 43 | ], 44 | "info" : { 45 | "version" : 1, 46 | "author" : "xcode" 47 | } 48 | } -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFrameworkConsumer/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // KIFFrameworkConsumer 4 | // 5 | // Created by Alex Odawa on 3/30/16. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFrameworkConsumer/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // KIFFrameworkConsumer 4 | // 5 | // Created by Alex Odawa on 3/30/16. 6 | // 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @property (strong, nonatomic) IBOutlet UILabel *label; 14 | @end 15 | 16 | @implementation ViewController 17 | 18 | - (void)viewDidLoad { 19 | [super viewDidLoad]; 20 | // Do any additional setup after loading the view, typically from a nib. 21 | } 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | - (IBAction)buttonTapped:(id)sender { 28 | [self.label performSelector:@selector(setText:) withObject:@"Tapped" afterDelay:0.5]; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFrameworkConsumer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // KIFFrameworkConsumer 4 | // 5 | // Created by Alex Odawa on 3/30/16. 6 | // 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFrameworkConsumerTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/KIFFrameworkConsumerTests/KIFFrameworkConsumerTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // KIFFrameworkConsumerTests.m 3 | // KIFFrameworkConsumerTests 4 | // 5 | // Created by Alex Odawa on 3/30/16. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface KIFFrameworkConsumerTests : KIFTestCase 12 | 13 | @end 14 | 15 | @implementation KIFFrameworkConsumerTests 16 | 17 | 18 | - (void)test_Framework { 19 | [tester waitForViewWithAccessibilityLabel:@"Button"]; 20 | [[viewTester usingLabel:@"Button"] tap]; 21 | [tester waitForAbsenceOfViewWithAccessibilityLabel:@"Label"]; 22 | [[viewTester usingLabel:@"Tapped"] waitForView]; 23 | } 24 | 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/LICENSE: -------------------------------------------------------------------------------- 1 | KIF 2 | Copyright 2011-2016 Square, Inc. 3 | A full list of contributors is available at https://github.com/square/KIF/contributors 4 | 5 | Licensed under the Apache License, Version 2.0 (the "License"); 6 | you may not use this file except in compliance with the License. 7 | You may obtain a copy of the License at 8 | 9 | http://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, software 12 | distributed under the License is distributed on an "AS IS" BASIS, 13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | See the License for the specific language governing permissions and 15 | limitations under the License. 16 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/AnimationViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // AnimationViewController.m 3 | // KIF 4 | // 5 | // Created by Hendrik von Prince on 11.11.14. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface AnimationViewController : UIViewController 12 | @property (strong, nonatomic) IBOutlet UILabel *testLabel; 13 | @end 14 | 15 | @implementation AnimationViewController 16 | 17 | -(void)viewDidAppear:(BOOL)animated { 18 | [super viewDidAppear:animated]; 19 | 20 | // simulate a time-consuming calculation 21 | sleep(2); 22 | self.testLabel.hidden = NO; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // Test Suite 4 | // 5 | // Created by Brian Nickel on 6/25/13. 6 | // Copyright (c) 2013 Brian Nickel. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | @property (strong, nonatomic) UIWindow *window; 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 18 | { 19 | return YES; 20 | } 21 | 22 | - (void)applicationDidBecomeActive:(UIApplication *)application 23 | { 24 | // Uncomment the following line to run the tests with animations 100x faster 25 | //UIApplication.sharedApplication.keyWindow.layer.speed = 100; 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/BackgroundViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // BackgroundViewController.m 3 | // KIF 4 | // 5 | // Created by Jordan Zucker on 5/18/15. 6 | // 7 | // 8 | 9 | @interface BackgroundViewController : UIViewController 10 | @property (nonatomic, weak) IBOutlet UILabel *label; 11 | @end 12 | 13 | @implementation BackgroundViewController 14 | 15 | - (void)viewDidLoad { 16 | [super viewDidLoad]; 17 | // Do any additional setup after loading the view. 18 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleApplicationDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil]; 19 | self.label.isAccessibilityElement = YES; 20 | self.label.text = @"Start"; 21 | self.label.accessibilityLabel = self.label.text; 22 | } 23 | 24 | - (void)dealloc { 25 | [[NSNotificationCenter defaultCenter] removeObserver:self]; 26 | } 27 | 28 | - (void)handleApplicationDidEnterBackground:(NSNotification *)notification { 29 | self.label.text = @"Back"; 30 | self.label.accessibilityLabel = self.label.text; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingKIFTests/Vendor/KIF/Test Host/Default-568h@2x.png -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingKIFTests/Vendor/KIF/Test Host/Default.png -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/PSPDFKit-labs/iOS-UI-Testing-Comparison/8ec99ada33a0ef431221bf743e05a6464047ba65/UITestingKIFTests/Vendor/KIF/Test Host/Default@2x.png -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/Test Host-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'Test Host' target in the 'Test Host' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iOS SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/WebViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // WebViewController.m 3 | // KIF 4 | // 5 | // Created by Joe Masilotti on 11/19/14. 6 | // 7 | // 8 | 9 | @interface WebViewController : UIViewController 10 | @property (weak, nonatomic) IBOutlet UIWebView *webView; 11 | @end 12 | 13 | @implementation WebViewController 14 | 15 | - (void)viewDidLoad 16 | { 17 | [super viewDidLoad]; 18 | 19 | NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; 20 | [self.webView loadRequest:[NSURLRequest requestWithURL:url]]; 21 | } 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Testing with KIF

4 |

Page 1

5 | A link 6 | 7 |
8 | 9 | 10 | 11 |
















12 | Footer 13 | 14 | 15 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Test Host 4 | // 5 | // Created by Brian Nickel on 6/29/13. 6 | // 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, @"AppDelegate"); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/Test Host/page2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Testing with KIF

4 |

Page 2

5 | 6 | 7 | -------------------------------------------------------------------------------- /UITestingKIFTests/Vendor/KIF/scripts/ci.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o xtrace 4 | set -o errexit 5 | set -o pipefail 6 | 7 | SIMULATOR=$1 8 | 9 | if [ -z "${SIMULATOR}" ]; then 10 | echo 'Must supply a simulator description in the form of "name=iPad Air,OS=9.2"' 11 | exit 1 12 | fi 13 | 14 | # Workaround https://github.com/travis-ci/travis-ci/issues/3040 15 | open -b com.apple.iphonesimulator 16 | 17 | rm -rf ${PWD}/build 18 | 19 | # Frameworks are only supported on iOS8 and later 20 | if [[ ! ${SIMULATOR} =~ .*OS=7.* ]]; then 21 | env NSUnbufferedIO=YES xcodebuild test -derivedDataPath=${PWD}/build/KIFFramework -scheme KIFFrameworkConsumerTests -destination "platform=iOS Simulator,${SIMULATOR}" | xcpretty -c 22 | fi 23 | 24 | env NSUnbufferedIO=YES xcodebuild test -scheme KIF -derivedDataPath=${PWD}/build/KIF -destination "platform=iOS Simulator,${SIMULATOR}" | xcpretty -c -------------------------------------------------------------------------------- /UITestingKIFTests/XCTestCaseKIFExtensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // XCTestCaseKIFExtensions.swift 3 | // UITestingKIFTests 4 | // 5 | // Copyright © 2016 PSPDFKit GmbH. All rights reserved. 6 | // 7 | 8 | import XCTest 9 | 10 | extension XCTestCase { 11 | 12 | @nonobjc var tester: KIFUITestActor { return tester() } 13 | @nonobjc var system: KIFSystemTestActor { return system() } 14 | 15 | @nonobjc func wait(for condition: @autoclosure @escaping (Void) -> Bool, negateCondition: Bool = false) { 16 | XCTAssertTrue(PSPDFWaitForConditionWithTimeout(30, negateCondition ? { !condition() } : { condition() })) 17 | } 18 | 19 | func tester(file : String = #file, _ line : Int = #line) -> KIFUITestActor { 20 | return KIFUITestActor(inFile: file, atLine: line, delegate: self) 21 | } 22 | 23 | func system(file : String = #file, _ line : Int = #line) -> KIFSystemTestActor { 24 | return KIFSystemTestActor(inFile: file, atLine: line, delegate: self) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /UITestingXCUITests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /UITestingXCUITests/UITestingXCUITests-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "PSPDFTestCase.h" 2 | #import "PSPDFTestAdditions.h" 3 | --------------------------------------------------------------------------------