mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-26 20:55:10 +00:00
Add text formatting send and receive support for conversations.
This commit is contained in:
committed by
Greyson Parrelli
parent
aa2075c78f
commit
cc490f4b73
@@ -0,0 +1,118 @@
|
||||
package org.thoughtcrime.securesms.database
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Test
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.BodyRangeList
|
||||
|
||||
class BodyRangeUtilTest {
|
||||
|
||||
@Test
|
||||
fun testMentionBeforeBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(5).setLength(5).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(0, 3, 1))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(3, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(5, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun textMentionAfterBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(5).setLength(5).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(10, 3, 1))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(5, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(5, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testMentionWithinBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(0).setLength(20).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(5, 10, 1))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(0, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(11, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testMentionWithinAndEndOfBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(0).setLength(5).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(1, 4, 1))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(0, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(2, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testDoubleMention() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(5).setLength(10).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(0, 3, 1), BodyAdjustment(17, 10, 1))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(3, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(10, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testResolvedMentionBeforeBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(10).setLength(20).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(0, 1, 10))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(19, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(20, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun textResolvedMentionAfterBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(5).setLength(5).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(10, 1, 10))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(5, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(5, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testResolvedMentionWithinBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(0).setLength(20).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(5, 1, 11))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(0, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(30, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testResolvedMentionWithinAndEndOfBodyRange() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(0).setLength(2).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(1, 1, 4))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(0, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(5, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testDoubleResolvedMention() {
|
||||
val bodyRangeList = BodyRangeList.newBuilder().addRanges(BodyRangeList.BodyRange.newBuilder().setStart(2).setLength(4).build()).build()
|
||||
val adjustments = listOf(BodyAdjustment(0, 1, 8), BodyAdjustment(7, 1, 11))
|
||||
|
||||
val updatedBodyRanges = bodyRangeList.adjustBodyRanges(adjustments)!!
|
||||
|
||||
assertEquals(9, updatedBodyRanges.getRanges(0).start)
|
||||
assertEquals(4, updatedBodyRanges.getRanges(0).length)
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ class MentionUtilTest {
|
||||
|
||||
val update: MentionUtil.UpdatedBodyAndMentions = MentionUtil.update("T test", mentions) { it.recipientId.toString() }
|
||||
|
||||
assertThat(update.body, Matchers.`is`("RecipientId::1 test"))
|
||||
assertThat(update.body.toString(), Matchers.`is`("RecipientId::1 test"))
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -32,7 +32,7 @@ class MentionUtilTest {
|
||||
|
||||
val update: MentionUtil.UpdatedBodyAndMentions = MentionUtil.update("ONETWO test", mentions) { it.recipientId.toString() }
|
||||
|
||||
assertThat(update.body, Matchers.`is`("RecipientId::1RecipientId::2 test"))
|
||||
assertThat(update.body.toString(), Matchers.`is`("RecipientId::1RecipientId::2 test"))
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -44,6 +44,6 @@ class MentionUtilTest {
|
||||
|
||||
val update: MentionUtil.UpdatedBodyAndMentions = MentionUtil.update("T test", mentions) { it.recipientId.toString() }
|
||||
|
||||
assertThat(update.body, Matchers.`is`("RecipientId::1est"))
|
||||
assertThat(update.body.toString(), Matchers.`is`("RecipientId::1est"))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user