Mercurial > hg > isophonics-drupal-site
diff vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 1fec387a4317 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,107 @@ +<?php +/* + * This file is part of the PHPUnit_MockObject 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. + */ + +/** + * @since File available since Release 1.0.0 + */ +class Framework_MockBuilderTest extends PHPUnit_Framework_TestCase +{ + public function testMockBuilderRequiresClassName() + { + $spec = $this->getMockBuilder('Mockable'); + $mock = $spec->getMock(); + $this->assertTrue($mock instanceof Mockable); + } + + public function testByDefaultMocksAllMethods() + { + $spec = $this->getMockBuilder('Mockable'); + $mock = $spec->getMock(); + $this->assertNull($mock->mockableMethod()); + $this->assertNull($mock->anotherMockableMethod()); + } + + public function testMethodsToMockCanBeSpecified() + { + $spec = $this->getMockBuilder('Mockable'); + $spec->setMethods(array('mockableMethod')); + $mock = $spec->getMock(); + $this->assertNull($mock->mockableMethod()); + $this->assertTrue($mock->anotherMockableMethod()); + } + + public function testByDefaultDoesNotPassArgumentsToTheConstructor() + { + $spec = $this->getMockBuilder('Mockable'); + $mock = $spec->getMock(); + $this->assertEquals(array(null, null), $mock->constructorArgs); + } + + public function testMockClassNameCanBeSpecified() + { + $spec = $this->getMockBuilder('Mockable'); + $spec->setMockClassName('ACustomClassName'); + $mock = $spec->getMock(); + $this->assertTrue($mock instanceof ACustomClassName); + } + + public function testConstructorArgumentsCanBeSpecified() + { + $spec = $this->getMockBuilder('Mockable'); + $spec->setConstructorArgs($expected = array(23, 42)); + $mock = $spec->getMock(); + $this->assertEquals($expected, $mock->constructorArgs); + } + + public function testOriginalConstructorCanBeDisabled() + { + $spec = $this->getMockBuilder('Mockable'); + $spec->disableOriginalConstructor(); + $mock = $spec->getMock(); + $this->assertNull($mock->constructorArgs); + } + + public function testByDefaultOriginalCloneIsPreserved() + { + $spec = $this->getMockBuilder('Mockable'); + $mock = $spec->getMock(); + $cloned = clone $mock; + $this->assertTrue($cloned->cloned); + } + + public function testOriginalCloneCanBeDisabled() + { + $spec = $this->getMockBuilder('Mockable'); + $spec->disableOriginalClone(); + $mock = $spec->getMock(); + $mock->cloned = false; + $cloned = clone $mock; + $this->assertFalse($cloned->cloned); + } + + public function testCallingAutoloadCanBeDisabled() + { + // it is not clear to me how to test this nor the difference + // between calling it or not + $this->markTestIncomplete(); + } + + public function testProvidesAFluentInterface() + { + $spec = $this->getMockBuilder('Mockable') + ->setMethods(array('mockableMethod')) + ->setConstructorArgs(array()) + ->setMockClassName('DummyClassName') + ->disableOriginalConstructor() + ->disableOriginalClone() + ->disableAutoload(); + $this->assertTrue($spec instanceof PHPUnit_Framework_MockObject_MockBuilder); + } +}