diff options
Diffstat (limited to 'tests/main.cpp')
-rw-r--r-- | tests/main.cpp | 36 |
1 files changed, 2 insertions, 34 deletions
diff --git a/tests/main.cpp b/tests/main.cpp index 0fd291c..24cc74f 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -1,5 +1,5 @@ #include "../include/DynamicImage.hpp" -#include <dchat/IncomingMessage.hpp> +#include "../include/ChatMessage.hpp" #include <stdio.h> #include <vector> #include <string.h> @@ -20,38 +20,6 @@ static void requireEqualValues(int a, int b, const char *file, int line) } #define REQUIRE_EQUAL(a, b) do { requireEqualValues((a), (b), __FILE__, __LINE__); } while(0) -static void applyRichText(Gtk::TextView *textView, const Glib::ustring &text) -{ - auto buffer = textView->get_buffer(); - buffer->set_text(""); - Gtk::TextIter iter = buffer->get_iter_at_offset(0); - - dchat::parseIncomingMessage(text.data(), text.bytes(), [textView, &text, &iter, &buffer](dchat::IncomingMessagePart messagePart) - { - switch(messagePart.type) - { - case dchat::IncomingMessagePart::Type::TEXT: - { - iter = buffer->insert(iter, text.data() + messagePart.textRange.start, text.data() + messagePart.textRange.end); - break; - } - case dchat::IncomingMessagePart::Type::EMOJI: - { - auto anchor = Gtk::TextChildAnchor::create(); - iter = buffer->insert_child_anchor(iter, anchor); - auto image = Gtk::manage(new dchat::DynamicImage()); - image->url = text.substr(messagePart.textRange.start, messagePart.textRange.length()); - image->set_size_request(35, 35); - textView->add_child_at_anchor(*image, anchor); - break; - } - default: - assert(false); - break; - } - }); -} - static int testVisual(int argc, char **argv) { auto app = Gtk::Application::create(argc, argv, "dec05eba.dchat", Gio::APPLICATION_NON_UNIQUE); @@ -67,7 +35,7 @@ static int testVisual(int argc, char **argv) auto textView = Gtk::manage(new Gtk::TextView()); textView->set_size_request(640, 480); textView->set_wrap_mode(Gtk::WRAP_WORD_CHAR); - applyRichText(textView, "Hello world [emoji](https://discordemoji.com/assets/emoji/PeepoHide.png)[emoji](https://discordemoji.com/assets/emoji/PeepoHide.png)"); + dchat::applyRichText(textView, "Hello world [emoji](https://discordemoji.com/assets/emoji/PeepoHide.png)[emoji](https://discordemoji.com/assets/emoji/PeepoHide.png)"); grid->attach(*textView, 0, 0, 1, 1); window.show_all(); |