forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			107 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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\Validator\Tests\Constraints;
 | |
| 
 | |
| use Symfony\Component\Validator\Constraints\Bic;
 | |
| use Symfony\Component\Validator\Constraints\BicValidator;
 | |
| 
 | |
| class BicValidatorTest extends AbstractConstraintValidatorTest
 | |
| {
 | |
|     protected function createValidator()
 | |
|     {
 | |
|         return new BicValidator();
 | |
|     }
 | |
| 
 | |
|     public function testNullIsValid()
 | |
|     {
 | |
|         $this->validator->validate(null, new Bic());
 | |
| 
 | |
|         $this->assertNoViolation();
 | |
|     }
 | |
| 
 | |
|     public function testEmptyStringIsValid()
 | |
|     {
 | |
|         $this->validator->validate('', new Bic());
 | |
| 
 | |
|         $this->assertNoViolation();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @dataProvider getValidBics
 | |
|      */
 | |
|     public function testValidBics($bic)
 | |
|     {
 | |
|         $this->validator->validate($bic, new Bic());
 | |
| 
 | |
|         $this->assertNoViolation();
 | |
|     }
 | |
| 
 | |
|     public function getValidBics()
 | |
|     {
 | |
|         // http://formvalidation.io/validators/bic/
 | |
|         return array(
 | |
|             array('ASPKAT2LXXX'),
 | |
|             array('ASPKAT2L'),
 | |
|             array('DSBACNBXSHA'),
 | |
|             array('UNCRIT2B912'),
 | |
|             array('DABADKKK'),
 | |
|             array('RZOOAT2L303'),
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @dataProvider getInvalidBics
 | |
|      */
 | |
|     public function testInvalidBics($bic, $code)
 | |
|     {
 | |
|         $constraint = new Bic(array(
 | |
|             'message' => 'myMessage',
 | |
|         ));
 | |
| 
 | |
|         $this->validator->validate($bic, $constraint);
 | |
| 
 | |
|         $this->buildViolation('myMessage')
 | |
|             ->setParameter('{{ value }}', '"'.$bic.'"')
 | |
|             ->setCode($code)
 | |
|             ->assertRaised();
 | |
|     }
 | |
| 
 | |
|     public function getInvalidBics()
 | |
|     {
 | |
|         return array(
 | |
|             array('DEUTD', Bic::INVALID_LENGTH_ERROR),
 | |
|             array('ASPKAT2LXX', Bic::INVALID_LENGTH_ERROR),
 | |
|             array('ASPKAT2LX', Bic::INVALID_LENGTH_ERROR),
 | |
|             array('ASPKAT2LXXX1', Bic::INVALID_LENGTH_ERROR),
 | |
|             array('DABADKK', Bic::INVALID_LENGTH_ERROR),
 | |
|             array('1SBACNBXSHA', Bic::INVALID_BANK_CODE_ERROR),
 | |
|             array('RZ00AT2L303', Bic::INVALID_BANK_CODE_ERROR),
 | |
|             array('D2BACNBXSHA', Bic::INVALID_BANK_CODE_ERROR),
 | |
|             array('DS3ACNBXSHA', Bic::INVALID_BANK_CODE_ERROR),
 | |
|             array('DSB4CNBXSHA', Bic::INVALID_BANK_CODE_ERROR),
 | |
|             array('DEUT12HH', Bic::INVALID_COUNTRY_CODE_ERROR),
 | |
|             array('DSBAC6BXSHA', Bic::INVALID_COUNTRY_CODE_ERROR),
 | |
|             array('DSBA5NBXSHA', Bic::INVALID_COUNTRY_CODE_ERROR),
 | |
| 
 | |
|             // branch code error
 | |
|             array('THISSVAL1D]', Bic::INVALID_CHARACTERS_ERROR),
 | |
| 
 | |
|             // location code error
 | |
|             array('DEUTDEF]', Bic::INVALID_CHARACTERS_ERROR),
 | |
| 
 | |
|             // lower case values are invalid
 | |
|             array('DeutAT2LXXX', Bic::INVALID_CASE_ERROR),
 | |
|             array('DEUTAT2lxxx', Bic::INVALID_CASE_ERROR),
 | |
|         );
 | |
|     }
 | |
| }
 |