Slice 2 (Phase 1a) of the M9 Monterey retarget. Converts all pure Core suites (argv builders, CGATS/CUPS/profcheck/gamut-mesh parsers, colour math, file/artefact helpers, classifiers) to XCTestCase, and adds the shared assertAsyncThrows helper for the async-throws sites that Slice 3 will convert. Deferred to Slice 3 (kept on Swift Testing in mixed files): ProcessManagerTests, ArgyllRunner*Tests, ProcessRunSupportTests, store/UI suites, and the runner suites embedded in TargenTests / PrinttargTests / ProcessManagerTests. Also qualifies six bare `throw .case` expressions in CGATSParser with CGATSParseError — they only compiled under typed throws, which Slice 1 demoted to untyped `throws`; without this the ICCeryCore target fails to build and no test gate can run. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
26 lines
846 B
Swift
26 lines
846 B
Swift
import XCTest
|
|
import Foundation
|
|
@testable import ICCeryCore
|
|
|
|
final class AppPathsTests: XCTestCase {
|
|
func testAppDataDirUsesBundleID() {
|
|
XCTAssertTrue(AppPaths.appDataDir.path.contains("Library/Application Support/com.gronod.iccery2"))
|
|
}
|
|
|
|
func testLogFileIsUnderLibraryLogs() {
|
|
XCTAssertEqual(AppPaths.logFile.lastPathComponent, "iccery.log")
|
|
XCTAssertTrue(AppPaths.logFile.path.contains("Library/Logs/com.gronod.iccery2"))
|
|
}
|
|
|
|
func testBundledArgyllDirIsInsideResources() {
|
|
XCTAssertEqual(AppPaths.bundledArgyllDir.lastPathComponent, "Argyll")
|
|
}
|
|
}
|
|
|
|
final class WizardStageTests: XCTestCase {
|
|
func testStepperOrderIsOneThroughFive() {
|
|
XCTAssertEqual(WizardStage.stepperStages.map(\.stepperIndex), [1, 2, 3, 4, 5])
|
|
XCTAssertNil(WizardStage.calibrate.stepperIndex)
|
|
}
|
|
}
|