Missing file.
authorCarl Hetherington <cth@carlh.net>
Tue, 19 Mar 2019 21:15:49 +0000 (21:15 +0000)
committerCarl Hetherington <cth@carlh.net>
Tue, 19 Mar 2019 21:15:49 +0000 (21:15 +0000)
test/cpl_ratings_test.cc [new file with mode: 0644]

diff --git a/test/cpl_ratings_test.cc b/test/cpl_ratings_test.cc
new file mode 100644 (file)
index 0000000..161dab0
--- /dev/null
@@ -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);
+}