toBeTrue(); }); it('returns false when an ip does not equal a non-cidr value', function () { expect(Ip::inNetwork('10.0.0.1', '10.0.0.2'))->toBeFalse(); }); it('matches an ipv4 inside a byte-aligned cidr', function () { expect(Ip::inNetwork('10.0.0.42', '10.0.0.0/24'))->toBeTrue(); }); it('rejects an ipv4 outside a byte-aligned cidr', function () { expect(Ip::inNetwork('10.0.1.42', '10.0.0.0/24'))->toBeFalse(); }); it('matches an ipv4 inside a non-byte-aligned cidr', function () { expect(Ip::inNetwork('192.168.16.5', '192.168.16.0/20'))->toBeTrue(); }); it('rejects an ipv4 outside a non-byte-aligned cidr', function () { expect(Ip::inNetwork('192.168.32.5', '192.168.16.0/20'))->toBeFalse(); }); it('matches a /32 host route', function () { expect(Ip::inNetwork('10.0.0.1', '10.0.0.1/32'))->toBeTrue(); expect(Ip::inNetwork('10.0.0.2', '10.0.0.1/32'))->toBeFalse(); }); it('matches every address inside a /0', function () { expect(Ip::inNetwork('10.0.0.1', '0.0.0.0/0'))->toBeTrue(); expect(Ip::inNetwork('255.255.255.255', '0.0.0.0/0'))->toBeTrue(); });