Fix tests for Symfony2 2.1

This commit is contained in:
William DURAND 2013-11-14 14:18:00 +01:00
parent a2d8629f68
commit e59ae1e1ef
5 changed files with 28 additions and 14 deletions

View File

@ -6,9 +6,9 @@ php:
- 5.5 - 5.5
env: env:
- SYMFONY_VERSION=~2.1.0 - SYMFONY_VERSION=2.1.*
- SYMFONY_VERSION=~2.2.0 - SYMFONY_VERSION=2.2.*
- SYMFONY_VERSION=~2.3.0 - SYMFONY_VERSION=2.3.*
- SYMFONY_VERSION=dev-master - SYMFONY_VERSION=dev-master
matrix: matrix:
@ -18,6 +18,8 @@ matrix:
before_script: before_script:
- composer self-update - composer self-update
- composer require symfony/framework-bundle:${SYMFONY_VERSION} --no-update - composer require symfony/framework-bundle:${SYMFONY_VERSION} --no-update
- composer require symfony/twig-bundle:${SYMFONY_VERSION} --no-update
- composer require symfony/validator:${SYMFONY_VERSION} --no-update
- composer update - composer update
script: phpunit --coverage-text script: phpunit --coverage-text

View File

@ -65,7 +65,7 @@ class ValidationParserLegacy extends ValidationParser
$constraints = $propdata->getConstraints(); $constraints = $propdata->getConstraints();
foreach ($constraints as $constraint) { foreach ($constraints as $constraint) {
$vparams = $this->parseConstraint($constraint, $vparams); $vparams = $this->parseConstraint($constraint, $vparams, $className);
} }
} }

View File

@ -3,6 +3,8 @@ namespace NelmioApiDocBundle\Tests\Parser;
use Nelmio\ApiDocBundle\Tests\WebTestCase; use Nelmio\ApiDocBundle\Tests\WebTestCase;
use Nelmio\ApiDocBundle\Parser\ValidationParser; use Nelmio\ApiDocBundle\Parser\ValidationParser;
use Nelmio\ApiDocBundle\Parser\ValidationParserLegacy;
use Symfony\Component\HttpKernel\Kernel;
class ValidationParserTest extends WebTestCase class ValidationParserTest extends WebTestCase
{ {
@ -13,7 +15,11 @@ class ValidationParserTest extends WebTestCase
$container = $this->getContainer(); $container = $this->getContainer();
$factory = $container->get('validator.mapping.class_metadata_factory'); $factory = $container->get('validator.mapping.class_metadata_factory');
$this->parser = new ValidationParser($factory); if (version_compare(Kernel::VERSION, '2.2.0', '<')) {
$this->parser = new ValidationParserLegacy($factory);
} else {
$this->parser = new ValidationParser($factory);
}
} }
/** /**

View File

@ -17,6 +17,17 @@ use Symfony\Component\HttpKernel\Kernel;
abstract class WebTestCase extends BaseWebTestCase abstract class WebTestCase extends BaseWebTestCase
{ {
protected function setUp()
{
$this->deleteTmpDir();
parent::setUp();
if (version_compare(Kernel::VERSION, '2.2.0', '<')) {
$this->markTestSkipped('Does not work with Symfony2 2.1 due to a "host" parameter in the `routing.yml` file');
}
}
protected function deleteTmpDir() protected function deleteTmpDir()
{ {
if (!file_exists($dir = sys_get_temp_dir().'/'.Kernel::VERSION)) { if (!file_exists($dir = sys_get_temp_dir().'/'.Kernel::VERSION)) {
@ -63,12 +74,6 @@ abstract class WebTestCase extends BaseWebTestCase
); );
} }
public function setUp()
{
$this->deleteTmpDir();
parent::setUp();
}
public function tearDown() public function tearDown()
{ {
parent::tearDown(); parent::tearDown();

View File

@ -15,10 +15,11 @@
} }
], ],
"require": { "require": {
"symfony/framework-bundle": "~2.1", "symfony/framework-bundle": "2.1.*",
"symfony/twig-bundle": "~2.1", "symfony/twig-bundle": "2.1.*",
"symfony/console": "~2.1", "symfony/console": "~2.1",
"dflydev/markdown": "1.0.*" "dflydev/markdown": "1.0.*",
"symfony/validator": "2.1.0"
}, },
"conflict": { "conflict": {
"jms/serializer": "<0.12", "jms/serializer": "<0.12",