2017-11-02 18:56:01 +01:00
|
|
|
<?php declare(strict_types=1);
|
2015-07-12 22:53:04 +02:00
|
|
|
|
|
|
|
namespace PhpParser;
|
|
|
|
|
|
|
|
/* This test is very weak, because PHPUnit's assertEquals assertion is way too slow dealing with the
|
|
|
|
* large objects involved here. So we just do some basic instanceof tests instead. */
|
2017-04-27 19:14:07 +03:00
|
|
|
|
2022-08-29 21:52:53 +02:00
|
|
|
class ParserFactoryTest extends \PHPUnit\Framework\TestCase {
|
2015-07-12 22:53:04 +02:00
|
|
|
/** @dataProvider provideTestCreate */
|
|
|
|
public function testCreate($kind, $lexer, $expected) {
|
2022-08-29 21:52:53 +02:00
|
|
|
$this->assertInstanceOf($expected, (new ParserFactory())->create($kind, $lexer));
|
2015-07-12 22:53:04 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public function provideTestCreate() {
|
|
|
|
$lexer = new Lexer();
|
|
|
|
return [
|
|
|
|
[
|
|
|
|
ParserFactory::PREFER_PHP7, $lexer,
|
2022-06-06 16:45:02 +02:00
|
|
|
Parser\Php7::class
|
2015-07-12 22:53:04 +02:00
|
|
|
],
|
|
|
|
[
|
|
|
|
ParserFactory::ONLY_PHP7, null,
|
2018-01-13 16:08:17 +01:00
|
|
|
Parser\Php7::class
|
2015-07-12 22:53:04 +02:00
|
|
|
],
|
|
|
|
];
|
|
|
|
}
|
2017-04-27 19:14:07 +03:00
|
|
|
}
|