70 lines
2.3 KiB
Kotlin
70 lines
2.3 KiB
Kotlin
package jp.juggler.subwaytooter.api.entity
|
|
|
|
import androidx.test.runner.AndroidJUnit4
|
|
import jp.juggler.subwaytooter.util.LinkHelper
|
|
import org.junit.Assert.assertEquals
|
|
import org.junit.Test
|
|
import org.junit.runner.RunWith
|
|
|
|
@RunWith(AndroidJUnit4::class)
|
|
class TestTootAccount {
|
|
|
|
@Test
|
|
@Throws(Exception::class)
|
|
fun testFindHostFromUrl() {
|
|
|
|
val emptyHost = Host.EMPTY
|
|
|
|
// all null
|
|
var pair = TootAccount.findHostFromUrl(null, null, null)
|
|
assertEquals(null, pair.first)
|
|
|
|
// find from acct
|
|
pair = TootAccount.findHostFromUrl("", null, null)
|
|
assertEquals(Host.UNKNOWN, pair.first)
|
|
assertEquals(null, TootAccount.findHostFromUrl("user", null, null).first)
|
|
assertEquals(emptyHost, TootAccount.findHostFromUrl("user@", null, null).first)
|
|
assertEquals(
|
|
"host",
|
|
TootAccount.findHostFromUrl("user@HOST", null, null)
|
|
.first?.ascii
|
|
)
|
|
|
|
// find from accessHost
|
|
|
|
assertEquals(
|
|
emptyHost,
|
|
TootAccount.findHostFromUrl(null, LinkHelper.create(emptyHost), null).first
|
|
)
|
|
val testHost = Host.parse("any string is allowed")
|
|
assertEquals(
|
|
testHost,
|
|
TootAccount.findHostFromUrl(
|
|
null,
|
|
LinkHelper.create(testHost),
|
|
null
|
|
).first
|
|
)
|
|
|
|
// find from url
|
|
assertEquals(null, TootAccount.findHostFromUrl(null, null, "").first)
|
|
assertEquals(null, TootAccount.findHostFromUrl(null, null, "xxx").first)
|
|
assertEquals(
|
|
null,
|
|
TootAccount.findHostFromUrl(null, null, "mailto:tateisu@gmail.com").first
|
|
)
|
|
assertEquals(
|
|
Host.parse("mastodon.juggler.jp"),
|
|
TootAccount.findHostFromUrl(null, null, "https://MASTODON.juggler.jp/@tateisu").first
|
|
)
|
|
assertEquals(
|
|
Host.parse("mastodon.juggler.jp"),
|
|
TootAccount.findHostFromUrl(null, null, "https://mastodon.juggler.jp/").first
|
|
)
|
|
assertEquals(
|
|
Host.parse("mastodon.juggler.jp"),
|
|
TootAccount.findHostFromUrl(null, null, "https://mastodon.juggler.jp").first
|
|
)
|
|
}
|
|
}
|