mirror of
https://github.com/standardebooks/web.git
synced 2025-07-12 01:22:23 -04:00
Add Composer autoloading functions and PHPStan for testing
This commit is contained in:
parent
e198c4db65
commit
f5d7d4e02a
1518 changed files with 169063 additions and 30 deletions
43
vendor/nikic/php-parser/test/PhpParser/JsonDecoderTest.php
vendored
Normal file
43
vendor/nikic/php-parser/test/PhpParser/JsonDecoderTest.php
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
<?php declare(strict_types=1);
|
||||
|
||||
namespace PhpParser;
|
||||
|
||||
class JsonDecoderTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
public function testRoundTrip() {
|
||||
$code = <<<'PHP'
|
||||
<?php
|
||||
// comment
|
||||
/** doc comment */
|
||||
function functionName(&$a = 0, $b = 1.0) {
|
||||
echo 'Foo';
|
||||
}
|
||||
PHP;
|
||||
|
||||
$parser = new Parser\Php7(new Lexer());
|
||||
$stmts = $parser->parse($code);
|
||||
$json = json_encode($stmts);
|
||||
|
||||
$jsonDecoder = new JsonDecoder();
|
||||
$decodedStmts = $jsonDecoder->decode($json);
|
||||
$this->assertEquals($stmts, $decodedStmts);
|
||||
}
|
||||
|
||||
/** @dataProvider provideTestDecodingError */
|
||||
public function testDecodingError($json, $expectedMessage) {
|
||||
$jsonDecoder = new JsonDecoder();
|
||||
$this->expectException(\RuntimeException::class);
|
||||
$this->expectExceptionMessage($expectedMessage);
|
||||
$jsonDecoder->decode($json);
|
||||
}
|
||||
|
||||
public function provideTestDecodingError() {
|
||||
return [
|
||||
['???', 'JSON decoding error: Syntax error'],
|
||||
['{"nodeType":123}', 'Node type must be a string'],
|
||||
['{"nodeType":"Name","attributes":123}', 'Attributes must be an array'],
|
||||
['{"nodeType":"Comment"}', 'Comment must have text'],
|
||||
['{"nodeType":"xxx"}', 'Unknown node type "xxx"'],
|
||||
];
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue