UIBarButtonItemRACSupportSpec.m 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. //
  2. // UIBarButtonItemRACSupportSpec.m
  3. // ReactiveCocoa
  4. //
  5. // Created by Kyle LeNeau on 4/13/13.
  6. // Copyright (c) 2013 GitHub, Inc. All rights reserved.
  7. //
  8. #import <Quick/Quick.h>
  9. #import <Nimble/Nimble.h>
  10. #import "RACControlCommandExamples.h"
  11. #import "UIBarButtonItem+RACCommandSupport.h"
  12. #import "RACCommand.h"
  13. #import "RACDisposable.h"
  14. QuickSpecBegin(UIBarButtonItemRACSupportSpec)
  15. qck_describe(@"UIBarButtonItem", ^{
  16. __block UIBarButtonItem *button;
  17. qck_beforeEach(^{
  18. button = [[UIBarButtonItem alloc] init];
  19. expect(button).notTo(beNil());
  20. });
  21. qck_itBehavesLike(RACControlCommandExamples, ^{
  22. return @{
  23. RACControlCommandExampleControl: button,
  24. RACControlCommandExampleActivateBlock: ^(UIBarButtonItem *button) {
  25. NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[button.target methodSignatureForSelector:button.action]];
  26. invocation.selector = button.action;
  27. id target = button.target;
  28. [invocation setArgument:&target atIndex:2];
  29. [invocation invokeWithTarget:target];
  30. }
  31. };
  32. });
  33. });
  34. QuickSpecEnd