package jp.juggler.subwaytooter import org.junit.Assert.assertEquals import org.junit.Test import java.net.IDN @Suppress("MemberNameEqualsClassName") class TestIDN { @Test @Throws(Exception::class) fun testIDN() { // normal conversion assertEquals("xn--3-pfuzbe6htf.juggler.jp", IDN.toASCII("マストドン3.juggler.jp", IDN.ALLOW_UNASSIGNED)) assertEquals("マストドン3.juggler.jp", IDN.toUnicode("xn--3-pfuzbe6htf.juggler.jp", IDN.ALLOW_UNASSIGNED)) // not IDN domain assertEquals("mastodon.juggler.jp", IDN.toASCII("mastodon.juggler.jp", IDN.ALLOW_UNASSIGNED)) assertEquals("mastodon.juggler.jp", IDN.toUnicode("mastodon.juggler.jp", IDN.ALLOW_UNASSIGNED)) // 既に変換済みの引数 assertEquals("xn--3-pfuzbe6htf.juggler.jp", IDN.toASCII("xn--3-pfuzbe6htf.juggler.jp", IDN.ALLOW_UNASSIGNED)) assertEquals("マストドン3.juggler.jp", IDN.toUnicode("マストドン3.juggler.jp", IDN.ALLOW_UNASSIGNED)) // 複数のpunycode assertEquals("թութ.հայ", IDN.toUnicode("xn--69aa8bzb.xn--y9a3aq", IDN.ALLOW_UNASSIGNED)) // ? assertEquals("?", IDN.toASCII("?", IDN.ALLOW_UNASSIGNED)) assertEquals("?", IDN.toUnicode("?", IDN.ALLOW_UNASSIGNED)) } }