118 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Unit;
 | |
| 
 | |
| 
 | |
| use Flow\Config;
 | |
| use Flow\Request;
 | |
| 
 | |
| /**
 | |
|  * Config unit tests
 | |
|  *
 | |
|  * @coversDefaultClass \Flow\Config
 | |
|  *
 | |
|  * @package Unit
 | |
|  */
 | |
| class ConfigTest extends FlowUnitCase
 | |
| {
 | |
| 	/**
 | |
| 	 * @covers ::getTempDir
 | |
| 	 * @covers ::getDeleteChunksOnSave
 | |
| 	 * @covers ::getHashNameCallback
 | |
| 	 * @covers ::getPreprocessCallback
 | |
| 	 * @covers ::__construct
 | |
| 	 */
 | |
| 	public function testConfig_construct_config()
 | |
| 	{
 | |
| 		$exampleConfig = array(
 | |
| 			'tempDir' => '/some/dir',
 | |
| 		    'deleteChunksOnSave' => TRUE,
 | |
| 		    'hashNameCallback' => '\SomeNs\SomeClass::someMethod',
 | |
| 		    'preprocessCallback' => '\SomeNs\SomeClass::preProcess'
 | |
| 		);
 | |
| 
 | |
| 		$config = new Config($exampleConfig);
 | |
| 
 | |
| 		$this->assertSame($exampleConfig['tempDir'], $config->getTempDir());
 | |
| 		$this->assertSame($exampleConfig['deleteChunksOnSave'], $config->getDeleteChunksOnSave());
 | |
| 		$this->assertSame($exampleConfig['hashNameCallback'], $config->getHashNameCallback());
 | |
| 		$this->assertSame($exampleConfig['preprocessCallback'], $config->getPreprocessCallback());
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @covers ::getTempDir
 | |
| 	 * @covers ::getDeleteChunksOnSave
 | |
| 	 * @covers ::getHashNameCallback
 | |
| 	 * @covers ::getPreprocessCallback
 | |
| 	 * @covers ::__construct
 | |
| 	 */
 | |
| 	public function testConfig_construct_default()
 | |
| 	{
 | |
| 		$config = new Config();
 | |
| 
 | |
| 		$this->assertSame('', $config->getTempDir());
 | |
| 		$this->assertSame(true, $config->getDeleteChunksOnSave());
 | |
| 		$this->assertSame('\Flow\Config::hashNameCallback', $config->getHashNameCallback());
 | |
| 		$this->assertSame(null, $config->getPreprocessCallback());
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @covers ::setTempDir
 | |
| 	 * @covers ::getTempDir
 | |
| 	 */
 | |
| 	public function testConfig_setTempDir()
 | |
| 	{
 | |
| 		$dir = '/some/dir';
 | |
| 		$config = new Config();
 | |
| 
 | |
| 		$config->setTempDir($dir);
 | |
| 		$this->assertSame($dir, $config->getTempDir());
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @covers ::setHashNameCallback
 | |
| 	 * @covers ::getHashNameCallback
 | |
| 	 */
 | |
| 	public function testConfig_setHashNameCallback()
 | |
| 	{
 | |
| 		$callback = '\SomeNs\SomeClass::someMethod';
 | |
| 		$config = new Config();
 | |
| 
 | |
| 		$config->setHashNameCallback($callback);
 | |
| 		$this->assertSame($callback, $config->getHashNameCallback());
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @covers ::setPreprocessCallback
 | |
| 	 * @covers ::getPreprocessCallback
 | |
| 	 */
 | |
| 	public function testConfig_setPreprocessCallback()
 | |
| 	{
 | |
| 		$callback = '\SomeNs\SomeClass::someOtherMethod';
 | |
| 		$config = new Config();
 | |
| 
 | |
| 		$config->setPreprocessCallback($callback);
 | |
| 		$this->assertSame($callback, $config->getPreprocessCallback());
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * @covers ::setDeleteChunksOnSave
 | |
| 	 * @covers ::getDeleteChunksOnSave
 | |
| 	 */
 | |
| 	public function testConfig_setDeleteChunksOnSave()
 | |
| 	{
 | |
| 		$config = new Config();
 | |
| 
 | |
| 		$config->setDeleteChunksOnSave(false);
 | |
| 		$this->assertFalse($config->getDeleteChunksOnSave());
 | |
| 	}
 | |
| 
 | |
| 	public function testConfig_hashNameCallback()
 | |
| 	{
 | |
| 		$request = new Request($this->requestArr);
 | |
| 
 | |
| 		$expHash = sha1($request->getIdentifier());
 | |
| 		$this->assertSame($expHash, Config::hashNameCallback($request));
 | |
| 	}
 | |
| }
 | 
