summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-12-05 22:39:50 +0000
committerCarl Hetherington <cth@carlh.net>2013-12-05 22:39:50 +0000
commit34e7ae593806e459762e9efe32fdbf9c3a26f40b (patch)
tree3c17a3866fe3709e11f6d063cda15c8097a9eeed
parent414f1d390276ac5508d413408306910b9d1388d3 (diff)
Accept any old case for DCP content kinds.
-rw-r--r--src/util.cc6
-rw-r--r--test/util_test.cc18
2 files changed, 20 insertions, 4 deletions
diff --git a/src/util.cc b/src/util.cc
index 3508e64f..cb58694a 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -161,13 +161,13 @@ libdcp::content_kind_to_string (ContentKind kind)
libdcp::ContentKind
libdcp::content_kind_from_string (string type)
{
- /* XXX: should probably just convert type to lower-case and have done with it */
+ transform (type.begin(), type.end(), type.begin(), ::tolower);
if (type == "feature") {
return FEATURE;
} else if (type == "short") {
return SHORT;
- } else if (type == "trailer" || type == "Trailer") {
+ } else if (type == "trailer") {
return TRAILER;
} else if (type == "test") {
return TEST;
@@ -175,7 +175,7 @@ libdcp::content_kind_from_string (string type)
return TRANSITIONAL;
} else if (type == "rating") {
return RATING;
- } else if (type == "teaser" || type == "Teaser") {
+ } else if (type == "teaser") {
return TEASER;
} else if (type == "policy") {
return POLICY;
diff --git a/test/util_test.cc b/test/util_test.cc
index 2ed5e46a..f7114e90 100644
--- a/test/util_test.cc
+++ b/test/util_test.cc
@@ -24,7 +24,7 @@
using std::ifstream;
using std::string;
-BOOST_AUTO_TEST_CASE (bsae64_decode_test)
+BOOST_AUTO_TEST_CASE (base64_decode_test)
{
int const N = 256;
@@ -54,3 +54,19 @@ BOOST_AUTO_TEST_CASE (bsae64_decode_test)
BOOST_CHECK_EQUAL (decoded[i], ref_decoded[i]);
}
}
+
+BOOST_AUTO_TEST_CASE (content_kind_test)
+{
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("feature"), libdcp::FEATURE);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("Feature"), libdcp::FEATURE);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("FeaturE"), libdcp::FEATURE);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("Short"), libdcp::SHORT);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("trailer"), libdcp::TRAILER);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("test"), libdcp::TEST);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("transitional"), libdcp::TRANSITIONAL);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("rating"), libdcp::RATING);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("teaser"), libdcp::TEASER);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("policy"), libdcp::POLICY);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("psa"), libdcp::PUBLIC_SERVICE_ANNOUNCEMENT);
+ BOOST_CHECK_EQUAL (libdcp::content_kind_from_string ("advertisement"), libdcp::ADVERTISEMENT);
+}