#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;
dcp::Colour (0, 0, 0),
dcp::Time (),
dcp::Time (),
- 0
+ 0,
+ std::vector<dcp::Ruby>()
),
2,
std::shared_ptr<dcpomatic::Font>(),
}
+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,
+ std::vector<dcp::Ruby>()
+ },
+ {
+ {}, 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<dcp::Ruby>()
+ }
+ };
+
+ 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)