NOWDOC test expects HEREDOC and NOWDOC is not working locally but passes on CI
Ben3eeE opened this issue · 3 comments
tree-sitter-php/corpus/expressions.txt
Lines 143 to 157 in 8443558
This test fails locally:
✗ Nowdocs
»
actual expected
(program (ERROR) (text) (echo_statement (binary_expression (function_call_expression (qualified_name (name)) (arguments)) (qualified_name (name)))) (expression_statement (qualified_name (name))))heredoc)))
I don't know why it doesn't fail on CI but does locally. It seems that NOWDOC is expected to parsed as HEREDOC from the test however which is wrong.
Also testing the tests code in Atom when running atom/language-php#303 confirms that it's parsed the same way as the test.
Expected should be:
(program (expression_statement (nowdoc)))
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc
https://wiki.php.net/rfc/heredoc-with-double-quotes
This is likely due to CRLF line endings. See also tree-sitter/tree-sitter#913.
I think this will be fixed in #55.
Thanks to @maxbrunsfeld for the fix!