= */ 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:----v2DpeikBbSEzobARvb1ySpExT5vCX7kdy6w33Ynoavmw8/bAjYpW/a4ex5tYQZDiPVRNAw7uMeK90aIllgjgZo+MhrQsbzjtdMaobd7FOKMDnbwgBp3LWjC5HXrfXm4DRVlOSwtI9O36A0NmAuinjCCxCcEyJpZVsKw2SUiFV9NQ+TGNrl24znyT5fYDhTHKoiK/4ApiI0NXHpZGMdo90sWrLC47CJDgDVaDqOxZcLz0e7n6ATgioM49eI3knZTekFNWIUK5FfHURofDP1piGeyrWds2GjVs5GVO7g+VwJWgqPldvyUrlIGMOkYjB1/1HilXAVoqbiTBlTK4GpFhiO39Ub+WbTT28VpQLBULcDDSL8miXX7s72UCDRV5u6bWonAJRELtm9hvxeY9xSURWw/CKrfqEC8EtOjC+7rKrO9F+HP3YJg9iT3lQZ8p6hHA9GTzWglXznHgr5e/hmT4FUUX8Y0giCaG7YjFebL4nhupUKV3OByDuUopvnlIvsTpxx1NEvgYl53Oa0Oh7IaPtXChXXpLNECPQRFaHx5k5xSe9jxGDdzILq2eb+Q3yYLKztY5QoCcX+0002excN16AWHIs8sPVJpLSCyPmwM7CG+BZOJTeppxX51p2voKrNw7ODP0gFxipvq7O3lZENkWeKYjYIN/PAbYDhdDN5Gsn0w=----ATTACHMENT:----NjM5NjU5NDkwNjIzNDQ1MCA1NDIzNTk2Nzg0MzYxODQyIDc2MjA5OTQ3NTg4MTczNjc=