diff --git a/src/GraphDatabasePlugins/Neo4j/EntryPoints/ParserFunction/CypherRawParserFunction.php b/src/GraphDatabasePlugins/Neo4j/EntryPoints/ParserFunction/CypherRawParserFunction.php index 89b72ec49..4dbc436b0 100644 --- a/src/GraphDatabasePlugins/Neo4j/EntryPoints/ParserFunction/CypherRawParserFunction.php +++ b/src/GraphDatabasePlugins/Neo4j/EntryPoints/ParserFunction/CypherRawParserFunction.php @@ -19,7 +19,10 @@ public function __construct( ) { } - public function handle( Parser $parser, string $cypherQuery ): string { + /** + * @return array{0: string, noparse: true, isHTML: true} + */ + public function handle( Parser $parser, string $cypherQuery ): array { try { $result = $this->queryService->execute( new Neo4jQueryRequest( @@ -42,12 +45,31 @@ public function handle( Parser $parser, string $cypherQuery ): string { return $this->formatResult( $json ); } - private function formatResult( string $json ): string { - return '
' . htmlspecialchars( $json ) . '
' . htmlspecialchars( $json ) . '
', $result ); - $this->assertStringContainsString( 'Alice', $result ); - $this->assertStringContainsString( 'Bob', $result ); + $this->assertStringContainsString( '', $this->html( $result ) ); + $this->assertStringContainsString( 'Alice', $this->html( $result ) ); + $this->assertStringContainsString( 'Bob', $this->html( $result ) ); } public function testTrimWhitespaceFromQuery(): void { @@ -163,7 +172,7 @@ public function testTrimWhitespaceFromQuery(): void { $result = $parserFunction->handle( $this->createParser(), ' MATCH (n) RETURN n ' ); - $this->assertStringContainsString( '', $result ); + $this->assertStringContainsString( '', $this->html( $result ) ); } public function testOutputIsHTMLEscaped(): void { @@ -175,8 +184,42 @@ public function testOutputIsHTMLEscaped(): void { $result = $parserFunction->handle( $this->createParser(), 'MATCH (n) RETURN n' ); - $this->assertStringNotContainsString( '