Mercurial > hg > isophonics-drupal-site
view vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php @ 16:c2387f117808
Routine composer update
author | Chris Cannam |
---|---|
date | Tue, 10 Jul 2018 15:07:59 +0100 |
parents | 1fec387a4317 |
children |
line wrap: on
line source
<?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\TestCase; use PHPUnit\Framework\MockObject\MockBuilder; class MockBuilderTest extends TestCase { public function testMockBuilderRequiresClassName() { $mock = $this->getMockBuilder(Mockable::class)->getMock(); $this->assertTrue($mock instanceof Mockable); } public function testByDefaultMocksAllMethods() { $mock = $this->getMockBuilder(Mockable::class)->getMock(); $this->assertNull($mock->mockableMethod()); $this->assertNull($mock->anotherMockableMethod()); } public function testMethodsToMockCanBeSpecified() { $mock = $this->getMockBuilder(Mockable::class) ->setMethods(['mockableMethod']) ->getMock(); $this->assertNull($mock->mockableMethod()); $this->assertTrue($mock->anotherMockableMethod()); } public function testMethodExceptionsToMockCanBeSpecified() { $mock = $this->getMockBuilder(Mockable::class) ->setMethodsExcept(['mockableMethod']) ->getMock(); $this->assertTrue($mock->mockableMethod()); $this->assertNull($mock->anotherMockableMethod()); } public function testEmptyMethodExceptionsToMockCanBeSpecified() { $mock = $this->getMockBuilder(Mockable::class) ->setMethodsExcept() ->getMock(); $this->assertNull($mock->mockableMethod()); $this->assertNull($mock->anotherMockableMethod()); } public function testByDefaultDoesNotPassArgumentsToTheConstructor() { $mock = $this->getMockBuilder(Mockable::class)->getMock(); $this->assertEquals([null, null], $mock->constructorArgs); } public function testMockClassNameCanBeSpecified() { $mock = $this->getMockBuilder(Mockable::class) ->setMockClassName('ACustomClassName') ->getMock(); $this->assertTrue($mock instanceof ACustomClassName); } public function testConstructorArgumentsCanBeSpecified() { $mock = $this->getMockBuilder(Mockable::class) ->setConstructorArgs([23, 42]) ->getMock(); $this->assertEquals([23, 42], $mock->constructorArgs); } public function testOriginalConstructorCanBeDisabled() { $mock = $this->getMockBuilder(Mockable::class) ->disableOriginalConstructor() ->getMock(); $this->assertNull($mock->constructorArgs); } public function testByDefaultOriginalCloneIsPreserved() { $mock = $this->getMockBuilder(Mockable::class) ->getMock(); $cloned = clone $mock; $this->assertTrue($cloned->cloned); } public function testOriginalCloneCanBeDisabled() { $mock = $this->getMockBuilder(Mockable::class) ->disableOriginalClone() ->getMock(); $mock->cloned = false; $cloned = clone $mock; $this->assertFalse($cloned->cloned); } public function testProvidesAFluentInterface() { $spec = $this->getMockBuilder(Mockable::class) ->setMethods(['mockableMethod']) ->setConstructorArgs([]) ->setMockClassName('DummyClassName') ->disableOriginalConstructor() ->disableOriginalClone() ->disableAutoload(); $this->assertTrue($spec instanceof MockBuilder); } }