Mercurial > hg > isophonics-drupal-site
diff vendor/phpunit/phpunit-mock-objects/tests/Invocation/ObjectInvocationTest.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/phpunit/phpunit-mock-objects/tests/Invocation/ObjectInvocationTest.php Mon Apr 23 09:46:53 2018 +0100 @@ -0,0 +1,120 @@ +<?php +/* + * This file is part of the phpunit-mock-objects package. + * + * (c) Sebastian Bergmann <sebastian@phpunit.de> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +use PHPUnit\Framework\MockObject\Invocation\ObjectInvocation; +use PHPUnit\Framework\TestCase; + +class ObjectInvocationTest extends TestCase +{ + public function testConstructorRequiresClassAndMethodAndParametersAndObject() + { + $this->assertInstanceOf( + ObjectInvocation::class, + new ObjectInvocation( + 'FooClass', + 'FooMethod', + ['an_argument'], + 'ReturnType', + new stdClass + ) + ); + } + + public function testAllowToGetClassNameSetInConstructor() + { + $invocation = new ObjectInvocation( + 'FooClass', + 'FooMethod', + ['an_argument'], + 'ReturnType', + new stdClass + ); + + $this->assertSame('FooClass', $invocation->getClassName()); + } + + public function testAllowToGetMethodNameSetInConstructor() + { + $invocation = new ObjectInvocation( + 'FooClass', + 'FooMethod', + ['an_argument'], + 'ReturnType', + new stdClass + ); + + $this->assertSame('FooMethod', $invocation->getMethodName()); + } + + public function testAllowToGetObjectSetInConstructor() + { + $expectedObject = new stdClass; + + $invocation = new ObjectInvocation( + 'FooClass', + 'FooMethod', + ['an_argument'], + 'ReturnType', + $expectedObject + ); + + $this->assertSame($expectedObject, $invocation->getObject()); + } + + public function testAllowToGetMethodParametersSetInConstructor() + { + $expectedParameters = [ + 'foo', 5, ['a', 'b'], new stdClass, null, false + ]; + + $invocation = new ObjectInvocation( + 'FooClass', + 'FooMethod', + $expectedParameters, + 'ReturnType', + new stdClass + ); + + $this->assertSame($expectedParameters, $invocation->getParameters()); + } + + public function testConstructorAllowToSetFlagCloneObjectsInParameters() + { + $parameters = [new stdClass]; + $cloneObjects = true; + + $invocation = new ObjectInvocation( + 'FooClass', + 'FooMethod', + $parameters, + 'ReturnType', + new stdClass, + $cloneObjects + ); + + $this->assertEquals($parameters, $invocation->getParameters()); + $this->assertNotSame($parameters, $invocation->getParameters()); + } + + public function testAllowToGetReturnTypeSetInConstructor() + { + $expectedReturnType = 'string'; + + $invocation = new ObjectInvocation( + 'FooClass', + 'FooMethod', + ['an_argument'], + $expectedReturnType, + new stdClass + ); + + $this->assertSame($expectedReturnType, $invocation->getReturnType()); + } +}