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) } }