TYPO3 API  SVNRelease
t3lib_lockTest.php
Go to the documentation of this file.
00001 <?php
00002 /***************************************************************
00003  *  Copyright notice
00004  *
00005  *  (c) 2010-2011 Christian Kuhn <lolli@schwarzbu.ch>
00006  *  All rights reserved
00007  *
00008  *  This script is part of the TYPO3 project. The TYPO3 project is
00009  *  free software; you can redistribute it and/or modify
00010  *  it under the terms of the GNU General Public License as published by
00011  *  the Free Software Foundation; either version 2 of the License, or
00012  *  (at your option) any later version.
00013  *
00014  *  The GNU General Public License can be found at
00015  *  http://www.gnu.org/copyleft/gpl.html.
00016  *
00017  *  This script is distributed in the hope that it will be useful,
00018  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  *  GNU General Public License for more details.
00021  *
00022  *  This copyright notice MUST APPEAR in all copies of the script!
00023  ***************************************************************/
00024 
00025 /**
00026  * Testcase for t3lib_lock
00027  *
00028  * @author Christian Kuhn <lolli@schwarzbu.ch>
00029  *
00030  * @package TYPO3
00031  * @subpackage t3lib
00032  */
00033 
00034 class t3lib_lockTest extends tx_phpunit_testcase {
00035 
00036     /**
00037      * Enable backup of global and system variables
00038      *
00039      * @var boolean
00040      */
00041     protected $backupGlobals = TRUE;
00042     
00043     /**
00044      * Exclude TYPO3_DB from backup/ restore of $GLOBALS
00045      * because resource types cannot be handled during serializing
00046      *
00047      * @var array
00048      */
00049     protected $backupGlobalsBlacklist = array('TYPO3_DB');
00050 
00051     ///////////////////////////////
00052     // tests concerning acquire
00053     ///////////////////////////////a
00054 
00055     /**
00056      * @test
00057      */
00058     public function acquireFixesPermissionsOnLockFileIfUsingSimpleLogging() {
00059         if (TYPO3_OS == 'WIN') {
00060             $this->markTestSkipped('acquireFixesPermissionsOnLockFileIfUsingSimpleLogging() test not available on Windows.');
00061         }
00062 
00063             // Use a very high id to be unique
00064         $instance = new t3lib_lock(999999999, 'simple');
00065         $pathOfLockFile = $instance->getResource();
00066         $GLOBALS['TYPO3_CONF_VARS']['BE']['fileCreateMask'] = '0777';
00067 
00068             // Acquire lock, get actual file permissions and clean up
00069         $instance->acquire();
00070         clearstatcache();
00071         $resultFilePermissions = substr(decoct(fileperms($pathOfLockFile)), 2);
00072         $instance->__destruct();
00073 
00074         $this->assertEquals($resultFilePermissions, '0777');
00075     }
00076 }
00077 ?>