diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-03-19 21:15:49 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-03-19 21:15:49 +0000 |
| commit | fbd54e152cb627c1b67a11db2e0a25d27a74a6e1 (patch) | |
| tree | d7244c0a00b79b3ef11036f02124eb37e084c1c2 | |
| parent | d06f8f2d2538d9acf1b93104e901810e3643949f (diff) | |
Missing file.
| -rw-r--r-- | test/cpl_ratings_test.cc | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/test/cpl_ratings_test.cc b/test/cpl_ratings_test.cc new file mode 100644 index 00000000..161dab0d --- /dev/null +++ b/test/cpl_ratings_test.cc @@ -0,0 +1,91 @@ +/* + Copyright (C) 2019 Carl Hetherington <cth@carlh.net> + + This file is part of libdcp. + + libdcp is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + libdcp is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with libdcp. If not, see <http://www.gnu.org/licenses/>. + + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations + including the two. + + You must obey the GNU General Public License in all respects + for all of the code used other than OpenSSL. If you modify + file(s) with this exception, you may extend this exception to your + version of the file(s), but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your + version. If you delete this exception statement from all source + files in the program, then also delete it here. +*/ + +#include "cpl.h" +#include "test.h" +#include <boost/test/unit_test.hpp> + +using std::list; +using std::string; + +BOOST_AUTO_TEST_CASE (cpl_ratings) +{ + dcp::CPL cpl ("annotation", dcp::FEATURE); + + list<dcp::Rating> ratings; + ratings.push_back (dcp::Rating("http://www.mpaa.org/2003-ratings", "PG-13")); + ratings.push_back (dcp::Rating("http://www.movielabs.com/md/ratings/GB/BBFC/1/12A%3C/Agency", "12A")); + cpl.set_ratings (ratings); + + cpl.write_xml ("build/test/cpl_ratings.xml", dcp::SMPTE, boost::shared_ptr<dcp::CertificateChain>()); + + list<string> ignore; + ignore.push_back ("Id"); + ignore.push_back ("Issuer"); + ignore.push_back ("Creator"); + ignore.push_back ("IssueDate"); + ignore.push_back ("LabelText"); + check_xml ( + dcp::file_to_string("build/test/cpl_ratings.xml"), + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<CompositionPlaylist xmlns=\"http://www.smpte-ra.org/schemas/429-7/2006/CPL\">\n" + " <Id>urn:uuid:c34fc31a-1f45-4740-85cc-086e88104f5e</Id>\n" + " <AnnotationText>annotation</AnnotationText>\n" + " <IssueDate>2019-03-19T16:56:12+00:00</IssueDate>\n" + " <Issuer>libdcp1.6.4devel</Issuer>\n" + " <Creator>libdcp1.6.4devel</Creator>\n" + " <ContentTitleText>annotation</ContentTitleText>\n" + " <ContentKind>feature</ContentKind>\n" + " <ContentVersion>\n" + " <Id>urn:uuid:9aa4d5ae-2669-4090-a201-3c68a33cda64</Id>\n" + " <LabelText>9aa4d5ae-2669-4090-a201-3c68a33cda642019-03-19T16:56:12+00:00</LabelText>\n" + " </ContentVersion>\n" + " <RatingList>\n" + " <Rating>\n" + " <Agency>http://www.mpaa.org/2003-ratings</Agency>\n" + " <Label>PG-13</Label>\n" + " </Rating>\n" + " <Rating>\n" + " <Agency>http://www.movielabs.com/md/ratings/GB/BBFC/1/12A%3C/Agency</Agency>\n" + " <Label>12A</Label>\n" + " </Rating>\n" + " </RatingList>\n" + " <ReelList/>\n" + "</CompositionPlaylist>\n", + ignore + ); + + dcp::CPL cpl2 ("build/test/cpl_ratings.xml"); + list<dcp::Rating> ratings2 = cpl2.ratings (); + BOOST_TEST(ratings == ratings2); +} |
