Вход Регистрация
Файл: gapps/vendor/mockery/mockery/library/Mockery/Generator/StringManipulation/Pass/ClassPass.php
Строк: 40
<?php

namespace MockeryGeneratorStringManipulationPass;

use 
MockeryGeneratorMockConfiguration;

class 
ClassPass implements Pass
{
    public function 
apply($codeMockConfiguration $config)
    {
        
$target $config->getTargetClass();

        if (!
$target) {
            return 
$code;
        }

        if (
$target->isFinal()) {
            return 
$code;
        }

        
$className ltrim($target->getName(), "\");
        if (!class_exists(
$className)) {
            
$targetCode = '<?php ';

            if (
$target->inNamespace()) {
                
$targetCode.= 'namespace ' . $target->getNamespaceName(). '; ';
            }

            
$targetCode.= 'class ' . $target->getShortName() . ' {} ';

            /*
             * We could eval here, but it doesn't play well with the way
             * PHPUnit tries to backup global state and the require definition
             * loader
             */
            
$tmpfname = tempnam(sys_get_temp_dir(), "Mockery");
            file_put_contents(
$tmpfname$targetCode);
            require 
$tmpfname;
            Mockery::registerFileForCleanUp(
$tmpfname);
        }

        
$code = str_replace(
            "
implements MockInterface",
            "
extends \" . $className . " implements MockInterface",
            
$code
        );

        return 
$code;
    }
}
Онлайн: 0
Реклама