Move convert_indent into CodeEdit
This commit is contained in:
@ -2314,6 +2314,143 @@ TEST_CASE("[SceneTree][CodeEdit] indent") {
|
||||
}
|
||||
}
|
||||
|
||||
SUBCASE("[CodeEdit] convert indent to tabs") {
|
||||
code_edit->set_indent_size(4);
|
||||
code_edit->set_indent_using_spaces(false);
|
||||
|
||||
// Only line.
|
||||
code_edit->insert_text_at_caret(" test");
|
||||
code_edit->set_caret_line(0);
|
||||
code_edit->set_caret_column(8);
|
||||
code_edit->select(0, 8, 0, 9);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(0) == "\t\ttest");
|
||||
CHECK(code_edit->get_caret_column() == 2);
|
||||
CHECK(code_edit->get_selection_from_column() == 2);
|
||||
CHECK(code_edit->get_selection_to_column() == 3);
|
||||
|
||||
// First line.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret(" test\n");
|
||||
code_edit->set_caret_line(0);
|
||||
code_edit->set_caret_column(8);
|
||||
code_edit->select(0, 8, 0, 9);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(0) == "\t\ttest");
|
||||
CHECK(code_edit->get_caret_column() == 2);
|
||||
CHECK(code_edit->get_selection_from_column() == 2);
|
||||
CHECK(code_edit->get_selection_to_column() == 3);
|
||||
|
||||
// Middle line.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret("\n test\n");
|
||||
code_edit->set_caret_line(1);
|
||||
code_edit->set_caret_column(8);
|
||||
code_edit->select(1, 8, 1, 9);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(1) == "\t\ttest");
|
||||
CHECK(code_edit->get_caret_column() == 2);
|
||||
CHECK(code_edit->get_selection_from_column() == 2);
|
||||
CHECK(code_edit->get_selection_to_column() == 3);
|
||||
|
||||
// End line.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret("\n test");
|
||||
code_edit->set_caret_line(1);
|
||||
code_edit->set_caret_column(8);
|
||||
code_edit->select(1, 8, 1, 9);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(1) == "\t\ttest");
|
||||
CHECK(code_edit->get_caret_column() == 2);
|
||||
CHECK(code_edit->get_selection_from_column() == 2);
|
||||
CHECK(code_edit->get_selection_to_column() == 3);
|
||||
|
||||
// Within provided range.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret(" test\n test\n");
|
||||
code_edit->set_caret_line(1);
|
||||
code_edit->set_caret_column(8);
|
||||
code_edit->select(1, 8, 1, 9);
|
||||
code_edit->convert_indent(1, 1);
|
||||
CHECK(code_edit->get_line(0) == " test");
|
||||
CHECK(code_edit->get_line(1) == "\t\ttest");
|
||||
CHECK(code_edit->get_caret_column() == 2);
|
||||
CHECK(code_edit->get_selection_from_column() == 2);
|
||||
CHECK(code_edit->get_selection_to_column() == 3);
|
||||
}
|
||||
|
||||
SUBCASE("[CodeEdit] convert indent to spaces") {
|
||||
code_edit->set_indent_size(4);
|
||||
code_edit->set_indent_using_spaces(true);
|
||||
|
||||
// Only line.
|
||||
code_edit->insert_text_at_caret("\t\ttest");
|
||||
code_edit->set_caret_line(0);
|
||||
code_edit->set_caret_column(2);
|
||||
code_edit->select(0, 2, 0, 3);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(0) == " test");
|
||||
CHECK(code_edit->get_caret_column() == 8);
|
||||
CHECK(code_edit->get_selection_from_column() == 8);
|
||||
CHECK(code_edit->get_selection_to_column() == 9);
|
||||
|
||||
// First line.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret("\t\ttest\n");
|
||||
code_edit->set_caret_line(0);
|
||||
code_edit->set_caret_column(2);
|
||||
code_edit->select(0, 2, 0, 3);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(0) == " test");
|
||||
CHECK(code_edit->get_caret_column() == 8);
|
||||
CHECK(code_edit->get_selection_from_column() == 8);
|
||||
CHECK(code_edit->get_selection_to_column() == 9);
|
||||
|
||||
// Middle line.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret("\n\t\ttest\n");
|
||||
code_edit->set_caret_line(1);
|
||||
code_edit->set_caret_column(2);
|
||||
code_edit->select(1, 2, 1, 3);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(1) == " test");
|
||||
CHECK(code_edit->get_caret_column() == 8);
|
||||
CHECK(code_edit->get_selection_from_column() == 8);
|
||||
CHECK(code_edit->get_selection_to_column() == 9);
|
||||
|
||||
// End line.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret("\n\t\ttest");
|
||||
code_edit->set_caret_line(1);
|
||||
code_edit->set_caret_column(2);
|
||||
code_edit->select(1, 2, 1, 3);
|
||||
code_edit->convert_indent();
|
||||
CHECK(code_edit->get_line(1) == " test");
|
||||
CHECK(code_edit->get_caret_column() == 8);
|
||||
CHECK(code_edit->get_selection_from_column() == 8);
|
||||
CHECK(code_edit->get_selection_to_column() == 9);
|
||||
|
||||
// Within provided range.
|
||||
code_edit->set_text("");
|
||||
code_edit->insert_text_at_caret("\ttest\n\t\ttest\n");
|
||||
code_edit->set_caret_line(1);
|
||||
code_edit->set_caret_column(2);
|
||||
code_edit->select(1, 2, 1, 3);
|
||||
code_edit->convert_indent(1, 1);
|
||||
CHECK(code_edit->get_line(0) == "\ttest");
|
||||
CHECK(code_edit->get_line(1) == " test");
|
||||
CHECK(code_edit->get_caret_column() == 8);
|
||||
CHECK(code_edit->get_selection_from_column() == 8);
|
||||
CHECK(code_edit->get_selection_to_column() == 9);
|
||||
|
||||
// Outside of range.
|
||||
ERR_PRINT_OFF;
|
||||
code_edit->convert_indent(0, 4);
|
||||
code_edit->convert_indent(4, 5);
|
||||
code_edit->convert_indent(4, 1);
|
||||
ERR_PRINT_ON;
|
||||
}
|
||||
|
||||
memdelete(code_edit);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user