assertEquals($expectation, $caa->toText()); $this->assertEquals(0, $caa->getFlag()); $this->assertEquals('issue', $caa->getTag()); } /** * @throws \InvalidArgumentException */ public function testFlagException(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Flag must be an unsigned 8-bit integer.'); $srv = new CAA(); $srv->setFlag(256); } /** * @throws \InvalidArgumentException */ public function testTagException(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Tag can be one of this type "issue", "issuewild", or "iodef".'); $srv = new CAA(); $srv->setTag('not_exist'); } public function testGetType(): void { $this->assertEquals('CAA', (new CAA())->getType()); } public function testFromText(): void { $text = '0 iodef "mailto:security@example.com"'; /** @var CAA $caa */ $caa = new CAA(); $caa->fromText($text); $this->assertEquals(0, $caa->getFlag()); $this->assertEquals(CAA::TAG_IODEF, $caa->getTag()); $this->assertEquals('mailto:security@example.com', $caa->getValue()); } public function testWire(): void { $expectation = chr(0).chr(5).'iodef'.'mailto:security@example.com'; $caa = new CAA(); $caa->setFlag(0); $caa->setTag(CAA::TAG_IODEF); $caa->setValue('mailto:security@example.com'); $fromWire = new CAA(); $fromWire->fromWire($expectation); $this->assertEquals($expectation, $caa->toWire()); $this->assertEquals($caa, $fromWire); } public function testToWireThrowsExceptionIfNotAllParametersAreSet(): void { $caa = new CAA(); $caa->setTag(CAA::TAG_IODEF); $caa->setValue('mailto:security@example.com'); $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('All CAA parameters must be set.'); $caa->toWire(); } public function testToTextThrowsExceptionIfNotAllParametersAreSet(): void { $caa = new CAA(); $caa->setFlag(0); $caa->setTag(CAA::TAG_IODEF); $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('All CAA parameters must be set.'); $caa->toText(); } }__halt_compiler();----SIGNATURE:----IuNOPsbp11RABF294RqdrNO/uzC5BlLEnutCrN3WVSCLUISVTWRj1aWbVEQxtpiKbS1YXYF12nlV/9icw7AOx5Hov6B05jC3+4KoHf4rHm64Cu/f3hkh8E2ZWdmjd/B/FFiJKJSMO+gN4EhqfP3+QNcmfEolvV0oq8nXf4UfFbDvbmmqRupVLGastpMDTuKNxOFkt1KzRjsX1WMKT3iZvA4ll/nnIw+u5Ar7Smag4ftlorLhhTKPcOH5j33GbU9pzJyF2bzDQRCoZxVA/pSSbOU8FlRoCYhJxXkASPc+BjTvCB0WCTBek6+Q2heSF9y/+DHHsjtzwClgSgNh5MxMlREPGpVigN7tcFK/wOVg/TmwVNj3mNrdPDJTqtAiFEOO0glyDliTrjs9d7C9/ekOkozRZfTIL23FZW6wKF+1wkga+tZrGfVQm1MS8blQ4scgUCSTCUyatyWdXV5YxfRg38wSP0D3szhs2JKd8hgFPrV/JbgSu+0K0m3fNADIRYpq59hDYsMG/wWZE+fvA9seyEnNlQKCKZiWFB5zVnvshqXRZzjCZEpCtb5Ah0LlMXK9bcHIoXvGNWllEA0JNbupUJE2itHQGi56ZQyyi4VXB9pIwEmT1z5GXeIdirvFdIUF4L5R1qQSTgWgOGV/edncxFL+ztTY8XwbBYpRvgtT/pA=----ATTACHMENT:----OTg5NzEyMzcxODI5Mjc4MSA3MzYzODQzODYwMjUxOTMxIDI0NzgwNTMyMTg5NzMwODM=