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.
		
		
		
		
			
				
					84 lines
				
				2.3 KiB
			
		
		
			
		
	
	
					84 lines
				
				2.3 KiB
			| 
								 
											11 years ago
										 
									 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace yiiunit\extensions\bootstrap;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use yii\di\Container;
							 | 
						||
| 
								 | 
							
								use yii\helpers\ArrayHelper;
							 | 
						||
| 
								 | 
							
								use Yii;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * This is the base class for all yii framework unit tests.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								abstract class TestCase extends \PHPUnit_Framework_TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    protected function setUp()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        parent::setUp();
							 | 
						||
| 
								 | 
							
								        $this->mockWebApplication();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 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' => dirname(__DIR__) . '/vendor',
							 | 
						||
| 
								 | 
							
								        ], $config));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    protected function mockWebApplication($config = [], $appClass = '\yii\web\Application')
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        new $appClass(ArrayHelper::merge([
							 | 
						||
| 
								 | 
							
								            'id' => 'testapp',
							 | 
						||
| 
								 | 
							
								            'basePath' => __DIR__,
							 | 
						||
| 
								 | 
							
								            'vendorPath' => dirname(__DIR__) . '/vendor',
							 | 
						||
| 
								 | 
							
								            'components' => [
							 | 
						||
| 
								 | 
							
								                'request' => [
							 | 
						||
| 
								 | 
							
								                    'cookieValidationKey' => 'wefJDF8sfdsfSDefwqdxj9oq',
							 | 
						||
| 
								 | 
							
								                    'scriptFile' => __DIR__ .'/index.php',
							 | 
						||
| 
								 | 
							
								                    'scriptUrl' => '/index.php',
							 | 
						||
| 
								 | 
							
								                ],
							 | 
						||
| 
								 | 
							
								            ]
							 | 
						||
| 
								 | 
							
								        ], $config));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Destroys application in Yii::$app by setting it to null.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected function destroyApplication()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        Yii::$app = null;
							 | 
						||
| 
								 | 
							
								        Yii::$container = new Container();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Asserting two strings equality ignoring line endings
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param string $expected
							 | 
						||
| 
								 | 
							
								     * @param string $actual
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function assertEqualsWithoutLE($expected, $actual)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $expected = str_replace("\r\n", "\n", $expected);
							 | 
						||
| 
								 | 
							
								        $actual = str_replace("\r\n", "\n", $actual);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals($expected, $actual);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |