mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-06-03 00:15:27 +00:00
40 lines
1.4 KiB
Kotlin
40 lines
1.4 KiB
Kotlin
|
package dev.inmo.tgbotapi.types
|
||
|
|
||
|
import dev.inmo.tgbotapi.CommonAbstracts.TextSource
|
||
|
import dev.inmo.tgbotapi.CommonAbstracts.makeString
|
||
|
import dev.inmo.tgbotapi.TestsJsonFormat
|
||
|
import dev.inmo.tgbotapi.extensions.utils.formatting.*
|
||
|
import dev.inmo.tgbotapi.types.MessageEntity.textsources.TextSourceSerializer
|
||
|
import kotlinx.serialization.PolymorphicSerializer
|
||
|
import kotlinx.serialization.builtins.ListSerializer
|
||
|
import kotlinx.serialization.encodeToString
|
||
|
import kotlin.test.Test
|
||
|
import kotlin.test.assertEquals
|
||
|
|
||
|
class TextSourcesTests {
|
||
|
@Test
|
||
|
fun testThatTextSourcesSerializedCorrectly() {
|
||
|
val testList = buildEntities {
|
||
|
bold(
|
||
|
buildEntities {
|
||
|
italic("It")
|
||
|
regular(" ")
|
||
|
link("is example", "https://is.example")
|
||
|
}
|
||
|
)
|
||
|
regular(" ")
|
||
|
underline("of")
|
||
|
regular(" ")
|
||
|
strikethrough("complex")
|
||
|
regular(" ")
|
||
|
pre("text", "kotlin")
|
||
|
}
|
||
|
val serialized = TestsJsonFormat.encodeToString(ListSerializer(TextSource.serializer()), testList)
|
||
|
val deserialized = TestsJsonFormat.decodeFromString(
|
||
|
ListSerializer(TextSource.serializer()),
|
||
|
serialized
|
||
|
)
|
||
|
assertEquals(testList, deserialized)
|
||
|
assertEquals(testList.makeString(), deserialized.makeString())
|
||
|
}
|
||
|
}
|