Fix autocomplete with autobrace completion not adding closing pair
This commit is contained in:
parent
2b056115ef
commit
29f7bea241
2 changed files with 94 additions and 9 deletions
|
|
@ -2871,6 +2871,89 @@ TEST_CASE("[SceneTree][CodeEdit] completion") {
|
|||
CHECK(code_edit->get_text() == "\'\'\'");
|
||||
}
|
||||
|
||||
SUBCASE("[CodeEdit] autocomplete with brace completion") {
|
||||
code_edit->set_auto_brace_completion_enabled(true);
|
||||
CHECK(code_edit->is_auto_brace_completion_enabled());
|
||||
|
||||
code_edit->insert_text_at_caret("(te)");
|
||||
code_edit->set_caret_column(3);
|
||||
|
||||
// Full completion.
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_FUNCTION, "test()", "test()");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "(test())");
|
||||
CHECK(code_edit->get_caret_column() == 7);
|
||||
code_edit->undo();
|
||||
|
||||
// With "arg".
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_FUNCTION, "test(", "test(");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "(test())");
|
||||
CHECK(code_edit->get_caret_column() == 6);
|
||||
code_edit->undo();
|
||||
|
||||
// brace completion disbaled
|
||||
code_edit->set_auto_brace_completion_enabled(false);
|
||||
|
||||
// Full completion.
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_FUNCTION, "test()", "test()");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "(test())");
|
||||
CHECK(code_edit->get_caret_column() == 7);
|
||||
code_edit->undo();
|
||||
|
||||
// With "arg".
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_FUNCTION, "test(", "test(");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "(test()");
|
||||
CHECK(code_edit->get_caret_column() == 6);
|
||||
|
||||
// String
|
||||
code_edit->set_auto_brace_completion_enabled(true);
|
||||
code_edit->clear();
|
||||
code_edit->insert_text_at_caret("\"\"");
|
||||
code_edit->set_caret_column(1);
|
||||
|
||||
// Full completion.
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_NODE_PATH, "\"test\"", "\"test\"");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "\"test\"");
|
||||
CHECK(code_edit->get_caret_column() == 6);
|
||||
code_edit->undo();
|
||||
|
||||
// With "arg".
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_NODE_PATH, "\"test", "\"test");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "\"\"test\"\"");
|
||||
CHECK(code_edit->get_caret_column() == 7);
|
||||
code_edit->undo();
|
||||
|
||||
// brace completion disbaled
|
||||
code_edit->set_auto_brace_completion_enabled(false);
|
||||
|
||||
// Full completion.
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_NODE_PATH, "\"test\"", "\"test\"");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "\"test\"");
|
||||
CHECK(code_edit->get_caret_column() == 6);
|
||||
code_edit->undo();
|
||||
|
||||
// With "arg".
|
||||
code_edit->add_code_completion_option(CodeEdit::CodeCompletionKind::KIND_NODE_PATH, "\"test", "\"test");
|
||||
code_edit->update_code_completion_options();
|
||||
code_edit->confirm_code_completion();
|
||||
CHECK(code_edit->get_line(0) == "\"\"test\"");
|
||||
CHECK(code_edit->get_caret_column() == 7);
|
||||
code_edit->undo();
|
||||
}
|
||||
|
||||
SUBCASE("[CodeEdit] autocomplete") {
|
||||
code_edit->set_code_completion_enabled(true);
|
||||
CHECK(code_edit->is_code_completion_enabled());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue