blob: fba6fe81a7f488e81e3e61642cf970d79031a7c5 [file] [log] [blame] [edit]
/*
* Copyright 2012 ZXing authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import "ZXSMSMMSParsedResultTestCase.h"
@implementation ZXSMSMMSParsedResultTestCase
- (void)testSMS {
[self doTestWithContents:@"sms:+15551212" number:@"+15551212" subject:nil body:nil via:nil];
[self doTestWithContents:@"sms:+15551212?subject=foo&body=bar" number:@"+15551212" subject:@"foo" body:@"bar" via:nil];
[self doTestWithContents:@"sms:+15551212;via=999333" number:@"+15551212" subject:nil body:nil via:@"999333"];
}
- (void)testMMS {
[self doTestWithContents:@"mms:+15551212" number:@"+15551212" subject:nil body:nil via:nil];
[self doTestWithContents:@"mms:+15551212?subject=foo&body=bar" number:@"+15551212" subject:@"foo" body:@"bar" via:nil];
[self doTestWithContents:@"mms:+15551212;via=999333" number:@"+15551212" subject:nil body:nil via:@"999333"];
}
- (void)doTestWithContents:(NSString *)contents
number:(NSString *)number
subject:(NSString *)subject
body:(NSString *)body
via:(NSString *)via {
[self doTestWithContents:contents
numbers:@[number ? number : [NSNull null]]
subject:subject
body:body
vias:@[via ? via : [NSNull null]]];
}
- (void)doTestWithContents:(NSString *)contents
numbers:(NSArray *)numbers
subject:(NSString *)subject
body:(NSString *)body
vias:(NSArray *)vias {
ZXResult *fakeResult = [ZXResult resultWithText:contents rawBytes:NULL length:0 resultPoints:nil format:kBarcodeFormatQRCode];
ZXParsedResult *result = [ZXResultParser parseResult:fakeResult];
STAssertEquals(result.type, kParsedResultTypeSMS, @"Types don't match");
ZXSMSParsedResult *smsResult = (ZXSMSParsedResult *)result;
STAssertEqualObjects(smsResult.numbers, numbers, @"Numbers don't match");
STAssertEqualObjects(smsResult.subject, subject, @"Subjects don't match");
STAssertEqualObjects(smsResult.body, body, @"Bodies don't match");
STAssertEqualObjects(smsResult.vias, vias, @"Vias don't match");
}
@end