Skip to content
Snippets Groups Projects
Unverified Commit d4dac1f8 authored by Nicolas Werner's avatar Nicolas Werner Committed by GitHub
Browse files

Merge pull request #24 from rnhmjoj/fix-thumbnail

Do not create thumbnail info if there is no thumbnail
parents 82a1d8bd 95d17926
No related branches found
No related tags found
No related merge requests found
......@@ -60,12 +60,14 @@ 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["thumbnail_url"] = info.thumbnail_url;
obj["thumbnail_info"] = info.thumbnail_info;
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;
}
if (info.thumbnail_file)
obj["thumbnail_file"] = info.thumbnail_file.value();
}
......@@ -92,10 +94,12 @@ from_json(const json &obj, FileInfo &info)
void
to_json(json &obj, const FileInfo &info)
{
obj["size"] = info.size;
obj["mimetype"] = info.mimetype;
obj["thumbnail_url"] = info.thumbnail_url;
obj["thumbnail_info"] = info.thumbnail_info;
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;
}
if (info.thumbnail_file)
obj["thumbnail_file"] = info.thumbnail_file.value();
}
......
......@@ -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) {}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment