Commit 4d8956f3 authored by alexkappa's avatar alexkappa

Added custom constraint and validator to properly test the ConstraintValidatorFactory.

parent b45b4fb2
......@@ -15,6 +15,8 @@ use Silex\Application;
use Silex\Provider\ValidatorServiceProvider;
use Silex\Provider\FormServiceProvider;
use Symfony\Component\Validator\Constraints as Assert;
use Silex\Tests\Provider\ValidatorServiceProviderTest\Constraint\Custom;
use Silex\Tests\Provider\ValidatorServiceProviderTest\Constraint\CustomValidator;
/**
* ValidatorServiceProvider
......@@ -43,14 +45,13 @@ class ValidatorServiceProviderTest extends \PHPUnit_Framework_TestCase
{
$app = new Application();
// Dummy ConstraintValidators
$app['validator.x'] = 'x';
$app['validator.y'] = 'y';
$app['custom.validator'] = $app->share(function() {
return new CustomValidator();
});
$app->register(new ValidatorServiceProvider(), array(
'validator.validator_service_ids' => array(
'alias_x' => 'validator.x',
'alias_y' => 'validator.y'
'test.custom.validator' => 'custom.validator',
)
));
......@@ -63,6 +64,9 @@ class ValidatorServiceProviderTest extends \PHPUnit_Framework_TestCase
public function testConstraintValidatorFactory($app)
{
$this->assertInstanceOf('Silex\ConstraintValidatorFactory', $app['validator.validator_factory']);
$validator = $app['validator.validator_factory']->getInstance(new Custom());
$this->assertInstanceOf('Silex\Tests\Provider\ValidatorServiceProviderTest\Constraint\CustomValidator', $validator);
}
/**
......
<?php
/*
* This file is part of the Silex framework.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace Silex\Tests\Provider\ValidatorServiceProviderTest\Constraint;
use Symfony\Component\Validator\Constraint;
/**
* @author Alex Kalyvitis <alex.kalyvitis@gmail.com>
*/
class Custom extends Constraint
{
public $message = 'This field must be ...';
public $table;
public $field;
public function validatedBy()
{
return 'test.custom.validator';
}
}
<?php
/*
* This file is part of the Silex framework.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace Silex\Tests\Provider\ValidatorServiceProviderTest\Constraint;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
/**
* @author Alex Kalyvitis <alex.kalyvitis@gmail.com>
*/
class CustomValidator extends ConstraintValidator
{
public function isValid($value, Constraint $constraint)
{
// Validate...
return true;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment