reapack

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

commit f7b0a3fb7a7f0667a0520fa1a15260a5f586f15a
parent 233d5dc88decc8766847bece9292b495ed1b44df
Author: cfillion <cfillion@users.noreply.github.com>
Date:   Wed, 16 Mar 2016 17:26:15 -0400

convert raw package type to string without a package object

Diffstat:
Msrc/package.cpp | 25+++++++++++++++----------
Msrc/package.hpp | 1+
Mtest/package.cpp | 16++++++++++++----
3 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/src/package.cpp b/src/package.cpp @@ -36,6 +36,20 @@ Package::Type Package::typeFor(const char *type) return UnknownType; } +string Package::displayType(const Type type) +{ + switch(type) { + case UnknownType: + return "Unknown"; + case ScriptType: + return "Script"; + case ExtensionType: + return "Extension"; + case EffectType: + return "Effect"; + } +} + Package::Package(const Type type, const string &name, Category *cat) : m_category(cat), m_type(type), m_name(name) { @@ -50,16 +64,7 @@ string Package::fullName() const string Package::displayType() const { - switch(m_type) { - case UnknownType: - return "Unknown"; - case ScriptType: - return "Script"; - case ExtensionType: - return "Extension"; - case EffectType: - return "Effect"; - } + return displayType(m_type); } Package::~Package() diff --git a/src/package.hpp b/src/package.hpp @@ -36,6 +36,7 @@ public: }; static Type typeFor(const char *); + static std::string displayType(Type); Package(const Type, const std::string &name, Category * = nullptr); ~Package(); diff --git a/test/package.cpp b/test/package.cpp @@ -27,17 +27,25 @@ TEST_CASE("package type from string", M) { } TEST_CASE("package type to string", M) { - SECTION("unknown") + SECTION("unknown") { + REQUIRE("Unknown" == Package::displayType(Package::UnknownType)); REQUIRE("Unknown" == Package(Package::UnknownType, "test").displayType()); + } - SECTION("script") + SECTION("script") { + REQUIRE("Script" == Package::displayType(Package::ScriptType)); REQUIRE("Script" == Package(Package::ScriptType, "test").displayType()); + } - SECTION("extension") + SECTION("extension") { + REQUIRE("Extension" == Package::displayType(Package::ExtensionType)); REQUIRE("Extension" == Package(Package::ExtensionType, "test").displayType()); + } - SECTION("effect") + SECTION("effect") { + REQUIRE("Effect" == Package::displayType(Package::EffectType)); REQUIRE("Effect" == Package(Package::EffectType, "test").displayType()); + } } TEST_CASE("empty package name", M) {