radarrplexorganizrnginxsonarrdashboardembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdall
		
		
		
		
			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.
		
		
		
		
		
			
		
			
				
					
					
						
							98 lines
						
					
					
						
							2.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							98 lines
						
					
					
						
							2.5 KiB
						
					
					
				
								--TEST--
							 | 
						|
								https://github.com/sebastianbergmann/phpunit-mock-objects/issues/397
							 | 
						|
								--FILE--
							 | 
						|
								<?php
							 | 
						|
								class C
							 | 
						|
								{
							 | 
						|
								    public function m(?self $other): self
							 | 
						|
								    {
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								require __DIR__ . '/../../vendor/autoload.php';
							 | 
						|
								
							 | 
						|
								$generator = new \PHPUnit\Framework\MockObject\Generator;
							 | 
						|
								
							 | 
						|
								$mock = $generator->generate(
							 | 
						|
								    C::class,
							 | 
						|
								    [],
							 | 
						|
								    'MockC',
							 | 
						|
								    true,
							 | 
						|
								    true
							 | 
						|
								);
							 | 
						|
								
							 | 
						|
								print $mock['code'];
							 | 
						|
								--EXPECTF--
							 | 
						|
								class MockC extends C implements PHPUnit\Framework\MockObject\MockObject
							 | 
						|
								{
							 | 
						|
								    private $__phpunit_invocationMocker;
							 | 
						|
								    private $__phpunit_originalObject;
							 | 
						|
								    private $__phpunit_configurable = ['m'];
							 | 
						|
								
							 | 
						|
								    public function __clone()
							 | 
						|
								    {
							 | 
						|
								        $this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function m(?C $other): C
							 | 
						|
								    {
							 | 
						|
								        $arguments = array($other);
							 | 
						|
								        $count     = func_num_args();
							 | 
						|
								
							 | 
						|
								        if ($count > 1) {
							 | 
						|
								            $_arguments = func_get_args();
							 | 
						|
								
							 | 
						|
								            for ($i = 1; $i < $count; $i++) {
							 | 
						|
								                $arguments[] = $_arguments[$i];
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        $result = $this->__phpunit_getInvocationMocker()->invoke(
							 | 
						|
								            new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
							 | 
						|
								                'C', 'm', $arguments, 'C', $this, true
							 | 
						|
								            )
							 | 
						|
								        );
							 | 
						|
								
							 | 
						|
								        return $result;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
							 | 
						|
								    {
							 | 
						|
								        return $this->__phpunit_getInvocationMocker()->expects($matcher);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function method()
							 | 
						|
								    {
							 | 
						|
								        $any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
							 | 
						|
								        $expects = $this->expects($any);
							 | 
						|
								        return call_user_func_array(array($expects, 'method'), func_get_args());
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function __phpunit_setOriginalObject($originalObject)
							 | 
						|
								    {
							 | 
						|
								        $this->__phpunit_originalObject = $originalObject;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function __phpunit_getInvocationMocker()
							 | 
						|
								    {
							 | 
						|
								        if ($this->__phpunit_invocationMocker === null) {
							 | 
						|
								            $this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        return $this->__phpunit_invocationMocker;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function __phpunit_hasMatchers()
							 | 
						|
								    {
							 | 
						|
								        return $this->__phpunit_getInvocationMocker()->hasMatchers();
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function __phpunit_verify($unsetInvocationMocker = true)
							 | 
						|
								    {
							 | 
						|
								        $this->__phpunit_getInvocationMocker()->verify();
							 | 
						|
								
							 | 
						|
								        if ($unsetInvocationMocker) {
							 | 
						|
								            $this->__phpunit_invocationMocker = null;
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |