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:----ziuaeY/kshmHIeQUs/us83T0wcyktPUZDxsaAqjwY00sN2KZyguXvZth7wysCYyg46JGTCF7FK4C0vSwfKdFle9joUf3xuGlbAHn/7/U8YUrF2GNfb4Gl4EjQ6tqsEehGaD49EUFDFUZwcpTwkhgsCm/7nYmyAFqAmg2oAt1PLpDbcmgaKSbUsveYf4khL1yZ61B9FuyhujxljLrjXJ+9mOnGNNjMAVXA/EZt6RuR3l7859j+SXWvXhkFlbyyvfvaxIMfxhx7Uujq4vQSlR1e497Y9pEE4jw6KgTqAUCXrQ8yL5F2iC3BQUntAMoJY6NU1V6Ytoa5qDhiTP3op4vpwn3hAzTCUKm2bwbe3P1W3DvT42HUYqpzkxk6sCbpJH4raNEtMT4b2DyrMhx3pzxwaI4SXHxrdvJUmAzGKN/GtLrqK9MZgTvjXcbaCPipEfBT9B0em17Pq12byiUMuvIUMLxU1i9IcT5X7s3lSkIbpFD8+VSBsiXrnz0onqk9HUCYcXveVjxAr5kg7Hn/Rsi8+kZhjwvRB3g3IHB7GJhK2A4X7xvdQch32UXPHMVV/FkEPEdcoFo6db2Spp4yujfLNWVJRkSnRnm6nETyaWmvDk4QY5xmdYls5g0/F7ZYva7YGWy8O3tTNkGDXD3pR0XHylS8I+PcsW2oB8HC1Q622I=----ATTACHMENT:----MzY5OTc1OTA3MjA1ODE1MyA4NjExMjgzODUxMTc1MzA3IDQ0MzU3ODE2NDg1MTM5Mg==