mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-26 20:55:10 +00:00
Update jumbomoji processing and downloading.
This commit is contained in:
@@ -51,6 +51,30 @@ private const val SAMPLE_JSON_WITH_OBSOLETE = """
|
||||
}
|
||||
"""
|
||||
|
||||
private const val SAMPLE_JSON_WITH_JUMBOS = """
|
||||
{
|
||||
"emoji": {
|
||||
"Places_1": [["0002"], ["0003", "0004", "0005"]],
|
||||
"Places_2": [["0003"], ["0008", "0009", "0000"]],
|
||||
"Foods": [["0001"], ["0002", "0003", "0004"]]
|
||||
},
|
||||
"jumbomoji": {
|
||||
"People_0": ["d83dde00","d83dde03","d83dde04", "d83dde01"],
|
||||
"People_1": ["ad83dde00","ad83dde03","ad83dde04", "ad83dde01"]
|
||||
},
|
||||
"obsolete": [
|
||||
{"obsoleted": "0012", "replace_with": "0023"}
|
||||
],
|
||||
"metrics": {
|
||||
"raw_height": 64,
|
||||
"raw_width": 64,
|
||||
"per_row": 16
|
||||
},
|
||||
"densities": [ "xhdpi" ],
|
||||
"format": "png"
|
||||
}
|
||||
"""
|
||||
|
||||
private val SAMPLE_JSON_WITHOUT_OBSOLETE_EXPECTED = listOf(
|
||||
StaticEmojiPageModel(EmojiCategory.FOODS, listOf(Emoji("\u0001"), Emoji("\u0002", "\u0003", "\u0004")), Uri.parse("file:///Foods")),
|
||||
StaticEmojiPageModel(EmojiCategory.PLACES, listOf(Emoji("\ud83c\udf0d"), Emoji("\u0003", "\u0004", "\u0005")), Uri.parse("file:///Places"))
|
||||
@@ -128,6 +152,23 @@ class EmojiJsonParserTest {
|
||||
Assert.assertEquals(result.format, "png")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Given sample with jumbo, when I parse, then I expect source with jumbo map`() {
|
||||
val result: ParsedEmojiData = EmojiJsonParser.parse(SAMPLE_JSON_WITH_JUMBOS.byteInputStream(), this::uriFactory).getOrThrow()
|
||||
|
||||
val jumboPages = result.jumboPages
|
||||
|
||||
Assert.assertEquals("People_0", jumboPages["d83dde00"])
|
||||
Assert.assertEquals("People_0", jumboPages["d83dde03"])
|
||||
Assert.assertEquals("People_0", jumboPages["d83dde04"])
|
||||
Assert.assertEquals("People_0", jumboPages["d83dde01"])
|
||||
|
||||
Assert.assertEquals("People_1", jumboPages["ad83dde00"])
|
||||
Assert.assertEquals("People_1", jumboPages["ad83dde03"])
|
||||
Assert.assertEquals("People_1", jumboPages["ad83dde04"])
|
||||
Assert.assertEquals("People_1", jumboPages["ad83dde01"])
|
||||
}
|
||||
|
||||
private fun uriFactory(sprite: String, format: String) = Uri.parse("file:///$sprite")
|
||||
|
||||
private fun EmojiPageModel.isSameAs(other: EmojiPageModel) =
|
||||
|
||||
@@ -10,7 +10,7 @@ class EmojiSourceTest {
|
||||
|
||||
@Test
|
||||
fun `Given a bunch of data pages with max value 100100, when I get the maxEmojiLength, then I expect 6`() {
|
||||
val emojiDataFake = ParsedEmojiData(EmojiMetrics(-1, -1, -1), listOf(), "png", listOf(), dataPages = generatePages(), listOf())
|
||||
val emojiDataFake = ParsedEmojiData(EmojiMetrics(-1, -1, -1), listOf(), "png", listOf(), dataPages = generatePages(), emptyMap(), listOf())
|
||||
val testSubject = EmojiSource(0f, emojiDataFake) { uri -> EmojiPage.Disk(uri) }
|
||||
|
||||
Assert.assertEquals(6, testSubject.maxEmojiLength)
|
||||
|
||||
Reference in New Issue
Block a user