Dispatch functions run async code synchronous in tests
Objective-C C Shell Ruby C++
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Example
Pod/Classes
.gitignore
.travis.yml
LICENSE
README.md
ar_dispatch.podspec

README.md

ar_dispatch

Make the Foundation dispatch_xxx_ functions run normally async code synchronously in tests

[CI Status](https://travis-ci.org/Orta Therox/ar_dispatch) Version License Platform

What is does

Adds a collection of methods around the dispatch queue that will run synchronously when being ran in a test target, but will act asynchronously in application targets. Tested.

    /// Async in App Code, sync in Test Code, waits for a time then runs the block on the main queue
    extern void ar_dispatch_after(NSTimeInterval time, dispatch_block_t block);

    /// Async in App Code, sync in Test Code, waits for a time then runs the block on your own queue
    extern void ar_dispatch_after_on_queue(NSTimeInterval time, dispatch_queue_t queue, dispatch_block_t block);

    /// Async in App Code, sync in Test Code, runs a block on a default queue on another thread
    extern void ar_dispatch_async(dispatch_block_t block);

    /// Async in App Code, sync in Test Code, runs a block on the main thread
    extern void ar_dispatch_main_queue(dispatch_block_t block);

    /// Async in App Code, sync in Test Code, runs block on a queue
    extern void ar_dispatch_on_queue(dispatch_queue_t queue, dispatch_block_t block);

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

ar_dispatch is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "ar_dispatch"

Author

Orta Therox, orta.therox@gmail.com

License

ar_dispatch is available under the MIT license. See the LICENSE file for more info.