provider_expandIPv6(), [ ['2001:db8:0:0:f:0:0:0', '2001:db8:0:0:f::'], ['2001:db8::ff00:42:8329', '2001:db8::ff00:42:8329'], ['2001:db8:a:bac:8099:d:f:9', '2001:db8:a:bac:8099:d:f:9'], ]); } /** * @dataProvider provider_expandIPv6 */ public function testExpandIpv6(string $expectation, string $ip): void { $this->assertEquals($expectation, PTR::expandIpv6($ip)); } /** * @dataProvider provider_contractIPv6 */ public function testContractIpv6(string $ip, string $expectation): void { $this->assertEquals($expectation, PTR::contractIpv6($ip)); } public function testContractIpv6ThrowsException(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('"127.0.0.1" is not a valid IPv6 address.'); PTR::contractIpv6('127.0.0.1'); } public function testReverseIpv4(): void { $case_1 = '192.168.1.213'; $exp_1 = '213.1.168.192.in-addr.arpa.'; $this->assertEquals($exp_1, PTR::reverseIpv4($case_1)); } public function testReverseIpv6(): void { $case_1 = '2001:db8::567:89ab'; $case_2 = '8007:ea:19'; $exp_1 = 'b.a.9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.'; $exp_2 = '9.1.0.0.a.e.0.0.7.0.0.8.ip6.arpa.'; $this->assertEquals($exp_1, PTR::reverseIpv6($case_1)); $this->assertEquals($exp_2, PTR::reverseIpv6($case_2)); } }__halt_compiler();----SIGNATURE:----nNdC14a7u3WxbqxzPjtds88j+DAX/Wq1hJLIr3TQRLr9EmFP7wjsxZwy/qd4b9I68o06SmnnH5M2GIAuN5xuowHNJ51+CL3/MAKsTsdkdkWeYk9P7q5C8xeiMF5fOGLPqD/d4HduiJNHH6rAWFHeOSm4HhNbnrUvBSx5yUaPh2XcVHMczcW1/HllywbsSmj+O9mzml9VcsYdKwtB6ib/bRfwBuLKrgj/KDbjBK8eSgF1pl8xT7faas18CBx1ycbw/BPDPC8eCsr3hI3ESI5+4CLjkoGkMtnkpNJ2D05omQd+A4u2+a2Ew0zIAbyLFNFccNk4sabn3++R43cS+MBX5pBhRc5ZKAz/ZyVtNVAlYA868K07CLn9kgYsQoRQSmmcumafHNIFJd1NTRDpNg8/Fsd6ov7raOusfM8dpnxtDSuxq5woN3CIOMJMkEeqXDpwMJIEagtaNXs6wXHGqyaD3MIB5r7FlgHuIzyFIUwkBKA/sbwwrf28p5g76b9qqT3vRBJo1oWHZp4/YyMSxUDu7/X9UirV21ppdw4Cp4+h6tIanSe2DtfJN8pnJoJ3hgPRR1dAKx4vzUwJcFv6fej54tN/2dVBF6edGL6pBZS/dq9FVRR2hX4+SZItcrgA5BFqGy1+wrPKKspIpG1A1fHSlmHhezhpJYvSSflDZACgBnA=----ATTACHMENT:----ODAwNTgyOTI0Mzc0NTE5NyAxNDAyMzAwNzc2ODg3OTEzIDI0OTg0MTk5MzI4Mjk0OTA=