mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-30 22:18:46 +02:00
N°2435.1 Portal: Split portal composer.json in 2
- Autoloader for portal files in the itop-portal-base module - Dependencies moved to root composer.json - Add autoloader for /core and /application content
This commit is contained in:
304
lib/symfony/dependency-injection/Tests/EnvVarProcessorTest.php
Normal file
304
lib/symfony/dependency-injection/Tests/EnvVarProcessorTest.php
Normal file
@@ -0,0 +1,304 @@
|
||||
<?php
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Tests;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Component\DependencyInjection\Container;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\EnvVarProcessor;
|
||||
|
||||
class EnvVarProcessorTest extends TestCase
|
||||
{
|
||||
const TEST_CONST = 'test';
|
||||
|
||||
/**
|
||||
* @dataProvider validStrings
|
||||
*/
|
||||
public function testGetEnvString($value, $processed)
|
||||
{
|
||||
$container = new ContainerBuilder();
|
||||
$container->setParameter('env(foo)', $value);
|
||||
$container->compile();
|
||||
|
||||
$processor = new EnvVarProcessor($container);
|
||||
|
||||
$result = $processor->getEnv('string', 'foo', function () {
|
||||
$this->fail('Should not be called');
|
||||
});
|
||||
|
||||
$this->assertSame($processed, $result);
|
||||
}
|
||||
|
||||
public function validStrings()
|
||||
{
|
||||
return [
|
||||
['hello', 'hello'],
|
||||
['true', 'true'],
|
||||
['false', 'false'],
|
||||
['null', 'null'],
|
||||
['1', '1'],
|
||||
['0', '0'],
|
||||
['1.1', '1.1'],
|
||||
['1e1', '1e1'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider validBools
|
||||
*/
|
||||
public function testGetEnvBool($value, $processed)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$result = $processor->getEnv('bool', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return $value;
|
||||
});
|
||||
|
||||
$this->assertSame($processed, $result);
|
||||
}
|
||||
|
||||
public function validBools()
|
||||
{
|
||||
return [
|
||||
['true', true],
|
||||
['false', false],
|
||||
['null', false],
|
||||
['1', true],
|
||||
['0', false],
|
||||
['1.1', true],
|
||||
['1e1', true],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider validInts
|
||||
*/
|
||||
public function testGetEnvInt($value, $processed)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$result = $processor->getEnv('int', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return $value;
|
||||
});
|
||||
|
||||
$this->assertSame($processed, $result);
|
||||
}
|
||||
|
||||
public function validInts()
|
||||
{
|
||||
return [
|
||||
['1', 1],
|
||||
['1.1', 1],
|
||||
['1e1', 10],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
||||
* @expectedExceptionMessage Non-numeric env var
|
||||
* @dataProvider invalidInts
|
||||
*/
|
||||
public function testGetEnvIntInvalid($value)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$processor->getEnv('int', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return $value;
|
||||
});
|
||||
}
|
||||
|
||||
public function invalidInts()
|
||||
{
|
||||
return [
|
||||
['foo'],
|
||||
['true'],
|
||||
['null'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider validFloats
|
||||
*/
|
||||
public function testGetEnvFloat($value, $processed)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$result = $processor->getEnv('float', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return $value;
|
||||
});
|
||||
|
||||
$this->assertSame($processed, $result);
|
||||
}
|
||||
|
||||
public function validFloats()
|
||||
{
|
||||
return [
|
||||
['1', 1.0],
|
||||
['1.1', 1.1],
|
||||
['1e1', 10.0],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
||||
* @expectedExceptionMessage Non-numeric env var
|
||||
* @dataProvider invalidFloats
|
||||
*/
|
||||
public function testGetEnvFloatInvalid($value)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$processor->getEnv('float', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return $value;
|
||||
});
|
||||
}
|
||||
|
||||
public function invalidFloats()
|
||||
{
|
||||
return [
|
||||
['foo'],
|
||||
['true'],
|
||||
['null'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider validConsts
|
||||
*/
|
||||
public function testGetEnvConst($value, $processed)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$result = $processor->getEnv('const', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return $value;
|
||||
});
|
||||
|
||||
$this->assertSame($processed, $result);
|
||||
}
|
||||
|
||||
public function validConsts()
|
||||
{
|
||||
return [
|
||||
['Symfony\Component\DependencyInjection\Tests\EnvVarProcessorTest::TEST_CONST', self::TEST_CONST],
|
||||
['E_ERROR', E_ERROR],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
||||
* @expectedExceptionMessage undefined constant
|
||||
* @dataProvider invalidConsts
|
||||
*/
|
||||
public function testGetEnvConstInvalid($value)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$processor->getEnv('const', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return $value;
|
||||
});
|
||||
}
|
||||
|
||||
public function invalidConsts()
|
||||
{
|
||||
return [
|
||||
['Symfony\Component\DependencyInjection\Tests\EnvVarProcessorTest::UNDEFINED_CONST'],
|
||||
['UNDEFINED_CONST'],
|
||||
];
|
||||
}
|
||||
|
||||
public function testGetEnvBase64()
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$result = $processor->getEnv('base64', 'foo', function ($name) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return base64_encode('hello');
|
||||
});
|
||||
|
||||
$this->assertSame('hello', $result);
|
||||
}
|
||||
|
||||
public function testGetEnvJson()
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$result = $processor->getEnv('json', 'foo', function ($name) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return json_encode([1]);
|
||||
});
|
||||
|
||||
$this->assertSame([1], $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
||||
* @expectedExceptionMessage Syntax error
|
||||
*/
|
||||
public function testGetEnvInvalidJson()
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$processor->getEnv('json', 'foo', function ($name) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return 'invalid_json';
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
||||
* @expectedExceptionMessage Invalid JSON env var
|
||||
* @dataProvider otherJsonValues
|
||||
*/
|
||||
public function testGetEnvJsonOther($value)
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$processor->getEnv('json', 'foo', function ($name) use ($value) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return json_encode($value);
|
||||
});
|
||||
}
|
||||
|
||||
public function otherJsonValues()
|
||||
{
|
||||
return [
|
||||
[1],
|
||||
[1.1],
|
||||
[true],
|
||||
[false],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
|
||||
* @expectedExceptionMessage Unsupported env var prefix
|
||||
*/
|
||||
public function testGetEnvUnknown()
|
||||
{
|
||||
$processor = new EnvVarProcessor(new Container());
|
||||
|
||||
$processor->getEnv('unknown', 'foo', function ($name) {
|
||||
$this->assertSame('foo', $name);
|
||||
|
||||
return 'foo';
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user