Вход Регистрация
Файл: gapps/vendor/hamcrest/hamcrest-php/tests/Hamcrest/Type/IsCallableTest.php
Строк: 108
<?php
namespace HamcrestType;

class 
IsCallableTest extends HamcrestAbstractMatcherTest
{

    public static function 
callableFunction()
    {
    }

    public function 
__invoke()
    {
    }

    protected function 
createMatcher()
    {
        return 
HamcrestTypeIsCallable::callableValue();
    }

    public function 
testEvaluatesToTrueIfArgumentIsFunctionName()
    {
        
assertThat('preg_match'callableValue());
    }

    public function 
testEvaluatesToTrueIfArgumentIsStaticMethodCallback()
    {
        
assertThat(
            array(
'HamcrestTypeIsCallableTest''callableFunction'),
            
callableValue()
        );
    }

    public function 
testEvaluatesToTrueIfArgumentIsInstanceMethodCallback()
    {
        
assertThat(
            array(
$this'testEvaluatesToTrueIfArgumentIsInstanceMethodCallback'),
            
callableValue()
        );
    }

    public function 
testEvaluatesToTrueIfArgumentIsClosure()
    {
        if (!
version_compare(PHP_VERSION'5.3''>=')) {
            
$this->markTestSkipped('Closures require php 5.3');
        }
        eval(
'assertThat(function () {}, callableValue());');
    }

    public function 
testEvaluatesToTrueIfArgumentImplementsInvoke()
    {
        if (!
version_compare(PHP_VERSION'5.3''>=')) {
            
$this->markTestSkipped('Magic method __invoke() requires php 5.3');
        }
        
assertThat($thiscallableValue());
    }

    public function 
testEvaluatesToFalseIfArgumentIsInvalidFunctionName()
    {
        if (
function_exists('not_a_Hamcrest_function')) {
            
$this->markTestSkipped('Function "not_a_Hamcrest_function" must not exist');
        }

        
assertThat('not_a_Hamcrest_function'not(callableValue()));
    }

    public function 
testEvaluatesToFalseIfArgumentIsInvalidStaticMethodCallback()
    {
        
assertThat(
            array(
'HamcrestTypeIsCallableTest''noMethod'),
            
not(callableValue())
        );
    }

    public function 
testEvaluatesToFalseIfArgumentIsInvalidInstanceMethodCallback()
    {
        
assertThat(array($this'noMethod'), not(callableValue()));
    }

    public function 
testEvaluatesToFalseIfArgumentDoesntImplementInvoke()
    {
        
assertThat(new stdClass(), not(callableValue()));
    }

    public function 
testEvaluatesToFalseIfArgumentDoesntMatchType()
    {
        
assertThat(falsenot(callableValue()));
        
assertThat(5.2not(callableValue()));
    }

    public function 
testHasAReadableDescription()
    {
        
$this->assertDescription('a callable'callableValue());
    }

    public function 
testDecribesActualTypeInMismatchMessage()
    {
        
$this->assertMismatchDescription(
            
'was a string "invalid-function"',
            
callableValue(),
            
'invalid-function'
        
);
    }
}
Онлайн: 0
Реклама