reapack

Package manager for REAPER
Log | Files | Refs | Submodules | README | LICENSE

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 }