Select Git revision
AvatarHelperTest.kt
-
Janne Mareike Koschinski authoredJanne Mareike Koschinski authored
AvatarHelperTest.kt 4.00 KiB
/*
* Quasseldroid - Quassel client for Android
*
* Copyright (c) 2018 Janne Koschinski
* Copyright (c) 2018 The Quassel Project
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3 as published
* by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.quasseldroid.util
import de.kuschku.libquassel.protocol.Message_Flag
import de.kuschku.libquassel.protocol.Message_Type
import de.kuschku.quasseldroid.persistence.QuasselDatabase
import de.kuschku.quasseldroid.settings.MessageSettings
import de.kuschku.quasseldroid.util.avatars.AvatarHelper
import de.kuschku.quasseldroid.viewmodel.data.Avatar
import org.junit.Test
import org.threeten.bp.Instant
class AvatarHelperTest {
@Test
fun testGravatarAvatars() {
val message = QuasselDatabase.MessageData(
messageId = 1,
time = Instant.now(),
type = Message_Type.of(Message_Type.Plain),
flag = Message_Flag.of(),
bufferId = 0,
networkId = 0,
sender = "justJanne",
senderPrefixes = "",
realName = "Janne Koschinski <janne@kuschku.de>",
avatarUrl = "",
content = "Lorem Ipsum I Dolor Sit Amet",
ignored = false
)
assert(
AvatarHelper.avatar(
MessageSettings(
showGravatarAvatars = true,
showIRCCloudAvatars = true
),
message
).contains(
Avatar.GravatarAvatar("https://www.gravatar.com/avatar/81128f11cae692bc486e3f88b854ddf1?d=404")
)
)
assert(
AvatarHelper.avatar(
MessageSettings(
showGravatarAvatars = false,
showIRCCloudAvatars = false
),
message
).isEmpty()
)
}
@Test
fun testIrcCloudAvatars() {
val message = QuasselDatabase.MessageData(
messageId = 1,
time = Instant.now(),
type = Message_Type.of(Message_Type.Plain),
flag = Message_Flag.of(),
bufferId = 0,
networkId = 0,
sender = "jwheare!sid2@irccloud.com",
senderPrefixes = "",
realName = "James Wheare",
avatarUrl = "",
content = "Lorem Ipsum I Dolor Sit Amet",
ignored = false
)
assert(
AvatarHelper.avatar(
MessageSettings(
showGravatarAvatars = true,
showIRCCloudAvatars = true
),
message
).contains(
Avatar.IRCCloudAvatar("https://static.irccloud-cdn.com/avatar-redirect/2")
)
)
assert(
AvatarHelper.avatar(
MessageSettings(
showGravatarAvatars = false,
showIRCCloudAvatars = false
),
message
).isEmpty()
)
}
@Test
fun testActualAvatars() {
val message = QuasselDatabase.MessageData(
messageId = 1,
time = Instant.now(),
type = Message_Type.of(Message_Type.Plain),
flag = Message_Flag.of(),
bufferId = 0,
networkId = 0,
sender = "jwheare!sid2@irccloud.com",
senderPrefixes = "",
realName = "James Wheare",
avatarUrl = "https://quasseldroid.info/favicon.png",
content = "Lorem Ipsum I Dolor Sit Amet",
ignored = false
)
assert(
AvatarHelper.avatar(
MessageSettings(
showGravatarAvatars = true,
showIRCCloudAvatars = true
),
message
).contains(
Avatar.NativeAvatar("https://quasseldroid.info/favicon.png")
)
)
assert(
AvatarHelper.avatar(
MessageSettings(
showGravatarAvatars = false,
showIRCCloudAvatars = false
),
message
) == listOf(Avatar.NativeAvatar("https://quasseldroid.info/favicon.png"))
)
}
}