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:----DIFdaPgWC/uQ2MhmrYDxs7SRUaLaK4FrjBWJAM+JgmOIwcUuKuFrw4ZI2cBgW30xWhns4ppJXELu5N4JVDNRlZFXMZ1lHy2zCTsADzqH/wegryEDdxqtAcCR4KzbgVpFTQ7D7B+KxKPvJcB1NoAQf8hqThZ8RfW+bcMiES7NhyXuwwcXyDtsvCLFJvkfkBYAERmDk7lw0+2QAQmBLCHyDLFKs8gHTGDeSuzOdwacO6SUo7YUvVzyFeDGXIHp6pW6bXUSuTg0Vuh8Dye/+rocbdGDvQun8Aj6fECaRWxvOYjBo5+0iE/jU6nqYH3gnlY3dZ+u83xFXC92yHEWeumNN4ho9kOduipm2tFRDw8F/z9/dfhoGU2ayQ1f4AHDdDSIpWfQRnsxlorf73/VjNqvmYX07AlhPi8xoS3tDn31fV8VcWhHe6hqDnVJyRvLRBfa0FobN3bcbTjISpAf4okBkaeEXqbzSSND9AwiRbSnpPBfIAFK7P3Jv7dp9n0iLH6JXGWktgL1/LqRIGf2uaQEWYchAwZl95c2v+v2QeArnyhwB8/J+l/dQGqfnSSeg2YxccKrsz9phI/sJ2QNCXkEu6e7Of+P1jnv8NwJpMPpczHtOPx1i+0c5WVuTCen7sZV0JBRq7iZQdPnJEwpLAuNM5JJJcvsXcZ0ge4NH6fG3I4=----ATTACHMENT:----MjE2MTkzMjQ2NjA2MDM3MSA2MjA4ODAwMzM3NTUxMjIwIDQxODI2MDc0ODA3NTYyNTc=