2010-04-20 17:02:57 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
2010-04-25 16:06:54 +01:00
|
|
|
* This file is part of the Symfony package.
|
2010-04-20 17:02:57 +01:00
|
|
|
*
|
2011-03-06 11:40:06 +00:00
|
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
2010-04-20 17:02:57 +01:00
|
|
|
*
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
*/
|
|
|
|
|
2010-08-20 22:09:55 +01:00
|
|
|
namespace Symfony\Tests\Component\HttpFoundation;
|
2010-04-20 17:02:57 +01:00
|
|
|
|
2010-08-20 22:09:55 +01:00
|
|
|
use Symfony\Component\HttpFoundation\ParameterBag;
|
2010-04-20 17:02:57 +01:00
|
|
|
|
2010-05-03 10:40:23 +01:00
|
|
|
class ParameterBagTest extends \PHPUnit_Framework_TestCase
|
2010-04-20 17:02:57 +01:00
|
|
|
{
|
2010-05-06 12:25:53 +01:00
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::__construct
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testConstructor()
|
|
|
|
{
|
|
|
|
$this->testAll();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::all
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testAll()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('foo' => 'bar'));
|
|
|
|
$this->assertEquals(array('foo' => 'bar'), $bag->all(), '->all() gets all the input');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::replace
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testReplace()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('foo' => 'bar'));
|
|
|
|
|
|
|
|
$bag->replace(array('FOO' => 'BAR'));
|
|
|
|
$this->assertEquals(array('FOO' => 'BAR'), $bag->all(), '->replace() replaces the input with the argument');
|
|
|
|
$this->assertFalse($bag->has('foo'), '->replace() overrides previously set the input');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::get
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testGet()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('foo' => 'bar', 'null' => null));
|
|
|
|
|
|
|
|
$this->assertEquals('bar', $bag->get('foo'), '->get() gets the value of a parameter');
|
|
|
|
$this->assertEquals('default', $bag->get('unknown', 'default'), '->get() returns second argument as default if a parameter is not defined');
|
2011-03-01 17:56:35 +00:00
|
|
|
$this->assertNull($bag->get('null', 'default'), '->get() returns null if null is set');
|
2010-05-06 12:25:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::set
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testSet()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array());
|
|
|
|
|
|
|
|
$bag->set('foo', 'bar');
|
|
|
|
$this->assertEquals('bar', $bag->get('foo'), '->set() sets the value of parameter');
|
|
|
|
|
|
|
|
$bag->set('foo', 'baz');
|
|
|
|
$this->assertEquals('baz', $bag->get('foo'), '->set() overrides previously set parameter');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::has
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testHas()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('foo' => 'bar'));
|
|
|
|
|
|
|
|
$this->assertTrue($bag->has('foo'), '->has() returns true if a parameter is defined');
|
|
|
|
$this->assertFalse($bag->has('unknown'), '->has() return false if a parameter is not defined');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::getAlpha
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testGetAlpha()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('word' => 'foo_BAR_012'));
|
|
|
|
|
|
|
|
$this->assertEquals('fooBAR', $bag->getAlpha('word'), '->getAlpha() gets only alphabetic characters');
|
|
|
|
$this->assertEquals('', $bag->getAlpha('unknown'), '->getAlpha() returns empty string if a parameter is not defined');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::getAlnum
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testGetAlnum()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('word' => 'foo_BAR_012'));
|
|
|
|
|
|
|
|
$this->assertEquals('fooBAR012', $bag->getAlnum('word'), '->getAlnum() gets only alphanumeric characters');
|
|
|
|
$this->assertEquals('', $bag->getAlnum('unknown'), '->getAlnum() returns empty string if a parameter is not defined');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::getDigits
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testGetDigits()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('word' => 'foo_BAR_012'));
|
|
|
|
|
|
|
|
$this->assertEquals('012', $bag->getDigits('word'), '->getDigits() gets only digits as string');
|
|
|
|
$this->assertEquals('', $bag->getDigits('unknown'), '->getDigits() returns empty string if a parameter is not defined');
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2010-08-20 22:09:55 +01:00
|
|
|
* @covers Symfony\Component\HttpFoundation\ParameterBag::getInt
|
2010-05-06 12:25:53 +01:00
|
|
|
*/
|
|
|
|
public function testGetInt()
|
|
|
|
{
|
|
|
|
$bag = new ParameterBag(array('digits' => '0123'));
|
|
|
|
|
|
|
|
$this->assertEquals(123, $bag->getInt('digits'), '->getInt() gets a value of parameter as integer');
|
|
|
|
$this->assertEquals(0, $bag->getInt('unknown'), '->getInt() returns zero if a parameter is not defined');
|
|
|
|
}
|
2010-04-20 17:02:57 +01:00
|
|
|
}
|
|
|
|
|