=IP Function Tests=

Copyright (c) 2008-2010, David P. D. Moss. All rights reserved.

{{{

>>> from netaddr import *

}}}

During a cidr merge operation, the address 0.0.0.0/0, representing the whole of the IPv4 address space, should swallow anything it is merged with.

{{{

>>> cidr_merge(['0.0.0.0/0', '0.0.0.0'])
[IPNetwork('0.0.0.0/0')]

>>> cidr_merge(['0.0.0.0/0', '255.255.255.255'])
[IPNetwork('0.0.0.0/0')]

>>> cidr_merge(['0.0.0.0/0', '192.0.2.0/24', '10.0.0.0/8'])
[IPNetwork('0.0.0.0/0')]

}}}

Same goes for the IPv6 CIDR ::/0, representing the whole of the IPv6 address space.

{{{

>>> cidr_merge(['::/0', 'fe80::1'])
[IPNetwork('::/0')]

>>> cidr_merge(['::/0', '::'])
[IPNetwork('::/0')]

>>> cidr_merge(['::/0', '::192.0.2.0/124', 'ff00::101'])
[IPNetwork('::/0')]

}}}

This also applies to mixed IPv4 and IPv6 address lists.

{{{

>>> cidr_merge(['0.0.0.0/0', '0.0.0.0', '::/0', '::'])
[IPNetwork('0.0.0.0/0'), IPNetwork('::/0')]

}}}
