From: David ‘Bombe’ Roden Date: Sun, 18 Oct 2026 07:33:41 +0000 (+0200) Subject: ♻️ Hand in URIs as lambda so it changes when loadElement() is called again X-Git-Tag: v83^2~5^2~6 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=9aa4b2c8e2b17efc5cd6ce7cc3bb08a5f4de27e3;p=Sone.git ♻️ Hand in URIs as lambda so it changes when loadElement() is called again --- diff --git a/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt b/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt index bc2f177..92593ab 100644 --- a/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt @@ -41,7 +41,7 @@ class DefaultElementLoaderTest { @Test fun `image loader starts request for link that is not known`() { runWithCallback(IMAGE_ID) { _, _, _, fetchedUris -> - assertThat(fetchedUris, contains(freenetURI)) + assertThat(fetchedUris(), contains(freenetURI)) } } @@ -49,7 +49,7 @@ class DefaultElementLoaderTest { fun `element loader only starts request once`() { runWithCallback(IMAGE_ID) { elementLoader, _, _, fetchedUris -> elementLoader.loadElement(IMAGE_ID) - assertThat(fetchedUris, contains(freenetURI)) + assertThat(fetchedUris(), contains(freenetURI)) } } @@ -314,7 +314,7 @@ class DefaultElementLoaderTest { } -private fun runWithCallback(requestUri: String, ticker: Ticker = createTicker(), callbackAction: (elementLoader: DefaultElementLoader, linkedElement: LinkedElement, callback: BackgroundFetchCallback, fetchedUris: List) -> Unit) { +private fun runWithCallback(requestUri: String, ticker: Ticker = createTicker(), callbackAction: (elementLoader: DefaultElementLoader, linkedElement: LinkedElement, callback: BackgroundFetchCallback, fetchedUris: () -> List) -> Unit) { val fetchedUris = mutableListOf() val callback = AtomicReference() val freenetInterface = overrideStartFetch { uri, backgroundFetchCallback -> @@ -323,7 +323,7 @@ private fun runWithCallback(requestUri: String, ticker: Ticker = createTicker(), } val elementLoader = DefaultElementLoader(freenetInterface, ticker) val linkedElement = elementLoader.loadElement(requestUri) - callbackAction(elementLoader, linkedElement, callback.get(), fetchedUris) + callbackAction(elementLoader, linkedElement, callback.get(), { fetchedUris }) } private fun overrideStartFetch(action: (FreenetURI, BackgroundFetchCallback) -> Unit) = object : FreenetInterface(null, null, null, null, null, dummyHighLevelSimpleClientCreator) {