Standard-Akzentfarbe auf Mint
Statt Ember-Rot ist Mint (#3DD68C) die Voreinstellung. Teal und Lime bleiben als Alternativen in der Palette. Gesucht wird sie über die Kennung, nicht über den Index: sonst würde ein Umsortieren der Palette die Standardfarbe still mitändern — und zwar nur für Neuinstallationen, was beim Suchen besonders unangenehm ist. Drei Tests halten das fest. Wer bereits eine Farbe gewählt hat, behält sie. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+1341
-1288
File diff suppressed because it is too large
Load Diff
@@ -40,7 +40,12 @@ extension AccentOption {
|
|||||||
AccentOption(id: "rose", name: "Rose", color: RGB(hex: 0xF76190)),
|
AccentOption(id: "rose", name: "Rose", color: RGB(hex: 0xF76190)),
|
||||||
]
|
]
|
||||||
|
|
||||||
public static let `default` = palette[0]
|
/// Die Voreinstellung.
|
||||||
|
///
|
||||||
|
/// Über die Kennung gesucht, nicht über den Index: sonst würde ein
|
||||||
|
/// Umsortieren der Palette unbemerkt die Standardfarbe ändern — und zwar
|
||||||
|
/// nur für Neuinstallationen, was beim Suchen besonders unangenehm ist.
|
||||||
|
public static let `default` = palette.first { $0.id == "mint" } ?? palette[0]
|
||||||
|
|
||||||
/// Die Kennung, unter der eine frei gewählte Farbe abgelegt wird.
|
/// Die Kennung, unter der eine frei gewählte Farbe abgelegt wird.
|
||||||
public static let customIdentifier = "custom"
|
public static let customIdentifier = "custom"
|
||||||
|
|||||||
@@ -125,3 +125,25 @@ struct RGBTests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suite("Standard-Akzentfarbe")
|
||||||
|
struct DefaultAccentTests {
|
||||||
|
@Test("Die Voreinstellung ist Mint")
|
||||||
|
func defaultIsMint() {
|
||||||
|
// Festgehalten, damit ein Umsortieren der Palette sie nicht still
|
||||||
|
// verändert. Wer sie bewusst wechselt, ändert auch diesen Test.
|
||||||
|
#expect(AccentOption.default.id == "mint")
|
||||||
|
#expect(AccentOption.default.color == RGB(hex: 0x3DD68C))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test("Die Voreinstellung steht in der Palette")
|
||||||
|
func defaultIsPartOfThePalette() {
|
||||||
|
#expect(AccentOption.palette.contains(AccentOption.default))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test("Die Voreinstellung braucht keine Kontrastkorrektur")
|
||||||
|
func defaultNeedsNoCorrection() {
|
||||||
|
let corrected = Contrast.legible(AccentOption.default.color, on: FlixyColor.canvas)
|
||||||
|
#expect(corrected == AccentOption.default.color)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user