mirror of
https://github.com/Respect/Validation.git
synced 2026-03-16 15:25:45 +01:00
93 lines
2.5 KiB
PHP
93 lines
2.5 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of Respect/Validation.
|
|
*
|
|
* (c) Alexandre Gomes Gaigalas <alexandre@gaigalas.net>
|
|
*
|
|
* For the full copyright and license information, please view the "LICENSE.md"
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Respect\Validation\Rules;
|
|
|
|
/**
|
|
* @group rule
|
|
* @covers Respect\Validation\Rules\When
|
|
* @covers Respect\Validation\Exceptions\WhenException
|
|
*/
|
|
class WhenTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
public function testWhenHappypath()
|
|
{
|
|
$v = new When(new IntVal(), new Between(1, 5), new NotEmpty());
|
|
$this->assertTrue($v->validate(3));
|
|
$this->assertTrue($v->validate('aaa'));
|
|
}
|
|
|
|
public function testWhenError()
|
|
{
|
|
$v = new When(new IntVal(), new Between(1, 5), new NotEmpty());
|
|
$this->assertFalse($v->validate(15));
|
|
}
|
|
|
|
public function testWhenWithoutElseHappypath()
|
|
{
|
|
$v = new When(new IntVal(), new Between(1, 5));
|
|
|
|
$this->assertTrue($v->validate(3));
|
|
}
|
|
|
|
public function testWhenWithoutElseError()
|
|
{
|
|
$v = new When(new StringType(), new Between(1, 5));
|
|
|
|
$this->assertFalse($v->validate(15));
|
|
}
|
|
|
|
/**
|
|
* @expectedException Respect\Validation\Exceptions\AlwaysInvalidException
|
|
* @expectedExceptionMessage 15 is not valid
|
|
*/
|
|
public function testWhenWithoutElseAssert()
|
|
{
|
|
$v = new When(new StringType(), new Between(1, 5));
|
|
$v->assert(15);
|
|
}
|
|
|
|
/**
|
|
* @expectedException Respect\Validation\Exceptions\BetweenException
|
|
*/
|
|
public function testWhenException()
|
|
{
|
|
$v = new When(new IntVal(), new Between(1, 5), new NotEmpty());
|
|
$this->assertFalse($v->assert(15));
|
|
}
|
|
|
|
/**
|
|
* @expectedException Respect\Validation\Exceptions\NotEmptyException
|
|
*/
|
|
public function testWhenException_on_else()
|
|
{
|
|
$v = new When(new IntVal(), new Between(1, 5), new NotEmpty());
|
|
$this->assertFalse($v->assert(''));
|
|
}
|
|
|
|
/**
|
|
* @expectedException Respect\Validation\Exceptions\MaxException
|
|
*/
|
|
public function testWhenException_failfast()
|
|
{
|
|
$v = new When(new IntVal(), new Between(1, 5), new NotEmpty());
|
|
$this->assertFalse($v->check(15));
|
|
}
|
|
|
|
/**
|
|
* @expectedException Respect\Validation\Exceptions\NotEmptyException
|
|
*/
|
|
public function testWhenException_on_else_failfast()
|
|
{
|
|
$v = new When(new IntVal(), new Between(1, 5), new NotEmpty());
|
|
$this->assertFalse($v->check(''));
|
|
}
|
|
}
|