An unopenable repository fails loudly — the standing row, the paused surface, the honest heal
Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
This commit is contained in:
@@ -45,6 +45,19 @@ struct BoardSettingsSectionTests {
|
||||
#expect(BoardSettingsSection.resolve(tier: .pro, mode: .unverifiable) == [])
|
||||
}
|
||||
|
||||
@Test("Pro, git mode with an unreadable repository: nothing setup-shaped applies either")
|
||||
func anUnreadableRepositoryHoldsNothing() {
|
||||
// **The corrupt-`.git` loud failure** (06 ▸ Rules, ruled 2026-07-31): both sections here are
|
||||
// *writes* to a repository — a branch created in it, an identity written into its config —
|
||||
// and there is no repository the app can open to write either into. Repo-nested's emptiness,
|
||||
// reached one step further along.
|
||||
#expect(BoardSettingsSection.resolve(tier: .pro, mode: .git, isRepositoryUnreadable: true) == [])
|
||||
|
||||
// …and the mode is still `git` throughout: this is emptiness *within* git mode, never the
|
||||
// fall to mode none that would let add-git be offered against an existing `.git`.
|
||||
#expect(BoardSettingsSection.resolve(tier: .pro, mode: .git) == [.branch, .commitIdentity])
|
||||
}
|
||||
|
||||
@Test("The sections carry the headers VoiceOver navigates by")
|
||||
func headersAreNamed() {
|
||||
// 10-accessibility.md ▸ Board settings sheet: "titled and sectioned with headers VoiceOver
|
||||
@@ -77,6 +90,11 @@ struct BoardSettingsAvailabilityTests {
|
||||
// denied ancestor check is never distinguishable from a repository actually being there.
|
||||
#expect(!BoardSettingsAvailability.resolve(tier: .pro, mode: .unverifiable))
|
||||
|
||||
// **Pro, git mode over a repository that will not open**: no door either, so neither the
|
||||
// popover's Board Settings… row nor the menu command offers a surface with nothing on it
|
||||
// (06 ▸ Rules, the corrupt-`.git` loud failure).
|
||||
#expect(!BoardSettingsAvailability.resolve(tier: .pro, mode: .git, isRepositoryUnreadable: true))
|
||||
|
||||
// **The free tier**: no setup exists there at all (12-editions.md ▸ The free tier and
|
||||
// `.git`), whatever mode a stray value claims — detection never runs off Pro, so the mode is
|
||||
// swept for completeness rather than because it can vary.
|
||||
|
||||
Reference in New Issue
Block a user