Skip to content

Commit

Permalink
Add forwarding of UIAccessibilityAction methods (#1344)
Browse files Browse the repository at this point in the history
* Add forwarding of UIAccessibilityAction methods

* Use OCMock for testing UIAccessibilityAction method forwarding
  • Loading branch information
smeis authored and Adlai-Holler committed Mar 6, 2019
1 parent 07becd0 commit a0012d9
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
28 changes: 28 additions & 0 deletions Source/Details/_ASDisplayViewAccessiblity.mm
Original file line number Diff line number Diff line change
Expand Up @@ -297,4 +297,32 @@ - (NSArray *)accessibilityElements

@end

@implementation _ASDisplayView (UIAccessibilityAction)

- (BOOL)accessibilityActivate {
return [self.asyncdisplaykit_node accessibilityActivate];
}

- (void)accessibilityIncrement {
[self.asyncdisplaykit_node accessibilityIncrement];
}

- (void)accessibilityDecrement {
[self.asyncdisplaykit_node accessibilityDecrement];
}

- (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction {
return [self.asyncdisplaykit_node accessibilityScroll:direction];
}

- (BOOL)accessibilityPerformEscape {
return [self.asyncdisplaykit_node accessibilityPerformEscape];
}

- (BOOL)accessibilityPerformMagicTap {
return [self.asyncdisplaykit_node accessibilityPerformMagicTap];
}

@end

#endif
31 changes: 31 additions & 0 deletions Tests/ASDisplayViewAccessibilityTests.mm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#import <AsyncDisplayKit/ASTextNode.h>
#import <AsyncDisplayKit/ASConfiguration.h>
#import <AsyncDisplayKit/ASConfigurationInternal.h>
#import <OCMock/OCMock.h>

@interface ASDisplayViewAccessibilityTests : XCTestCase
@end
Expand Down Expand Up @@ -269,4 +270,34 @@ - (void)testAccessibilityUpdatesWithElementsChanges
XCTAssertTrue([[elements2.firstObject accessibilityLabel] isEqualToString:@"greeting"]);
}

#pragma mark -
#pragma mark UIAccessibilityAction Forwarding

- (void)testActionForwarding {
ASDisplayNode *node = [ASDisplayNode new];
UIView *view = node.view;

id mockNode = OCMPartialMock(node);

OCMExpect([mockNode accessibilityActivate]);
[view accessibilityActivate];

OCMExpect([mockNode accessibilityIncrement]);
[view accessibilityIncrement];

OCMExpect([mockNode accessibilityDecrement]);
[view accessibilityDecrement];

OCMExpect([mockNode accessibilityScroll:UIAccessibilityScrollDirectionDown]);
[view accessibilityScroll:UIAccessibilityScrollDirectionDown];

OCMExpect([mockNode accessibilityPerformEscape]);
[view accessibilityPerformEscape];

OCMExpect([mockNode accessibilityPerformMagicTap]);
[view accessibilityPerformMagicTap];

OCMVerifyAll(mockNode);
}

@end

0 comments on commit a0012d9

Please sign in to comment.