diff --git a/libPhoneNumber/Internal/NBRegExMatcher.m b/libPhoneNumber/Internal/NBRegExMatcher.m index 44db1f5..1534990 100644 --- a/libPhoneNumber/Internal/NBRegExMatcher.m +++ b/libPhoneNumber/Internal/NBRegExMatcher.m @@ -62,7 +62,7 @@ options:NSMatchingAnchored range:wholeStringRange]; - return (allowsPrefixMatch || exactResult.numberOfRanges > 0) + return (allowsPrefixMatch || exactResult.numberOfRanges > 0); } } diff --git a/libPhoneNumberTests/NBPhoneNumberUtil+ShortNumberTest.h b/libPhoneNumberTests/NBPhoneNumberUtil+ShortNumberTest.h new file mode 100644 index 0000000..da4fda9 --- /dev/null +++ b/libPhoneNumberTests/NBPhoneNumberUtil+ShortNumberTest.h @@ -0,0 +1,29 @@ +// +// NBPhoneNumberUtil+ShortNumberTest.h +// libPhoneNumber +// +// Created by Paween Itthipalkul on 12/1/17. +// Copyright © 2017 Google LLC. All rights reserved. +// + +#import +#import "NBPhoneNumberUtil.h" +#import "NBPhoneNumberUtil+ShortNumber.h" + +#if SHORT_NUMBER_SUPPORT + +NS_ASSUME_NONNULL_BEGIN + +/** + Includes methods used only for testing NBPhoneNumberUtil+ShortNumber. + */ +@interface NBPhoneNumberUtil(ShortNumberTest) + +- (NSString *)exampleShortNumberForCost:(NBEShortNumberCost)cost regionCode:(NSString *)regionCode; +- (NSString *)exampleShortNumberWithRegionCode:(NSString *)regionCode; + +@end + +NS_ASSUME_NONNULL_END + +#endif // SHORT_NUMBER_SUPPORT diff --git a/libPhoneNumberTests/NBPhoneNumberUtil+ShortNumberTest.m b/libPhoneNumberTests/NBPhoneNumberUtil+ShortNumberTest.m new file mode 100644 index 0000000..530ea40 --- /dev/null +++ b/libPhoneNumberTests/NBPhoneNumberUtil+ShortNumberTest.m @@ -0,0 +1,53 @@ +// +// NBPhoneNumberUtil+ShortNumberTest.m +// libPhoneNumber +// +// Created by Paween Itthipalkul on 12/1/17. +// Copyright © 2017 Google LLC. All rights reserved. +// + +#import "NBPhoneNumberUtil+ShortNumberTest.h" + +#import "NBMetadataHelper.h" +#import "NBPhoneMetadata.h" +#import "NBPhoneNumberDesc.h" +#import "NBPhoneNumberUtil+Category.h" + +#if SHORT_NUMBER_SUPPORT + +@implementation NBPhoneNumberUtil(ShortNumberTest) + +- (NSString *)exampleShortNumberForCost:(NBEShortNumberCost)cost regionCode:(NSString *)regionCode { + NBPhoneMetaData *metadata = [self.helper shortNumberMetadataForRegion:regionCode]; + if (metadata == nil) { + return @""; + } + + NBPhoneNumberDesc *desc = nil; + switch (cost) { + case NBEShortNumberCostTollFree: + desc = metadata.tollFree; + break; + case NBEShortNumberCostPremiumRate: + desc = metadata.premiumRate; + break; + case NBEShortNumberCostStandardRate: + desc = metadata.standardRate; + break; + case NBEShortNumberCostUnknown: + // UNKNOWN_COST numbers are computed by the process of elimination from the other cost + // categories. + break; + } + + return desc.exampleNumber ?: @""; +} + +- (NSString *)exampleShortNumberWithRegionCode:(NSString *)regionCode { + NBPhoneMetaData *metadata = [self.helper shortNumberMetadataForRegion:regionCode]; + return metadata.shortCode.exampleNumber ?: @""; +} + +@end + +#endif // SHORT_NUMBER_SUPPORT