formmm
This commit is contained in:
		
							
								
								
									
										262
									
								
								tests/form/FormFieldTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										262
									
								
								tests/form/FormFieldTest.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,262 @@
 | 
			
		||||
<?php
 | 
			
		||||
/**
 | 
			
		||||
 * @copyright NetMonsters <team@netmonsters.ru>
 | 
			
		||||
 * @link http://netmonsters.ru 
 | 
			
		||||
 * @package Majestic
 | 
			
		||||
 * @subpackage form
 | 
			
		||||
 * @since 2010-04-25
 | 
			
		||||
 * @version SVN: $Id$
 | 
			
		||||
 * @filesource $URL$
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/iValidator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/Validator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/NotEmptyValidator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/RegexValidator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/EmailValidator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/form/Form.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/form/FormField.php';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FormFieldTest extends PHPUnit_Framework_TestCase
 | 
			
		||||
{
 | 
			
		||||
    public function setUp()
 | 
			
		||||
    {
 | 
			
		||||
        $this->ff = new NotEmptyForm;
 | 
			
		||||
        $this->obj_fields = $this->ff->getProp('fields');
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testSetRequired()
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertNotNull($this->obj_fields['login']->setRequired(1));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testSetIgnored()
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertNotNull($this->obj_fields['login']->setIgnored(1));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testIsIgnored()
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertNotNull($this->obj_fields['login']->isIgnored());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testIsRequired()
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertNotNull($this->obj_fields['login']->isRequired());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testAddValidators()
 | 
			
		||||
    {
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'NotEmpty' => new NotEmptyValidator(),
 | 
			
		||||
                           'Email' => new EmailValidator()
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertInstanceOf('iValidator', $fields['NotEmpty']);
 | 
			
		||||
        $this->assertInstanceOf('iValidator', $fields['Email']);
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields['login']->addValidators($fields);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testAddValidatorObject()
 | 
			
		||||
    {
 | 
			
		||||
        $validator = new NotEmptyValidator;
 | 
			
		||||
        
 | 
			
		||||
        $this->assertInstanceOf('iValidator', new NotEmptyValidator);
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields['login']->addValidator($validator);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testAddValidatorString()
 | 
			
		||||
    {
 | 
			
		||||
        $validator = 'NotEmpty';
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields['login']->addValidator($validator);
 | 
			
		||||
        
 | 
			
		||||
        $this->assertAttributeContainsOnly($validator . 'Validator', 'validators', $this->obj_fields['login']);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testAddValidatorElse()
 | 
			
		||||
    {
 | 
			
		||||
        $validator = true;
 | 
			
		||||
        
 | 
			
		||||
        $this->setExpectedException('Exception');
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields['login']->addValidator($validator);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function testAddFilters()
 | 
			
		||||
    {
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'fff2' => new loginFilter(),
 | 
			
		||||
                           'fff1' => 'login'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertInstanceOf('iFilter', $fields['fff2']);
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields['login']->addFilters($fields);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testAddFilterObject()
 | 
			
		||||
    {
 | 
			
		||||
        $filter =   new loginFilter;
 | 
			
		||||
        
 | 
			
		||||
        $this->assertInstanceOf('iFilter', $filter);
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields['login']->addFilter($filter);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testAddFilterString()
 | 
			
		||||
    {
 | 
			
		||||
        $this->obj_fields['login']->addFilter('login');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertAttributeContainsOnly('loginFilter', 'filters', $this->obj_fields['login']);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testAddFilterElse()
 | 
			
		||||
    {
 | 
			
		||||
        $this->setExpectedException('Exception');
 | 
			
		||||
        
 | 
			
		||||
        $filter = new NotEmptyValidator;
 | 
			
		||||
        $this->obj_fields['login']->addFilter($filter);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function testGetValueArray()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
         
 | 
			
		||||
        $test_array = array(
 | 
			
		||||
                               'login'=> 'login',
 | 
			
		||||
                               'password'=>  'password'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(1, $form->isValid($test_array));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertTrue($this->obj_fields['login']->isValid($test_array));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertAttributeInternalType('array', 'value', $this->obj_fields['login']);
 | 
			
		||||
        $this->assertArrayHasKey('login', $this->obj_fields['login']->getSourceValue());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testGetValueString()
 | 
			
		||||
    {
 | 
			
		||||
        $test_array = array(
 | 
			
		||||
                               'login'=> 'login',
 | 
			
		||||
                               'password'=>  'password'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertTrue($this->obj_fields['login']->isValid($test_array['login']));
 | 
			
		||||
        $this->assertAttributeNotInternalType('array', 'value', $this->obj_fields['login']);
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('login',$this->obj_fields['login']->getSourceValue());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testGetMessage()
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertNotNull($this->obj_fields['login']->getMessage());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testIsValidMissing1()
 | 
			
		||||
    {
 | 
			
		||||
        $test_array = array(
 | 
			
		||||
                               'login'=> '',
 | 
			
		||||
                               'password'=>  ''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->setExpectedException('Exception');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(1, $this->obj_fields['login']->isValid($test_array));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testIsValidMissing11()
 | 
			
		||||
    {
 | 
			
		||||
        $test_array = array(
 | 
			
		||||
                               'login'=> '',
 | 
			
		||||
                               'password'=>  ''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields['login']->__construct('ssssssss');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertFalse($this->obj_fields['login']->isValid($test_array));
 | 
			
		||||
    }
 | 
			
		||||
   
 | 
			
		||||
    public function testIsValidMissing2()
 | 
			
		||||
    {
 | 
			
		||||
        $this->obj_fields2 = $this->ff->getProp('fields');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertFalse($this->obj_fields2['login']->isValid(''));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testIsValidMissing3()
 | 
			
		||||
    {
 | 
			
		||||
        $this->obj_fields2 = $this->ff->getProp('fields');
 | 
			
		||||
        
 | 
			
		||||
        $this->obj_fields2['login']->setRequired(false);
 | 
			
		||||
        $this->obj_fields2['login']->isValid('');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertFalse($this->obj_fields2['login']->isRequired());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testFilterValue()
 | 
			
		||||
    {
 | 
			
		||||
        $this->obj_fields['login']->isValid('login');
 | 
			
		||||
        $this->obj_fields['login']->addFilter('login');
 | 
			
		||||
        
 | 
			
		||||
        $lf = new loginFilter;
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame($this->obj_fields['login']->getValue(), $lf->filter('login'));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NotEmptyForm extends Form
 | 
			
		||||
{
 | 
			
		||||
	public function init()
 | 
			
		||||
	{
 | 
			
		||||
            ///*
 | 
			
		||||
            $validator = new NotEmptyValidator();
 | 
			
		||||
            $validator->setMessage('Enter login name.');
 | 
			
		||||
            $this->addField('login')->addValidator($validator);
 | 
			
		||||
            
 | 
			
		||||
            // User password
 | 
			
		||||
            $validator = new NotEmptyValidator();
 | 
			
		||||
            $validator->setMessage('Enter your password.');
 | 
			
		||||
            $this->addField('password')->addValidator($validator);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        public function getProp($name)
 | 
			
		||||
        {
 | 
			
		||||
            return $this->$name;
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
interface iFilter
 | 
			
		||||
{
 | 
			
		||||
    public function isValid($value, $context = null);
 | 
			
		||||
    public function getMessage();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Class loginFilter implements iFilter
 | 
			
		||||
{
 | 
			
		||||
    public function filter($value)
 | 
			
		||||
    {
 | 
			
		||||
        return $value;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function isValid($value, $context = null)
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function getMessage()
 | 
			
		||||
    {
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										282
									
								
								tests/form/FormTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										282
									
								
								tests/form/FormTest.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,282 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * To change this template, choose Tools | Templates
 | 
			
		||||
 * and open the template in the editor.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/form/Form.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/form/FormField.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/session/Session.php';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class FormTest extends PHPUnit_Framework_TestCase
 | 
			
		||||
{
 | 
			
		||||
    public function testIsValidWithNotArray()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $this->setExpectedException('Exception');
 | 
			
		||||
        $form->isValid('');
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testIsValidCorrectFields()
 | 
			
		||||
    {
 | 
			
		||||
         $form = new NotEmptyForm();
 | 
			
		||||
         
 | 
			
		||||
         $test_array = array(
 | 
			
		||||
                               'login'=> 'login',
 | 
			
		||||
                               'password'=>  'password'
 | 
			
		||||
         );
 | 
			
		||||
         
 | 
			
		||||
         $this->assertSame(1, $form->isValid($test_array));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testIsValidMissingField()
 | 
			
		||||
    {
 | 
			
		||||
         $form = new NotEmptyForm();
 | 
			
		||||
         
 | 
			
		||||
         $test_array = array(
 | 
			
		||||
                                'password'=>  'password'
 | 
			
		||||
         );
 | 
			
		||||
         
 | 
			
		||||
         $this->assertSame(0, $form->isValid($test_array));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testGetValues()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> 'login',
 | 
			
		||||
                           'password'=>'password'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $obj_fields = $form->getProp('fields');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertTrue(!$obj_fields['login']->isIgnored());
 | 
			
		||||
        $this->assertTrue(!$obj_fields['password']->isIgnored());
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(1, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals($fields, $form->getValues());
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
        
 | 
			
		||||
    public function testGetValueCorrect()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> 'login',
 | 
			
		||||
                           'password'=>'password'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(1, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals($fields['login'], $form->getValue('login'));
 | 
			
		||||
        $this->assertEquals($fields['password'], $form->getValue('password'));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    public function testGetValueMissing()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> ''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(0, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('', $form->getValue('login'));
 | 
			
		||||
        $this->assertEquals('', $form->getValue('password'));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function testGetValueMissingFieldLogin()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> ''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(0, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertFalse($form->getValue('loginw'));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('', $form->getValue('passwordw'));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function testGetValueMissingFieldPassword()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> ''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(0, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertFalse($form->getValue('loginw'));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('', $form->getValue('password'));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testGetMessageTypeCorrect()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> 'login',
 | 
			
		||||
                           'password'=>'password'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals(1, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('success', Form::SUCCESS);
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals($form->getMessageType(), Form::SUCCESS);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testGetMessageTypeMissing()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> '',
 | 
			
		||||
                           'password'=>''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(0, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(0, $form->getProp('valid'));
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('error', Form::ERROR);
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals($form->getMessageType(), Form::ERROR);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function testGetMessageCorrect()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> 'login',
 | 
			
		||||
                           'password'=>'password'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(1, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $messages   =   $form->getProp('messages');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals($messages[Form::SUCCESS], $form->getMessage());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function testGetMessageMissing()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> ''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(0, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $messages   =   $form->getProp('messages');//attributeEq ?
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals($messages[Form::ERROR], $form->getMessage());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    public function testSetSuccessMessage()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> 'login',
 | 
			
		||||
                           'password'=>'password'
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(1, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $message = 'Form data valid';
 | 
			
		||||
        
 | 
			
		||||
        $form->setSuccessMessage($message);
 | 
			
		||||
        
 | 
			
		||||
        $this->assertNotNull($form->getMessage());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testSetErrorMessage()
 | 
			
		||||
    {
 | 
			
		||||
        $form = new NotEmptyForm();
 | 
			
		||||
        
 | 
			
		||||
        $fields = array(
 | 
			
		||||
                           'login'=> ''
 | 
			
		||||
        );
 | 
			
		||||
        
 | 
			
		||||
        $this->assertSame(0, $form->isValid($fields));
 | 
			
		||||
        
 | 
			
		||||
        $message = 'Form data invalid';
 | 
			
		||||
        
 | 
			
		||||
        $form->setErrorMessage($message);
 | 
			
		||||
        
 | 
			
		||||
        $this->assertNotNull($form->getMessage());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/iValidator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/Validator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/NotEmptyValidator.php';
 | 
			
		||||
 | 
			
		||||
class NotEmptyForm extends Form
 | 
			
		||||
{
 | 
			
		||||
	public function init()
 | 
			
		||||
	{
 | 
			
		||||
            ///*
 | 
			
		||||
            $validator = new NotEmptyValidator();
 | 
			
		||||
            $validator->setMessage('Enter login name.');
 | 
			
		||||
            $this->addField('login')->addValidator($validator);
 | 
			
		||||
            
 | 
			
		||||
            // User password
 | 
			
		||||
            $validator = new NotEmptyValidator();
 | 
			
		||||
            $validator->setMessage('Enter your password.');
 | 
			
		||||
            $this->addField('password')->addValidator($validator);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        public function getProp($name)
 | 
			
		||||
        {
 | 
			
		||||
            return $this->$name;
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/RegexValidator.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/validator/EmailValidator.php';
 | 
			
		||||
 | 
			
		||||
class DiffForm extends Form
 | 
			
		||||
{
 | 
			
		||||
	public function init()
 | 
			
		||||
	{
 | 
			
		||||
            ///*
 | 
			
		||||
            $validator = new EmailValidator();
 | 
			
		||||
            $validator->setMessage('Enter login name.');
 | 
			
		||||
            
 | 
			
		||||
            $this->addField('login')->addValidator($validator);
 | 
			
		||||
            
 | 
			
		||||
            // User password
 | 
			
		||||
            $validator = new NotEmptyValidator();
 | 
			
		||||
            $validator->setMessage('Enter your password.');
 | 
			
		||||
            $this->addField('password')->addValidator($validator);
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        public function getProp($name)
 | 
			
		||||
        {
 | 
			
		||||
            return $this->$name;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										84
									
								
								tests/form/FormViewHelperTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								tests/form/FormViewHelperTest.php
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,84 @@
 | 
			
		||||
<?php
 | 
			
		||||
/**
 | 
			
		||||
 * @copyright NetMonsters <team@netmonsters.ru>
 | 
			
		||||
 * @link http://netmonsters.ru
 | 
			
		||||
 * @package Majestic
 | 
			
		||||
 * @subpackage Form
 | 
			
		||||
 * @since 2010-04-25
 | 
			
		||||
 * @version SVN: $Id$
 | 
			
		||||
 * @filesource $URL$
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/form/Form.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/form/FormField.php';
 | 
			
		||||
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/view/iView.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/view/PHPView.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/view/helpers/ViewHelper.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/form/FormViewHelper.php';
 | 
			
		||||
require_once '/var/www/majesticV/lib/core/session/Session.php';
 | 
			
		||||
 | 
			
		||||
class FormViewHelperTest extends PHPUnit_Framework_TestCase
 | 
			
		||||
{
 | 
			
		||||
    public function setUp()
 | 
			
		||||
    {
 | 
			
		||||
        Session::start();
 | 
			
		||||
                
 | 
			
		||||
        $phpview = new PHPView(array('path' => 'document_root'));
 | 
			
		||||
        
 | 
			
		||||
        $this->form = new FormViewHelper($phpview);
 | 
			
		||||
        
 | 
			
		||||
        $_SESSION['path'] = array(
 | 
			
		||||
                                'values'=>array(
 | 
			
		||||
                                                'path'=>'path'
 | 
			
		||||
                                 ),
 | 
			
		||||
                                 'messages'=>array(
 | 
			
		||||
                                                'path'=>'path'
 | 
			
		||||
                                 )
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testForm2()
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertNull($this->assertAttributeEquals(null,'data',$this->form));
 | 
			
		||||
        
 | 
			
		||||
        $this->setExpectedException('Exception');
 | 
			
		||||
        
 | 
			
		||||
        $this->form->form(null);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testForm1()
 | 
			
		||||
    {
 | 
			
		||||
        $this->assertNull($this->assertAttributeEquals(null,'data',$this->form)); //аналог getProp
 | 
			
		||||
        
 | 
			
		||||
        $this->form->form('path');
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testValueIsset()
 | 
			
		||||
    {
 | 
			
		||||
        $this->form->form('path');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('path', $this->form->value('path'));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testValueNotIsset()
 | 
			
		||||
    {
 | 
			
		||||
        $this->form->form('path');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEquals('param2', $this->form->value('param1','param2'));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testMessageIsset()
 | 
			
		||||
    {
 | 
			
		||||
        $this->form->form('path');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertNotEmpty($this->form->message('path'));
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function testMessageNotIsset()
 | 
			
		||||
    {
 | 
			
		||||
        $this->form->form('path');
 | 
			
		||||
        
 | 
			
		||||
        $this->assertEmpty($this->form->message(''));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user