|
|
@@ -89,6 +89,116 @@ class Zend_Validate_InArrayTest extends PHPUnit_Framework_TestCase
|
|
|
public function testGetStrict()
|
|
|
{
|
|
|
$validator = new Zend_Validate_InArray(array(1, 2, 3));
|
|
|
- $this->assertEquals(false, $validator->getStrict());
|
|
|
+ $this->assertFalse($validator->getStrict());
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testGivingOptionsAsArrayAtInitiation()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(
|
|
|
+ array('haystack' =>
|
|
|
+ array(1, 'a', 2.3)
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $this->assertTrue($validator->isValid(1));
|
|
|
+ $this->assertTrue($validator->isValid(1.0));
|
|
|
+ $this->assertTrue($validator->isValid('1'));
|
|
|
+ $this->assertTrue($validator->isValid('a'));
|
|
|
+ $this->assertFalse($validator->isValid('A'));
|
|
|
+ $this->assertTrue($validator->isValid(2.3));
|
|
|
+ $this->assertTrue($validator->isValid(2.3e0));
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testSettingANewHaystack()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(
|
|
|
+ array('haystack' =>
|
|
|
+ array('test', 0, 'A')
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $this->assertTrue($validator->isValid('A'));
|
|
|
+
|
|
|
+ $validator->setHaystack(array(1, 'a', 2.3));
|
|
|
+ $this->assertTrue($validator->isValid(1));
|
|
|
+ $this->assertTrue($validator->isValid(1.0));
|
|
|
+ $this->assertTrue($validator->isValid('1'));
|
|
|
+ $this->assertTrue($validator->isValid('a'));
|
|
|
+ $this->assertFalse($validator->isValid('A'));
|
|
|
+ $this->assertTrue($validator->isValid(2.3));
|
|
|
+ $this->assertTrue($validator->isValid(2.3e0));
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testSettingNewStrictMode()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(array(1, 2, 3));
|
|
|
+ $this->assertFalse($validator->getStrict());
|
|
|
+ $this->assertTrue($validator->isValid('1'));
|
|
|
+ $this->assertTrue($validator->isValid(1));
|
|
|
+
|
|
|
+ $validator->setStrict(true);
|
|
|
+ $this->assertTrue($validator->getStrict());
|
|
|
+ $this->assertFalse($validator->isValid('1'));
|
|
|
+ $this->assertTrue($validator->isValid(1));
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testSettingStrictViaInitiation()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(
|
|
|
+ array(
|
|
|
+ 'haystack' => array('test', 0, 'A'),
|
|
|
+ 'strict' => true
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $this->assertTrue($validator->getStrict());
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testGettingRecursiveOption()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(array(1, 2, 3));
|
|
|
+ $this->assertFalse($validator->getRecursive());
|
|
|
+
|
|
|
+ $validator->setRecursive(true);
|
|
|
+ $this->assertTrue($validator->getRecursive());
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testSettingRecursiveViaInitiation()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(
|
|
|
+ array(
|
|
|
+ 'haystack' => array('test', 0, 'A'),
|
|
|
+ 'recursive' => true
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $this->assertTrue($validator->getRecursive());
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testRecursiveDetection()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(
|
|
|
+ array(
|
|
|
+ 'haystack' =>
|
|
|
+ array(
|
|
|
+ 'firstDimension' => array('test', 0, 'A'),
|
|
|
+ 'secondDimension' => array('value', 2, 'a')),
|
|
|
+ 'recursive' => false
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $this->assertFalse($validator->isValid('A'));
|
|
|
+
|
|
|
+ $validator->setRecursive(true);
|
|
|
+ $this->assertTrue($validator->isValid('A'));
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testRecursiveStandalone()
|
|
|
+ {
|
|
|
+ $validator = new Zend_Validate_InArray(
|
|
|
+ array(
|
|
|
+ 'firstDimension' => array('test', 0, 'A'),
|
|
|
+ 'secondDimension' => array('value', 2, 'a')
|
|
|
+ )
|
|
|
+ );
|
|
|
+ $this->assertFalse($validator->isValid('A'));
|
|
|
+
|
|
|
+ $validator->setRecursive(true);
|
|
|
+ $this->assertTrue($validator->isValid('A'));
|
|
|
}
|
|
|
}
|