metadata.cpp (1517B)
1 #include "helper.hpp" 2 3 #include <metadata.hpp> 4 5 static const char *M = "[metadata]"; 6 7 TEST_CASE("repository links", M) { 8 Metadata md; 9 CHECK(md.links().empty()); 10 11 SECTION("website links") { 12 md.addLink(Metadata::WebsiteLink, {"First", "http://example.com"}); 13 REQUIRE(md.links().count(Metadata::WebsiteLink) == 1); 14 md.addLink(Metadata::WebsiteLink, {"Second", "http://example.com"}); 15 16 auto link = md.links().begin(); 17 REQUIRE(link->first == Metadata::WebsiteLink); 18 REQUIRE(link->second.name == "First"); 19 REQUIRE((++link)->second.name == "Second"); 20 21 REQUIRE(md.links().count(Metadata::DonationLink) == 0); 22 } 23 24 SECTION("donation links") { 25 md.addLink(Metadata::DonationLink, {"First", "http://example.com"}); 26 REQUIRE(md.links().count(Metadata::DonationLink) == 1); 27 REQUIRE(md.links().begin()->first == Metadata::DonationLink); 28 } 29 30 SECTION("drop invalid links") { 31 md.addLink(Metadata::WebsiteLink, {"name", "not http(s)"}); 32 REQUIRE(md.links().count(Metadata::WebsiteLink) == 0); 33 } 34 } 35 36 TEST_CASE("link type from stmdng", M) { 37 REQUIRE(Metadata::getLinkType("website") == Metadata::WebsiteLink); 38 REQUIRE(Metadata::getLinkType("donation") == Metadata::DonationLink); 39 REQUIRE(Metadata::getLinkType("screenshot") == Metadata::ScreenshotLink); 40 REQUIRE(Metadata::getLinkType("bacon") == Metadata::WebsiteLink); 41 } 42 43 TEST_CASE("about text", M) { 44 Metadata md; 45 CHECK(md.about().empty()); 46 47 md.setAbout("Hello World"); 48 REQUIRE(md.about() == "Hello World"); 49 }