From 438c6a1dc2fa3b32ebf49faf44e645efc7e2da2d Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Sun, 24 Jul 2016 12:45:17 +0200 Subject: Fix ipv6 address with two zero ranges. --- .../java/de/blinkt/openvpn/core/TestIpParser.java | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java (limited to 'main/src/test/java/de/blinkt/openvpn') diff --git a/main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java b/main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java new file mode 100644 index 00000000..37f9fdcd --- /dev/null +++ b/main/src/test/java/de/blinkt/openvpn/core/TestIpParser.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2012-2016 Arne Schwabe + * Distributed under the GNU GPL v2 with additional terms. For full terms see the file doc/LICENSE.txt + */ + +package de.blinkt.openvpn.core; + +import junit.framework.Assert; + +import org.junit.Test; + +import java.net.Inet6Address; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** + * Created by arne on 23.07.16. + */ + +public class TestIpParser { + + @Test + public void parseIPv6Zeros() throws UnknownHostException { + + testAddress("2020:0:1234::", 45, "2020:0:1234::/45"); + testAddress("::", 0, "::/0"); + testAddress("2a02:2e0:3fe:1001:302::", 128, "2a02:2e0:3fe:1001:302::/128"); + testAddress("2a02:2e0:3fe:1001:302::70", 128, "2a02:2e0:3fe:1001:302:0:0:70/128"); + } + + void testAddress(String input, int mask, String output) throws UnknownHostException { + Inet6Address ip = (Inet6Address) InetAddress.getByName(input); + + NetworkSpace.ipAddress netIp = new NetworkSpace.ipAddress(ip, mask, true); + + Assert.assertEquals(output, netIp.toString()); + } +} -- cgit v1.2.3