mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-09 22:36:01 +05:45
* Create NanoPb code generation scripts (#8336) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update proto_generator.py * Update README.md * Create nanopb options file. (#8371) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update perf_metrics.options * Update options with map * Add generated proto files. * Update imports. * Convert Objective-C Classes to Nanopb (#8387) * Convert all traces to nanopb * Refactor for loop. * Add set has_application_info to true. * Incorporated comments. * Fix style * Create NanoPb code generation scripts (#8336) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update proto_generator.py * Update README.md * Create nanopb options file. (#8371) * Create NanoPb code generation scripts * Fix style and add README * Fix copyright * Update perf_metrics.options * Update options with map * Add generated proto files. * Update imports. * Convert Objective-C Classes to Nanopb (#8387) * Convert all traces to nanopb * Refactor for loop. * Add set has_application_info to true. * Incorporated comments. * Fix style * Fix style * Convert nanopb struct to GDTCOREventDataObject and update the source code to use nanopb struct. (#8439) * Convert all traces to nanopb * Refactor for loop. * WIP: nanopb conversion in FPRClient and FPREvent * Update FPRClientTest.m * Update FPRClient.m * Update FPRClientTest.m * Add set has_application_info to true. * Remove proto imports. * Set has_fields to be true in FPRTestUtils.m * Completed GDTEvent conversion. * Fix sampler tests. * Fix style * Refactor nanopb struct setter * Fix style * Fix pod-lib-lint failures. * Update FPRClient with decoded string * Set some "_has" fields to true. * Add prefix to extern methods. * Fix style. * Update FPRClient to use trace.name without FPRDecodeString * Fix style * Incorporate comments. * Integrate Performance with SPM (#8476) * Convert all traces to nanopb * Refactor for loop. * WIP: nanopb conversion in FPRClient and FPREvent * Update FPRClientTest.m * Update FPRClient.m * Update FPRClientTest.m * Add set has_application_info to true. * Remove proto imports. * Set has_fields to be true in FPRTestUtils.m * Completed GDTEvent conversion. * Fix sampler tests. * Fix style * Refactor nanopb struct setter * Fix style * Fix pod-lib-lint failures. * Update FPRClient with decoded string * Set some "_has" fields to true. * Add prefix to extern methods. * Fix style. * Update FPRClient to use trace.name without FPRDecodeString * Fix style * Update Package.swift * Update Package.swift * Update Package.swift * Made SDK and unit tests buildable. * Made all unit tests passing. * Update keyWindow style. * Add Performance to workflow. * Update FPRUIViewControllerInstrument.h * Incorporate comments. * Add Performance to SwiftPMTests. * Update style. * Fix Unit tests and update workflow. * Add FirebasePerformance wrapper * Update import statement. * Update style. * Update performance.yml * Create PerformanceUnit.xcscheme * Update objc-module.m * Update objc-module.m * Updae objc-header.m * Update objc-header.m * Incorporate feedback. * Update objc-header.m * Organize folder structure to fix the spm tests. * Update public import path * Delete xcodebuild.log * Update workflow files * Fix failing swift-test for Perf SPM (#8507) * Fix UIKit import * Update FPRNetworkTraceTest.m * Exclude TARGET_OS_MACCATALYST from objc header test * Update main.swift * Update main.swift Co-authored-by: Paul Beusterien <paulbeusterien@google.com> * Remove Protobuf dependency (#8511) * Remove protobuf dependency * Update FirebasePerformance.podspec * Incorporate comments. * Update UIKit import Co-authored-by: Paul Beusterien <paulbeusterien@google.com>
125 lines
3.5 KiB
Swift
125 lines
3.5 KiB
Swift
// 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
|
|
import Firebase
|
|
import FirebaseCore
|
|
import FirebaseAuth
|
|
import FirebaseABTesting
|
|
import FirebaseAppCheck
|
|
#if os(iOS) && !targetEnvironment(macCatalyst)
|
|
import FirebaseAppDistribution
|
|
#endif
|
|
import FirebaseCrashlytics
|
|
import FirebaseDatabase
|
|
import FirebaseDynamicLinks
|
|
import FirebaseFirestore
|
|
import FirebaseFirestoreSwift
|
|
import FirebaseFunctions
|
|
#if (os(iOS) || os(tvOS)) && !targetEnvironment(macCatalyst)
|
|
import FirebaseInAppMessaging
|
|
@testable import FirebaseInAppMessagingSwift
|
|
import SwiftUI
|
|
#endif
|
|
import FirebaseInstallations
|
|
import FirebaseMessaging
|
|
#if (os(iOS) && !targetEnvironment(macCatalyst)) || os(tvOS)
|
|
import FirebasePerformance
|
|
#endif
|
|
import FirebaseRemoteConfig
|
|
import FirebaseStorage
|
|
import FirebaseStorageSwift
|
|
import GoogleDataTransport
|
|
import GoogleUtilities_AppDelegateSwizzler
|
|
import GoogleUtilities_Environment
|
|
import GoogleUtilities_Logger
|
|
import GoogleUtilities_Network
|
|
import GoogleUtilities_NSData
|
|
import GoogleUtilities_Reachability
|
|
import GoogleUtilities_UserDefaults
|
|
import nanopb
|
|
|
|
import XCTest
|
|
|
|
@available(iOSApplicationExtension, unavailable)
|
|
@available(tvOSApplicationExtension, unavailable)
|
|
class importTest: XCTestCase {
|
|
func testImports() throws {
|
|
XCTAssertFalse(GULAppEnvironmentUtil.isAppStoreReceiptSandbox())
|
|
XCTAssertFalse(GULAppEnvironmentUtil.isFromAppStore())
|
|
#if targetEnvironment(simulator)
|
|
XCTAssertTrue(GULAppEnvironmentUtil.isSimulator())
|
|
#else
|
|
XCTAssertFalse(GULAppEnvironmentUtil.isSimulator())
|
|
#endif
|
|
XCTAssertFalse(GULAppEnvironmentUtil.isAppExtension())
|
|
XCTAssertNil(FirebaseApp.app())
|
|
XCTAssertEqual(GULAppEnvironmentUtil.deviceModel(), "x86_64")
|
|
|
|
let versionParts = FirebaseVersion().split(separator: ".")
|
|
XCTAssert(versionParts.count == 3)
|
|
XCTAssertEqual(Int(versionParts[0]), 8)
|
|
XCTAssertNotNil(Int(versionParts[1]))
|
|
XCTAssertNotNil(Int(versionParts[2]))
|
|
|
|
print("System version? Answer: \(GULAppEnvironmentUtil.systemVersion())")
|
|
}
|
|
|
|
#if (os(iOS) || os(tvOS)) && !targetEnvironment(macCatalyst)
|
|
func testSwiftUI() {
|
|
if #available(iOS 13, tvOS 13, *) {
|
|
_ = ImageOnlyInAppMessageDisplayViewModifier { _, _ in
|
|
EmptyView()
|
|
}
|
|
|
|
_ = BannerInAppMessageDisplayViewModifier { _, _ in
|
|
EmptyView()
|
|
}
|
|
|
|
_ = CardInAppMessageDisplayViewModifier { _, _ in
|
|
EmptyView()
|
|
}
|
|
|
|
_ = ModalInAppMessageDisplayViewModifier { _, _ in
|
|
EmptyView()
|
|
}
|
|
|
|
XCTAssertNotNil(
|
|
EmptyView().imageOnlyInAppMessage { _, _ in
|
|
EmptyView()
|
|
}
|
|
)
|
|
|
|
XCTAssertNotNil(
|
|
EmptyView().bannerInAppMessage { _, _ in
|
|
EmptyView()
|
|
}
|
|
)
|
|
|
|
XCTAssertNotNil(
|
|
EmptyView().cardInAppMessage { _, _ in
|
|
EmptyView()
|
|
}
|
|
)
|
|
|
|
XCTAssertNotNil(
|
|
EmptyView().modalInAppMessage { _, _ in
|
|
EmptyView()
|
|
}
|
|
)
|
|
}
|
|
}
|
|
#endif
|
|
}
|