assertEquals($expectation, $srv->toText()); $this->assertEquals(10, $srv->getPriority()); $this->assertEquals(1, $srv->getWeight()); $this->assertEquals('http://www.example.com/path', $srv->getTarget()); } /** * @dataProvider dataProvider_testExceptions */ public function testExceptions( int $priority, int $weight, string $target, string $expectedException, string $expectedExceptionMessage, ): void { $this->expectException($expectedException); $this->expectExceptionMessage($expectedExceptionMessage); Factory::URI($priority, $weight, $target); } public function testFromText(): void { $text = '10 1 "ftp://ftp1.example.com/public%20data"'; $uri = new URI(); $uri->setPriority(10); $uri->setWeight(1); $uri->setTarget('ftp://ftp1.example.com/public%20data'); $fromText = new URI(); $fromText->fromText($text); $this->assertEquals($uri, $fromText); } public function testWire(): void { $wireFormat = pack('nn', 10, 1).'ftp://ftp1.example.com/public%20data'; $uri = new URI(); $uri->setPriority(10); $uri->setWeight(1); $uri->setTarget('ftp://ftp1.example.com/public%20data'); $this->assertEquals($wireFormat, $uri->toWire()); $fromWire = new URI(); $fromWire->fromWire($wireFormat); $this->assertEquals($uri, $fromWire); $rdLength = strlen($wireFormat); $wireFormat = 'abc'.$wireFormat; $offset = 3; $fromWire = new URI(); $fromWire->fromWire($wireFormat, $offset, $rdLength); $this->assertEquals($uri, $fromWire); $this->assertEquals(3 + $rdLength, $offset); } }__halt_compiler();----SIGNATURE:----VaWbC4fhJRMSL3XPrLK0XY8r4vM3fl4Cy6K2M1F3i0W/vPV9Ru/N+fX34vMXyjS3HSxw6EvsEHjouobW0KxMXnngKZnAw0VL4/+YF5BEpSk/nnt01MpbR8IEATXcrJmrIYtUDRID0zVe1KBWIJOlJ5zHv//DBGrGeYsRfBW7LDNRDnNQn7/TvTfSNvHC4hJCI8iDW8uq3eNblrPJ5KitL1/gR2hHQUadSRmGp+I52wCMDk5v/nKX0axtcgS83kS6cnE0SG4UaOBe2nMOylWhS8FESLTX2MhybmdwtOGT7jzGDQdDWbXHHGVf8CnkUo2mzOcHJA6FhJciRLRiuLXQa7XY21Y3k+2lvyoVLZk80YNAZgCJY4LojvZWvILzT3u35rr2NcPVCpbkUJOBbHh2ch1HAQWCA3PJug9sfk/c1TBkwH3l/WyV3r5VkM3RXklLsnrwuTe5Ewz0D2ycDa+CX37aOJQXx8iad6Bo9LKE4LoWZYbq/OddmOLIhgSwbg/NtK1/CBIVhH20etUEdBCTAuUR6ZS/7Uj+O6S3OU86luL61qoKjbJcRUjEnulnp0z04dWVLLAt5Il8MGKq5+k5TLCHVApIiayp0mxClGxsJipCY0MRU0TZt0DL2bz8Od8NlXJWdTNTQMRrAVOxrvnp9hCdW5Q7Sr1djD9rgOhWLWM=----ATTACHMENT:----NjQwNDkwNjczMTg1MzUzMSA3MzQ0NDk1MDY2MzU4OTkgNTc1MTEwMTg5NTQ3MzIzMw==