radarrplexorganizrnginxsonarrdashboardhtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelanding
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							129 lines
						
					
					
						
							3.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							129 lines
						
					
					
						
							3.7 KiB
						
					
					
				| <?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); | |
|     } | |
| }
 | |
| 
 |