First commit

This commit is contained in:
2025-10-02 10:33:06 +08:00
parent 198b8bf2a6
commit c38eed4a22
5512 changed files with 958855 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
<?php
namespace JmesPath\Tests;
use JmesPath\Lexer;
use JmesPath\Parser;
use PHPUnit\Framework\TestCase;
/**
* @covers JmesPath\Parser
*/
class ParserTest extends TestCase
{
/**
* @expectedException \JmesPath\SyntaxErrorException
* @expectedExceptionMessage Syntax error at character 0
*/
public function testMatchesFirstTokens()
{
$p = new Parser(new Lexer());
$p->parse('.bar');
}
/**
* @expectedException \JmesPath\SyntaxErrorException
* @expectedExceptionMessage Syntax error at character 1
*/
public function testThrowsSyntaxErrorForInvalidSequence()
{
$p = new Parser(new Lexer());
$p->parse('a,');
}
/**
* @expectedException \JmesPath\SyntaxErrorException
* @expectedExceptionMessage Syntax error at character 2
*/
public function testMatchesAfterFirstToken()
{
$p = new Parser(new Lexer());
$p->parse('a.,');
}
/**
* @expectedException \JmesPath\SyntaxErrorException
* @expectedExceptionMessage Unexpected "eof" token
*/
public function testHandlesEmptyExpressions()
{
(new Parser(new Lexer()))->parse('');
}
}