Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • wip
  • ChenZhangg-Modify_GRADLE_1
  • jetpack-compose-rewrite
  • demo-jump-in-history
  • attachments
  • 1.7.0 protected
  • 1.6.2 protected
  • 1.6.1 protected
  • 1.6.0 protected
  • 1.5.3 protected
  • 1.5.2 protected
  • 1.5.1 protected
  • 1.5.0 protected
  • 1.4.4 protected
  • 1.4.3 protected
  • 1.4.2 protected
  • 1.4.1 protected
  • 1.4.0 protected
  • v1.3.3 protected
  • v1.3.2 protected
  • v1.3.1 protected
  • v1.3.0 protected
  • v1.2.28 protected
  • v1.2.27 protected
  • v1.2.26 protected
26 results

AvatarHelperTest.kt

Blame
  • 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"))
        )
      }
    }