Skip to content

Commit 4c5bf4f

Browse files
committed
Follow up on #114: update tests for multicast? and link_local_multicast?
1 parent 2f25173 commit 4c5bf4f

1 file changed

Lines changed: 31 additions & 28 deletions

File tree

test/test_ipaddr.rb

Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -624,48 +624,51 @@ def test_link_local?
624624
end
625625

626626
def test_multicast?
627+
assert_equal(true, IPAddr.new('224.0.0.0').multicast?)
628+
assert_equal(true, IPAddr.new('225.0.0.0').multicast?)
629+
assert_equal(true, IPAddr.new('224.0.0.0/4').multicast?)
630+
631+
assert_equal(false, IPAddr.new('240.0.0.0').multicast?)
632+
assert_equal(false, IPAddr.new('240.0.0.0/4').multicast?)
627633
assert_equal(false, IPAddr.new('192.168.0.0').multicast?)
628-
assert_equal(false, IPAddr.new('169.254.1.1').multicast?)
629-
assert_equal(false, IPAddr.new('169.254.254.255').multicast?)
634+
assert_equal(false, IPAddr.new('169.254.1.1').multicast?)
635+
assert_equal(false, IPAddr.new('169.254.254.255').multicast?)
630636

631-
# notable ipv4 multicast addresses
632-
assert_equal(true, IPAddr.new('224.0.0.0').multicast?)
633-
assert_equal(true, IPAddr.new('224.0.0.1').multicast?)
634-
assert_equal(true, IPAddr.new('224.0.0.6').multicast?)
635-
assert_equal(true, IPAddr.new('224.0.1.41').multicast?)
636-
assert_equal(true, IPAddr.new('224.0.1.129').multicast?)
637-
assert_equal(true, IPAddr.new('224.0.23.12').multicast?)
638-
assert_equal(true, IPAddr.new('239.255.255.250').multicast?)
639-
assert_equal(true, IPAddr.new('239.255.255.253').multicast?)
637+
assert_equal(true, IPAddr.new('ff00::').multicast?)
638+
assert_equal(true, IPAddr.new('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff').multicast?)
639+
assert_equal(true, IPAddr.new('ff00::/8').multicast?)
640640

641+
assert_equal(false, IPAddr.new('feff::').multicast?)
642+
assert_equal(false, IPAddr.new('feff:ffff:ffff:ffff:ffff:ffff:ffff:ffff').multicast?)
643+
assert_equal(false, IPAddr.new('fe00::/8').multicast?)
641644
assert_equal(false, IPAddr.new('::1').multicast?)
642645
assert_equal(false, IPAddr.new('::').multicast?)
643-
assert_equal(false, IPAddr.new('fb84:8bf7:e905::1').multicast?)
644646

645-
# notable ipv6 multicast addresses
646-
assert_equal(true, IPAddr.new('ff02::1').multicast?)
647-
assert_equal(true, IPAddr.new('ff02::2').multicast?)
648-
assert_equal(true, IPAddr.new('ff02::5').multicast?)
649-
assert_equal(true, IPAddr.new('ff02::6').multicast?)
650-
assert_equal(true, IPAddr.new('ff02::8').multicast?)
651-
assert_equal(true, IPAddr.new('ff02::1:2').multicast?)
652-
assert_equal(true, IPAddr.new('ff02::1:3').multicast?)
653-
assert_equal(true, IPAddr.new('ff05::101').multicast?)
647+
assert_equal(true, IPAddr.new('::ffff:224.0.0.0').multicast?)
648+
assert_equal(false, IPAddr.new('::ffff:240.0.0.0').multicast?)
654649
end
655650

656651
def test_link_local_multicast?
652+
assert_equal(true, IPAddr.new('224.0.0.0').link_local_multicast?)
653+
assert_equal(true, IPAddr.new('224.0.0.0/24').link_local_multicast?)
654+
655+
assert_equal(false, IPAddr.new('225.0.0.0').link_local_multicast?)
656+
assert_equal(false, IPAddr.new('225.0.0.0/24').link_local_multicast?)
657657
assert_equal(false, IPAddr.new('192.168.0.0').link_local_multicast?)
658-
assert_equal(false, IPAddr.new('169.254.1.1').link_local_multicast?)
659-
assert_equal(false, IPAddr.new('169.254.254.255').link_local_multicast?)
660-
assert_equal(false, IPAddr.new('239.0.0.0').link_local_multicast?)
658+
assert_equal(false, IPAddr.new('169.254.1.1').link_local_multicast?)
659+
assert_equal(false, IPAddr.new('169.254.254.255').link_local_multicast?)
661660

662-
assert_equal(true, IPAddr.new('224.0.0.0').link_local_multicast?)
661+
assert_equal(true, IPAddr.new('ff02::1').link_local_multicast?)
662+
assert_equal(true, IPAddr.new('ff02::/16').link_local_multicast?)
663663

664+
assert_equal(false, IPAddr.new('ff00::').link_local_multicast?)
665+
assert_equal(false, IPAddr.new('ff03::1').link_local_multicast?)
666+
assert_equal(false, IPAddr.new('ff03::/16').link_local_multicast?)
664667
assert_equal(false, IPAddr.new('::1').link_local_multicast?)
665668
assert_equal(false, IPAddr.new('::').link_local_multicast?)
666-
assert_equal(false, IPAddr.new('ff05::1').link_local_multicast?)
667-
assert_equal(true, IPAddr.new('ff02::1').link_local_multicast?)
668-
assert_equal(true, IPAddr.new('ff02::2').link_local_multicast?)
669+
670+
assert_equal(true, IPAddr.new('::ffff:224.0.0.0').link_local_multicast?)
671+
assert_equal(false, IPAddr.new('::ffff:225.0.0.0').link_local_multicast?)
669672
end
670673

671674
def test_hash

0 commit comments

Comments
 (0)