PHP code example of matthiasnoback / symfony-config-test
1. Go to this page and download the library: Download matthiasnoback/symfony-config-test library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
matthiasnoback / symfony-config-test example snippets
use Matthias\SymfonyConfigTest\PhpUnit\ConfigurationTestCaseTrait;
use PHPUnit\Framework\TestCase;
use App\Configuration;
class ConfigurationTest extends TestCase
{
use ConfigurationTestCaseTrait;
protected function getConfiguration(): Configuration
{
return new Configuration();
}
}
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class ConfigurationWithRequiredValue implements ConfigurationInterface
{
public function getConfigTreeBuilder(): TreeBuilder
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('root');
$rootNode
->isRequired()
->children()
->scalarNode('
use Matthias\SymfonyConfigTest\PhpUnit\ConfigurationTestCaseTrait;
use PHPUnit\Framework\TestCase;
class ConfigurationTest extends TestCase
{
use ConfigurationTestCaseTrait;
/**
* @test
*/
public function values_are_invalid_if_
use Matthias\SymfonyConfigTest\PhpUnit\ConfigurationTestCaseTrait;
use PHPUnit\Framework\TestCase;
class ConfigurationTest extends TestCase
{
use ConfigurationTestCaseTrait;
/**
* @test
*/
public function processed_value_contains_
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class ConfigurationWithTwoBranches implements ConfigurationInterface
{
public function getConfigTreeBuilder(): TreeBuilder
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('root');
$rootNode
->children()
->arrayNode('array_node_1')
->isRequired()
->children()
->scalarNode('
/**
* @test
*/
public function processed_configuration_for_array_node_1(): void
{
$this->assertProcessedConfigurationEquals(
[
['array_node_1' => [''
]
],
// the path of the nodes you want to focus on in this test:
'array_node_1'
);
}
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class PrototypedConfiguration implements ConfigurationInterface
{
public function getConfigTreeBuilder(): TreeBuilder
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('root');
$rootNode
->children()
->arrayNode('array_node')
->useAttributeAsKey('name')
->prototype('array')
->children()
->scalarNode('default_value')->cannotBeEmpty()->defaultValue('foobar')->end()
->scalarNode('
/**
* @test
*/
public function processed_configuration_for_array_node_1(): void
{
$this->assertProcessedConfigurationEquals(
[
['array_node' => ['prototype_name' => null]],
],
[
'array_node' => [
'prototype_name' => [
'default_value' => 'foobar'
]
]
],
// the path of the nodes you want to focus on in this test:
'array_node.*.default_value'
);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.