= */ class CheckerTest extends \PHPUnit_Framework_TestCase { protected $checker; public function setUp() { $this->checker = new Checker; } public function tearDown() { $this->checker = null; } public function testOSFail() { $this->checker->resetRequirements(); if (DIRECTORY_SEPARATOR === '/') { $os = $this->checker::OS_DOS; } else { $os = $this->checker::OS_UNIX; } $this->checker ->requireOS($os) ->check(); $this->assertEquals(false, $this->checker->isSatisfied()); } public function testOSPass() { $this->checker->resetRequirements(); if (DIRECTORY_SEPARATOR === '/') { $os = $this->checker::OS_UNIX; } else { $os = $this->checker::OS_DOS; } $this->checker ->requireOS($os) ->check(); $this->assertEquals(true, $this->checker->isSatisfied()); } public function testFunctionsPass() { $this->checker->resetRequirements(); $this->checker ->requireFunctions(['sprintf', 'strtolower', 'ucfirst|ucwords']) ->check(); $this->assertEquals(true, $this->checker->isSatisfied()); } public function testFunctionsFail() { $this->checker->resetRequirements(); $this->checker ->requireFunctions([rand() . uniqid(), uniqid() . rand()]) ->check(); $this->assertEquals(false, $this->checker->isSatisfied()); } public function testClassesPass() { $this->checker->resetRequirements(); $this->checker ->requireClasses(['Directory', 'Exception|RuntimeException']) ->check(); $this->assertEquals(true, $this->checker->isSatisfied()); } public function testClassesFail() { $this->checker->resetRequirements(); $this->checker ->requireFunctions([rand() . uniqid(), uniqid() . rand()]) ->check(); $this->assertEquals(false, $this->checker->isSatisfied()); } public function testUnlimitedIniValuePass() { ini_set('memory_limit', -1); $this->checker->resetRequirements(); $this->checker->requireIniValues([ 'memory_limit' => '>=64M', ]); $this->assertEquals(true, $this->checker->isSatisfied()); } /** * @dataProvider phpVersionPassData */ public function testPHPVersionPass($version) { $this->checker->resetRequirements(); $this->checker ->requirePhpVersion($version) ->check(); $this->assertEquals(true, $this->checker->isSatisfied()); } /** * @dataProvider phpVersionFailData */ public function testPHPVersionFail($version) { $this->checker->resetRequirements(); $this->checker ->requirePhpVersion($version) ->check(); $this->assertEquals(false, $this->checker->isSatisfied()); } public function testIniPass() { $this->checker->resetRequirements(); $setting = ini_get('file_uploads'); if ($setting == 'On' || $setting == '1') { $setting = true; } elseif ($setting == 'Off' || $setting == '' || $setting == '0') { $setting = false; } $this->checker ->requireIniValues([ 'file_uploads' => $setting ]) ->check(); $this->assertEquals(true, $this->checker->isSatisfied()); } public function testIniFail() { $this->checker->resetRequirements(); $setting = ini_get('file_uploads'); if ($setting == 'On' || $setting == '1') { $setting = true; } elseif ($setting == 'Off' || $setting == '' || $setting == '0') { $setting = false; } $this->checker ->requireIniValues([ 'file_uploads' => !$setting ]) ->check(); $this->assertEquals(false, $this->checker->isSatisfied()); } public function phpVersionFailData() { $phpversion = (float) phpversion(); // Higher than current $data[] = $phpversion + 1; // Lower than current $data[] = $phpversion - 1; // comparison operators $data[] = '>' . ($phpversion + 1); $data[] = '>=' . ($phpversion + 2); $data[] = '<' . $phpversion; $data[] = '>=' . $phpversion; $data[] = '=<' . ($phpversion - 1); return [$data]; } public function phpVersionPassData() { $phpversion = (float) phpversion(); $data[] = '=' . phpversion(); // comparison operators $data[] = '>' . ($phpversion - 1); $data[] = '>=' . $phpversion; $data[] = '<' . ($phpversion + 1); $data[] = '>=' . $phpversion; $data[] = '=<' . ($phpversion + 1); return [$data]; } } __halt_compiler();----SIGNATURE:----mAFtUZQhT+xIcYHsDEjXyCaNcQ0d3y3drpiGE6tzbgrcWyLO7KIcptONc8ja/cGFtaVVEDcXu42xE/4B8E7TwGy2RGnY85RoXayFM9CbExsKvvESZ1moF8vAGq5DfJfQWiwPpILRUb655xws7oAizRibaHqrI1XaI8aDn37BULipM5Zj8dLnfZCAaB0Tw9vsniiqA0UIzv500AR6tPdp7jDq5WBykdRhULX2wVFpRv5+QAYxjZIkCJTiyaKUhn3B0rHbdU3K1odP4Ft9wEQbsW5SsNPLhRQ9pCSFM5emq+Djk3a+Snc7i/JdgX2qBpR7TLv2MzY+GzZ+SRrMEWMef39AV78+4qPZyWDOHtoJLwr6atSH4UPJi/vpJuBqOjCE9rNKFfDVS/JNwZ/zdyX+lcZdRXXgpG8Q5m6aJzcsiDg51ffB+OS1+DGOlJ2YgwwDMssZGesdVr/T4inUx0MfsVjkj6GuLQlT7wxFdthCp72wtySAJhJvSX0DOukvibKWmC3/kMBvJBBDWOo/v1T3UdAcmW6lgEqMgyQvlHYeEfsb24MRQ/BiY+JMB27wRJycUWrHIqaSJ5t0+30iQj0f7w9Akxw+fOdRL1BAyyPbzxfP/3+54lB9mgfkCADcoGSLlLIJT4BD0xWMNS8q/KCnpzPLra7jF9Af4DDn1W45Ax4=----ATTACHMENT:----NTAzODc4MzA4MTEwNDE3NiAyMzMzMjk0Nzc3MTk0MzYxIDg1MDMzMzI3OTIxNTc4MTc=