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:
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) {