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

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/it-man.ztu.edu.ua/src/vendor/symfony/dom-crawler/Tests/Field/   drwxr-xr-x
Free 116.6 GB of 200.55 GB (58.14%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ChoiceFormFieldTest.php (18.04 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\DomCrawler\Tests\Field;

use 
Symfony\Component\DomCrawler\Field\ChoiceFormField;

class 
ChoiceFormFieldTest extends FormFieldTestCase
{
    public function 
testInitialize()
    {
        
$node $this->createNode('textarea''');
        try {
            
$field = new ChoiceFormField($node);
            
$this->fail('->initialize() throws a \LogicException if the node is not an input or a select');
        } catch (\
LogicException $e) {
            
$this->assertTrue(true'->initialize() throws a \LogicException if the node is not an input or a select');
        }

        
$node $this->createNode('input''', array('type' => 'text'));
        try {
            
$field = new ChoiceFormField($node);
            
$this->fail('->initialize() throws a \LogicException if the node is an input with a type different from checkbox or radio');
        } catch (\
LogicException $e) {
            
$this->assertTrue(true'->initialize() throws a \LogicException if the node is an input with a type different from checkbox or radio');
        }
    }

    public function 
testGetType()
    {
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'foo'));
        
$field = new ChoiceFormField($node);

        
$this->assertEquals('radio'$field->getType(), '->getType() returns radio for radio buttons');

        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''value' => 'foo'));
        
$field = new ChoiceFormField($node);

        
$this->assertEquals('checkbox'$field->getType(), '->getType() returns radio for a checkbox');

        
$node $this->createNode('select''');
        
$field = new ChoiceFormField($node);

        
$this->assertEquals('select'$field->getType(), '->getType() returns radio for a select');
    }

    public function 
testIsMultiple()
    {
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'foo'));
        
$field = new ChoiceFormField($node);

        
$this->assertFalse($field->isMultiple(), '->isMultiple() returns false for radio buttons');

        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''value' => 'foo'));
        
$field = new ChoiceFormField($node);

        
$this->assertFalse($field->isMultiple(), '->isMultiple() returns false for checkboxes');

        
$node $this->createNode('select''');
        
$field = new ChoiceFormField($node);

        
$this->assertFalse($field->isMultiple(), '->isMultiple() returns false for selects without the multiple attribute');

        
$node $this->createNode('select''', array('multiple' => 'multiple'));
        
$field = new ChoiceFormField($node);

        
$this->assertTrue($field->isMultiple(), '->isMultiple() returns true for selects with the multiple attribute');

        
$node $this->createNode('select''', array('multiple' => ''));
        
$field = new ChoiceFormField($node);

        
$this->assertTrue($field->isMultiple(), '->isMultiple() returns true for selects with an empty multiple attribute');
    }

    public function 
testSelects()
    {
        
$node $this->createSelectNode(array('foo' => false'bar' => false));
        
$field = new ChoiceFormField($node);

        
$this->assertTrue($field->hasValue(), '->hasValue() returns true for selects');
        
$this->assertEquals('foo'$field->getValue(), '->getValue() returns the first option if none are selected');
        
$this->assertFalse($field->isMultiple(), '->isMultiple() returns false when no multiple attribute is defined');

        
$node $this->createSelectNode(array('foo' => false'bar' => true));
        
$field = new ChoiceFormField($node);

        
$this->assertEquals('bar'$field->getValue(), '->getValue() returns the selected option');

        
$field->setValue('foo');
        
$this->assertEquals('foo'$field->getValue(), '->setValue() changes the selected option');

        try {
            
$field->setValue('foobar');
            
$this->fail('->setValue() throws an \InvalidArgumentException if the value is not one of the selected options');
        } catch (\
InvalidArgumentException $e) {
            
$this->assertTrue(true'->setValue() throws an \InvalidArgumentException if the value is not one of the selected options');
        }

        try {
            
$field->setValue(array('foobar'));
            
$this->fail('->setValue() throws an \InvalidArgumentException if the value is an array');
        } catch (\
InvalidArgumentException $e) {
            
$this->assertTrue(true'->setValue() throws an \InvalidArgumentException if the value is an array');
        }
    }

    public function 
testSelectWithEmptyBooleanAttribute()
    {
        
$node $this->createSelectNode(array('foo' => false'bar' => true), array(), '');
        
$field = new ChoiceFormField($node);

        
$this->assertEquals('bar'$field->getValue());
    }

    public function 
testSelectIsDisabled()
    {
        
$node $this->createSelectNode(array('foo' => false'bar' => true), array('disabled' => 'disabled'));
        
$field = new ChoiceFormField($node);

        
$this->assertTrue($field->isDisabled(), '->isDisabled() returns true for selects with a disabled attribute');
    }

    public function 
