summaryrefslogtreecommitdiff
path: root/test/write_subtitle_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-04-30 15:36:05 +0100
committerCarl Hetherington <cth@carlh.net>2015-04-30 15:36:05 +0100
commit6a804ace532c13b2095972cd48d422e2c9fa0b70 (patch)
tree8757bc276e783c97150f1ec3f1f56e75e5bcba53 /test/write_subtitle_test.cc
parentea4b476dd21e99bbc292f7fc6db4e4ba578489c0 (diff)
Add a very simple test for writing subtitles.
Diffstat (limited to 'test/write_subtitle_test.cc')
-rw-r--r--test/write_subtitle_test.cc69
1 files changed, 69 insertions, 0 deletions
diff --git a/test/write_subtitle_test.cc b/test/write_subtitle_test.cc
new file mode 100644
index 00000000..3feb4b79
--- /dev/null
+++ b/test/write_subtitle_test.cc
@@ -0,0 +1,69 @@
+/*
+ Copyright (C) 2015 Carl Hetherington <cth@carlh.net>
+
+ This program 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.
+
+ This program 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 this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+*/
+
+#include "interop_subtitle_content.h"
+#include "subtitle_string.h"
+#include "test.h"
+#include <boost/test/unit_test.hpp>
+
+using std::list;
+using std::string;
+using boost::shared_ptr;
+
+/* Write some subtitle content as Interop XML and check that it is right */
+BOOST_AUTO_TEST_CASE (write_subtitle_test)
+{
+ dcp::SubtitleString s (
+ string ("Arial"),
+ false,
+ dcp::Colour (255, 255, 255),
+ 48,
+ dcp::Time (0, 4, 9, 22, 24),
+ dcp::Time (0, 4, 11, 22, 24),
+ 0.8,
+ dcp::TOP,
+ "Hello world",
+ dcp::NONE,
+ dcp::Colour (0, 0, 0),
+ dcp::Time (0, 0, 0, 0, 24),
+ dcp::Time (0, 0, 0, 0, 24)
+ );
+
+ dcp::InteropSubtitleContent c ("Test", "EN");
+ c.add (s);
+
+ c._id = "a6c58cff-3e1e-4b38-acec-a42224475ef6";
+
+ check_xml (
+ c.xml_as_string (),
+ "<DCSubtitle Version=\"1.0\">\n"
+ " <SubtitleID>a6c58cff-3e1e-4b38-acec-a42224475ef6</SubtitleID>\n"
+ " <MovieTitle>Test</MovieTitle>\n"
+ " <ReelNumber>1</ReelNumber>\n"
+ " <Language>EN</Language>\n"
+ " <Font Id=\"Arial\" Italic=\"no\" Color=\"FFFFFFFF\" Size=\"48\" Effect=\"none\" EffectColor=\"FF000000\" Script=\"normal\" Underlined=\"no\" Weight=\"normal\">\n"
+ " <Subtitle SpotNumber=\"1\" TimeIn=\"0:4:9:22\" TimeOut=\"0:4:11:22\" FadeUpTime=\"0\" FadeDownTime=\"0\">\n"
+ " <Text VAlign=\"top\" VPosition=\"80\">Hello world</Text>\n"
+ " </Subtitle>\n"
+ " </Font>\n"
+ "</DCSubtitle>",
+ list<string> ()
+ );
+}
+