reapack

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

commit c0a4ab9c01087875afd9de203d4a0278e5743cd5
parent 19ef8b6cf2345e120f51d75f8e97f3dac0fb78e1
Author: cfillion <cfillion@users.noreply.github.com>
Date:   Fri, 11 Nov 2016 19:52:49 -0500

add support for Language Pack packages

Diffstat:
Msrc/package.cpp | 4++++
Msrc/package.hpp | 1+
Msrc/source.cpp | 4++++
Mtest/package.cpp | 8+++++++-
Mtest/source.cpp | 6++++++
5 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/package.cpp b/src/package.cpp @@ -38,6 +38,8 @@ Package::Type Package::getType(const char *type) return DataType; else if(!strcmp(type, "theme")) return ThemeType; + else if(!strcmp(type, "langpack")) + return LangPackType; else return UnknownType; } @@ -55,6 +57,8 @@ string Package::displayType(const Type type) return "Data"; case ThemeType: return "Theme"; + case LangPackType: + return "Language Pack"; default: return "Unknown"; } diff --git a/src/package.hpp b/src/package.hpp @@ -33,6 +33,7 @@ public: EffectType, DataType, ThemeType, + LangPackType, }; static Type getType(const char *); diff --git a/src/source.cpp b/src/source.cpp @@ -140,6 +140,9 @@ Path Source::targetPath() const case Package::ThemeType: path.append("ColorThemes"); break; + case Package::LangPackType: + path.append("LangPack"); + break; case Package::UnknownType: // The package has an unsupported type, so we return an empty path. // The empty path won't be used because the category will reject @@ -161,6 +164,7 @@ Path Source::targetPath() const case Package::ExtensionType: case Package::ThemeType: case Package::DataType: + case Package::LangPackType: path.append(file(), false); break; case Package::UnknownType: diff --git a/test/package.cpp b/test/package.cpp @@ -30,6 +30,9 @@ TEST_CASE("package type from string", M) { SECTION("theme") REQUIRE(Package::getType("theme") == Package::ThemeType); + + SECTION("langpack") + REQUIRE(Package::getType("langpack") == Package::LangPackType); } TEST_CASE("package type to string", M) { @@ -51,7 +54,10 @@ TEST_CASE("package type to string", M) { SECTION("theme") REQUIRE("Theme" == Package::displayType(Package::ThemeType)); - SECTION("unknown value") + SECTION("langpack") + REQUIRE("Language Pack" == Package::displayType(Package::LangPackType)); + + SECTION("unknown") REQUIRE("Unknown" == Package::displayType(static_cast<Package::Type>(-1))); } diff --git a/test/source.cpp b/test/source.cpp @@ -217,6 +217,12 @@ TEST_CASE("source target path", M) { const Path expected("ColorThemes/file.name"); REQUIRE(source.targetPath() == expected); } + + SECTION("langpack") { + source.setTypeOverride(Package::LangPackType); + const Path expected("LangPack/file.name"); + REQUIRE(source.targetPath() == expected); + } } TEST_CASE("target path with parent directory traversal", M) {