testMultipleSelects()
    {
        
$node $this->createSelectNode(array('foo' => false'bar' => false), array('multiple' => 'multiple'));
        
$field = new ChoiceFormField($node);

        
$this->assertEquals(array(), $field->getValue(), '->setValue() returns an empty array if multiple is true and no option is selected');

        
$field->setValue('foo');
        
$this->assertEquals(array('foo'), $field->getValue(), '->setValue() returns an array of options if multiple is true');

        
$field->setValue('bar');
        
$this->assertEquals(array('bar'), $field->getValue(), '->setValue() returns an array of options if multiple is true');

        
$field->setValue(array('foo''bar'));
        
$this->assertEquals(array('foo''bar'), $field->getValue(), '->setValue() returns an array of options if multiple is true');

        
$node $this->createSelectNode(array('foo' => true'bar' => true), array('multiple' => 'multiple'));
        
$field = new ChoiceFormField($node);

        
$this->assertEquals(array('foo''bar'), $field->getValue(), '->getValue() returns the selected options');

        try {
            
$field->setValue(array('foobar'));
            
$this->fail('->setValue() throws an \InvalidArgumentException if the value is not one of the options');
        } catch (\
InvalidArgumentException $e) {
            
$this->assertTrue(true'->setValue() throws an \InvalidArgumentException if the value is not one of the options');
        }
    }

    public function 
testRadioButtons()
    {
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'foo'));
        
$field = new ChoiceFormField($node);
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'bar'));
        
$field->addChoice($node);

        
$this->assertFalse($field->hasValue(), '->hasValue() returns false when no radio button is selected');
        
$this->assertNull($field->getValue(), '->getValue() returns null if no radio button is selected');
        
$this->assertFalse($field->isMultiple(), '->isMultiple() returns false for radio buttons');

        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'foo'));
        
$field = new ChoiceFormField($node);
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'bar''checked' => 'checked'));
        
$field->addChoice($node);

        
$this->assertTrue($field->hasValue(), '->hasValue() returns true when a radio button is selected');
        
$this->assertEquals('bar'$field->getValue(), '->getValue() returns the value attribute of the selected radio button');

        
$field->setValue('foo');
        
$this->assertEquals('foo'$field->getValue(), '->setValue() changes the selected radio button');

        try {
            
$field->setValue('foobar');
            
$this->fail('->setValue() throws an \InvalidArgumentException if the value is not one of the radio button values');
        } catch (\
InvalidArgumentException $e) {
            
$this->assertTrue(true'->setValue() throws an \InvalidArgumentException if the value is not one of the radio button values');
        }
    }

    public function 
testRadioButtonsWithEmptyBooleanAttribute()
    {
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'foo'));
        
$field = new ChoiceFormField($node);
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'bar''checked' => ''));
        
$field->addChoice($node);

        
$this->assertTrue($field->hasValue(), '->hasValue() returns true when a radio button is selected');
        
$this->assertEquals('bar'$field->getValue(), '->getValue() returns the value attribute of the selected radio button');
    }

    public function 
testRadioButtonIsDisabled()
    {
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'foo''disabled' => 'disabled'));
        
$field = new ChoiceFormField($node);
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'bar'));
        
$field->addChoice($node);
        
$node $this->createNode('input''', array('type' => 'radio''name' => 'name''value' => 'baz''disabled' => ''));
        
$field->addChoice($node);

        
$field->select('foo');
        
$this->assertEquals('foo'$field->getValue(), '->getValue() returns the value attribute of the selected radio button');
        
$this->assertTrue($field->isDisabled());

        
$field->select('bar');
        
$this->assertEquals('bar'$field->getValue(), '->getValue() returns the value attribute of the selected radio button');
        
$this->assertFalse($field->isDisabled());

        
$field->select('baz');
        
$this->assertEquals('baz'$field->getValue(), '->getValue() returns the value attribute of the selected radio button');
        
$this->assertTrue($field->isDisabled());
    }

    public function 
testCheckboxes()
    {
        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name'));
        
$field = new ChoiceFormField($node);

        
$this->assertFalse($field->hasValue(), '->hasValue() returns false when the checkbox is not checked');
        
$this->assertNull($field->getValue(), '->getValue() returns null if the checkbox is not checked');
        
$this->assertFalse($field->isMultiple(), '->hasValue() returns false for checkboxes');
        try {
            
$field->addChoice(new \DOMElement('input'));
            
$this->fail('->addChoice() throws a \LogicException for checkboxes');
        } catch (\
LogicException $e) {
            
$this->assertTrue(true'->initialize() throws a \LogicException for checkboxes');
        }

        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''checked' => 'checked'));
        
$field = new ChoiceFormField($node);

        
$this->assertTrue($field->hasValue(), '->hasValue() returns true when the checkbox is checked');
        
$this->assertEquals('on'$field->getValue(), '->getValue() returns 1 if the checkbox is checked and has no value attribute');

        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''checked' => 'checked''value' => 'foo'));
        
$field = new ChoiceFormField($node);

        
$this->assertEquals('foo'$field->getValue(), '->getValue() returns the value attribute if the checkbox is checked');

        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''checked' => 'checked''value' => 'foo'));
        
$field = new ChoiceFormField($node);

        
$field->setValue(false);
        
$this->assertNull($field->getValue(), '->setValue() unchecks the checkbox is value is false');

        
$field->setValue(true);
        
$this->assertEquals('foo'$field->getValue(), '->setValue() checks the checkbox is value is true');

        try {
            
$field->setValue('bar');
            
$this->fail('->setValue() throws an \InvalidArgumentException if the value is not one from the value attribute');
        } catch (\
InvalidArgumentException $e) {
            
$this->assertTrue(true'->setValue() throws an \InvalidArgumentException if the value is not one from the value attribute');
        }
    }

    public function 
