fileLoc = "cache/moduleScannerTemp.php"; } public function tearDown() { if (is_file($this->fileLoc)) unlink($this->fileLoc); } public function phpSamples() { return array( array("", false), array("", true), array("", true), ); } /** * @dataProvider phpSamples */ public function testPHPFile($content, $is_php) { $ms = new MockModuleScanner(); $this->assertEquals($is_php, $ms->isPHPFile($content), "Bad PHP file result"); } public function testFileTemplatePass() { $fileModContents = <<file = new File(); \$file = "file"; } } ?> EOQ; file_put_contents($this->fileLoc, $fileModContents); $ms = new ModuleScanner(); $errors = $ms->scanFile($this->fileLoc); $this->assertTrue(empty($errors)); } public function testFileFunctionFail() { $fileModContents = <<file = new File(); \$file = file('test.php'); } } ?> EOQ; file_put_contents($this->fileLoc, $fileModContents); $ms = new ModuleScanner(); $errors = $ms->scanFile($this->fileLoc); $this->assertTrue(!empty($errors)); } public function testCallUserFunctionFail() { $fileModContents = << EOQ; file_put_contents($this->fileLoc, $fileModContents); $ms = new ModuleScanner(); $errors = $ms->scanFile($this->fileLoc); $this->assertTrue(!empty($errors)); } } class MockModuleScanner extends ModuleScanner { public function isPHPFile($contents) { return parent::isPHPFile($contents); } }