EnvironmentTest.php #1

  • //
  • guest/
  • perforce_software/
  • chronicle/
  • main/
  • tests/
  • phpunit/
  • P4/
  • EnvironmentTest.php
  • View
  • Commits
  • Open Download .zip Download (3 KB)
<?php
/**
 * Test methods for the P4 Environment class.
 *
 * @copyright   2011 Perforce Software. All rights reserved.
 * @license     Please see LICENSE.txt in top-level folder of this distribution.
 * @version     <release>/<patch>
 */
class P4_EnvironmentTest extends TestCase
{
    /**
     * Test getArgMax method
     */
    public function testGetArgMax()
    {
        $argMax = P4_Environment::getArgMax();
        $this->assertTrue(isset($argMax), 'Expect argMax to be set');
        $this->assertTrue(is_integer($argMax), 'Expect argMax to be an integer');
        $this->assertTrue($argMax >= 250, 'Expect argMax to be larger than 250 bytes');
    }

    /**
     * test passing an invalid callback to addShutdownCallback
     */
    public function testAddingBadCallback()
    {
        try {
            P4_Environment::addShutdownCallback('bogus');
            $this->fail('Unexpected success adding a bad callback');
        } catch (PHPUnit_Framework_AssertionFailedError $e) {
            $this->fail($e->getMessage());
        } catch (InvalidArgumentException $e) {
            $this->assertEquals(
                'Cannot add shutdown callback. Given callback is not callable.',
                $e->getMessage(),
                'Expected exception message'
            );
        } catch (Exception $e) {
            $this->fail(
                "$label: Unexpected Exception (" . get_class($e) . '): ' . $e->getMessage()
            );
        }
    }

    /**
     * test passing an array of invalid callbacks to addShutdownCallback
     */
    public function testAddingBadCallbacks()
    {
        try {
            P4_Environment::setShutdownCallbacks(array('bogus'));
            $this->fail('Unexpected success adding bad callbacks');
        } catch (PHPUnit_Framework_AssertionFailedError $e) {
            $this->fail($e->getMessage());
        } catch (InvalidArgumentException $e) {
            $this->assertEquals(
                'Cannot add shutdown callback. Given callback is not callable.',
                $e->getMessage(),
                'Expected exception message'
            );
        } catch (Exception $e) {
            $this->fail(
                "$label: Unexpected Exception (" . get_class($e) . '): ' . $e->getMessage()
            );
        }
    }

    /**
     * Test getShutdownCallbacks.
     */
    public function testGetShutdownCallbacks()
    {
        $callbacks = P4_Environment::getShutdownCallbacks();
        $this->assertTrue(isset($callbacks), 'Expect callbacks to be defined');
        $this->assertTrue(is_array($callbacks), 'Expect callbacks to be an array');
    }
}
# Change User Description Committed
#1 16170 perforce_software Move Chronicle files to follow new path scheme for branching.
//guest/perforce_software/chronicle/tests/phpunit/P4/EnvironmentTest.php
#1 8972 Matt Attaway Initial add of the Chronicle source code