Merge master.
[dcpomatic.git] / test / film_metadata_test.cc
index ba4fcced6003d60feb449b26a8a9d1ed5d0e70eb..1f06aa538568b6a83f57f75d36410eea47a69c3e 100644 (file)
 
 */
 
+#include <sstream>
+#include <boost/test/unit_test.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/date_time.hpp>
+#include "lib/film.h"
+#include "lib/dcp_content_type.h"
+#include "lib/ratio.h"
+#include "test.h"
+
+using std::string;
+using std::stringstream;
+using std::list;
+using boost::shared_ptr;
+
 BOOST_AUTO_TEST_CASE (film_metadata_test)
 {
        string const test_film = "build/test/film_metadata_test";
@@ -36,9 +50,9 @@ BOOST_AUTO_TEST_CASE (film_metadata_test)
        f->set_j2k_bandwidth (200000000);
        f->write_metadata ();
 
-       stringstream s;
-       s << "diff -u test/data/metadata.xml.ref " << test_film << "/metadata.xml";
-       BOOST_CHECK_EQUAL (::system (s.str().c_str ()), 0);
+       list<string> ignore;
+       ignore.push_back ("Key");
+       check_xml ("test/data/metadata.xml.ref", test_film + "/metadata.xml", ignore);
 
        shared_ptr<Film> g (new Film (test_film));
        g->read_metadata ();
@@ -48,5 +62,5 @@ BOOST_AUTO_TEST_CASE (film_metadata_test)
        BOOST_CHECK_EQUAL (g->container(), Ratio::from_id ("185"));
        
        g->write_metadata ();
-       BOOST_CHECK_EQUAL (::system (s.str().c_str ()), 0);
+       check_xml ("test/data/metadata.xml.ref", test_film + "/metadata.xml", ignore);
 }