diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/scene/test_text_edit.h | 40 | ||||
-rw-r--r-- | tests/servers/test_text_server.h | 48 |
2 files changed, 48 insertions, 40 deletions
diff --git a/tests/scene/test_text_edit.h b/tests/scene/test_text_edit.h index 8cfb189370..79766cd919 100644 --- a/tests/scene/test_text_edit.h +++ b/tests/scene/test_text_edit.h @@ -2297,34 +2297,6 @@ TEST_CASE("[SceneTree][TextEdit] text entry") { SIGNAL_CHECK("caret_changed", empty_signal_args); SIGNAL_CHECK("text_changed", empty_signal_args); SIGNAL_CHECK("lines_edited_from", lines_edited_args); - - text_edit->set_caret_mid_grapheme_enabled(false); - CHECK_FALSE(text_edit->is_caret_mid_grapheme_enabled()); - - text_edit->start_action(TextEdit::EditAction::ACTION_NONE); - - text_edit->undo(); - MessageQueue::get_singleton()->flush(); - CHECK(text_edit->get_text() == "ffi some test text.ffi some test text."); - - SIGNAL_DISCARD("text_set"); - SIGNAL_DISCARD("text_changed"); - SIGNAL_DISCARD("lines_edited_from"); - SIGNAL_DISCARD("caret_changed"); - - SEND_GUI_ACTION("ui_text_delete"); - CHECK(text_edit->get_viewport()->is_input_handled()); - CHECK(text_edit->get_text() == " some test text. some test text."); - CHECK(text_edit->get_caret_line() == 0); - CHECK(text_edit->get_caret_column() == 0); - CHECK_FALSE(text_edit->has_selection(0)); - - CHECK(text_edit->get_caret_line(1) == 0); - CHECK(text_edit->get_caret_column(1) == 16); - CHECK_FALSE(text_edit->has_selection(1)); - SIGNAL_CHECK("caret_changed", empty_signal_args); - SIGNAL_CHECK("text_changed", empty_signal_args); - SIGNAL_CHECK("lines_edited_from", lines_edited_args); } SUBCASE("[TextEdit] ui_text_caret_word_left") { @@ -3335,18 +3307,6 @@ TEST_CASE("[SceneTree][TextEdit] caret") { SEND_GUI_ACTION("ui_text_caret_left"); CHECK(text_edit->get_caret_column() == 2); - text_edit->set_caret_mid_grapheme_enabled(false); - CHECK_FALSE(text_edit->is_caret_mid_grapheme_enabled()); - - SEND_GUI_ACTION("ui_text_caret_left"); - CHECK(text_edit->get_caret_column() == 0); - - SEND_GUI_ACTION("ui_text_caret_right"); - CHECK(text_edit->get_caret_column() == 3); - - SEND_GUI_ACTION("ui_text_caret_left"); - CHECK(text_edit->get_caret_column() == 0); - text_edit->set_line(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex lacinia bibendum. Nunc bibendum pellentesque."); for (int i = 0; i < 3; i++) { text_edit->insert_line_at(0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec vasius mattis leo, sed porta ex lacinia bibendum. Nunc bibendum pellentesque."); diff --git a/tests/servers/test_text_server.h b/tests/servers/test_text_server.h index 989d83d504..75e97d0384 100644 --- a/tests/servers/test_text_server.h +++ b/tests/servers/test_text_server.h @@ -636,6 +636,54 @@ TEST_SUITE("[TextServer]") { CHECK(breaks[17] == 42); } } + + if (ts->has_feature(TextServer::FEATURE_BREAK_ITERATORS)) { + String text2 = U"U+2764 U+FE0F U+200D U+1F525 ; 13.1 # ❤️🔥"; + + PackedInt32Array breaks = ts->string_get_character_breaks(text2, "en"); + CHECK(breaks.size() == 39); + if (breaks.size() == 39) { + CHECK(breaks[0] == 1); + CHECK(breaks[1] == 2); + CHECK(breaks[2] == 3); + CHECK(breaks[3] == 4); + CHECK(breaks[4] == 5); + CHECK(breaks[5] == 6); + CHECK(breaks[6] == 7); + CHECK(breaks[7] == 8); + CHECK(breaks[8] == 9); + CHECK(breaks[9] == 10); + CHECK(breaks[10] == 11); + CHECK(breaks[11] == 12); + CHECK(breaks[12] == 13); + CHECK(breaks[13] == 14); + CHECK(breaks[14] == 15); + CHECK(breaks[15] == 16); + CHECK(breaks[16] == 17); + CHECK(breaks[17] == 18); + CHECK(breaks[18] == 19); + CHECK(breaks[19] == 20); + CHECK(breaks[20] == 21); + CHECK(breaks[21] == 22); + CHECK(breaks[22] == 23); + CHECK(breaks[23] == 24); + CHECK(breaks[24] == 25); + CHECK(breaks[25] == 26); + CHECK(breaks[26] == 27); + CHECK(breaks[27] == 28); + CHECK(breaks[28] == 29); + CHECK(breaks[29] == 30); + CHECK(breaks[30] == 31); + CHECK(breaks[31] == 32); + CHECK(breaks[32] == 33); + CHECK(breaks[33] == 34); + CHECK(breaks[34] == 35); + CHECK(breaks[35] == 36); + CHECK(breaks[36] == 37); + CHECK(breaks[37] == 38); + CHECK(breaks[38] == 42); + } + } } } } |