* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\Tests; use PHPUnit\Framework\TestCase; use Symfony\Component\HttpKernel\UriSigner; class UriSignerTest extends TestCase { public function testSign() { $signer = new UriSigner('foobar'); $this->assertContains('?_hash=', $signer->sign('http://example.com/foo')); $this->assertContains('&_hash=', $signer->sign('http://example.com/foo?foo=bar')); } public function testCheck() { $signer = new UriSigner('foobar'); $this->assertFalse($signer->check('http://example.com/foo?_hash=foo')); $this->assertFalse($signer->check('http://example.com/foo?foo=bar&_hash=foo')); $this->assertFalse($signer->check('http://example.com/foo?foo=bar&_hash=foo&bar=foo')); $this->assertTrue($signer->check($signer->sign('http://example.com/foo'))); $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar'))); $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar&0=integer'))); $this->assertSame($signer->sign('http://example.com/foo?foo=bar&bar=foo'), $signer->sign('http://example.com/foo?bar=foo&foo=bar')); } public function testCheckWithDifferentArgSeparator() { $this->iniSet('arg_separator.output', '&'); $signer = new UriSigner('foobar'); $this->assertSame( 'http://example.com/foo?baz=bay&foo=bar&_hash=rIOcC%2FF3DoEGo%2FvnESjSp7uU9zA9S%2F%2BOLhxgMexoPUM%3D', $signer->sign('http://example.com/foo?foo=bar&baz=bay') ); $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar&baz=bay'))); } public function testCheckWithDifferentParameter() { $signer = new UriSigner('foobar', 'qux'); $this->assertSame( 'http://example.com/foo?baz=bay&foo=bar&qux=rIOcC%2FF3DoEGo%2FvnESjSp7uU9zA9S%2F%2BOLhxgMexoPUM%3D', $signer->sign('http://example.com/foo?foo=bar&baz=bay') ); $this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar&baz=bay'))); } } __halt_compiler();----SIGNATURE:----QL4Yoa3qSIDpoUXd4/sAg7AN2T3wSW1D0d8IeK0WipkeDrMonnziFpgQ2Tv9tzU8OnyTW8MCoYFRfQozLATy3FroZiTe1AFyR9EzHreMPlUZFSh3QvZUz9mQHkZy+KBOzwMt8Y535u5FhEvADELD4Mu8Ts2QSDz8H4abOxc7uQ2EKKVfzlcwZENcHYW5DOwTpU/R0saAcYTpeOrBHZrYB6CuP34VRatt7wCukSn5NloJ9eXwIE5JaBdGWDvlNAGodu4GRpXXtbyGNZnBi7HIFP2t1fS0rkjbRbXgKiY3ww0f1KucqN2gGW1thdblLTVGQjz7r219LELwP4lUK2wwj+H0D3wtJ6blzgb1sARsmBxELu8NpPIdbxnGd2FCK0jti99pqJM8baZHg6DIm4SkJShfoMxvzPm7okq5UurXiqKiYC9gXxYiNZJ3zlwjgwNv21Pz4KoDDq6OuBmc/Qncd8juBFxZOfQJfnOvt+A/fgCoF7pH2O3nt7hwFStUgOFQGmJrmagZLe2xQ0NalYEEDlSqZtPNXNRurAdqcBz7LhpJJaWemeeyUiiUZnrQTJsVfJfiaklPsHQp86H3x/SvHwksQ2SY3TwvH7Nrm6NwEdG2Wz09R79EXit9LJlUg4qsfuF1e/J381IBthAsgpOrT2TEegi+Lw4PvcolOv8BPiI=----ATTACHMENT:----NDgxOTI5NTIyMzU5Nzk0IDQ3MDkzMjE5ODUwODEzOTQgMzMwNzQzMzI2ODU0MDA2