REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 6.24 KB
Close
/opt/cloudlinux/alt-php55/root/usr/share/pear/test/Config/Symfony/Component/Config/Tests/Definition/NormalizationTest.php
Text
Base64
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Config\Tests\Definition; use Symfony\Component\Config\Definition\NodeInterface; use Symfony\Component\Config\Definition\Builder\TreeBuilder; class NormalizationTest extends \PHPUnit_Framework_TestCase { /** * @dataProvider getEncoderTests */ public function testNormalizeEncoders($denormalized) { $tb = new TreeBuilder(); $tree = $tb ->root('root_name', 'array') ->fixXmlConfig('encoder') ->children() ->node('encoders', 'array') ->useAttributeAsKey('class') ->prototype('array') ->beforeNormalization()->ifString()->then(function ($v) { return array('algorithm' => $v); })->end() ->children() ->node('algorithm', 'scalar')->end() ->end() ->end() ->end() ->end() ->end() ->buildTree() ; $normalized = array( 'encoders' => array( 'foo' => array('algorithm' => 'plaintext'), ), ); $this->assertNormalized($tree, $denormalized, $normalized); } public function getEncoderTests() { $configs = array(); // XML $configs[] = array( 'encoder' => array( array('class' => 'foo', 'algorithm' => 'plaintext'), ), ); // XML when only one element of this type $configs[] = array( 'encoder' => array('class' => 'foo', 'algorithm' => 'plaintext'), ); // YAML/PHP $configs[] = array( 'encoders' => array( array('class' => 'foo', 'algorithm' => 'plaintext'), ), ); // YAML/PHP $configs[] = array( 'encoders' => array( 'foo' => 'plaintext', ), ); // YAML/PHP $configs[] = array( 'encoders' => array( 'foo' => array('algorithm' => 'plaintext'), ), ); return array_map(function ($v) { return array($v); }, $configs); } /** * @dataProvider getAnonymousKeysTests */ public function testAnonymousKeysArray($denormalized) { $tb = new TreeBuilder(); $tree = $tb ->root('root', 'array') ->children() ->node('logout', 'array') ->fixXmlConfig('handler') ->children() ->node('handlers', 'array') ->prototype('scalar')->end() ->end() ->end() ->end() ->end() ->end() ->buildTree() ; $normalized = array('logout' => array('handlers' => array('a', 'b', 'c'))); $this->assertNormalized($tree, $denormalized, $normalized); } public function getAnonymousKeysTests() { $configs = array(); $configs[] = array( 'logout' => array( 'handlers' => array('a', 'b', 'c'), ), ); $configs[] = array( 'logout' => array( 'handler' => array('a', 'b', 'c'), ), ); return array_map(function ($v) { return array($v); }, $configs); } /** * @dataProvider getNumericKeysTests */ public function testNumericKeysAsAttributes($denormalized) { $normalized = array( 'thing' => array(42 => array('foo', 'bar'), 1337 => array('baz', 'qux')), ); $this->assertNormalized($this->getNumericKeysTestTree(), $denormalized, $normalized); } public function getNumericKeysTests() { $configs = array(); $configs[] = array( 'thing' => array( 42 => array('foo', 'bar'), 1337 => array('baz', 'qux'), ), ); $configs[] = array( 'thing' => array( array('foo', 'bar', 'id' => 42), array('baz', 'qux', 'id' => 1337), ), ); return array_map(function ($v) { return array($v); }, $configs); } /** * @expectedException \Symfony\Component\Config\Definition\Exception\InvalidConfigurationException * @expectedExceptionMessage The attribute "id" must be set for path "root.thing". */ public function testNonAssociativeArrayThrowsExceptionIfAttributeNotSet() { $denormalized = array( 'thing' => array( array('foo', 'bar'), array('baz', 'qux') ) ); $this->assertNormalized($this->getNumericKeysTestTree(), $denormalized, array()); } public function testAssociativeArrayPreserveKeys() { $tb = new TreeBuilder(); $tree = $tb ->root('root', 'array') ->prototype('array') ->children() ->node('foo', 'scalar')->end() ->end() ->end() ->end() ->buildTree() ; $data = array('first' => array('foo' => 'bar')); $this->assertNormalized($tree, $data, $data); } public static function assertNormalized(NodeInterface $tree, $denormalized, $normalized) { self::assertSame($normalized, $tree->normalize($denormalized)); } private function getNumericKeysTestTree() { $tb = new TreeBuilder(); $tree = $tb ->root('root', 'array') ->children() ->node('thing', 'array') ->useAttributeAsKey('id') ->prototype('array') ->prototype('scalar')->end() ->end() ->end() ->end() ->end() ->buildTree() ; return $tree; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 2 × Files: 10
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
Builder
DIR
-
drwxr-xr-x
2024-03-03 22:54:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Dumper
DIR
-
drwxr-xr-x
2024-03-03 22:54:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ArrayNodeTest.php
4.79 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
BooleanNodeTest.php
1.38 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
EnumNodeTest.php
1.13 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FinalizationTest.php
2.08 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FloatNodeTest.php
1.51 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
IntegerNodeTest.php
1.41 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
MergeTest.php
5.06 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
NormalizationTest.php
6.24 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PrototypedArrayNodeTest.php
6.74 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ScalarNodeTest.php
1.38 KB
lrw-r--r--
2019-12-18 11:24:05
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).