Merge pull request #89472 from dalexeev/gds-fix-bin-tokenizer-continuation-lines

GDScript: Fix continuation lines in `GDScriptTokenizerBuffer`
This commit is contained in:
Rémi Verschelde
2024-04-15 18:14:38 +02:00
5 changed files with 35 additions and 11 deletions
@@ -300,14 +300,23 @@ bool GDScriptTestRunner::make_tests_for_dir(const String &p_dir) {
#endif
String out_file = next.get_basename() + ".out";
if (!is_generating && !dir->file_exists(out_file)) {
ERR_FAIL_V_MSG(false, "Could not find output file for " + next);
ERR_FAIL_COND_V_MSG(!is_generating && !dir->file_exists(out_file), false, "Could not find output file for " + next);
if (next.ends_with(".bin.gd")) {
// Test text mode first.
GDScriptTest text_test(current_dir.path_join(next), current_dir.path_join(out_file), source_dir);
tests.push_back(text_test);
// Test binary mode even without `--use-binary-tokens`.
GDScriptTest bin_test(current_dir.path_join(next), current_dir.path_join(out_file), source_dir);
bin_test.set_tokenizer_mode(GDScriptTest::TOKENIZER_BUFFER);
tests.push_back(bin_test);
} else {
GDScriptTest test(current_dir.path_join(next), current_dir.path_join(out_file), source_dir);
if (binary_tokens) {
test.set_tokenizer_mode(GDScriptTest::TOKENIZER_BUFFER);
}
tests.push_back(test);
}
GDScriptTest test(current_dir.path_join(next), current_dir.path_join(out_file), source_dir);
if (binary_tokens) {
test.set_tokenizer_mode(GDScriptTest::TOKENIZER_BUFFER);
}
tests.push_back(test);
}
}
@@ -0,0 +1,12 @@
# GH-89403
func test():
var x := 1
if x == 0 \
# Comment.
# Comment.
and (x < 1 or x > 2) \
# Comment.
and x != 3:
pass
print("Ok")
@@ -0,0 +1,2 @@
GDTEST_OK
Ok