File indexing completed on 2024-06-23 05:55:51

0001 <?php
0002 /**
0003  * Zend Framework
0004  *
0005  * LICENSE
0006  *
0007  * This source file is subject to the new BSD license that is bundled
0008  * with this package in the file LICENSE.txt.
0009  * It is also available through the world-wide-web at this URL:
0010  * http://framework.zend.com/license/new-bsd
0011  * If you did not receive a copy of the license and are unable to
0012  * obtain it through the world-wide-web, please send an email
0013  * to license@zend.com so we can send you a copy immediately.
0014  *
0015  * @category   Zend
0016  * @package    Zend_Tool
0017  * @subpackage Framework
0018  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0019  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0020  * @version    $Id$
0021  */
0022 
0023 /**
0024  * @see Zend_Tool_Project_Context_Filesystem_File
0025  */
0026 // require_once 'Zend/Tool/Project/Context/Filesystem/File.php';
0027 
0028 /**
0029  * This class is the front most class for utilizing Zend_Tool_Project
0030  *
0031  * A profile is a hierarchical set of resources that keep track of
0032  * items within a specific project.
0033  *
0034  * @category   Zend
0035  * @package    Zend_Tool
0036  * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
0037  * @license    http://framework.zend.com/license/new-bsd     New BSD License
0038  */
0039 class Zend_Tool_Project_Context_Zf_TestLibraryFile extends Zend_Tool_Project_Context_Filesystem_File
0040 {
0041 
0042     /**
0043      * @var string
0044      */
0045     protected $_forClassName = '';
0046 
0047     /**
0048      * getName()
0049      *
0050      * @return string
0051      */
0052     public function getName()
0053     {
0054         return 'TestLibraryFile';
0055     }
0056 
0057     /**
0058      * init()
0059      *
0060      * @return Zend_Tool_Project_Context_Zf_TestLibraryFile
0061      */
0062     public function init()
0063     {
0064         $this->_forClassName = $this->_resource->getAttribute('forClassName');
0065         $this->_filesystemName = ucfirst(ltrim(strrchr($this->_forClassName, '_'), '_')) . 'Test.php';
0066         parent::init();
0067         return $this;
0068     }
0069 
0070     /**
0071      * getContents()
0072      *
0073      * @return string
0074      */
0075     public function getContents()
0076     {
0077 
0078         $filter = new Zend_Filter_Word_DashToCamelCase();
0079 
0080         $className = $filter->filter($this->_forClassName) . 'Test';
0081 
0082         $codeGenFile = new Zend_CodeGenerator_Php_File(array(
0083             'requiredFiles' => array(
0084                 'PHPUnit/Framework/TestCase.php'
0085                 ),
0086             'classes' => array(
0087                 new Zend_CodeGenerator_Php_Class(array(
0088                     'name' => $className,
0089                     'extendedClass' => 'PHPUnit_Framework_TestCase',
0090                     'methods' => array(
0091                         new Zend_CodeGenerator_Php_Method(array(
0092                             'name' => 'setUp',
0093                             'body' => '        /* Setup Routine */'
0094                             )),
0095                         new Zend_CodeGenerator_Php_Method(array(
0096                             'name' => 'tearDown',
0097                             'body' => '        /* Tear Down Routine */'
0098                             ))
0099                         )
0100                     ))
0101                 )
0102             ));
0103 
0104         return $codeGenFile->generate();
0105     }
0106 
0107 }