Browse Source

android: cover decimal channel IDs from SM in avatar regression tests

master
evgeny 6 days ago
parent
commit
27fb1426d9
  1. 13
      tools/chatgui-android/app/src/test/java/com/utun/chat/data/AvatarProtocolTest.kt

13
tools/chatgui-android/app/src/test/java/com/utun/chat/data/AvatarProtocolTest.kt

@ -28,6 +28,19 @@ class AvatarProtocolTest {
.forEach { assertFalse(it, AvatarProtocol.validFile(it)) }
assertEquals(0L, AvatarProtocol.node("invalid"))
}
@Test fun channelsUseDecimalIdsAndAvatarServersUseHex() {
// Реальные channel_id с SM: прежний hex-парсер превращал 19 цифр в 0.
listOf(7215665410053680736L, 7206723622466219923L, 1003157353743339669L, 123L).forEach { id ->
assertEquals(id, AvatarProtocol.groupId(id.toString()))
val event = group().also { ByteBuffer.wrap(it).order(ByteOrder.LITTLE_ENDIAN).putLong(8, id) }
assertEquals(AvatarProtocol.groupId(id.toString()), AvatarProtocol.group(event).group)
}
assertEquals(1751929779338959921L, AvatarProtocol.node("18501ada28ed5c31"))
assertEquals(-1L, AvatarProtocol.groupId("18446744073709551615"))
listOf("18446744073709551616", "-1", "18501ada28ed5c31", "invalid", "").forEach {
assertEquals(it, 0L, AvatarProtocol.groupId(it))
}
}
@Test fun groupLimitAndSignedDeletion() {
val record = AvatarProtocol.group(group(16384))
assertEquals(71L, record.id); assertEquals(uid, record.group); assertEquals(123L, record.version)

Loading…
Cancel
Save