34 lines
1 KiB
PHP
34 lines
1 KiB
PHP
<?php
|
|
|
|
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. */
|
|
class ParserFactoryTest extends \PHPUnit_Framework_TestCase {
|
|
/** @dataProvider provideTestCreate */
|
|
public function testCreate($kind, $lexer, $expected) {
|
|
$this->assertInstanceOf($expected, (new ParserFactory)->create($kind, $lexer));
|
|
}
|
|
|
|
public function provideTestCreate() {
|
|
$lexer = new Lexer();
|
|
return [
|
|
[
|
|
ParserFactory::PREFER_PHP7, $lexer,
|
|
'PhpParser\Parser\Multiple'
|
|
],
|
|
[
|
|
ParserFactory::PREFER_PHP5, null,
|
|
'PhpParser\Parser\Multiple'
|
|
],
|
|
[
|
|
ParserFactory::ONLY_PHP7, null,
|
|
'PhpParser\Parser\Php7'
|
|
],
|
|
[
|
|
ParserFactory::ONLY_PHP5, $lexer,
|
|
'PhpParser\Parser\Php5'
|
|
]
|
|
];
|
|
}
|
|
} |