libPhoneNumber-iOS/libPhoneNumberTests/NBPhoneNumberUtil+ShortNumberTest.m
Paween Itthipalkul 79bb46ba89 Add support for short number and emegerncy number in libPhoneNumber-iOS
This is a port of ShortNumberInfo class from Java version of libPhoneNumber into a category on NBPhoneNumberUtil class
2017-12-18 12:44:14 -08:00

54 lines
1.4 KiB
Objective-C

//
// 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