diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-12-05 22:39:50 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-12-05 22:39:50 +0000 |
| commit | 34e7ae593806e459762e9efe32fdbf9c3a26f40b (patch) | |
| tree | 3c17a3866fe3709e11f6d063cda15c8097a9eeed | |
| parent | 414f1d390276ac5508d413408306910b9d1388d3 (diff) | |
Accept any old case for DCP content kinds.
| -rw-r--r-- | src/util.cc | 6 | ||||
| -rw-r--r-- | test/util_test.cc | 18 |
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); +} |
