mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-11 22:55:59 +05:45
* Add AppDistribution to SwiftPM. Tests aren't ported yet due to an import OCMock issue. * Embed public headers in correct directory * Fix podspec * Fixed new header imports. * Add beta designation to SwiftPM name. * Enable testing for AppDistro in SwiftPM * Style * Style * Added changelog * Add unit test scheme.
63 lines
2.3 KiB
Objective-C
63 lines
2.3 KiB
Objective-C
// Copyright 2020 Google LLC
|
|
//
|
|
// 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 <Foundation/Foundation.h>
|
|
#import <XCTest/XCTest.h>
|
|
|
|
#import "FirebaseAppDistribution/Sources/FIRAppDistributionMachO.h"
|
|
#import "FirebaseCore/Sources/Private/FirebaseCoreInternal.h"
|
|
|
|
@interface FIRAppDistributionMachOTests : XCTestCase
|
|
@end
|
|
|
|
@implementation FIRAppDistributionMachOTests
|
|
|
|
- (NSString*)resourcePath:(NSString*)path {
|
|
NSBundle* bundle = [NSBundle bundleForClass:[self class]];
|
|
|
|
// Swift Package Manager uses a different bundle structure for resources, so explicitly get the
|
|
// nested bundle. In Swift we could have used `Bundle.module` to access it, but that isn't
|
|
// surfaced in ObjC.
|
|
#if SWIFT_PACKAGE
|
|
NSString* nestedBundlePath = [bundle pathForResource:@"Firebase_AppDistributionUnit"
|
|
ofType:@"bundle"];
|
|
bundle = [NSBundle bundleWithPath:nestedBundlePath];
|
|
#endif // SWIFT_PACKAGE
|
|
|
|
NSString* resourcePath = [bundle resourcePath];
|
|
|
|
return [resourcePath stringByAppendingPathComponent:path];
|
|
}
|
|
|
|
- (void)testCodeHashForSingleArchIntelSimulator {
|
|
FIRAppDistributionMachO* macho;
|
|
macho = [[FIRAppDistributionMachO alloc] initWithPath:[self resourcePath:@"x86_64-executable"]];
|
|
XCTAssertEqualObjects([macho codeHash], @"442eb836efe1f56bf8a65b2a0a78b2f8d3e792e7");
|
|
}
|
|
|
|
- (void)testCodeHashForMultipleArch {
|
|
FIRAppDistributionMachO* macho;
|
|
macho =
|
|
[[FIRAppDistributionMachO alloc] initWithPath:[self resourcePath:@"armv7-armv7s-executable"]];
|
|
XCTAssertEqualObjects([macho codeHash], @"80cc0ec0af8a0169831abcc73177eb2b57990bc0");
|
|
}
|
|
|
|
- (void)testCodeHashForNonExistentBinary {
|
|
FIRAppDistributionMachO* macho;
|
|
macho = [[FIRAppDistributionMachO alloc] initWithPath:[self resourcePath:@"missing-file"]];
|
|
XCTAssertEqualObjects([macho codeHash], @"da39a3ee5e6b4b0d3255bfef95601890afd80709");
|
|
}
|
|
|
|
@end
|