!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/opt/alt/php54/usr/share/pear/test/OptionsResolver/Symfony/Component/OptionsResolver/Tests/   drwxr-xr-x
Free 294.13 GB of 429.69 GB (68.45%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     OptionsResolverTest.php (16.39 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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 Symfony\Component\OptionsResolver\Tests;

use 
Symfony\Component\OptionsResolver\OptionsResolver;
use 
Symfony\Component\OptionsResolver\Options;

class 
OptionsResolverTest extends \PHPUnit_Framework_TestCase
{
    
/**
     * @var OptionsResolver
     */
    
private $resolver;

    protected function 
setUp()
    {
        
$this->resolver = new OptionsResolver();
    }

    public function 
testResolve()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
            
'two' => '2',
        ));

        
$options = array(
            
'two' => '20',
        );

        
$this->assertEquals(array(
            
'one' => '1',
            
'two' => '20',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveLazy()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
            
'two' => function (Options $options) {
                return 
'20';
            },
        ));

        
$this->assertEquals(array(
            
'one' => '1',
            
'two' => '20',
        ), 
$this->resolver->resolve(array()));
    }

    public function 
testResolveLazyDependencyOnOptional()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
            
'two' => function (Options $options) {
                return 
$options['one'].'2';
            },
        ));

        
$options = array(
            
'one' => '10',
        );

        
