From 98035d05ed175f94e5d1810e7b65116be8654b70 Mon Sep 17 00:00:00 2001 From: Vyacheslav Pavlov Date: Thu, 21 Jul 2016 10:44:16 +0300 Subject: [PATCH 1/4] [Config] Added extra tests for ArrayNodeDefinition class --- .../Builder/ArrayNodeDefinitionTest.php | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php b/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php index e75ed34f469a4..27081b8fe84ba 100644 --- a/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php +++ b/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php @@ -185,6 +185,49 @@ public function testTrueEnableEnabledNode($expected, $config, $message) ); } + public function testCanBeDisabled() + { + $node = new ArrayNodeDefinition('root'); + $node->canBeDisabled(); + + $this->assertTrue($this->getField($node, 'addDefaults')); + $this->assertEquals(array('enabled' => false), $this->getField($node, 'falseEquivalent')); + $this->assertEquals(array('enabled' => true), $this->getField($node, 'trueEquivalent')); + $this->assertEquals(array('enabled' => true), $this->getField($node, 'nullEquivalent')); + $this->assertEquals(array('enabled' => true), $this->getField($node, 'nullEquivalent')); + + $nodeChildren = $this->getField($node, 'children'); + $this->assertArrayHasKey('enabled', $nodeChildren); + + $enabledNode = $nodeChildren['enabled']; + $this->assertTrue($this->getField($enabledNode, 'default')); + $this->assertTrue($this->getField($enabledNode, 'defaultValue')); + } + + public function testIgnoreExtraKeys() + { + $node = new ArrayNodeDefinition('root'); + + $this->assertFalse($this->getField($node, 'ignoreExtraKeys')); + + $result = $node->ignoreExtraKeys(); + + $this->assertEquals($node, $result); + $this->assertTrue($this->getField($node, 'ignoreExtraKeys')); + } + + public function testNormalizeKeys() + { + $node = new ArrayNodeDefinition('root'); + + $this->assertTrue($this->getField($node, 'normalizeKeys')); + + $result = $node->normalizeKeys(false); + + $this->assertEquals($node, $result); + $this->assertFalse($this->getField($node, 'normalizeKeys')); + } + public function getEnableableNodeFixtures() { return array( From e9b8f0ec4edb8c53c130dd26b3a4bf090acc4af2 Mon Sep 17 00:00:00 2001 From: Vyacheslav Pavlov Date: Fri, 22 Jul 2016 11:30:38 +0300 Subject: [PATCH 2/4] [Config] Added extra tests for ExprBuilder class --- .../Definition/Builder/ExprBuilderTest.php | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php b/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php index 147bf1324c884..89511e8470fed 100644 --- a/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php +++ b/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php @@ -150,6 +150,30 @@ public function testThenUnsetExpression() $this->assertEquals(array(), $this->finalizeTestBuilder($test)); } + /** + * @expectedException \RuntimeException + * @expectedExceptionMessage You must specify an if part. + */ + public function testEndIfPartNotSpecified() + { + $this->getTestBuilder()->end(); + } + + /** + * @expectedException \RuntimeException + * @expectedExceptionMessage You must specify a then part. + */ + public function testEndThenPartNotSpecified() + { + $builder = $this->getTestBuilder(); + + $reflection = new \ReflectionProperty($builder, 'ifPart'); + $reflection->setAccessible(true); + $reflection->setValue($builder, 'test'); + + $builder->end(); + } + /** * Create a test treebuilder with a variable node, and init the validation. * From e355e9323283007ee00bc5f50aee83f98f5e10aa Mon Sep 17 00:00:00 2001 From: Vyacheslav Pavlov Date: Fri, 22 Jul 2016 14:30:39 +0300 Subject: [PATCH 3/4] [Config] Improved test for ExprBuilder class --- .../Config/Tests/Definition/Builder/ExprBuilderTest.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php b/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php index 89511e8470fed..ebb766eed63d8 100644 --- a/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php +++ b/src/Symfony/Component/Config/Tests/Definition/Builder/ExprBuilderTest.php @@ -166,11 +166,7 @@ public function testEndIfPartNotSpecified() public function testEndThenPartNotSpecified() { $builder = $this->getTestBuilder(); - - $reflection = new \ReflectionProperty($builder, 'ifPart'); - $reflection->setAccessible(true); - $reflection->setValue($builder, 'test'); - + $builder->ifPart = 'test'; $builder->end(); } From d70c4adc65bfb4a053d1e282eb09664119cfac67 Mon Sep 17 00:00:00 2001 From: Vyacheslav Pavlov Date: Mon, 25 Jul 2016 23:18:19 +0300 Subject: [PATCH 4/4] [Config] Removed duplicated line in test. --- .../Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php b/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php index 27081b8fe84ba..b07f6079ebd90 100644 --- a/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php +++ b/src/Symfony/Component/Config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php @@ -194,7 +194,6 @@ public function testCanBeDisabled() $this->assertEquals(array('enabled' => false), $this->getField($node, 'falseEquivalent')); $this->assertEquals(array('enabled' => true), $this->getField($node, 'trueEquivalent')); $this->assertEquals(array('enabled' => true), $this->getField($node, 'nullEquivalent')); - $this->assertEquals(array('enabled' => true), $this->getField($node, 'nullEquivalent')); $nodeChildren = $this->getField($node, 'children'); $this->assertArrayHasKey('enabled', $nodeChildren);