testCheckboxWithEmptyBooleanAttribute()
    {
        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''value' => 'foo''checked' => ''));
        
$field = new ChoiceFormField($node);

        
$this->assertTrue($field->hasValue(), '->hasValue() returns true when the checkbox is checked');
        
$this->assertEquals('foo'$field->getValue());
    }

    public function 
testTick()
    {
        
$node $this->createSelectNode(array('foo' => false'bar' => false));
        
$field = new ChoiceFormField($node);

        try {
            
$field->tick();
            
$this->fail('->tick() throws a \LogicException for select boxes');
        } catch (\
LogicException $e) {
            
$this->assertTrue(true'->tick() throws a \LogicException for select boxes');
        }

        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name'));
        
$field = new ChoiceFormField($node);
        
$field->tick();
        
$this->assertEquals('on'$field->getValue(), '->tick() ticks checkboxes');
    }

    public function 
testUntick()
    {
        
$node $this->createSelectNode(array('foo' => false'bar' => false));
        
$field = new ChoiceFormField($node);

        try {
            
$field->untick();
            
$this->fail('->untick() throws a \LogicException for select boxes');
        } catch (\
LogicException $e) {
            
$this->assertTrue(true'->untick() throws a \LogicException for select boxes');
        }

        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''checked' => 'checked'));
        
$field = new ChoiceFormField($node);
        
$field->untick();
        
$this->assertNull($field->getValue(), '->untick() unticks checkboxes');
    }

    public function 
testSelect()
    {
        
$node $this->createNode('input''', array('type' => 'checkbox''name' => 'name''checked' => 'checked'));
        
$field = new ChoiceFormField($node);
        
$field->select(true);
        
$this->assertEquals('on'$field->getValue(), '->select() changes the value of the field');
        
$field->select(false);
        
$this->assertNull($field->getValue(), '->select() changes the value of the field');

        
$node $this->createSelectNode(array('foo' => false'bar' => false));
        
$field = new ChoiceFormField($node);
        
$field->select('foo');
        
$this->assertEquals('foo'$field->getValue(), '->select() changes the selected option');
    }

    public function 
testOptionWithNoValue()
    {
        
$node $this->createSelectNodeWithEmptyOption(array('foo' => false'bar' => false));
        
$field = new ChoiceFormField($node);
        
$this->assertEquals('foo'$field->getValue());

        
$node $this->createSelectNodeWithEmptyOption(array('foo' => false'bar' => true));
        
$field = new ChoiceFormField($node);
        
$this->assertEquals('bar'$field->getValue());
        
$field->select('foo');
        
$this->assertEquals('foo'$field->getValue(), '->select() changes the selected option');
    }

    public function 
testDisableValidation()
    {
        
$node $this->createSelectNode(array('foo' => false'bar' => false));
        
$field = new ChoiceFormField($node);
        
$field->disableValidation();
        
$field->setValue('foobar');
        
$this->assertEquals('foobar'$field->getValue(), '->disableValidation() allows to set a value which is not in the selected options.');

        
$node $this->createSelectNode(array('foo' => false'bar' => false), array('multiple' => 'multiple'));
        
$field = new ChoiceFormField($node);
        
$field->disableValidation();
        
$field->setValue(array('foobar'));
        
$this->assertEquals(array('foobar'), $field->getValue(), '->disableValidation() allows to set a value which is not in the selected options.');
    }

    public function 
testSelectWithEmptyValue()
    {
        
$node $this->createSelectNodeWithEmptyOption(array('' => true'Female' => false'Male' => false));
        
$field = new ChoiceFormField($node);

        
$this->assertSame(''$field->getValue());
    }

    protected function 
createSelectNode($options$attributes = array(), $selectedAttrText 'selected')
    {
        
$document = new \DOMDocument();
        
$node $document->createElement('select');

        foreach (
$attributes as $name => $value) {
            
$node->setAttribute($name$value);
        }
        
$node->setAttribute('name''name');

        foreach (
$options as $value => $selected) {
            
$option $document->createElement('option'$value);
            
$option->setAttribute('value'$value);
            if (
$selected) {
                
$option->setAttribute('selected'$selectedAttrText);
            }
            
$node->appendChild($option);
        }

        return 
$node;
    }

    protected function 
createSelectNodeWithEmptyOption($options$attributes = array())
    {
        
$document = new \DOMDocument();
        
$node $document->createElement('select');

        foreach (
$attributes as $name => $value) {
            
$node->setAttribute($name$value);
        }
        
$node->setAttribute('name''name');

        foreach (
$options as $value => $selected) {
            
$option $document->createElement('option'$value);
            if (
$selected) {
                
$option->setAttribute('selected''selected');
            }
            
$node->appendChild($option);
        }

        return 
$node;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

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