You are here

UnlinkTestCase.php in Zircon Profile 8

Namespace

org\bovigo\vfs

File

vendor/mikey179/vfsStream/src/test/php/org/bovigo/vfs/UnlinkTestCase.php
View source
<?php

/**
 * This file is part of vfsStream.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * @package  org\bovigo\vfs
 */
namespace org\bovigo\vfs;


/**
 * Test for unlink() functionality.
 *
 * @group  unlink
 */
class UnlinkTestCase extends \PHPUnit_Framework_TestCase {

  /**
   * @test
   * @group  issue_51
   */
  public function canRemoveNonWritableFileFromWritableDirectory() {
    $structure = array(
      'test_directory' => array(
        'test.file' => '',
      ),
    );
    $root = vfsStream::setup('root', null, $structure);
    $root
      ->getChild('test_directory')
      ->chmod(0777);
    $root
      ->getChild('test_directory')
      ->getChild('test.file')
      ->chmod(0444);
    $this
      ->assertTrue(@unlink(vfsStream::url('root/test_directory/test.file')));
  }

  /**
   * @test
   * @group  issue_51
   */
  public function canNotRemoveWritableFileFromNonWritableDirectory() {
    $structure = array(
      'test_directory' => array(
        'test.file' => '',
      ),
    );
    $root = vfsStream::setup('root', null, $structure);
    $root
      ->getChild('test_directory')
      ->chmod(0444);
    $root
      ->getChild('test_directory')
      ->getChild('test.file')
      ->chmod(0777);
    $this
      ->assertFalse(@unlink(vfsStream::url('root/test_directory/test.file')));
  }

  /**
   * @test
   * @since  1.4.0
   * @group  issue_68
   */
  public function unlinkNonExistingFileTriggersError() {
    vfsStream::setup();
    try {
      $this
        ->assertFalse(unlink('vfs://root/foo.txt'));
    } catch (\PHPUnit_Framework_Error $fe) {
      $this
        ->assertEquals('unlink(vfs://root/foo.txt): No such file or directory', $fe
        ->getMessage());
    }
  }

}

Classes

Namesort descending Description
UnlinkTestCase Test for unlink() functionality.