X7ROOT File Manager
Current Path:
/home/gfecatvj/sites/realesbar/vendor/mtdowling/jmespath.php/tests
home
/
gfecatvj
/
sites
/
realesbar
/
vendor
/
mtdowling
/
jmespath.php
/
tests
/
📁
..
📄
ComplianceTest.php
(4.12 KB)
📄
EnvTest.php
(878 B)
📄
FnDispatcherTest.php
(1006 B)
📄
LexerTest.php
(2.57 KB)
📄
ParserTest.php
(1.18 KB)
📄
SyntaxErrorExceptionTest.php
(987 B)
📄
TreeCompilerTest.php
(664 B)
📄
TreeInterpreterTest.php
(1.89 KB)
📄
UtilsTest.php
(3.4 KB)
📁
compliance
Editing: LexerTest.php
<?php namespace JmesPath\Tests; use JmesPath\Lexer; use JmesPath\SyntaxErrorException; use PHPUnit\Framework\TestCase; /** * @covers JmesPath\Lexer */ class LexerTest extends TestCase { public function inputProvider() { return [ ['0', 'number'], ['1', 'number'], ['2', 'number'], ['3', 'number'], ['4', 'number'], ['5', 'number'], ['6', 'number'], ['7', 'number'], ['8', 'number'], ['9', 'number'], ['-1', 'number'], ['-1.5', 'number'], ['109.5', 'number'], ['.', 'dot'], ['{', 'lbrace'], ['}', 'rbrace'], ['[', 'lbracket'], [']', 'rbracket'], [':', 'colon'], [',', 'comma'], ['||', 'or'], ['*', 'star'], ['foo', 'identifier'], ['"foo"', 'quoted_identifier'], ['`true`', 'literal'], ['`false`', 'literal'], ['`null`', 'literal'], ['`"true"`', 'literal'] ]; } /** * @dataProvider inputProvider */ public function testTokenizesInput($input, $type) { $l = new Lexer(); $tokens = $l->tokenize($input); $this->assertEquals($tokens[0]['type'], $type); } public function testTokenizesJsonLiterals() { $l = new Lexer(); $tokens = $l->tokenize('`null`, `false`, `true`, `"abc"`, `"ab\\"c"`,' . '`0`, `0.45`, `-0.5`'); $this->assertNull($tokens[0]['value']); $this->assertFalse($tokens[2]['value']); $this->assertTrue($tokens[4]['value']); $this->assertEquals('abc', $tokens[6]['value']); $this->assertEquals('ab"c', $tokens[8]['value']); $this->assertSame(0, $tokens[10]['value']); $this->assertSame(0.45, $tokens[12]['value']); $this->assertSame(-0.5, $tokens[14]['value']); } public function testTokenizesJsonNumbers() { $l = new Lexer(); $tokens = $l->tokenize('`10`, `1.2`, `-10.20e-10`, `1.2E+2`'); $this->assertEquals(10, $tokens[0]['value']); $this->assertEquals(1.2, $tokens[2]['value']); $this->assertEquals(-1.02E-9, $tokens[4]['value']); $this->assertEquals(120, $tokens[6]['value']); } public function testCanWorkWithElidedJsonLiterals() { $l = new Lexer(); $tokens = $l->tokenize('`foo`'); $this->assertEquals('foo', $tokens[0]['value']); $this->assertEquals('literal', $tokens[0]['type']); } }
Upload File
Create Folder