Improve Swift compatibility of ASHorizontalAlignment & ASVerticalAlignment by using consistent naming

This commit is contained in:
Eric Jensen
2016-03-21 11:16:28 -07:00
parent bae2f232f0
commit 12da9ac6a9
5 changed files with 48 additions and 32 deletions

View File

@@ -28,12 +28,12 @@
@property (nonatomic, assign) BOOL laysOutHorizontally; @property (nonatomic, assign) BOOL laysOutHorizontally;
/** Horizontally align content (text or image). /** Horizontally align content (text or image).
Defaults to ASAlignmentMiddle. Defaults to ASHorizontalAlignmentMiddle.
*/ */
@property (nonatomic, assign) ASHorizontalAlignment contentHorizontalAlignment; @property (nonatomic, assign) ASHorizontalAlignment contentHorizontalAlignment;
/** Vertically align content (text or image). /** Vertically align content (text or image).
Defaults to ASAlignmentCenter. Defaults to ASVerticalAlignmentCenter.
*/ */
@property (nonatomic, assign) ASVerticalAlignment contentVerticalAlignment; @property (nonatomic, assign) ASVerticalAlignment contentVerticalAlignment;

View File

@@ -57,8 +57,8 @@
_contentSpacing = 8.0; _contentSpacing = 8.0;
_laysOutHorizontally = YES; _laysOutHorizontally = YES;
_contentHorizontalAlignment = ASAlignmentMiddle; _contentHorizontalAlignment = ASHorizontalAlignmentMiddle;
_contentVerticalAlignment = ASAlignmentCenter; _contentVerticalAlignment = ASVerticalAlignmentCenter;
_contentEdgeInsets = UIEdgeInsetsZero; _contentEdgeInsets = UIEdgeInsetsZero;
self.accessibilityTraits = UIAccessibilityTraitButton; self.accessibilityTraits = UIAccessibilityTraitButton;
} }

View File

@@ -8,6 +8,8 @@
* *
*/ */
#import "ASBaseDefines.h"
/** The direction children are stacked in */ /** The direction children are stacked in */
typedef NS_ENUM(NSUInteger, ASStackLayoutDirection) { typedef NS_ENUM(NSUInteger, ASStackLayoutDirection) {
/** Children are stacked vertically */ /** Children are stacked vertically */
@@ -88,11 +90,18 @@ typedef NS_ENUM(NSUInteger, ASHorizontalAlignment) {
/** No alignment specified. Default value */ /** No alignment specified. Default value */
ASHorizontalAlignmentNone, ASHorizontalAlignmentNone,
/** Left aligned */ /** Left aligned */
ASAlignmentLeft, ASHorizontalAlignmentLeft,
/** Center aligned */ /** Center aligned */
ASAlignmentMiddle, ASHorizontalAlignmentMiddle,
/** Right aligned */ /** Right aligned */
ASAlignmentRight, ASHorizontalAlignmentRight,
/** @deprecated Use ASHorizontalAlignmentLeft instead */
ASAlignmentLeft ASDISPLAYNODE_DEPRECATED = ASHorizontalAlignmentLeft,
/** @deprecated Use ASHorizontalAlignmentMiddle instead */
ASAlignmentMiddle ASDISPLAYNODE_DEPRECATED = ASHorizontalAlignmentMiddle,
/** @deprecated Use ASHorizontalAlignmentRight instead */
ASAlignmentRight ASDISPLAYNODE_DEPRECATED = ASHorizontalAlignmentRight,
}; };
/** Orientation of children along vertical axis */ /** Orientation of children along vertical axis */
@@ -100,9 +109,16 @@ typedef NS_ENUM(NSUInteger, ASVerticalAlignment) {
/** No alignment specified. Default value */ /** No alignment specified. Default value */
ASVerticalAlignmentNone, ASVerticalAlignmentNone,
/** Top aligned */ /** Top aligned */
ASAlignmentTop, ASVerticalAlignmentTop,
/** Center aligned */ /** Center aligned */
ASAlignmentCenter, ASVerticalAlignmentCenter,
/** Bottom aligned */ /** Bottom aligned */
ASAlignmentBottom, ASVerticalAlignmentBottom,
/** @deprecated Use ASVerticalAlignmentTop instead */
ASAlignmentTop ASDISPLAYNODE_DEPRECATED = ASVerticalAlignmentTop,
/** @deprecated Use ASVerticalAlignmentCenter instead */
ASAlignmentCenter ASDISPLAYNODE_DEPRECATED = ASVerticalAlignmentCenter,
/** @deprecated Use ASVerticalAlignmentBottom instead */
ASAlignmentBottom ASDISPLAYNODE_DEPRECATED = ASVerticalAlignmentBottom,
}; };

View File

