2021-04-12 17:23:18 +00:00
|
|
|
package dev.inmo.tgbotapi.types
|
|
|
|
|
|
|
|
import dev.inmo.tgbotapi.TestsJsonFormat
|
2022-05-01 14:36:07 +00:00
|
|
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourceSerializer
|
2022-09-19 05:18:01 +00:00
|
|
|
import dev.inmo.tgbotapi.utils.*
|
2021-06-28 18:01:40 +00:00
|
|
|
import dev.inmo.tgbotapi.utils.extensions.makeString
|
2021-04-12 17:23:18 +00:00
|
|
|
import kotlinx.serialization.builtins.ListSerializer
|
|
|
|
import kotlin.test.Test
|
|
|
|
import kotlin.test.assertEquals
|
|
|
|
|
|
|
|
class TextSourcesTests {
|
|
|
|
@Test
|
|
|
|
fun testThatTextSourcesSerializedCorrectly() {
|
2021-10-21 20:47:17 +00:00
|
|
|
val testList = buildEntities(" ") {
|
|
|
|
bold {
|
|
|
|
italic("It")
|
|
|
|
link("is example", "https://is.example")
|
|
|
|
}
|
2021-12-31 07:48:51 +00:00
|
|
|
spoiler {
|
|
|
|
regular("and")
|
|
|
|
italic("that")
|
|
|
|
link("is spoiler", "https://is.example")
|
|
|
|
}
|
2021-10-21 20:47:17 +00:00
|
|
|
underline("of")
|
|
|
|
italic(
|
2021-04-12 17:23:18 +00:00
|
|
|
buildEntities {
|
2021-10-21 20:47:17 +00:00
|
|
|
strikethrough("comp")
|
|
|
|
underline("lex")
|
2021-04-12 17:23:18 +00:00
|
|
|
}
|
|
|
|
)
|
|
|
|
pre("text", "kotlin")
|
|
|
|
}
|
2021-05-29 09:46:13 +00:00
|
|
|
val serialized = TestsJsonFormat.encodeToString(ListSerializer(TextSourceSerializer), testList)
|
2021-04-12 17:23:18 +00:00
|
|
|
val deserialized = TestsJsonFormat.decodeFromString(
|
2021-05-29 09:46:13 +00:00
|
|
|
ListSerializer(TextSourceSerializer),
|
2021-04-12 17:23:18 +00:00
|
|
|
serialized
|
|
|
|
)
|
|
|
|
assertEquals(testList, deserialized)
|
|
|
|
assertEquals(testList.makeString(), deserialized.makeString())
|
2021-12-31 07:48:51 +00:00
|
|
|
assertEquals("It is example and that is spoiler of complex text", testList.makeString())
|
2021-04-12 17:23:18 +00:00
|
|
|
}
|
2021-05-29 08:23:25 +00:00
|
|
|
}
|