mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-16 17:57:29 +00:00
Fix tests.
This commit is contained in:
@@ -55,4 +55,36 @@ abstract class Node
|
||||
return $this->prohibited;
|
||||
|
||||
}
|
||||
|
||||
public function equals(Node $compare): bool
|
||||
{
|
||||
if ($compare->isProhibited(false) !== $this->isProhibited(false)) {
|
||||
Log::debug('Return false because prohibited status is different');
|
||||
return false;
|
||||
}
|
||||
if ($compare instanceof NodeGroup) {
|
||||
if (count($compare->getNodes()) !== count($this->getNodes())) {
|
||||
Log::debug(sprintf('Return false because node count is different. Original is %d, compare is %d', count($this->getNodes()), count($compare->getNodes())));
|
||||
// var_dump($this);
|
||||
// var_dump($compare);
|
||||
// exit;
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* @var int $index
|
||||
* @var Node $node
|
||||
*/
|
||||
foreach ($this->getNodes() as $index => $node) {
|
||||
if (false === $node->equals($compare->getNodes()[$index])) {
|
||||
Log::debug('Return false because nodes are different!');
|
||||
var_dump($this);
|
||||
var_dump($compare);
|
||||
exit;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -71,6 +71,7 @@ class QueryParser implements QueryParserInterface
|
||||
|
||||
while ($this->position < strlen($this->query)) {
|
||||
$char = $this->query[$this->position];
|
||||
//Log::debug(sprintf('Char #%d: %s', $this->position, $char));
|
||||
|
||||
// If we're in a quoted string, we treat all characters except another quote as ordinary characters
|
||||
if ($inQuotes) {
|
||||
@@ -150,15 +151,19 @@ class QueryParser implements QueryParserInterface
|
||||
|
||||
|
||||
case ':':
|
||||
if ('' !== $tokenUnderConstruction) {
|
||||
$skipNext = false;
|
||||
if ('' === $tokenUnderConstruction) { // @phpstan-ignore-line
|
||||
// In any other location, it's just a normal character
|
||||
$tokenUnderConstruction .= $char;
|
||||
$skipNext = true;
|
||||
}
|
||||
if ('' !== $tokenUnderConstruction && !$skipNext) {
|
||||
Log::debug(sprintf('Turns out that "%s" is a field name. Reset the token.', $tokenUnderConstruction));
|
||||
// If we meet a colon with a left-hand side string, we know we're in a field and are about to set up the value
|
||||
$fieldName = $tokenUnderConstruction;
|
||||
$tokenUnderConstruction = '';
|
||||
}
|
||||
if ('' === $tokenUnderConstruction) { // @phpstan-ignore-line
|
||||
// In any other location, it's just a normal character
|
||||
$tokenUnderConstruction .= $char;
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
|
||||
|
@@ -192,7 +192,7 @@ abstract class AbstractQueryParserInterfaceParseQueryTest extends TestCase
|
||||
{
|
||||
$actual = $this->createParser()->parse($query);
|
||||
|
||||
self::assertSame($expected, $actual);
|
||||
self::assertObjectEquals($expected, $actual);
|
||||
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user