Вход Регистрация
Файл: symfony-2.7/src/Symfony/Component/Form/Tests/Extension/Validator/Util/ServerParamsTest.php
Строк: 76
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentFormTestsExtensionValidatorUtil;

use 
SymfonyComponentFormExtensionValidatorUtilServerParams;
use 
SymfonyComponentHttpFoundationRequest;

class 
ServerParamsTest extends PHPUnit_Framework_TestCase
{
    public function 
testGetContentLengthFromSuperglobals()
    {
        
$serverParams = new ServerParams();
        
$this->assertNull($serverParams->getContentLength());

        
$_SERVER['CONTENT_LENGTH'] = 1024;

        
$this->assertEquals(1024$serverParams->getContentLength());

        unset(
$_SERVER['CONTENT_LENGTH']);
    }

    public function 
testGetContentLengthFromRequest()
    {
        
$request Request::create('http://foo''GET', array(), array(), array(), array('CONTENT_LENGTH' => 1024));
        
$requestStack $this->getMock('SymfonyComponentHttpFoundationRequestStack', array('getCurrentRequest'));
        
$requestStack->expects($this->once())->method('getCurrentRequest')->will($this->returnValue($request));
        
$serverParams = new ServerParams($requestStack);

        
$this->assertEquals(1024$serverParams->getContentLength());
    }

    
/** @dataProvider getGetPostMaxSizeTestData */
    
public function testGetPostMaxSize($size$bytes)
    {
        
$serverParams $this->getMock('SymfonyComponentFormExtensionValidatorUtilServerParams', array('getNormalizedIniPostMaxSize'));
        
$serverParams
            
->expects($this->any())
            ->
method('getNormalizedIniPostMaxSize')
            ->
will($this->returnValue(strtoupper($size)));

        
$this->assertEquals($bytes$serverParams->getPostMaxSize());
    }

    public function 
getGetPostMaxSizeTestData()
    {
        return array(
            array(
'2k'2048),
            array(
'2 k'2048),
            array(
'8m'1024 1024),
            array(
'+2 k'2048),
            array(
'+2???k'2048),
            array(
'0x10'16),
            array(
'0xf'15),
            array(
'010'8),
            array(
'+0x10 k'16 1024),
            array(
'1g'1024 1024 1024),
            array(
'-1', -1),
            array(
'0'0),
            array(
'2mk'2048), // the unit must be the last char, so in this case 'k', not 'm'
        
);
    }
}
Онлайн: 0
Реклама