Added splitNewLine parameter

This commit is contained in:
Erik C. Thauvin 2022-09-21 23:34:43 -07:00
parent 473d3dc5f0
commit 733c76f447
2 changed files with 15 additions and 2 deletions

View file

@ -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<Flag>()
val jsonFlags = json.getJSONObject("flags")

View file

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