@@ -72,11 +72,11 @@ inline ASStackLayoutAlignItems alignment(ASStackLayoutAlignSelf childAlignment,
inline ASStackLayoutAlignItems alignment(ASHorizontalAlignment alignment, ASStackLayoutAlignItems defaultAlignment) inline ASStackLayoutAlignItems alignment(ASHorizontalAlignment alignment, ASStackLayoutAlignItems defaultAlignment)
{ {
switch (alignment) { switch (alignment) {
case ASAlignmentLeft: case ASHorizontalAlignmentLeft:
return ASStackLayoutAlignItemsStart; return ASStackLayoutAlignItemsStart;
case ASAlignmentMiddle: case ASHorizontalAlignmentMiddle:
return ASStackLayoutAlignItemsCenter; return ASStackLayoutAlignItemsCenter;
case ASAlignmentRight: case ASHorizontalAlignmentRight:
return ASStackLayoutAlignItemsEnd; return ASStackLayoutAlignItemsEnd;
case ASHorizontalAlignmentNone: case ASHorizontalAlignmentNone:
default: default:
@@ -87,11 +87,11 @@ inline ASStackLayoutAlignItems alignment(ASHorizontalAlignment alignment, ASStac
inline ASStackLayoutAlignItems alignment(ASVerticalAlignment alignment, ASStackLayoutAlignItems defaultAlignment) inline ASStackLayoutAlignItems alignment(ASVerticalAlignment alignment, ASStackLayoutAlignItems defaultAlignment)
{ {
switch (alignment) { switch (alignment) {
case ASAlignmentTop: case ASVerticalAlignmentTop:
return ASStackLayoutAlignItemsStart; return ASStackLayoutAlignItemsStart;
case ASAlignmentCenter: case ASVerticalAlignmentCenter:
return ASStackLayoutAlignItemsCenter; return ASStackLayoutAlignItemsCenter;
case ASAlignmentBottom: case ASVerticalAlignmentBottom:
return ASStackLayoutAlignItemsEnd; return ASStackLayoutAlignItemsEnd;
case ASVerticalAlignmentNone: case ASVerticalAlignmentNone:
default: default:
@@ -102,11 +102,11 @@ inline ASStackLayoutAlignItems alignment(ASVerticalAlignment alignment, ASStackL
inline ASStackLayoutJustifyContent justifyContent(ASHorizontalAlignment alignment, ASStackLayoutJustifyContent defaultJustifyContent) inline ASStackLayoutJustifyContent justifyContent(ASHorizontalAlignment alignment, ASStackLayoutJustifyContent defaultJustifyContent)
{ {
switch (alignment) { switch (alignment) {
case ASAlignmentLeft: case ASHorizontalAlignmentLeft:
return ASStackLayoutJustifyContentStart; return ASStackLayoutJustifyContentStart;
case ASAlignmentMiddle: case ASHorizontalAlignmentMiddle:
return ASStackLayoutJustifyContentCenter; return ASStackLayoutJustifyContentCenter;
case ASAlignmentRight: case ASHorizontalAlignmentRight:
return ASStackLayoutJustifyContentEnd; return ASStackLayoutJustifyContentEnd;
case ASHorizontalAlignmentNone: case ASHorizontalAlignmentNone:
default: default:
@@ -117,11 +117,11 @@ inline ASStackLayoutJustifyContent justifyContent(ASHorizontalAlignment alignmen
inline ASStackLayoutJustifyContent justifyContent(ASVerticalAlignment alignment, ASStackLayoutJustifyContent defaultJustifyContent) inline ASStackLayoutJustifyContent justifyContent(ASVerticalAlignment alignment, ASStackLayoutJustifyContent defaultJustifyContent)
{ {
switch (alignment) { switch (alignment) {
case ASAlignmentTop: case ASVerticalAlignmentTop:
return ASStackLayoutJustifyContentStart; return ASStackLayoutJustifyContentStart;
case ASAlignmentCenter: case ASVerticalAlignmentCenter:
return ASStackLayoutJustifyContentCenter; return ASStackLayoutJustifyContentCenter;
case ASAlignmentBottom: case ASVerticalAlignmentBottom:
return ASStackLayoutJustifyContentEnd; return ASStackLayoutJustifyContentEnd;
case ASVerticalAlignmentNone: case ASVerticalAlignmentNone:
default: default:

View File

@@ -606,19 +606,19 @@ static NSArray *defaultSubnodesWithSameSize(CGSize subnodeSize, BOOL flex)
- (void)testHorizontalAndVerticalAlignments - (void)testHorizontalAndVerticalAlignments
{ {
[self testStackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal itemsHorizontalAlignment:ASAlignmentLeft itemsVerticalAlignment:ASAlignmentTop identifier:@"horizontalTopLeft"]; [self testStackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal itemsHorizontalAlignment:ASHorizontalAlignmentLeft itemsVerticalAlignment:ASVerticalAlignmentTop identifier:@"horizontalTopLeft"];
[self testStackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal itemsHorizontalAlignment:ASAlignmentMiddle itemsVerticalAlignment:ASAlignmentCenter identifier:@"horizontalCenter"]; [self testStackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal itemsHorizontalAlignment:ASHorizontalAlignmentMiddle itemsVerticalAlignment:ASVerticalAlignmentCenter identifier:@"horizontalCenter"];
[self testStackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal itemsHorizontalAlignment:ASAlignmentRight itemsVerticalAlignment:ASAlignmentBottom identifier:@"horizontalBottomRight"]; [self testStackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal itemsHorizontalAlignment:ASHorizontalAlignmentRight itemsVerticalAlignment:ASVerticalAlignmentBottom identifier:@"horizontalBottomRight"];
[self testStackLayoutSpecWithDirection:ASStackLayoutDirectionVertical itemsHorizontalAlignment:ASAlignmentLeft itemsVerticalAlignment:ASAlignmentTop identifier:@"verticalTopLeft"]; [self testStackLayoutSpecWithDirection:ASStackLayoutDirectionVertical itemsHorizontalAlignment:ASHorizontalAlignmentLeft itemsVerticalAlignment:ASVerticalAlignmentTop identifier:@"verticalTopLeft"];
[self testStackLayoutSpecWithDirection:ASStackLayoutDirectionVertical itemsHorizontalAlignment:ASAlignmentMiddle itemsVerticalAlignment:ASAlignmentCenter identifier:@"verticalCenter"]; [self testStackLayoutSpecWithDirection:ASStackLayoutDirectionVertical itemsHorizontalAlignment:ASHorizontalAlignmentMiddle itemsVerticalAlignment:ASVerticalAlignmentCenter identifier:@"verticalCenter"];
[self testStackLayoutSpecWithDirection:ASStackLayoutDirectionVertical itemsHorizontalAlignment:ASAlignmentRight itemsVerticalAlignment:ASAlignmentBottom identifier:@"verticalBottomRight"]; [self testStackLayoutSpecWithDirection:ASStackLayoutDirectionVertical itemsHorizontalAlignment:ASHorizontalAlignmentRight itemsVerticalAlignment:ASVerticalAlignmentBottom identifier:@"verticalBottomRight"];
} }
- (void)testDirectionChangeAfterSettingHorizontalAndVerticalAlignments - (void)testDirectionChangeAfterSettingHorizontalAndVerticalAlignments
{ {
ASStackLayoutSpec *stackLayoutSpec = [[ASStackLayoutSpec alloc] init]; // Default direction is horizontal ASStackLayoutSpec *stackLayoutSpec = [[ASStackLayoutSpec alloc] init]; // Default direction is horizontal
stackLayoutSpec.horizontalAlignment = ASAlignmentRight; stackLayoutSpec.horizontalAlignment = ASHorizontalAlignmentRight;
stackLayoutSpec.verticalAlignment = ASAlignmentCenter; stackLayoutSpec.verticalAlignment = ASVerticalAlignmentCenter;
XCTAssertEqual(stackLayoutSpec.alignItems, ASStackLayoutAlignItemsCenter); XCTAssertEqual(stackLayoutSpec.alignItems, ASStackLayoutAlignItemsCenter);
XCTAssertEqual(stackLayoutSpec.justifyContent, ASStackLayoutJustifyContentEnd); XCTAssertEqual(stackLayoutSpec.justifyContent, ASStackLayoutJustifyContentEnd);
@@ -636,8 +636,8 @@ static NSArray *defaultSubnodesWithSameSize(CGSize subnodeSize, BOOL flex)
stackLayoutSpec.justifyContent = ASStackLayoutJustifyContentEnd; stackLayoutSpec.justifyContent = ASStackLayoutJustifyContentEnd;
// Set alignments and assert that assertions are thrown // Set alignments and assert that assertions are thrown
stackLayoutSpec.horizontalAlignment = ASAlignmentMiddle; stackLayoutSpec.horizontalAlignment = ASHorizontalAlignmentMiddle;
stackLayoutSpec.verticalAlignment = ASAlignmentCenter; stackLayoutSpec.verticalAlignment = ASVerticalAlignmentCenter;
XCTAssertThrows(stackLayoutSpec.alignItems = ASStackLayoutAlignItemsEnd); XCTAssertThrows(stackLayoutSpec.alignItems = ASStackLayoutAlignItemsEnd);
XCTAssertThrows(stackLayoutSpec.justifyContent = ASStackLayoutJustifyContentEnd); XCTAssertThrows(stackLayoutSpec.justifyContent = ASStackLayoutJustifyContentEnd);