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>
38 lines
1.3 KiB
Swift
38 lines
1.3 KiB
Swift
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)
|
|
}
|
|
}
|