Files
Marcin Krzyzanowski 93a3bd49df Prefer FoundationEssentials when available; fall back to Foundation
- Replace direct Foundation imports with conditional imports across sources and
  tests to use FoundationEssentials when present.
- No functional changes; improves compatibility with the new Foundation stack
  (Swift 6, non-ObjC platforms) and environments where only
  FoundationEssentials is available.
2026-04-22 00:27:46 +02:00

44 lines
1.5 KiB
Swift

//
// CryptoSwift
//
// Copyright (C) 2014-2025 Marcin Krzyżanowski <marcin@krzyzanowskim.com>
// This software is provided 'as-is', without any express or implied warranty.
//
// In no event will the authors be held liable for any damages arising from the use of this software.
//
// Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
//
// - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required.
// - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
// - This notice may not be removed or altered from any source or binary distribution.
//
#if canImport(FoundationEssentials)
import FoundationEssentials
#else
import Foundation
#endif
import XCTest
@testable import CryptoSwift
final class ExtensionsTestPerf: XCTestCase {
func testArrayInitHexPerformance() {
var str = "b1b2b3b3b3b3b3b3b1b2b3b3b3b3b3b3"
for _ in 0...12 {
str += str
}
measure {
_ = Array<UInt8>(hex: str)
}
}
}
extension ExtensionsTestPerf {
static func allTests() -> [(String, (ExtensionsTestPerf) -> () -> Void)] {
let tests = [
("testArrayInitHexPerformance", testArrayInitHexPerformance)
]
return tests
}
}