Bv2.1 6.2.1: Check that the sound MXF Language tag conforms to RFC 5646.
[libdcp.git] / test / test.h
index 6fc2067d638f3a8dcfedd458a1632f2f0d38fd13..1368973a65c44df69bf370454736e730f152c8e3 100644 (file)
 
 
 #include "cpl.h"
-#include "data.h"
 #include "dcp.h"
 #include "reel.h"
 #include "reel_subtitle_asset.h"
 #include "subtitle.h"
+#include "reel_asset.h"
 #include <boost/filesystem.hpp>
+#include <boost/optional.hpp>
 
 namespace xmlpp {
        class Element;
@@ -33,20 +34,24 @@ namespace xmlpp {
 namespace dcp {
        class DCP;
        class MonoPictureAsset;
+       class SoundAsset;
 }
 
 extern boost::filesystem::path private_test;
 extern boost::filesystem::path xsd_test;
 
-extern void check_xml (xmlpp::Element* ref, xmlpp::Element* test, std::list<std::string> ignore);
-extern void check_xml (std::string ref, std::string test, std::list<std::string> ignore);
+extern void check_xml (xmlpp::Element* ref, xmlpp::Element* test, std::list<std::string> ignore_tags, bool ignore_whitespace = false);
+extern void check_xml (std::string ref, std::string test, std::list<std::string> ignore, bool ignore_whitespace = false);
 extern void check_file (boost::filesystem::path ref, boost::filesystem::path check);
-extern boost::shared_ptr<dcp::MonoPictureAsset> simple_picture (boost::filesystem::path path, std::string suffix);
-extern boost::shared_ptr<dcp::DCP> make_simple (boost::filesystem::path path, int reels = 1);
-extern boost::shared_ptr<dcp::DCP> make_simple_with_interop_subs (boost::filesystem::path path);
-extern boost::shared_ptr<dcp::DCP> make_simple_with_smpte_subs (boost::filesystem::path path);
-extern boost::shared_ptr<dcp::DCP> make_simple_with_interop_ccaps (boost::filesystem::path path);
-extern boost::shared_ptr<dcp::DCP> make_simple_with_smpte_ccaps (boost::filesystem::path path);
+extern std::shared_ptr<dcp::MonoPictureAsset> simple_picture (boost::filesystem::path path, std::string suffix);
+extern std::shared_ptr<dcp::SoundAsset> simple_sound (boost::filesystem::path path, std::string suffix, dcp::MXFMetadata mxf_meta, std::string language);
+extern std::shared_ptr<dcp::DCP> make_simple (boost::filesystem::path path, int reels = 1);
+extern std::shared_ptr<dcp::DCP> make_simple_with_interop_subs (boost::filesystem::path path);
+extern std::shared_ptr<dcp::DCP> make_simple_with_smpte_subs (boost::filesystem::path path);
+extern std::shared_ptr<dcp::DCP> make_simple_with_interop_ccaps (boost::filesystem::path path);
+extern std::shared_ptr<dcp::DCP> make_simple_with_smpte_ccaps (boost::filesystem::path path);
+extern std::shared_ptr<dcp::OpenJPEGImage> black_image ();
+extern std::shared_ptr<dcp::ReelAsset> black_picture_asset (boost::filesystem::path dir, int frames = 24);
 
 /** Creating an object of this class will make asdcplib's random number generation
  *  (more) predictable.
@@ -57,4 +62,3 @@ public:
        RNGFixer ();
        ~RNGFixer ();
 };
-