From 733c76f447ec99695e07cfc1086f9ea0d182b0ca Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 21 Sep 2022 23:34:43 -0700 Subject: [PATCH] Added splitNewLine parameter --- src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt | 9 +++++++-- src/test/kotlin/net/thauvin/erik/jokeapi/JokeApiTest.kt | 8 ++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt index b4804fc..3dd7305 100644 --- a/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt +++ b/src/main/kotlin/net/thauvin/erik/jokeapi/JokeApi.kt @@ -206,7 +206,8 @@ class JokeApi { type: Type = Type.ALL, search: String = "", idRange: IdRange = IdRange(), - safe: Boolean = false + safe: Boolean = false, + splitNewLine: Boolean = true ): Joke { val json = JSONObject(apiCall(categories, language, flags, type, search = search, idRange = idRange, safe = safe)) @@ -229,7 +230,11 @@ class JokeApi { jokes.add(json.getString("setup")) jokes.add(json.getString(("delivery"))) } else { - jokes.addAll(json.getString("joke").split("\n")) + if (splitNewLine) { + jokes.addAll(json.getString("joke").split("\n")) + } else { + jokes.add(json.getString("joke")) + } } val enabledFlags = mutableSetOf() val jsonFlags = json.getJSONObject("flags") diff --git a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeApiTest.kt b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeApiTest.kt index e94b225..71dcb64 100644 --- a/src/test/kotlin/net/thauvin/erik/jokeapi/JokeApiTest.kt +++ b/src/test/kotlin/net/thauvin/erik/jokeapi/JokeApiTest.kt @@ -127,6 +127,14 @@ internal class JokeApiTest { } } + @Test + fun `Get Joke with Newline`() { + val joke = + getJoke(categories = setOf(Category.DARK), type = Type.SINGLE, idRange = IdRange(178), splitNewLine = false) + logger.log(Level.FINE, joke.toString()) + assertEquals(1, joke.joke.size) { "should be a oneliner" } + } + @Test fun `Get Safe Joke`() { val joke = getJoke(safe = true)