1use Test::More;
2
3# $Id: short.t,v 1.1.1.1 2006/08/14 15:36:06 lem Exp $
4
5my %cases = qw(
6  127.1			 127.0.0.1
7  127.0.1.1		 127.0.1.1
8  127.1.0.1		 127.1.0.1
9  DEAD:BEEF::1		 dead:beef::1
10  ::1			 0:0::1
11  2001:620:600::1	 2001:620:600::1
12  2001:620:600:0:1::1	 2001:620:600:0:1::1
13  2001:620:601:0:1::1	 2001:620:601::1:0:0:1
14  0:0:33:44::CC:DD	 0:0:33:44:0:0:CC:DD
15  0:0:33:44::DD	   	 0:0:33:44:0:0:0:DD
16  0:0:33:44:AA::	 0:0:33:44:AA:0:0:0
17  0:0:33::BB:0:0	 0:0:33:0:0:BB:0:0
18  0:22:33:44:0:BB:CC:0	 0:22:33:44:0:BB:CC:0
19  0:22:33:44:0:BB:CC:DD	 0:22:33:44:0:BB:CC:DD
20  0:22:33:44:AA:BB:CC:0	 0:22:33:44:AA:BB:CC:0
21  0:22:33:44:AA:BB:CC:DD 0:22:33:44:AA:BB:CC:DD
22  110:0:0:44:AA::	 110:0:0:44:AA:0:0:0
23  11:0:33:44:0:BB:CC:DD	 11:0:33:44:0:BB:CC:DD
24  11:0:33:44:AA:BB:CC:DD 11:0:33:44:AA:BB:CC:DD
25  11:22:0:44:AA::DD	 11:22:0:44:AA:0:0:DD
26  11:22:33:0:AA:BB:CC:0	 11:22:33:0:AA:BB:CC:0
27  11:22:33:44:AA::	 11:22:33:44:AA:0:0:0
28  11:22::CC:DD		 11:22:0:0:0:0:CC:DD
29  11::44:AA:0:0:DD	 11:0:0:44:AA:0:0:DD
30  11::44:AA:BB:0:0	 11:0:0:44:AA:BB:0:0
31  11::AA:0:0:DD		 11:0:0:0:AA:0:0:DD
32  11::AA:BB:0:0		 11:0:0:0:AA:BB:0:0
33  1::			 1:0:0:0:0:0:0:0
34  ::			 0:0:0:0:0:0:0:0
35  ::33:44:AA:BB:0:0	 0:0:33:44:AA:BB:0:0
36  ::44:0:0:CC:DD	 0:0:0:44:0:0:CC:DD
37  ::44:AA:BB:0:0	 0:0:0:44:AA:BB:0:0
38  ::44:AA:BB:CC:DD	 0:0:0:44:AA:BB:CC:DD
39  ::A			 0:0:0:0:0:0:0:A
40 );
41
42my $tests = 2 * keys %cases;
43plan tests => 1 + $tests;
44
45SKIP: {
46    use_ok('NetAddr::IP') or skip "Failed to load NetAddr::IP", $tests;
47    for my $c (sort keys %cases)
48    {
49	my $ip = new NetAddr::IP $cases{$c};
50	isa_ok($ip, 'NetAddr::IP', "$cases{$c}");
51	my $short = uc $ip->short;
52	unless (is($short, $c, "short($cases{$c}) returns $short"))
53	{
54	    diag "ip=$ip";
55	}
56    }
57}
58