(More) properly support MarginV in SSA/ASS.
[libsub.git] / test / dcp_to_stl_binary_test.cc
index 2d82645a4cbcbd81ffef6e78ca8e0df4b1ac6f9a..450b73083091c777d74233b8dcbac38aa49b39f4 100644 (file)
@@ -25,6 +25,7 @@
 #include <fstream>
 
 using std::ifstream;
+using std::vector;
 
 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test1)
 {
@@ -33,9 +34,8 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test1)
        }
 
        boost::filesystem::path p = private_test / "fd586c30-6d38-48f2-8241-27359acf184c_sub.xml";
-       ifstream f (p.string().c_str ());
        sub::write_stl_binary (
-               sub::collect (sub::DCPReader(f).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -61,9 +61,8 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test2)
        }
 
        boost::filesystem::path p = private_test / "93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.xml";
-       ifstream f (p.string().c_str ());
        sub::write_stl_binary (
-               sub::collect (sub::DCPReader(f).subtitles ()),
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -81,3 +80,170 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test2)
                "build/test/93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.stl"
                );
 }
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
+{
+       if (private_test.empty ()) {
+               return;
+       }
+
+       boost::filesystem::path p = private_test / "P_FTR_Subs_DE-FR_24fps_R1.xml";
+       sub::write_stl_binary (
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
+               25,
+               sub::LANGUAGE_FRENCH,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/P_FTR_Subs_DE-FR_24fps_R1.stl"
+               );
+
+       check_file (
+               private_test / "P_FTR_Subs_DE-FR_24fps_R1.stl",
+               "build/test/P_FTR_Subs_DE-FR_24fps_R1.stl"
+               );
+}
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test4)
+{
+       sub::write_stl_binary (
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader("test/data/test1.xml").subtitles()),
+               25,
+               sub::LANGUAGE_FRENCH,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/test1.stl"
+               );
+}
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test5)
+{
+       if (private_test.empty ()) {
+               return;
+       }
+
+       boost::filesystem::path p = private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.mxf";
+       sub::write_stl_binary (
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
+               25,
+               sub::LANGUAGE_FRENCH,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl"
+               );
+
+       check_file (
+               private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl",
+               "build/test/065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.stl"
+               );
+}
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test6)
+{
+       if (private_test.empty ()) {
+               return;
+       }
+
+       boost::filesystem::path p = private_test / "P_FTR_FullSubs_DE_24fps.xml";
+       sub::write_stl_binary (
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
+               24,
+               sub::LANGUAGE_GERMAN,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/P_FTR_FullSubs_DE_24fps.stl"
+               );
+
+       check_file (
+               private_test / "P_FTR_FullSubs_DE_24fps.stl",
+               "build/test/P_FTR_FullSubs_DE_24fps.stl"
+               );
+}
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test7)
+{
+       boost::filesystem::path p = "test/data/test3.xml";
+       sub::write_stl_binary (
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
+               24,
+               sub::LANGUAGE_GERMAN,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/test3.stl"
+               );
+
+       check_file (
+               "test/ref/test3.stl",
+               "build/test/test3.stl"
+               );
+}
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test8)
+{
+       boost::filesystem::path p = private_test / "91a30f25-b415-4ffe-9623-bdae43a381d3_sub.xml";
+       sub::write_stl_binary (
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
+               24,
+               sub::LANGUAGE_GERMAN,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/91a30f25-b415-4ffe-9623-bdae43a381d3_sub.stl"
+               );
+
+       check_file (
+               private_test / "91a30f25-b415-4ffe-9623-bdae43a381d3_sub.stl",
+               "build/test/91a30f25-b415-4ffe-9623-bdae43a381d3_sub.stl"
+               );
+}
+
+BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test9)
+{
+       boost::filesystem::path p = private_test / "8b95f204-f2a6-4586-8e67-2dc671a78e72_sub.xml";
+       sub::write_stl_binary (
+               sub::collect<vector<sub::Subtitle>> (sub::DCPReader(p).subtitles()),
+               24,
+               sub::LANGUAGE_GERMAN,
+               "", "",
+               "", "",
+               "", "",
+               "300514", "300514", 0,
+               "GBR",
+               "",
+               "", "",
+               "build/test/8b95f204-f2a6-4586-8e67-2dc671a78e72_sub.stl"
+               );
+
+       check_file (
+               private_test / "8b95f204-f2a6-4586-8e67-2dc671a78e72_sub.stl",
+               "build/test/8b95f204-f2a6-4586-8e67-2dc671a78e72_sub.stl"
+               );
+}