From 8bada02a0f142b76c615ab2e73e763a2679a8da6 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Fri, 31 Mar 2017 18:07:59 -0700 Subject: [PATCH] ObjectFactory: Complete code coverage for ObjectFactoryTest Cover missing case of expandClosures() where the array contains both a closure and a non-closure. Change-Id: I30ea8cf3fb909a499a95bf9bd24792f4dd6b5c64 --- .../includes/libs/ObjectFactoryTest.php | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/tests/phpunit/includes/libs/ObjectFactoryTest.php b/tests/phpunit/includes/libs/ObjectFactoryTest.php index f8dda6f8af..3e0a61ee7c 100644 --- a/tests/phpunit/includes/libs/ObjectFactoryTest.php +++ b/tests/phpunit/includes/libs/ObjectFactoryTest.php @@ -26,20 +26,24 @@ class ObjectFactoryTest extends PHPUnit_Framework_TestCase { public function testClosureExpansionDisabled() { $obj = ObjectFactory::getObjectFromSpec( [ 'class' => 'ObjectFactoryTestFixture', - 'args' => [ function() { - return 'unwrapped'; - }, ], + 'args' => [ + function() { + return 'wrapped'; + }, + 'unwrapped', + ], 'calls' => [ 'setter' => [ function() { - return 'unwrapped'; + return 'wrapped'; }, ], ], 'closure_expansion' => false, ] ); $this->assertInstanceOf( 'Closure', $obj->args[0] ); - $this->assertSame( 'unwrapped', $obj->args[0]() ); + $this->assertSame( 'wrapped', $obj->args[0]() ); + $this->assertSame( 'unwrapped', $obj->args[1] ); $this->assertInstanceOf( 'Closure', $obj->setterArgs[0] ); - $this->assertSame( 'unwrapped', $obj->setterArgs[0]() ); + $this->assertSame( 'wrapped', $obj->setterArgs[0]() ); } /** @@ -49,20 +53,24 @@ class ObjectFactoryTest extends PHPUnit_Framework_TestCase { public function testClosureExpansionEnabled() { $obj = ObjectFactory::getObjectFromSpec( [ 'class' => 'ObjectFactoryTestFixture', - 'args' => [ function() { - return 'unwrapped'; - }, ], + 'args' => [ + function() { + return 'wrapped'; + }, + 'unwrapped', + ], 'calls' => [ 'setter' => [ function() { - return 'unwrapped'; + return 'wrapped'; }, ], ], 'closure_expansion' => true, ] ); $this->assertInternalType( 'string', $obj->args[0] ); - $this->assertSame( 'unwrapped', $obj->args[0] ); + $this->assertSame( 'wrapped', $obj->args[0] ); + $this->assertSame( 'unwrapped', $obj->args[1] ); $this->assertInternalType( 'string', $obj->setterArgs[0] ); - $this->assertSame( 'unwrapped', $obj->setterArgs[0] ); + $this->assertSame( 'wrapped', $obj->setterArgs[0] ); $obj = ObjectFactory::getObjectFromSpec( [ 'class' => 'ObjectFactoryTestFixture', -- 2.20.1