XcodeGen-managed project (project.yml), SwiftUI single-window app 1280x800 / min 1100x700, dark theme tokens from docs/21, 270pt sidebar with logo/preset select/Calibrate/stepper 1-5, notice banner, five stage placeholders, ICCeryCore SPM package with AppPaths + WizardStage, Swift Testing plumbing. Sandbox off, hardened runtime on, bundle id com.gronod.iccery2. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
28 lines
837 B
Swift
28 lines
837 B
Swift
import Testing
|
|
import Foundation
|
|
@testable import ICCeryCore
|
|
|
|
@Suite("AppPaths")
|
|
struct AppPathsTests {
|
|
@Test func appDataDirUsesBundleID() {
|
|
#expect(AppPaths.appDataDir.path.contains("Library/Application Support/com.gronod.iccery2"))
|
|
}
|
|
|
|
@Test func logFileIsUnderLibraryLogs() {
|
|
#expect(AppPaths.logFile.lastPathComponent == "iccery.log")
|
|
#expect(AppPaths.logFile.path.contains("Library/Logs/com.gronod.iccery2"))
|
|
}
|
|
|
|
@Test func bundledArgyllDirIsInsideResources() {
|
|
#expect(AppPaths.bundledArgyllDir.lastPathComponent == "Argyll")
|
|
}
|
|
}
|
|
|
|
@Suite("WizardStage")
|
|
struct WizardStageTests {
|
|
@Test func stepperOrderIsOneThroughFive() {
|
|
#expect(WizardStage.stepperStages.map(\.stepperIndex) == [1, 2, 3, 4, 5])
|
|
#expect(WizardStage.calibrate.stepperIndex == nil)
|
|
}
|
|
}
|