public void testGetEmbeddedIPv4ClientAddress() { Inet6Address testIp; // Test regular global unicast address. testIp = (Inet6Address) InetAddresses.forString("2001:db8::1"); assertFalse(InetAddresses.hasEmbeddedIPv4ClientAddress(testIp)); // Test ISATAP address. testIp = (Inet6Address) InetAddresses.forString("2001:db8::5efe:102:304"); assertFalse(InetAddresses.hasEmbeddedIPv4ClientAddress(testIp)); // Test compat address. testIp = (Inet6Address) InetAddresses.forString("::1.2.3.4"); assertTrue(InetAddresses.hasEmbeddedIPv4ClientAddress(testIp)); InetAddress ipv4 = InetAddresses.forString("1.2.3.4"); assertEquals(ipv4, InetAddresses.getEmbeddedIPv4ClientAddress(testIp)); // Test 6to4 address. testIp = (Inet6Address) InetAddresses.forString("2002:0102:0304::1"); assertTrue(InetAddresses.hasEmbeddedIPv4ClientAddress(testIp)); ipv4 = InetAddresses.forString("1.2.3.4"); assertEquals(ipv4, InetAddresses.getEmbeddedIPv4ClientAddress(testIp)); // Test Teredo address. testIp = (Inet6Address) InetAddresses.forString("2001:0000:4136:e378:8000:63bf:3fff:fdd2"); assertTrue(InetAddresses.hasEmbeddedIPv4ClientAddress(testIp)); ipv4 = InetAddresses.forString("192.0.2.45"); assertEquals(ipv4, InetAddresses.getEmbeddedIPv4ClientAddress(testIp)); }