Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
core
/
vendor
/
mockery
/
mockery
/
library
/
Mockery
/
Generator
/
StringManipulation
/
Pass
:
InterfacePass.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Mockery * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://github.com/padraic/mockery/blob/master/LICENSE * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to padraic@php.net so we can send you a copy immediately. * * @category Mockery * @package Mockery * @copyright Copyright (c) 2010 Pádraic Brady (http://blog.astrumfutura.com) * @license http://github.com/padraic/mockery/blob/master/LICENSE New BSD License */ namespace Mockery\Generator\StringManipulation\Pass; use Mockery\Generator\MockConfiguration; class InterfacePass implements Pass { public function apply($code, MockConfiguration $config) { foreach ($config->getTargetInterfaces() as $i) { $name = ltrim($i->getName(), "\\"); if (!interface_exists($name)) { \Mockery::declareInterface($name); } } $interfaces = array_reduce((array) $config->getTargetInterfaces(), function ($code, $i) { return $code . ", \\" . ltrim($i->getName(), "\\"); }, ""); $code = str_replace( "implements MockInterface", "implements MockInterface" . $interfaces, $code ); return $code; } }