Nearly pretty-print subtitle XML (though not in <Text> nodes).
[libdcp.git] / test / smpte_subtitle_test.cc
index 2b8491a35443b36ae9a005210dbca94b965b2c12..f1f66bfb645dd2e0f272c8abad9826a0564b8228 100644 (file)
@@ -257,27 +257,27 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test)
        c._xml_id = "a6c58cff-3e1e-4b38-acec-a42224475ef6";
 
        check_xml (
-               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">"
-                 "<Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>"
-                 "<ContentTitleText>Test</ContentTitleText>"
-                 "<IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>"
-                 "<ReelNumber>1</ReelNumber>"
-                 "<Language>en</Language>"
-                 "<EditRate>24 1</EditRate>"
-                 "<TimeCodeRate>24</TimeCodeRate>"
-                 "<SubtitleList>"
-                   "<Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Frutiger\" Italic=\"no\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">"
-                     "<Subtitle SpotNumber=\"1\" TimeIn=\"00:04:09:22\" TimeOut=\"00:04:11:22\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">"
-                       "<Text Valign=\"top\" Vposition=\"80\">Hello world</Text>"
-                     "</Subtitle>"
-                   "</Font>"
-                   "<Font AspectAdjust=\"1.0\" Color=\"FF800040\" Effect=\"border\" EffectColor=\"FF010203\" Italic=\"yes\" Script=\"normal\" Size=\"91\" Underline=\"yes\" Weight=\"bold\">"
-                     "<Subtitle SpotNumber=\"2\" TimeIn=\"05:41:00:21\" TimeOut=\"06:12:15:21\" FadeUpTime=\"01:02:03:04\" FadeDownTime=\"05:06:07:08\">"
-                       "<Text Valign=\"bottom\" Vposition=\"40\" Direction=\"rtl\">What's going <Space Size=\"4.2\"/>on</Text>"
-                     "</Subtitle>"
-                   "</Font>"
-                 "</SubtitleList>"
+               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n"
+               "  <Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>\n"
+               "  <ContentTitleText>Test</ContentTitleText>\n"
+               "  <IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>\n"
+               "  <ReelNumber>1</ReelNumber>\n"
+               "  <Language>en</Language>\n"
+               "  <EditRate>24 1</EditRate>\n"
+               "  <TimeCodeRate>24</TimeCodeRate>\n"
+               "  <SubtitleList>\n"
+               "    <Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Frutiger\" Italic=\"no\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">\n"
+               "      <Subtitle SpotNumber=\"1\" TimeIn=\"00:04:09:22\" TimeOut=\"00:04:11:22\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">\n"
+               "        <Text Valign=\"top\" Vposition=\"80\">Hello world</Text>\n"
+               "      </Subtitle>\n"
+               "    </Font>\n"
+               "    <Font AspectAdjust=\"1.0\" Color=\"FF800040\" Effect=\"border\" EffectColor=\"FF010203\" Italic=\"yes\" Script=\"normal\" Size=\"91\" Underline=\"yes\" Weight=\"bold\">\n"
+               "      <Subtitle SpotNumber=\"2\" TimeIn=\"05:41:00:21\" TimeOut=\"06:12:15:21\" FadeUpTime=\"01:02:03:04\" FadeDownTime=\"05:06:07:08\">\n"
+               "        <Text Valign=\"bottom\" Vposition=\"40\" Direction=\"rtl\">What's going <Space Size=\"4.2\"/>on</Text>\n"
+               "      </Subtitle>\n"
+               "    </Font>\n"
+               "  </SubtitleList>\n"
                "</SubtitleReel>",
                c.xml_as_string (),
                vector<string>()
@@ -449,31 +449,23 @@ BOOST_AUTO_TEST_CASE (write_smpte_subtitle_test2)
 
        check_xml (
                c.xml_as_string(),
-               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">"
-                 "<Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>"
-                 "<ContentTitleText>Test</ContentTitleText>"
-                 "<IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>"
-                 "<ReelNumber>1</ReelNumber>"
-                 "<Language>en</Language>"
-                 "<EditRate>24 1</EditRate>"
-                 "<TimeCodeRate>24</TimeCodeRate>"
-                 "<SubtitleList>"
-                   "<Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Arial\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">"
-                     "<Subtitle SpotNumber=\"1\" TimeIn=\"00:00:01:00\" TimeOut=\"00:00:09:00\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">"
-                       "<Text Valign=\"top\" Vposition=\"80\">"
-                         "<Font Italic=\"no\">Testing is </Font>"
-                         "<Font Italic=\"yes\">really</Font>"
-                         "<Font Italic=\"no\"> fun</Font>"
-                       "</Text>"
-                       "<Text Valign=\"top\" Vposition=\"90\">"
-                         "<Font Italic=\"no\">This is the </Font>"
-                         "<Font Italic=\"yes\">second</Font>"
-                         "<Font Italic=\"no\"> line</Font>"
-                       "</Text>"
-                     "</Subtitle>"
-                   "</Font>"
-                 "</SubtitleList>"
+               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n"
+               "  <Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>\n"
+               "  <ContentTitleText>Test</ContentTitleText>\n"
+               "  <IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>\n"
+               "  <ReelNumber>1</ReelNumber>\n"
+               "  <Language>en</Language>\n"
+               "  <EditRate>24 1</EditRate>\n"
+               "  <TimeCodeRate>24</TimeCodeRate>\n"
+               "  <SubtitleList>\n"
+               "    <Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Arial\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">\n"
+               "      <Subtitle SpotNumber=\"1\" TimeIn=\"00:00:01:00\" TimeOut=\"00:00:09:00\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">\n"
+               "        <Text Valign=\"top\" Vposition=\"80\"><Font Italic=\"no\">Testing is </Font><Font Italic=\"yes\">really</Font><Font Italic=\"no\"> fun</Font></Text>\n"
+               "        <Text Valign=\"top\" Vposition=\"90\"><Font Italic=\"no\">This is the </Font><Font Italic=\"yes\">second</Font><Font Italic=\"no\"> line</Font></Text>\n"
+               "      </Subtitle>\n"
+               "    </Font>\n"
+               "  </SubtitleList>\n"
                "</SubtitleReel>",
                vector<string>()
                );
@@ -593,23 +585,23 @@ BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_top_alignment)
 
        check_xml (
                c.xml_as_string(),
-               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">"
-                 "<Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>"
-                 "<ContentTitleText>Test</ContentTitleText>"
-                 "<IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>"
-                 "<ReelNumber>1</ReelNumber>"
-                 "<Language>en</Language>"
-                 "<EditRate>24 1</EditRate>"
-                 "<TimeCodeRate>24</TimeCodeRate>"
-                 "<SubtitleList>"
-                   "<Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Arial\" Italic=\"no\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">"
-                     "<Subtitle SpotNumber=\"1\" TimeIn=\"00:00:01:00\" TimeOut=\"00:00:09:00\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">"
-                       "<Text Valign=\"top\" Vposition=\"80\">Top line</Text>"
-                       "<Text Valign=\"top\" Vposition=\"90\">Bottom line</Text>"
-                     "</Subtitle>"
-                   "</Font>"
-                 "</SubtitleList>"
+               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n"
+               "  <Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>\n"
+               "  <ContentTitleText>Test</ContentTitleText>\n"
+               "  <IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>\n"
+               "  <ReelNumber>1</ReelNumber>\n"
+               "  <Language>en</Language>\n"
+               "  <EditRate>24 1</EditRate>\n"
+               "  <TimeCodeRate>24</TimeCodeRate>\n"
+               "  <SubtitleList>\n"
+               "    <Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Arial\" Italic=\"no\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">\n"
+               "      <Subtitle SpotNumber=\"1\" TimeIn=\"00:00:01:00\" TimeOut=\"00:00:09:00\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">\n"
+               "        <Text Valign=\"top\" Vposition=\"80\">Top line</Text>\n"
+               "        <Text Valign=\"top\" Vposition=\"90\">Bottom line</Text>\n"
+               "      </Subtitle>\n"
+               "    </Font>\n"
+               "  </SubtitleList>\n"
                "</SubtitleReel>",
                {}
                );
