Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/FileManager/tests/Case/Model/FileManagerTest.php
<?php
App
::uses('FileManager', 'FileManager.Model');
App::uses('CroogoTestCase', 'Croogo.TestSuite');

class
FileManagerTest extends CroogoTestCase
{

    public
$FileManager;

    public
$fixtures = [
       
'plugin.settings.setting'
   
];

    private
$__testAppPath;

    public function
setUp()
    {
       
$this->FileManager = new FileManager(false, null, null, null);
       
$this->__testAppPath = CakePlugin::path('FileManager') . 'Test' . DS . 'test_app' . DS;
       
$this->__setFilePathsForTests();
       
parent::setUp();
    }

    public function
tearDown()
    {
        unset(
$this->FileManager);
       
parent::tearDown();
    }

   
/**
     * @group isEditable
     */
   
public function testIsEditableShouldReturnTrueWhenPathIsWithinEditablePaths()
    {
       
$isEditable = $this->FileManager->isEditable($this->__testAppPath . DS . 'renameMeTooPlease.txt');
       
$this->assertTrue($isEditable);
    }

   
/**
     * @group isEditable
     */
   
public function testIsEditableShouldReturnFalseWhenPathIsOutsideEditablePaths()
    {
       
$isEditable = $this->FileManager->isEditable('/var/log/apache2');
       
$this->assertFalse($isEditable);
    }

   
/**
     * @group rename
     */
   
public function testRenameShouldReturnedTrueOnSuccess()
    {
       
$oldPath = $this->__testAppPath . DS . 'renameMe';
       
$newPath = $this->__testAppPath . DS . 'renamed';

       
$this->assertTrue($this->FileManager->rename($oldPath, $newPath));
       
$this->FileManager->rename($newPath, $oldPath);
    }

   
/**
     * @group rename
     */
   
public function testRenameShouldRenamedOldFileToNewFile()
    {
       
$oldPath = $this->__testAppPath . DS . 'renameMeTooPlease.txt';
       
$newPath = $this->__testAppPath . DS . 'renamed.txt';

       
$this->FileManager->rename($oldPath, $newPath);
       
$this->assertTrue(file_exists($newPath) && !file_exists($oldPath));

       
$this->FileManager->rename($newPath, $oldPath);
    }

   
/**
     * @group rename
     */
   
public function testRenameShouldRenamedOldFolderToNewFolder()
    {
       
$oldPath = $this->__testAppPath . 'renameMe';
       
$newPath = $this->__testAppPath . 'renamed';

       
$this->FileManager->rename($oldPath, $newPath);
       
$this->assertTrue(is_dir($newPath) && !is_dir($oldPath));

       
$this->FileManager->rename($newPath, $oldPath);
    }

   
/**
     * Convenient methods for testsuite
     */
   
private function __setFilePathsForTests()
    {
       
Configure::write('FileManager.editablePaths', [$this->__testAppPath]);
       
Configure::write('FileManager.deletablePaths', [$this->__testAppPath]);
    }
}