cacert-testmgr/external/ZendFramework-1.9.5/tests/Zend/Validate/RegexTest.php
Markus Warg 8398c9048d initially import ZendFramework-1.9.5 into repository
code was modified slightly, so the code differs from the original downloadable 1.9.5 version
2010-03-31 10:12:32 +02:00

116 lines
3.2 KiB
PHP

<?php
/**
* Zend Framework
*
* LICENSE
*
* This source file is subject to the new BSD license that is bundled
* with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://framework.zend.com/license/new-bsd
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@zend.com so we can send you a copy immediately.
*
* @category Zend
* @package Zend_Validate
* @subpackage UnitTests
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id: RegexTest.php 17363 2009-08-03 07:40:18Z bkarwin $
*/
/**
* Test helper
*/
require_once dirname(__FILE__) . '/../../TestHelper.php';
/**
* @see Zend_Validate_Regex
*/
require_once 'Zend/Validate/Regex.php';
/**
* @category Zend
* @package Zend_Validate
* @subpackage UnitTests
* @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @group Zend_Validate
*/
class Zend_Validate_RegexTest extends PHPUnit_Framework_TestCase
{
/**
* Ensures that the validator follows expected behavior
*
* @return void
*/
public function testBasic()
{
/**
* The elements of each array are, in order:
* - pattern
* - expected validation result
* - array of test input values
*/
$valuesExpected = array(
array('/[a-z]/', true, array('abc123', 'foo', 'a', 'z')),
array('/[a-z]/', false, array('123', 'A'))
);
foreach ($valuesExpected as $element) {
$validator = new Zend_Validate_Regex($element[0]);
foreach ($element[2] as $input) {
$this->assertEquals($element[1], $validator->isValid($input));
}
}
}
/**
* Ensures that getMessages() returns expected default value
*
* @return void
*/
public function testGetMessages()
{
$validator = new Zend_Validate_Regex('/./');
$this->assertEquals(array(), $validator->getMessages());
}
/**
* Ensures that getPattern() returns expected value
*
* @return void
*/
public function testGetPattern()
{
$validator = new Zend_Validate_Regex('/./');
$this->assertEquals('/./', $validator->getPattern());
}
/**
* Ensures that a bad pattern results in a thrown exception upon isValid() call
*
* @return void
*/
public function testBadPattern()
{
$validator = new Zend_Validate_Regex('/');
try {
$validator->isValid('anything');
$this->fail('Expected Zend_Validate_Exception not thrown for bad pattern');
} catch (Zend_Validate_Exception $e) {
$this->assertContains('Internal error matching pattern', $e->getMessage());
}
}
/**
* @ZF-4352
*/
public function testNonStringValidation()
{
$validator = new Zend_Validate_Regex('/');
$this->assertFalse($validator->isValid(array(1 => 1)));
}
}