create(ParserFactory::PREFER_PHP7); $config = new TestConfig(); } public function setUp() { FileChecker::clearCache(); $this->project_checker = new \Psalm\Checker\ProjectChecker(); } public function testMoreArguments() { $stmts = self::$parser->parse('project_checker, $stmts); $context = new Context('somefile.php'); $file_checker->visitAndCheckMethods($context); } /** * @expectedException \Psalm\Exception\CodeException * @expectedExceptionMessage Method B::fooFoo has fewer arguments than parent method A::foo */ public function testFewerArguments() { $stmts = self::$parser->parse('project_checker, $stmts); $context = new Context('somefile.php'); $file_checker->visitAndCheckMethods($context); } /** * @expectedException \Psalm\Exception\CodeException * @expectedExceptionMessage Argument 1 of B::fooFoo has wrong type 'bool', expecting 'int' as defined by A::foo */ public function testDifferentArguments() { $stmts = self::$parser->parse('project_checker, $stmts); $context = new Context('somefile.php'); $file_checker->visitAndCheckMethods($context); } /** * @expectedException \Psalm\Exception\CodeException * @expectedExceptionMessage InvalidParamDefault */ public function testInvalidDefault() { $stmts = self::$parser->parse('project_checker, $stmts); $context = new Context('somefile.php'); $file_checker->visitAndCheckMethods($context); } }