@@ -679,23 +671,23 @@ BOOST_AUTO_TEST_CASE (write_subtitles_in_vertical_order_with_bottom_alignment)
 
        check_xml (
                c.xml_as_string(),
-               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
-               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">"
-                 "<Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>"
-                 "<ContentTitleText>Test</ContentTitleText>"
-                 "<IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>"
-                 "<ReelNumber>1</ReelNumber>"
-                 "<Language>en</Language>"
-                 "<EditRate>24 1</EditRate>"
-                 "<TimeCodeRate>24</TimeCodeRate>"
-                 "<SubtitleList>"
-                   "<Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Arial\" Italic=\"no\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">"
-                     "<Subtitle SpotNumber=\"1\" TimeIn=\"00:00:01:00\" TimeOut=\"00:00:09:00\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">"
-                       "<Text Valign=\"bottom\" Vposition=\"80\">Top line</Text>"
-                       "<Text Valign=\"bottom\" Vposition=\"70\">Bottom line</Text>"
-                     "</Subtitle>"
-                   "</Font>"
-                 "</SubtitleList>"
+               "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+               "<SubtitleReel xmlns=\"http://www.smpte-ra.org/schemas/428-7/2010/DCST\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n"
+               "  <Id>urn:uuid:a6c58cff-3e1e-4b38-acec-a42224475ef6</Id>\n"
+               "  <ContentTitleText>Test</ContentTitleText>\n"
+               "  <IssueDate>2016-04-01T03:52:00.000+00:00</IssueDate>\n"
+               "  <ReelNumber>1</ReelNumber>\n"
+               "  <Language>en</Language>\n"
+               "  <EditRate>24 1</EditRate>\n"
+               "  <TimeCodeRate>24</TimeCodeRate>\n"
+               "  <SubtitleList>\n"
+               "    <Font AspectAdjust=\"1.0\" Color=\"FFFFFFFF\" Effect=\"none\" EffectColor=\"FF000000\" ID=\"Arial\" Italic=\"no\" Script=\"normal\" Size=\"48\" Underline=\"no\" Weight=\"normal\">\n"
+               "      <Subtitle SpotNumber=\"1\" TimeIn=\"00:00:01:00\" TimeOut=\"00:00:09:00\" FadeUpTime=\"00:00:00:00\" FadeDownTime=\"00:00:00:00\">\n"
+               "        <Text Valign=\"bottom\" Vposition=\"80\">Top line</Text>\n"
+               "        <Text Valign=\"bottom\" Vposition=\"70\">Bottom line</Text>\n"
+               "      </Subtitle>\n"
+               "    </Font>\n"
+               "  </SubtitleList>\n"
                "</SubtitleReel>",
                {}
                );