|
|
|
@ -28,6 +28,19 @@ class AvatarProtocolTest { |
|
|
|
.forEach { assertFalse(it, AvatarProtocol.validFile(it)) } |
|
|
|
.forEach { assertFalse(it, AvatarProtocol.validFile(it)) } |
|
|
|
assertEquals(0L, AvatarProtocol.node("invalid")) |
|
|
|
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() { |
|
|
|
@Test fun groupLimitAndSignedDeletion() { |
|
|
|
val record = AvatarProtocol.group(group(16384)) |
|
|
|
val record = AvatarProtocol.group(group(16384)) |
|
|
|
assertEquals(71L, record.id); assertEquals(uid, record.group); assertEquals(123L, record.version) |
|
|
|
assertEquals(71L, record.id); assertEquals(uid, record.group); assertEquals(123L, record.version) |
|
|
|
|