ManaWebShell: Retry-Button in der Fehler-Leiste
Ein WebView-Lade-Fehler war bisher eine Sackgasse — Meldung sichtbar, aber kein Weg zum Neuladen. Jetzt: "Erneut laden"-Button erhöht einen internen reloadNudge, der in effectiveTarget.reloadToken einfließt → updateUIView/updateNSView lädt die URL neu. WebTargetTests sichern die Token-Ungleichheit ab (4/4 grün via swift test). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
ad9dc1abba
commit
3aa90762cc
3 changed files with 64 additions and 2 deletions
38
Tests/ManaWebShellTests/WebTargetTests.swift
Normal file
38
Tests/ManaWebShellTests/WebTargetTests.swift
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
import Foundation
|
||||
import Testing
|
||||
@testable import ManaWebShell
|
||||
|
||||
/// `WebShellView.updateUIView`/`updateNSView` lädt nur neu, wenn
|
||||
/// `lastTarget != target`. Der „Erneut laden"-Button erhöht den
|
||||
/// `reloadToken` — diese Tests sichern, dass das tatsächlich
|
||||
/// Ungleichheit erzeugt (sonst bliebe der Retry wirkungslos).
|
||||
@Suite("WebTarget — Reload-Token-Gleichheit")
|
||||
struct WebTargetTests {
|
||||
private let url = URL(string: "https://seepuls.com/heute")!
|
||||
|
||||
@Test("Gleiche URL + gleicher Token → gleich")
|
||||
func equalWhenSameTokenAndURL() {
|
||||
let a = WebTarget(url: url, reloadToken: 3)
|
||||
let b = WebTarget(url: url, reloadToken: 3)
|
||||
#expect(a == b)
|
||||
}
|
||||
|
||||
@Test("Erhöhter Token → ungleich (treibt den Reload)")
|
||||
func differsWhenTokenIncremented() {
|
||||
let before = WebTarget(url: url, reloadToken: 1)
|
||||
let after = WebTarget(url: url, reloadToken: before.reloadToken + 1)
|
||||
#expect(before != after)
|
||||
}
|
||||
|
||||
@Test("Andere URL → ungleich")
|
||||
func differsWhenURLDiffers() {
|
||||
let a = WebTarget(url: url, reloadToken: 0)
|
||||
let b = WebTarget(url: URL(string: "https://seepuls.com/alle")!, reloadToken: 0)
|
||||
#expect(a != b)
|
||||
}
|
||||
|
||||
@Test("Default-Token ist 0")
|
||||
func defaultTokenIsZero() {
|
||||
#expect(WebTarget(url: url).reloadToken == 0)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue