RACSubscriptingAssignmentTrampolineSpec.m 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // RACSubscriptingAssignmentTrampolineSpec.m
  3. // ReactiveCocoa
  4. //
  5. // Created by Josh Abernathy on 9/24/12.
  6. // Copyright (c) 2012 GitHub, Inc. All rights reserved.
  7. //
  8. #import <Quick/Quick.h>
  9. #import <Nimble/Nimble.h>
  10. #import "RACSubscriptingAssignmentTrampoline.h"
  11. #import "RACPropertySignalExamples.h"
  12. #import "RACTestObject.h"
  13. #import "RACSubject.h"
  14. QuickSpecBegin(RACSubscriptingAssignmentTrampolineSpec)
  15. id setupBlock = ^(RACTestObject *testObject, NSString *keyPath, id nilValue, RACSignal *signal) {
  16. [[RACSubscriptingAssignmentTrampoline alloc] initWithTarget:testObject nilValue:nilValue][keyPath] = signal;
  17. };
  18. qck_itBehavesLike(RACPropertySignalExamples, ^{
  19. return @{ RACPropertySignalExamplesSetupBlock: setupBlock };
  20. });
  21. qck_it(@"should expand the RAC macro properly", ^{
  22. RACSubject *subject = [RACSubject subject];
  23. RACTestObject *testObject = [[RACTestObject alloc] init];
  24. RAC(testObject, objectValue) = subject;
  25. [subject sendNext:@1];
  26. expect(testObject.objectValue).to(equal(@1));
  27. });
  28. QuickSpecEnd