163 lines
5.1 KiB
PHP
163 lines
5.1 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
*
|
||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||
|
* or more contributor license agreements. See the NOTICE file
|
||
|
* distributed with this work for additional information
|
||
|
* regarding copyright ownership. The ASF licenses this file
|
||
|
* to you under the Apache License, Version 2.0 (the
|
||
|
* "License"); you may not use this file except in compliance
|
||
|
* with the License. You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing,
|
||
|
* software distributed under the License is distributed on an
|
||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||
|
* KIND, either express or implied. See the License for the
|
||
|
* specific language governing permissions and limitations
|
||
|
* under the License.
|
||
|
*
|
||
|
* @package Base
|
||
|
* @subpackage Tests
|
||
|
* @version //autogentag//
|
||
|
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
|
||
|
*/
|
||
|
/**
|
||
|
* @package Base
|
||
|
* @subpackage Tests
|
||
|
*/
|
||
|
class ezcBaseFeaturesUnixTest extends ezcTestCase
|
||
|
{
|
||
|
protected function setUp()
|
||
|
{
|
||
|
$uname = php_uname( 's' );
|
||
|
if ( substr( $uname, 0, 7 ) == 'Windows' )
|
||
|
{
|
||
|
$this->markTestSkipped( 'Unix tests' );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function testSupportsLink()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::supportsLink() );
|
||
|
}
|
||
|
|
||
|
public function testSupportsSymLink()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::supportsSymLink() );
|
||
|
}
|
||
|
|
||
|
public function testSupportsUserId()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::supportsUserId() );
|
||
|
}
|
||
|
|
||
|
/* // Need to find a way to make this test work, as setting global enviroment variables
|
||
|
// is not working (putenv( "PATH=" ) doesn't unset $_ENV["PATH"])
|
||
|
// One solution would be to use in the ezcBaseFeatures::getPath():
|
||
|
// getenv( 'PATH' ) instead of $_ENV['PATH'] (but that won't work under IIS).
|
||
|
public function testHasImageIdentifyNoPath()
|
||
|
{
|
||
|
$envPath = getenv( 'PATH' );
|
||
|
putenv( "PATH=" );
|
||
|
$this->assertEquals( false, ezcBaseFeatures::hasImageIdentify() );
|
||
|
putenv( "PATH={$envPath}" );
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
public function testHasImageConvert()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::hasImageConvert() );
|
||
|
}
|
||
|
|
||
|
public function testGetImageConvertExecutable()
|
||
|
{
|
||
|
$this->assertEquals( '/usr/bin/convert', ezcBaseFeatures::getImageConvertExecutable() );
|
||
|
}
|
||
|
|
||
|
public function testGetImageIdentifyExecutable()
|
||
|
{
|
||
|
$this->assertEquals( '/usr/bin/identify', ezcBaseFeatures::getImageIdentifyExecutable() );
|
||
|
}
|
||
|
|
||
|
public function testHasImageIdentify()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::hasImageIdentify() );
|
||
|
}
|
||
|
|
||
|
public function testHasExtensionSupport1()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::hasExtensionSupport( 'standard' ) );
|
||
|
}
|
||
|
|
||
|
public function testHasExtensionSupportNotFound1()
|
||
|
{
|
||
|
$this->assertEquals( false, ezcBaseFeatures::hasExtensionSupport( 'non_existent_extension' ) );
|
||
|
try
|
||
|
{
|
||
|
throw new ezcBaseExtensionNotFoundException( 'non_existent_extension', null, 'This is just a test.' );
|
||
|
}
|
||
|
catch ( ezcBaseExtensionNotFoundException $e )
|
||
|
{
|
||
|
$this->assertEquals( "The extension 'non_existent_extension' could not be found. This is just a test.",
|
||
|
$e->getMessage() );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function testHasExtensionSupportNotFound2()
|
||
|
{
|
||
|
$this->assertEquals( false, ezcBaseFeatures::hasExtensionSupport( 'non_existent_extension' ) );
|
||
|
try
|
||
|
{
|
||
|
throw new ezcBaseExtensionNotFoundException( 'non_existent_extension', '1.2', 'This is just a test.' );
|
||
|
}
|
||
|
catch ( ezcBaseExtensionNotFoundException $e )
|
||
|
{
|
||
|
$this->assertEquals( "The extension 'non_existent_extension' with version '1.2' could not be found. This is just a test.",
|
||
|
$e->getMessage() );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function testHasFunction1()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::hasFunction( 'function_exists' ) );
|
||
|
}
|
||
|
|
||
|
public function testHasFunction2()
|
||
|
{
|
||
|
$this->assertEquals( false, ezcBaseFeatures::hasFunction( 'non_existent_function_in_php' ) );
|
||
|
}
|
||
|
|
||
|
public function testHasExtensionSupport2()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::hasExtensionSupport( 'date', '5.1.0' ) );
|
||
|
}
|
||
|
|
||
|
public function testClassExists()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::classExists( 'Exception', false ) );
|
||
|
}
|
||
|
|
||
|
public function testClassExistsAutoload()
|
||
|
{
|
||
|
$this->assertEquals( true, ezcBaseFeatures::classExists( 'ezcBaseFeatures' ) );
|
||
|
}
|
||
|
|
||
|
public function testClassExistsNotFound()
|
||
|
{
|
||
|
$this->assertEquals( false, ezcBaseFeatures::classExists( 'ezcBaseNonExistingClass', false ) );
|
||
|
}
|
||
|
|
||
|
public function testClassExistsNotFoundAutoload()
|
||
|
{
|
||
|
$this->assertEquals( false, ezcBaseFeatures::classExists( 'ezcBaseNonExistingClass' ) );
|
||
|
}
|
||
|
|
||
|
public static function suite()
|
||
|
{
|
||
|
return new PHPUnit_Framework_TestSuite(__CLASS__);
|
||
|
}
|
||
|
}
|
||
|
?>
|