$this->assertEquals(array(
            
'one' => '10',
            
'two' => '102',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveLazyDependencyOnMissingOptionalWithoutDefault()
    {
        
$test $this;

        
$this->resolver->setOptional(array(
            
'one',
        ));

        
$this->resolver->setDefaults(array(
            
'two' => function (Options $options) use ($test) {
                
/* @var \PHPUnit_Framework_TestCase $test */
                
$test->assertFalse(isset($options['one']));

                return 
'2';
            },
        ));

        
$options = array(
        );

        
$this->assertEquals(array(
            
'two' => '2',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveLazyDependencyOnOptionalWithoutDefault()
    {
        
$test $this;

        
$this->resolver->setOptional(array(
            
'one',
        ));

        
$this->resolver->setDefaults(array(
            
'two' => function (Options $options) use ($test) {
                
/* @var \PHPUnit_Framework_TestCase $test */
                
$test->assertTrue(isset($options['one']));

                return 
$options['one'].'2';
            },
        ));

        
$options = array(
            
'one' => '10',
        );

        
$this->assertEquals(array(
            
'one' => '10',
            
'two' => '102',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveLazyDependencyOnRequired()
    {
        
$this->resolver->setRequired(array(
            
'one',
        ));
        
$this->resolver->setDefaults(array(
            
'two' => function (Options $options) {
                return 
$options['one'].'2';
            },
        ));

        
$options = array(
            
'one' => '10',
        );

        
$this->assertEquals(array(
            
'one' => '10',
            
'two' => '102',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveLazyReplaceDefaults()
    {
        
$test $this;

        
$this->resolver->setDefaults(array(
            
'one' => function (Options $options) use ($test) {
                
/* @var \PHPUnit_Framework_TestCase $test */
                
$test->fail('Previous closure should not be executed');
            },
        ));

        
$this->resolver->replaceDefaults(array(
            
'one' => function (Options $options$previousValue) {
                return 
'1';
            },
        ));

        
$this->assertEquals(array(
            
'one' => '1',
        ), 
$this->resolver->resolve(array()));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
     */
    
public function testResolveFailsIfNonExistingOption()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setRequired(array(
            
'two',
        ));

        
$this->resolver->setOptional(array(
            
'three',
        ));

        
$this->resolver->resolve(array(
            
'foo' => 'bar',
        ));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\MissingOptionsException
     */
    
public function testResolveFailsIfMissingRequiredOption()
    {
        
$this->resolver->setRequired(array(
            
'one',
        ));

        
$this->resolver->setDefaults(array(
            
'two' => '2',
        ));

        
$this->resolver->resolve(array(
            
'two' => '20',
        ));
    }

    public function 
testResolveSucceedsIfOptionValueAllowed()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedValues(array(
            
'one' => array('1''one'),
        ));

        
$options = array(
            
'one' => 'one',
        );

        
$this->assertEquals(array(
            
'one' => 'one',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveSucceedsIfOptionValueAllowed2()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
            
'two' => '2',
        ));

        
$this->resolver->setAllowedValues(array(
            
'one' => '1',
            
'two' => '2',
        ));
        
$this->resolver->addAllowedValues(array(
            
'one' => 'one',
            
'two' => 'two',
        ));

        
$options = array(
            
'one' => '1',
            
'two' => 'two',
        );

        
$this->assertEquals(array(
            
'one' => '1',
            
'two' => 'two',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveSucceedsIfOptionalWithAllowedValuesNotSet()
    {
        
$this->resolver->setRequired(array(
            
'one',
        ));

        
$this->resolver->setOptional(array(
            
'two',
        ));

        
$this->resolver->setAllowedValues(array(
            
'one' => array('1''one'),
            
'two' => array('2''two'),
        ));

        
$options = array(
            
'one' => '1',
        );

        
$this->assertEquals(array(
            
'one' => '1',
        ), 
$this->resolver->resolve($options));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
     */
    
public function testResolveFailsIfOptionValueNotAllowed()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedValues(array(
            
'one' => array('1''one'),
        ));

        
$this->resolver->resolve(array(
            
'one' => '2',
        ));
    }

    public function 
testResolveSucceedsIfOptionTypeAllowed()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => 'string',
        ));

        
$options = array(
            
'one' => 'one',
        );

        
$this->assertEquals(array(
            
'one' => 'one',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveSucceedsIfOptionTypeAllowedPassArray()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => array('string''bool'),
        ));

        
$options = array(
            
'one' => true,
        );

        
$this->assertEquals(array(
            
'one' => true,
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveSucceedsIfOptionTypeAllowedPassObject()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => 'object',
        ));

        
$object = new \stdClass();
        
$options = array(
            
'one' => $object,
        );

        
$this->assertEquals(array(
            
'one' => $object,
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveSucceedsIfOptionTypeAllowedPassClass()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => '\stdClass',
        ));

        
$object = new \stdClass();
        
$options = array(
            
'one' => $object,
        );

        
$this->assertEquals(array(
            
'one' => $object,
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveSucceedsIfOptionTypeAllowedAddTypes()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
            
'two' => '2',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => 'string',
            
'two' => 'bool',
        ));
        
$this->resolver->addAllowedTypes(array(
            
'one' => 'float',
            
'two' => 'integer',
        ));

        
$options = array(
            
'one' => 1.23,
            
'two' => false,
        );

        
$this->assertEquals(array(
            
'one' => 1.23,
            
'two' => false,
        ), 
$this->resolver->resolve($options));
    }

    public function 
testResolveSucceedsIfOptionalWithTypeAndWithoutValue()
    {
        
$this->resolver->setOptional(array(
            
'one',
            
'two',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => 'string',
            
'two' => 'int',
        ));

        
$options = array(
            
'two' => 1,
        );

        
$this->assertEquals(array(
            
'two' => 1,
        ), 
$this->resolver->resolve($options));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
     */
    
public function testResolveFailsIfOptionTypeNotAllowed()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => array('string''bool'),
        ));

        
$this->resolver->resolve(array(
            
'one' => 1.23,
        ));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
     */
    
public function testResolveFailsIfOptionTypeNotAllowedMultipleOptions()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
            
'two' => '2',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => 'string',
            
'two' => 'bool',
        ));

        
$this->resolver->resolve(array(
            
'one' => 'foo',
            
'two' => 1.23,
        ));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
     */
    
public function testResolveFailsIfOptionTypeNotAllowedAddTypes()
    {
        
$this->resolver->setDefaults(array(
            
'one' => '1',
        ));

        
$this->resolver->setAllowedTypes(array(
            
'one' => 'string',
        ));
        
$this->resolver->addAllowedTypes(array(
            
'one' => 'bool',
        ));

        
$this->resolver->resolve(array(
            
'one' => 1.23,
        ));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\OptionDefinitionException
     */
    
public function testSetRequiredFailsIfDefaultIsPassed()
    {
        
$this->resolver->setRequired(array(
            
'one' => '1',
        ));
    }

    
/**
     * @expectedException \Symfony\Component\OptionsResolver\Exception\OptionDefinitionException
     */
    
public function testSetOptionalFailsIfDefaultIsPassed()
    {
        
$this->resolver->setOptional(array(
            
'one' => '1',
        ));
    }

    public function 
testFluidInterface()
    {
        
$this->resolver->setDefaults(array('one' => '1'))
            ->
replaceDefaults(array('one' => '2'))
            ->
setAllowedValues(array('one' => array('1''2')))
            ->
addAllowedValues(array('one' => array('3')))
            ->
setRequired(array('two'))
            ->
setOptional(array('three'));

        
$options = array(
            
'two' => '2',
        );

        
$this->assertEquals(array(
            
'one' => '2',
            
'two' => '2',
        ), 
$this->resolver->resolve($options));
    }

    public function 
testKnownIfDefaultWasSet()
    {
        
$this->assertFalse($this->resolver->isKnown('foo'));

        
$this->resolver->setDefaults(array(
            
'foo' => 'bar',
        ));

        
$this->assertTrue($this->resolver->isKnown('foo'));
    }

    public function 
testKnownIfRequired()
    {
        
$this->assertFalse($this->resolver->isKnown('foo'));

        
$this->resolver->setRequired(array(
            
'foo',
        ));

        
$this->assertTrue($this->resolver->isKnown('foo'));
    }

    public function 
testKnownIfOptional()
    {
        
$this->assertFalse($this->resolver->isKnown('foo'));

        
$this->resolver->setOptional(array(
            
'foo',
        ));

        
$this->assertTrue($this->resolver->isKnown('foo'));
    }

    public function 
testRequiredIfRequired()
    {
        
$this->assertFalse($this->resolver->isRequired('foo'));

        
$this->resolver->setRequired(array(
            
'foo',
        ));

        
$this->assertTrue($this->resolver->isRequired('foo'));
    }

    public function 
testNotRequiredIfRequiredAndDefaultValue()
    {
        
$this->assertFalse($this->resolver->isRequired('foo'));

        
$this->resolver->setRequired(array(
            
'foo',
        ));
        
$this->resolver->setDefaults(array(
            
'foo' => 'bar',
        ));

        
$this->assertFalse($this->resolver->isRequired('foo'));
    }

    public function 
testNormalizersTransformFinalOptions()
    {
        
$this->resolver->setDefaults(array(
            
'foo' => 'bar',
            
'bam' => 'baz',
        ));
        
$this->resolver->setNormalizers(array(
            
'foo' => function (Options $options$value) {
                return 
$options['bam'].'['.$value.']';
            },
        ));

        
$expected = array(
            
'foo' => 'baz[bar]',
            
'bam' => 'baz',
        );

        
$this->assertEquals($expected$this->resolver->resolve(array()));

        
$expected = array(
            
'foo' => 'boo[custom]',
            
'bam' => 'boo',
        );

        
$this->assertEquals($expected$this->resolver->resolve(array(
            
'foo' => 'custom',
            
'bam' => 'boo',
        )));
    }

    public function 
testResolveWithoutOptionSucceedsIfRequiredAndDefaultValue()
    {
        
$this->resolver->setRequired(array(
            
'foo',
        ));
        
$this->resolver->setDefaults(array(
            
'foo' => 'bar',
        ));

        
$this->assertEquals(array(
            
'foo' => 'bar'
        
), $this->resolver->resolve(array()));
    }

    public function 
testResolveWithoutOptionSucceedsIfDefaultValueAndRequired()
    {
        
$this->resolver->setDefaults(array(
            
'foo' => 'bar',
        ));
        
$this->resolver->setRequired(array(
            
'foo',
        ));

        
$this->assertEquals(array(
            
'foo' => 'bar'
        
), $this->resolver->resolve(array()));
    }

    public function 
testResolveSucceedsIfOptionRequiredAndValueAllowed()
    {
        
$this->resolver->setRequired(array(
            
'one''two',
        ));
        
$this->resolver->setAllowedValues(array(
            
'two' => array('2'),
        ));

        
$options = array(
            
'one' => '1',
            
'two' => '2'
        
);

        
$this->assertEquals($options$this->resolver->resolve($options));
    }

    public function 
testClone()
    {
        
$this->resolver->setDefaults(array('one' => '1'));

        
$clone = clone $this->resolver;

        
// Changes after cloning don't affect each other
        
$this->resolver->setDefaults(array('two' => '2'));
        
$clone->setDefaults(array('three' => '3'));

        
$this->assertEquals(array(
            
'one' => '1',
            
'two' => '2',
        ), 
$this->resolver->resolve());

        
$this->assertEquals(array(
            
'one' => '1',
            
'three' => '3',
        ), 
$clone->resolve());
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0051 ]--