= */ 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:----OLvLHlL7fz+OU8xqiddu+gLMAKpdRqrEpNOIcxQdjprHxJXU9M5wfXoquzmfJl1OhWLpHZgZLbCUvxMqHxnQONPB0AbzlzcrfKXqPpWadB40Wlej7ikpGaUEFuICKJqLFslC0LCIH9y4jIjZuIDQfSSnQpt0BLAivmDqu220MOf3WJb0vrzl/FjGZ5Aokma6bbNuVR37ryxG2giqbvVHb0a6Bo/vCTAW3yrGhGxti0U9mO/iCCIDOL8BfUuLfK7WQNqwYkl1RaozWW8HaDkXDjcLIe6Vq82PvP9HmptWBBCNYBQlMViJTRyDgX3N5JCslITrwznlag8Efe0pr6fNKUXSE+QBteiORpnYPDY/9DpsjpPVTHem8rN3bJBgilp3OF5oA5nJ1pER0gsYDAruvMIKr9AHUnMK8riLo5vVtJ5WNcKFq52+W7Q1ydSsSU9M2iaCTLiF3zxpb/1NFyBBl/n0TePfQn5v0M0TB94wmj7YuKQqy8fNb4QYXm0GUV4eE9+T3ugKAC7Ep5w5JXcH3FsFj4D0rQtSNyEcOtxl74d2VaScQs9acHHo8o+DJEerBTbYEDKUbws9DssKwkOGR3+KC6jeQpricz6+iel4Q1uCytSVNlm7hb8hCWO2QG2lL7wxQF03VTaj54hpyoZWDwVmdqd6mCfcyYC1HMqnK0Y=----ATTACHMENT:----NDc5ODAxODE2NzE2MDc2MSAzOTU5NTYzNDg1ODE1NTEgNzYwMDE4OTM3MTY5NTYzMw==