From 44f261206de4560c2eb326cec25fd8f57e9e37a2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Sun, 18 Oct 2026 09:36:54 +0200 Subject: [PATCH] =?utf8?q?=F0=9F=A7=91=E2=80=8D=F0=9F=92=BB=20Do=20not=20e?= =?utf8?q?xpose=20rejected=20elements=20as=20failed?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This should slightly improve the “Elements” debug page. --- .../kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt | 2 +- .../net/pterodactylus/sone/core/DefaultElementLoaderTest.kt | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt b/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt index a8f1bea..e87628a 100644 --- a/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt +++ b/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt @@ -118,7 +118,7 @@ class DefaultElementLoader(private val freenetInterface: FreenetInterface, ticke field = mutableMapOf() val failedElements: Set - get() = failureCache.asMap().keys + get() = failureCache.asMap().keys - rejectedElements.keys enum class RejectionReason { diff --git a/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt b/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt index fd70e03..ad53ad0 100644 --- a/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt @@ -301,6 +301,15 @@ class DefaultElementLoaderTest { } } + @Test + fun `element loader does not expose an element as failed if it was rejected`() { + runWithCallback("KSK@test") { elementLoader, _, callback, _ -> + callback.shouldCancel(FreenetURI("KSK@test"), "application/x-test-data", 1234) + callback.failed(FreenetURI("KSK@test")) + assertThat(elementLoader.failedElements, not(hasItem("KSK@test"))) + } + } + private fun read(resource: String): ByteArray = javaClass.getResourceAsStream(resource)?.use { input -> ByteArrayOutputStream().use { -- 2.7.4