summaryrefslogtreecommitdiff
path: root/test/render_subtitles_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-06-17 00:03:51 +0200
committerCarl Hetherington <cth@carlh.net>2023-09-03 20:43:51 +0200
commit11a47a4544f77a47b508e4cf1983aca7d5b6cd2a (patch)
tree38aa06b6fce34586df172813ceab132c5dd06ce5 /test/render_subtitles_test.cc
parentdbfb852ea5b7169a80b701089bf0bc7e30c6e328 (diff)
Ignore newlines in subtitle text (#2341).
Diffstat (limited to 'test/render_subtitles_test.cc')
-rw-r--r--test/render_subtitles_test.cc50
1 files changed, 50 insertions, 0 deletions
diff --git a/test/render_subtitles_test.cc b/test/render_subtitles_test.cc
index 023237568..5672230da 100644
--- a/test/render_subtitles_test.cc
+++ b/test/render_subtitles_test.cc
@@ -29,10 +29,12 @@
#include "lib/image_png.h"
#include "lib/render_text.h"
#include "lib/string_text.h"
+#include "test.h"
#include <dcp/subtitle_string.h>
#include <boost/test/unit_test.hpp>
+using std::make_shared;
using std::shared_ptr;
@@ -120,6 +122,54 @@ BOOST_AUTO_TEST_CASE (marked_up_test6)
}
+BOOST_AUTO_TEST_CASE(render_text_with_newline_test)
+{
+ std::list<dcp::SubtitleString> ss = {
+ {
+ {}, true, false, false, dcp::Colour(255, 255, 255), 42, 1.0,
+ dcp::Time(0, 0, 0, 0, 24), dcp::Time(0, 0, 1, 0, 24),
+ 0.5, dcp::HAlign::CENTER,
+ 0.5, dcp::VAlign::CENTER,
+ 0.0,
+ dcp::Direction::LTR,
+ "Hello world",
+ dcp::Effect::NONE, dcp::Colour(0, 0, 0),
+ {}, {},
+ 0
+ },
+ {
+ {}, true, false, false, dcp::Colour(255, 255, 255), 42, 1.0,
+ dcp::Time(0, 0, 0, 0, 24), dcp::Time(0, 0, 1, 0, 24),
+ 0.5, dcp::HAlign::CENTER,
+ 0.5, dcp::VAlign::CENTER,
+ 0.0,
+ dcp::Direction::LTR,
+ "\n",
+ dcp::Effect::NONE, dcp::Colour(0, 0, 0),
+ {}, {},
+ 0
+ }
+ };
+
+ std::vector<StringText> st;
+ for (auto i: ss) {
+ st.push_back({i, 0, make_shared<dcpomatic::Font>("foo"), dcp::SubtitleStandard::SMPTE_2014});
+ }
+
+ auto images = render_text(st, dcp::Size(1998, 1080), {}, 24);
+
+ BOOST_CHECK_EQUAL(images.size(), 1U);
+ image_as_png(Image::ensure_alignment(images.front().image, Image::Alignment::PADDED)).write("build/test/render_text_with_newline_test.png");
+#if defined(DCPOMATIC_OSX)
+ check_image("test/data/mac/render_text_with_newline_test.png", "build/test/render_text_with_newline_test.png");
+#elif defined(DCPOMATIC_WINDOWS)
+ check_image("test/data/windows/render_text_with_newline_test.png", "build/test/render_text_with_newline_test.png");
+#else
+ check_image("test/data/render_text_with_newline_test.png", "build/test/render_text_with_newline_test.png");
+#endif
+}
+
+
#if 0
BOOST_AUTO_TEST_CASE (render_text_test)