diff --git a/tests/source_test.cc b/tests/source_test.cc index 54216d0..dfda1fb 100644 --- a/tests/source_test.cc +++ b/tests/source_test.cc @@ -28,15 +28,15 @@ int main() { auto source_file = tests_path / "tmp" / "source_file.cpp"; { - Source::View source_view(source_file, Glib::RefPtr()); - source_view.get_buffer()->set_text(hello_world); - g_assert(source_view.save()); + Source::View view(source_file, Glib::RefPtr()); + view.get_buffer()->set_text(hello_world); + g_assert(view.save()); } - Source::View source_view(source_file, Glib::RefPtr()); - g_assert(source_view.get_buffer()->get_text() == hello_world); - source_view.cleanup_whitespace_characters(); - g_assert(source_view.get_buffer()->get_text() == hello_world_cleaned); + Source::View view(source_file, Glib::RefPtr()); + g_assert(view.get_buffer()->get_text() == hello_world); + view.cleanup_whitespace_characters(); + g_assert(view.get_buffer()->get_text() == hello_world_cleaned); g_assert(boost::filesystem::remove(source_file)); g_assert(!boost::filesystem::exists(source_file)); @@ -53,22 +53,22 @@ int main() { // replace_text tests { - auto buffer = source_view.get_buffer(); + auto buffer = view.get_buffer(); { auto text = "line 1\nline 2\nline3"; buffer->set_text(text); buffer->place_cursor(buffer->begin()); - source_view.replace_text(text); + view.replace_text(text); assert(buffer->get_text() == text); assert(buffer->get_insert()->get_iter() == buffer->begin()); buffer->place_cursor(buffer->end()); - source_view.replace_text(text); + view.replace_text(text); assert(buffer->get_text() == text); assert(buffer->get_insert()->get_iter() == buffer->end()); - source_view.place_cursor_at_line_offset(1, 0); - source_view.replace_text(text); + view.place_cursor_at_line_offset(1, 0); + view.replace_text(text); assert(buffer->get_text() == text); assert(buffer->get_insert()->get_iter().get_line() == 1); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); @@ -77,33 +77,33 @@ int main() { auto old_text = "line 1\nline3"; auto new_text = "line 1\nline 2\nline3"; buffer->set_text(old_text); - source_view.place_cursor_at_line_offset(1, 0); - source_view.replace_text(new_text); + view.place_cursor_at_line_offset(1, 0); + view.replace_text(new_text); assert(buffer->get_text() == new_text); assert(buffer->get_insert()->get_iter().get_line() == 2); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); - source_view.replace_text(old_text); + view.replace_text(old_text); assert(buffer->get_text() == old_text); assert(buffer->get_insert()->get_iter().get_line() == 1); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); - source_view.place_cursor_at_line_offset(0, 0); - source_view.replace_text(new_text); + view.place_cursor_at_line_offset(0, 0); + view.replace_text(new_text); assert(buffer->get_text() == new_text); assert(buffer->get_insert()->get_iter().get_line() == 0); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); - source_view.replace_text(old_text); + view.replace_text(old_text); assert(buffer->get_text() == old_text); assert(buffer->get_insert()->get_iter().get_line() == 0); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); - source_view.replace_text(new_text); + view.replace_text(new_text); assert(buffer->get_text() == new_text); - source_view.place_cursor_at_line_offset(2, 0); - source_view.replace_text(old_text); + view.place_cursor_at_line_offset(2, 0); + view.replace_text(old_text); assert(buffer->get_text() == old_text); assert(buffer->get_insert()->get_iter().get_line() == 1); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); @@ -112,10 +112,10 @@ int main() { auto old_text = "line 1\nline 3"; auto new_text = ""; buffer->set_text(old_text); - source_view.replace_text(new_text); + view.replace_text(new_text); assert(buffer->get_text() == new_text); - source_view.replace_text(old_text); + view.replace_text(old_text); assert(buffer->get_text() == old_text); assert(buffer->get_insert()->get_iter().get_line() == 1); assert(buffer->get_insert()->get_iter().get_line_offset() == 6); @@ -124,17 +124,17 @@ int main() { auto old_text = ""; auto new_text = ""; buffer->set_text(old_text); - source_view.replace_text(new_text); + view.replace_text(new_text); assert(buffer->get_text() == new_text); } { auto old_text = "line 1\nline 3\n"; auto new_text = ""; buffer->set_text(old_text); - source_view.replace_text(new_text); + view.replace_text(new_text); assert(buffer->get_text() == new_text); - source_view.replace_text(old_text); + view.replace_text(old_text); assert(buffer->get_text() == old_text); assert(buffer->get_insert()->get_iter().get_line() == 2); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); @@ -143,15 +143,15 @@ int main() { auto old_text = "line 1\n\nline 3\nline 4\n\nline 5\n"; auto new_text = "line 1\n\nline 33\nline 44\n\nline 5\n"; buffer->set_text(old_text); - source_view.place_cursor_at_line_offset(2, 0); - source_view.replace_text(new_text); + view.place_cursor_at_line_offset(2, 0); + view.replace_text(new_text); assert(buffer->get_text() == new_text); assert(buffer->get_insert()->get_iter().get_line() == 2); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); buffer->set_text(old_text); - source_view.place_cursor_at_line_offset(3, 0); - source_view.replace_text(new_text); + view.place_cursor_at_line_offset(3, 0); + view.replace_text(new_text); assert(buffer->get_text() == new_text); assert(buffer->get_insert()->get_iter().get_line() == 3); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); @@ -160,15 +160,15 @@ int main() { auto old_text = "line 1\n\nline 3\nline 4\n\nline 5\n"; auto new_text = "line 1\n\nline 33\nline 44\nline 45\nline 46\n\nline 5\n"; buffer->set_text(old_text); - source_view.place_cursor_at_line_offset(2, 0); - source_view.replace_text(new_text); + view.place_cursor_at_line_offset(2, 0); + view.replace_text(new_text); assert(buffer->get_text() == new_text); assert(buffer->get_insert()->get_iter().get_line() == 2); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); buffer->set_text(old_text); - source_view.place_cursor_at_line_offset(3, 0); - source_view.replace_text(new_text); + view.place_cursor_at_line_offset(3, 0); + view.replace_text(new_text); assert(buffer->get_text() == new_text); assert(buffer->get_insert()->get_iter().get_line() == 4); assert(buffer->get_insert()->get_iter().get_line_offset() == 0); @@ -177,187 +177,387 @@ int main() { // extend_selection() tests { - auto buffer = source_view.get_buffer(); - source_view.is_bracket_language = true; + auto buffer = view.get_buffer(); + view.is_bracket_language = true; std::string source = "test(1, test(10), \"100\");"; buffer->set_text(source); { - source_view.place_cursor_at_line_offset(0, 0); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test"); + view.place_cursor_at_line_offset(0, 0); + view.extend_selection(); + assert(view.get_selected_text() == "test"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test(1, test(10), \"100\")"); + view.extend_selection(); + assert(view.get_selected_text() == "test(1, test(10), \"100\")"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.extend_selection(); + assert(view.get_selected_text() == source); } { - source_view.place_cursor_at_line_offset(0, 5); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "1"); + view.place_cursor_at_line_offset(0, 5); + view.extend_selection(); + assert(view.get_selected_text() == "1"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "1, test(10), \"100\""); + view.extend_selection(); + assert(view.get_selected_text() == "1, test(10), \"100\""); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test(1, test(10), \"100\")"); + view.extend_selection(); + assert(view.get_selected_text() == "test(1, test(10), \"100\")"); } { - source_view.place_cursor_at_line_offset(0, 7); - source_view.extend_selection(); - assert(source_view.get_selected_text() == " test(10)"); + view.place_cursor_at_line_offset(0, 7); + view.extend_selection(); + assert(view.get_selected_text() == " test(10)"); } { - source_view.place_cursor_at_line_offset(0, 8); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test"); + view.place_cursor_at_line_offset(0, 8); + view.extend_selection(); + assert(view.get_selected_text() == "test"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test(10)"); + view.extend_selection(); + assert(view.get_selected_text() == "test(10)"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == " test(10)"); + view.extend_selection(); + assert(view.get_selected_text() == " test(10)"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "1, test(10), \"100\""); + view.extend_selection(); + assert(view.get_selected_text() == "1, test(10), \"100\""); } { - source_view.place_cursor_at_line_offset(0, 18); - source_view.extend_selection(); - assert(source_view.get_selected_text() == " \"100\""); + view.place_cursor_at_line_offset(0, 18); + view.extend_selection(); + assert(view.get_selected_text() == " \"100\""); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "1, test(10), \"100\""); + view.extend_selection(); + assert(view.get_selected_text() == "1, test(10), \"100\""); } { - source_view.place_cursor_at_line_offset(0, 26); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.place_cursor_at_line_offset(0, 26); + view.extend_selection(); + assert(view.get_selected_text() == source); } { - source_view.place_cursor_at_line_offset(0, 27); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.place_cursor_at_line_offset(0, 27); + view.extend_selection(); + assert(view.get_selected_text() == source); } source = "int main() {\n return 1;\n}\n"; buffer->set_text(source); { - source_view.place_cursor_at_line_offset(0, 0); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "int"); + view.place_cursor_at_line_offset(0, 0); + view.extend_selection(); + assert(view.get_selected_text() == "int"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(0, source.size() - 1)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(0, source.size() - 1)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.extend_selection(); + assert(view.get_selected_text() == source); } { - source_view.place_cursor_at_line_offset(0, 4); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "main"); + view.place_cursor_at_line_offset(0, 4); + view.extend_selection(); + assert(view.get_selected_text() == "main"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(4, source.size() - 1 - 4)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(4, source.size() - 1 - 4)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(0, source.size() - 1)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(0, source.size() - 1)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.extend_selection(); + assert(view.get_selected_text() == source); } { - source_view.place_cursor_at_line_offset(1, 2); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "return"); + view.place_cursor_at_line_offset(1, 2); + view.extend_selection(); + assert(view.get_selected_text() == "return"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "return 1;"); + view.extend_selection(); + assert(view.get_selected_text() == "return 1;"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(12, 13)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(12, 13)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(4, source.size() - 1 - 4)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(4, source.size() - 1 - 4)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(0, source.size() - 1)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(0, source.size() - 1)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.extend_selection(); + assert(view.get_selected_text() == source); } source = "test(11, 22);"; buffer->set_text(source); { - source_view.place_cursor_at_line_offset(0, 0); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test"); + view.place_cursor_at_line_offset(0, 0); + view.extend_selection(); + assert(view.get_selected_text() == "test"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(0, source.size() - 1)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(0, source.size() - 1)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.extend_selection(); + assert(view.get_selected_text() == source); } { - source_view.place_cursor_at_line_offset(0, 5); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "int"); + view.place_cursor_at_line_offset(0, 5); + view.extend_selection(); + assert(view.get_selected_text() == "int"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(5, 8)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(5, 8)); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(0, source.size() - 1)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(0, source.size() - 1)); } { - source_view.place_cursor_at_line_offset(0, 15); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "11"); + view.place_cursor_at_line_offset(0, 15); + view.extend_selection(); + assert(view.get_selected_text() == "11"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "11, 22"); + view.extend_selection(); + assert(view.get_selected_text() == "11, 22"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source.substr(0, source.size() - 1)); + view.extend_selection(); + assert(view.get_selected_text() == source.substr(0, source.size() - 1)); } source = "{\n {\n test;\n }\n}\n"; buffer->set_text(source); { - source_view.place_cursor_at_line_offset(2, 4); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test"); + view.place_cursor_at_line_offset(2, 4); + view.extend_selection(); + assert(view.get_selected_text() == "test"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "test;"); + view.extend_selection(); + assert(view.get_selected_text() == "test;"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "\n test;\n "); + view.extend_selection(); + assert(view.get_selected_text() == "\n test;\n "); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "{\n test;\n }"); + view.extend_selection(); + assert(view.get_selected_text() == "{\n test;\n }"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "\n {\n test;\n }\n"); + view.extend_selection(); + assert(view.get_selected_text() == "\n {\n test;\n }\n"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == "{\n {\n test;\n }\n}"); + view.extend_selection(); + assert(view.get_selected_text() == "{\n {\n test;\n }\n}"); - source_view.extend_selection(); - assert(source_view.get_selected_text() == source); + view.extend_selection(); + assert(view.get_selected_text() == source); - source_view.shrink_selection(); - assert(source_view.get_selected_text() == "{\n {\n test;\n }\n}"); + view.shrink_selection(); + assert(view.get_selected_text() == "{\n {\n test;\n }\n}"); - source_view.shrink_selection(); - assert(source_view.get_selected_text() == "\n {\n test;\n }\n"); + view.shrink_selection(); + assert(view.get_selected_text() == "\n {\n test;\n }\n"); - source_view.shrink_selection(); - assert(source_view.get_selected_text() == "{\n test;\n }"); + view.shrink_selection(); + assert(view.get_selected_text() == "{\n test;\n }"); + } + } + + // Snippet tests + { + auto buffer = view.get_buffer(); + GdkEventKey event; + event.state = 0; + { + buffer->set_text(""); + view.insert_snippet(buffer->get_insert()->get_iter(), "std::cout << ${1:content} << std::endl;"); + assert(buffer->get_text() == "std::cout << content << std::endl;"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 13); + assert(end.get_offset() == 20); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << t << std::endl;"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << std::endl;"); + } + { + buffer->set_text(""); + view.insert_snippet(buffer->get_insert()->get_iter(), "std::cout << ${1:} << std::endl;"); + assert(buffer->get_text() == "std::cout << << std::endl;"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 13); + assert(end.get_offset() == 13); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << t << std::endl;"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << std::endl;"); + } + { + buffer->set_text(""); + view.insert_snippet(buffer->get_insert()->get_iter(), "std::cout << $1 << std::endl;"); + assert(buffer->get_text() == "std::cout << << std::endl;"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 13); + assert(end.get_offset() == 13); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << t << std::endl;"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << std::endl;"); + } + { + buffer->set_text(""); + view.insert_snippet(buffer->get_insert()->get_iter(), "std::cout << ${1:content} << ${1:content} << std::endl;"); + assert(buffer->get_text() == "std::cout << content << content << std::endl;"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 13); + assert(end.get_offset() == 20); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << t << t << std::endl;"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << te << std::endl;"); + + event.keyval = GDK_KEY_Escape; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << te << std::endl;"); + event.keyval = GDK_KEY_s; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << tes << te << std::endl;"); + } + { + buffer->set_text(""); + view.insert_snippet(buffer->get_insert()->get_iter(), "std::cout << ${1:content1} << ${2:content2} << std::endl;"); + assert(buffer->get_text() == "std::cout << content1 << content2 << std::endl;"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 13); + assert(end.get_offset() == 21); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << t << content2 << std::endl;"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << content2 << std::endl;"); + + event.keyval = GDK_KEY_Tab; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << content2 << std::endl;"); + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << t << std::endl;"); + } + { + buffer->set_text(""); + view.insert_snippet(buffer->get_insert()->get_iter(), "std::cout << ${1:content} << $0 << std::endl;"); + assert(buffer->get_text() == "std::cout << content << << std::endl;"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 13); + assert(end.get_offset() == 20); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << t << << std::endl;"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << << std::endl;"); + + event.keyval = GDK_KEY_Tab; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << << std::endl;"); + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << te << t << std::endl;"); + } + { + buffer->set_text(""); + view.insert_snippet(buffer->get_insert()->get_iter(), "std::cout << ${2:content2} << ${1:content1} << std::endl;"); + assert(buffer->get_text() == "std::cout << content2 << content1 << std::endl;"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 25); + assert(end.get_offset() == 33); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << content2 << t << std::endl;"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << content2 << te << std::endl;"); + + event.keyval = GDK_KEY_Tab; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << content2 << te << std::endl;"); + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "std::cout << t << te << std::endl;"); + } + { + buffer->set_text("test"); + buffer->select_range(buffer->begin(), buffer->end()); + view.insert_snippet(buffer->get_insert()->get_iter(), "<$1>${TM_SELECTED_TEXT}"); + assert(buffer->get_text() == "<>test"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 1); + assert(end.get_offset() == 1); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "test"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "test"); + } + { + buffer->set_text("test test"); + Gtk::TextIter start, end; + start = buffer->begin(); + end = start; + end.forward_chars(4); + buffer->select_range(start, end); + view.insert_snippet(buffer->get_insert()->get_iter(), "<$1>${TM_SELECTED_TEXT:TM_CURRENT_LINE}"); + assert(buffer->get_text() == "<>test test"); + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 1); + assert(end.get_offset() == 1); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "test test"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "test test"); + } + { + buffer->set_text("test test"); + view.insert_snippet(buffer->get_insert()->get_iter(), "<$1>${TM_SELECTED_TEXT:TM_CURRENT_LINE}"); + assert(buffer->get_text() == "<>test test"); + Gtk::TextIter start, end; + buffer->get_selection_bounds(start, end); + assert(start.get_offset() == 1); + assert(end.get_offset() == 1); + + event.keyval = GDK_KEY_t; + view.on_key_press_event(&event); + assert(buffer->get_text() == "test test"); + event.keyval = GDK_KEY_e; + view.on_key_press_event(&event); + assert(buffer->get_text() == "test test"); } } }