You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					51 lines
				
				1.3 KiB
			
		
		
			
		
	
	
					51 lines
				
				1.3 KiB
			| 
											11 years ago
										 | <?php
 | ||
|  | 
 | ||
|  | namespace yiiunit\extensions\swiftmailer;
 | ||
|  | 
 | ||
|  | use yii\helpers\ArrayHelper;
 | ||
|  | 
 | ||
|  | abstract class TestCase extends \PHPUnit_Framework_TestCase
 | ||
|  | {
 | ||
|  |     /**
 | ||
|  |      * Clean up after test.
 | ||
|  |      * By default the application created with [[mockApplication]] will be destroyed.
 | ||
|  |      */
 | ||
|  |     protected function tearDown()
 | ||
|  |     {
 | ||
|  |         parent::tearDown();
 | ||
|  |         $this->destroyApplication();
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * Populates Yii::$app with a new application
 | ||
|  |      * The application will be destroyed on tearDown() automatically.
 | ||
|  |      * @param array $config The application configuration, if needed
 | ||
|  |      * @param string $appClass name of the application class to create
 | ||
|  |      */
 | ||
|  |     protected function mockApplication($config = [], $appClass = '\yii\console\Application')
 | ||
|  |     {
 | ||
|  |         new $appClass(ArrayHelper::merge([
 | ||
|  |             'id' => 'testapp',
 | ||
|  |             'basePath' => __DIR__,
 | ||
|  |             'vendorPath' => $this->getVendorPath(),
 | ||
|  |         ], $config));
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     protected function getVendorPath()
 | ||
|  |     {
 | ||
|  |         $vendor = dirname(dirname(__DIR__)) . '/vendor';
 | ||
|  |         if (!is_dir($vendor)) {
 | ||
|  |             $vendor = dirname(dirname(dirname(dirname(__DIR__))));
 | ||
|  |         }
 | ||
|  |         return $vendor;
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * Destroys application in Yii::$app by setting it to null.
 | ||
|  |      */
 | ||
|  |     protected function destroyApplication()
 | ||
|  |     {
 | ||
|  |         \Yii::$app = null;
 | ||
|  |     }
 | ||
|  | }
 |