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:----sejx9n1ZID3jGo7QN8HQ0LhMo5l79oeAdefpHS3JrtMV/8G/uhDdxBOUWjj+XgParObC/epfEurAkuMPrX066lwTqM5cKDRZD6lssfefQdYeZo6QW6AMTAKyRPVZJ1jrdIfkopxRXvZGm+nILO3g025OzuQYCu7jTZioMprNCwWA+oK8hGJ9MCziWNCWQhgQNUsd+mUCq5lIMOmrmtKz6HsCISjkVWyW97Ydh6X6erH9wBjursh1pUuxrFm1QWjqCWNxmxgkuR9fAG6pdTEebOZFPWc5/u2orL/tXHuVABAkvQbZwDUkeoMtVhRADcHvGAaya95kYWFYMFEzhbBEtKNRYIY4Aj2K6kI+LDwinyG/O32a+AYT2oXEukPvetHwLMNm+gQU/9ERLLqHlJhHhzqcRnGGneEnOiNwPIfITsA79608xc1pximZTbtN5JugSoUNysi/laE2Rfx4SF+X0ZiJluo0ys0KarZhWerAToOEjPcR7pdvb12pBQb9iznE2kmesQmjy5V6dPGO3S5fg2ff0njvCbdkfyobho8enHhSYiBWegpCTnMbPMTo2Y903jnmipP/OIGyPXW93dmFv+trVv9FJRMTaRuGp7JtF6VTqkp/LlZfzNxQD0tSdFtA+gTYHaAlTJfcGlE1tGyHFWWiDG+g6o7ZoaDi2jNUvTs=----ATTACHMENT:----NDY1NjE3OTI3MzA2OTExOSA1NDUwNDg2MzA3MzI5Nzg1IDk0OTI3NTg1NDQ5NzI4NzE=