'); $this->assertTrue($config->isInProjectDirs('src/main.php')); $this->assertFalse($config->isInProjectDirs('main.php')); } public function testIgnoreProjectDirectory() { $config = Config::loadFromXML('psalm.xml', ' '); $this->assertTrue($config->isInProjectDirs('src/main.php')); $this->assertFalse($config->isInProjectDirs('src/ignoreme/main.php')); $this->assertFalse($config->isInProjectDirs('main.php')); } public function testIssueHandler() { $config = Config::loadFromXML('psalm.xml', ' '); $this->assertTrue($config->excludeIssueInFile('MissingReturnType', 'tests/somefile.php')); $this->assertTrue($config->excludeIssueInFile('MissingReturnType', 'src/somefile.php')); } public function testIssueHandlerWithCustomErrorLevels() { $config = Config::loadFromXML('psalm.xml', ' '); $this->assertTrue($config->excludeIssueInFile('MissingReturnType', 'tests/somefile.php')); $this->assertFalse($config->excludeIssueInFile('MissingReturnType', 'src/somefile.php')); $this->assertFalse($config->excludeIssueInFile('MissingReturnType', 'src/Core/somefile.php')); $this->assertSame('info', $config->getReportingLevelForFile('MissingReturnType', 'src/somefile.php')); $this->assertSame('error', $config->getReportingLevelForFile('MissingReturnType', 'src/Core/somefile.php')); } public function testAllPossibleIssues() { $all_possible_handlers = implode( ' ', array_map( function ($issue_name) { return '<' . $issue_name . ' errorLevel="suppress" />' . PHP_EOL; }, self::getAllIssues() ) ); $config = Config::loadFromXML('psalm.xml', ' ' . $all_possible_handlers . ' '); } /** * @expectedException \Psalm\Exception\ConfigException * @expectedExceptionMessage This element is not expected */ public function testImpossibleIssue() { $config = Config::loadFromXML('psalm.xml', ' '); } }