X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Frender_subtitles_test.cc;h=282c9311f7e24ef6a10bc8ee4419814f7422bc38;hb=dc5e11944a30a9d381dc0e67cf657c5f2cb65845;hp=5774c8e9af7e111dc4d5140eb68c39fc33627b2f;hpb=ccd69987ab861ea4521836fa2a5227e2dfac3479;p=dcpomatic.git diff --git a/test/render_subtitles_test.cc b/test/render_subtitles_test.cc index 5774c8e9a..282c9311f 100644 --- a/test/render_subtitles_test.cc +++ b/test/render_subtitles_test.cc @@ -18,15 +18,24 @@ */ + /** @file test/render_text_test.cc * @brief Check markup of subtitles for rendering. * @ingroup feature */ + +#include "lib/image.h" +#include "lib/image_png.h" #include "lib/render_text.h" +#include "lib/string_text.h" #include #include + +using std::shared_ptr; + + static void add (std::list& s, std::string text, bool italic, bool bold, bool underline) { @@ -54,59 +63,84 @@ add (std::list& s, std::string text, bool italic, bool bold, bool un dcp::Time (), 0 ), - 2 + 2, + std::shared_ptr(), + dcp::Standard::SMPTE ) ); } -/** Test marked_up() in render_text.cc */ -BOOST_AUTO_TEST_CASE (render_markup_test1) + +BOOST_AUTO_TEST_CASE (marked_up_test1) { std::list s; add (s, "Hello", false, false, false); - BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello"); + BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "Hello"); } -/** Test marked_up() in render_text.cc */ -BOOST_AUTO_TEST_CASE (render_markup_test2) + +BOOST_AUTO_TEST_CASE (marked_up_test2) { std::list s; add (s, "Hello", false, true, false); - BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello"); + BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "Hello"); } -/** Test marked_up() in render_text.cc */ -BOOST_AUTO_TEST_CASE (render_markup_test3) +BOOST_AUTO_TEST_CASE (marked_up_test3) { std::list s; add (s, "Hello", true, true, false); - BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello"); + BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "Hello"); } -/** Test marked_up() in render_text.cc */ -BOOST_AUTO_TEST_CASE (render_markup_test4) +BOOST_AUTO_TEST_CASE (marked_up_test4) { std::list s; add (s, "Hello", true, true, true); - BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello"); + BOOST_CHECK_EQUAL(marked_up(s, 1024, 1, ""), "Hello"); } -/** Test marked_up() in render_text.cc */ -BOOST_AUTO_TEST_CASE (render_markup_test5) +BOOST_AUTO_TEST_CASE (marked_up_test5) { std::list s; add (s, "Hello", false, true, false); add (s, " world.", false, false, false); - BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello world."); + BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello world."); } -/** Test marked_up() in render_text.cc */ -BOOST_AUTO_TEST_CASE (render_markup_test6) +BOOST_AUTO_TEST_CASE (marked_up_test6) { std::list s; add (s, "Hello", true, false, false); add (s, " world ", false, false, false); add (s, "we are bold.", false, true, false); - BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello world we are bold."); + BOOST_CHECK_EQUAL (marked_up(s, 1024, 1, ""), "Hello world we are bold."); } + + +#if 0 + +BOOST_AUTO_TEST_CASE (render_text_test) +{ + auto dcp_string = dcp::SubtitleString( + {}, false, 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, + dcp::Direction::LTR, + "HÄllo jokers", + dcp::Effect::NONE, dcp::Colour(0, 0, 0), + {}, {}, + 0 + ); + + auto string_text = StringText(dcp_string, 0, shared_ptr()); + + auto images = render_text({ string_text }, 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_test.png"); +} + +#endif