From 95d17926c65cde3af1c17d8b060ca0e1a309b496 Mon Sep 17 00:00:00 2001 From: Nicolas Werner <nicolas.werner@hotmail.de> Date: Sun, 1 Mar 2020 14:46:40 +0100 Subject: [PATCH] Add some tests for optional thumbnail url --- lib/structs/events/common.cpp | 20 ++++++++++---------- tests/messages.cpp | 27 ++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/lib/structs/events/common.cpp b/lib/structs/events/common.cpp index bd70df5c5..6245a2fda 100644 --- a/lib/structs/events/common.cpp +++ b/lib/structs/events/common.cpp @@ -60,13 +60,13 @@ from_json(const json &obj, ImageInfo &info) void to_json(json &obj, const ImageInfo &info) { - obj["h"] = info.h; - obj["w"] = info.w; - obj["size"] = info.size; - obj["mimetype"] = info.mimetype; + obj["h"] = info.h; + obj["w"] = info.w; + obj["size"] = info.size; + obj["mimetype"] = info.mimetype; if (!info.thumbnail_url.empty()) { - obj["thumbnail_url"] = info.thumbnail_url; - obj["thumbnail_info"] = info.thumbnail_info; + obj["thumbnail_url"] = info.thumbnail_url; + obj["thumbnail_info"] = info.thumbnail_info; } if (info.thumbnail_file) obj["thumbnail_file"] = info.thumbnail_file.value(); @@ -94,11 +94,11 @@ from_json(const json &obj, FileInfo &info) void to_json(json &obj, const FileInfo &info) { - obj["size"] = info.size; - obj["mimetype"] = info.mimetype; + obj["size"] = info.size; + obj["mimetype"] = info.mimetype; if (!info.thumbnail_url.empty()) { - obj["thumbnail_url"] = info.thumbnail_url; - obj["thumbnail_info"] = info.thumbnail_info; + obj["thumbnail_url"] = info.thumbnail_url; + obj["thumbnail_info"] = info.thumbnail_info; } if (info.thumbnail_file) obj["thumbnail_file"] = info.thumbnail_file.value(); diff --git a/tests/messages.cpp b/tests/messages.cpp index cfa1b9b5d..e0e613b42 100644 --- a/tests/messages.cpp +++ b/tests/messages.cpp @@ -130,7 +130,14 @@ TEST(RoomEvents, FileMessage) "body": "optimize.pdf", "info": { "mimetype": "application/pdf", - "size": 40565 + "size": 40565, + "thumbnail_info": { + "h": 200, + "mimetype": "image/png", + "size": 73602, + "w": 140 + }, + "thumbnail_url": "mxc://matrix.org/XpxykZBESCSQnYkLKbbIKnVn" }, "msgtype": "m.file", "url": "mxc://matrix.org/XpxykZBESCSQnYkLKbbIKnVn", @@ -161,6 +168,15 @@ TEST(RoomEvents, FileMessage) EXPECT_EQ(event.content.info.size, 40565); EXPECT_EQ(event.content.relates_to.in_reply_to.event_id, "$6GKhAfJOcwNd69lgSizdcTob8z2pWQgBOZPrnsWMA1E"); + + json withThumb = event; + EXPECT_EQ(withThumb["content"]["info"].count("thumbnail_url"), 1); + EXPECT_EQ(withThumb["content"]["info"].count("thumbnail_info"), 1); + + event.content.info.thumbnail_url = ""; + json withoutThumb = event; + EXPECT_EQ(withoutThumb["content"]["info"].count("thumbnail_url"), 0); + EXPECT_EQ(withoutThumb["content"]["info"].count("thumbnail_info"), 0); } TEST(RoomEvents, EncryptedImageMessage) @@ -300,6 +316,15 @@ TEST(RoomEvents, ImageMessage) EXPECT_EQ(event.content.info.thumbnail_info.size, 33504); EXPECT_EQ(event.content.relates_to.in_reply_to.event_id, "$6GKhAfJOcwNd69lgSizdcTob8z2pWQgBOZPrnsWMA1E"); + + json withThumb = event; + EXPECT_EQ(withThumb["content"]["info"].count("thumbnail_url"), 1); + EXPECT_EQ(withThumb["content"]["info"].count("thumbnail_info"), 1); + + event.content.info.thumbnail_url = ""; + json withoutThumb = event; + EXPECT_EQ(withoutThumb["content"]["info"].count("thumbnail_url"), 0); + EXPECT_EQ(withoutThumb["content"]["info"].count("thumbnail_info"), 0); } TEST(RoomEvents, LocationMessage) {} -- GitLab