Adds cocoapods for libraries.
Adds OCMockito and OCHamcrest libs.
This commit is contained in:
101
Pods/OCHamcrest/Source/Core/HCBaseDescription.m
generated
Normal file
101
Pods/OCHamcrest/Source/Core/HCBaseDescription.m
generated
Normal file
@@ -0,0 +1,101 @@
|
||||
// OCHamcrest by Jon Reid, https://qualitycoding.org/
|
||||
// Copyright 2019 hamcrest.org. See LICENSE.txt
|
||||
|
||||
#import "HCBaseDescription.h"
|
||||
|
||||
#import "HCMatcher.h"
|
||||
|
||||
|
||||
@implementation HCBaseDescription
|
||||
|
||||
- (id <HCDescription>)appendText:(NSString *)text
|
||||
{
|
||||
[self append:text];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id <HCDescription>)appendDescriptionOf:(nullable id)value
|
||||
{
|
||||
if (value == nil)
|
||||
[self append:@"nil"];
|
||||
else if ([value conformsToProtocol:@protocol(HCSelfDescribing)])
|
||||
[value describeTo:self];
|
||||
else if ([value respondsToSelector:@selector(isKindOfClass:)] && [value isKindOfClass:[NSString class]])
|
||||
[self toCSyntaxString:value];
|
||||
else
|
||||
[self appendObjectDescriptionOf:value];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id <HCDescription>)appendObjectDescriptionOf:(id)value
|
||||
{
|
||||
NSString *description = [value description];
|
||||
NSUInteger descriptionLength = description.length;
|
||||
if (descriptionLength == 0)
|
||||
[self append:[NSString stringWithFormat:@"<%@: %p>", NSStringFromClass([value class]), (__bridge void *)value]];
|
||||
else if ([description characterAtIndex:0] == '<'
|
||||
&& [description characterAtIndex:descriptionLength - 1] == '>')
|
||||
{
|
||||
[self append:description];
|
||||
}
|
||||
else
|
||||
{
|
||||
[self append:@"<"];
|
||||
[self append:description];
|
||||
[self append:@">"];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id <HCDescription>)appendList:(NSArray *)values
|
||||
start:(NSString *)start
|
||||
separator:(NSString *)separator
|
||||
end:(NSString *)end
|
||||
{
|
||||
BOOL separate = NO;
|
||||
|
||||
[self append:start];
|
||||
for (id item in values)
|
||||
{
|
||||
if (separate)
|
||||
[self append:separator];
|
||||
[self appendDescriptionOf:item];
|
||||
separate = YES;
|
||||
}
|
||||
[self append:end];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)toCSyntaxString:(NSString *)unformatted
|
||||
{
|
||||
[self append:@"\""];
|
||||
NSUInteger length = unformatted.length;
|
||||
for (NSUInteger index = 0; index < length; ++index)
|
||||
[self toCSyntax:[unformatted characterAtIndex:index]];
|
||||
[self append:@"\""];
|
||||
}
|
||||
|
||||
- (void)toCSyntax:(unichar)ch
|
||||
{
|
||||
switch (ch)
|
||||
{
|
||||
case '"':
|
||||
[self append:@"\\\""];
|
||||
break;
|
||||
case '\n':
|
||||
[self append:@"\\n"];
|
||||
break;
|
||||
case '\r':
|
||||
[self append:@"\\r"];
|
||||
break;
|
||||
case '\t':
|
||||
[self append:@"\\t"];
|
||||
break;
|
||||
default:
|
||||
[self append:[NSString stringWithCharacters:&ch length:1]];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user