summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-02-16 21:56:22 +0100
committerCarl Hetherington <cth@carlh.net>2023-02-16 21:56:22 +0100
commit89fbc8d186378cd72ab3e9a259073d45b7b993ad (patch)
tree57d7cf19ca2f21f1acb9da4e7d7e9888cdab2163 /test
parent8b86c990e526e55e273cc408377f13e64a27fb26 (diff)
Change how whitespace in subtitles is handled.
Previously we would discard any whitespace subtitle content we found. This had the side-effect of making a verification test fail (checking that at least one subtitle is in each reel; blank subtitles are often used to avoid this warning). Here we take any subtitle content, whitespace or not, inside a <Text> or <Image> node which I think is a little more correct.
Diffstat (limited to 'test')
-rw-r--r--test/data/subs5.xml13
-rw-r--r--test/verify_test.cc18
2 files changed, 31 insertions, 0 deletions
diff --git a/test/data/subs5.xml b/test/data/subs5.xml
new file mode 100644
index 00000000..d75583b9
--- /dev/null
+++ b/test/data/subs5.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<DCSubtitle Version="1.0">
+<SubtitleID>12345678-9abc-def0-1234-56789abcdef0</SubtitleID>
+<MovieTitle>Frobozz</MovieTitle>
+<ReelNumber>1</ReelNumber>
+<Language>English</Language>
+<LoadFont Id="Arial" URI="Arial.ttf"/>
+<Font Id="Arial">
+<Subtitle SpotNumber="1" TimeIn="00:00:04:100" TimeOut="00:00:05:199" FadeUpTime="0" FadeDownTime="0">
+ <Text HAlign="center" HPosition="0.00" VAlign="top" VPosition="40.00" Direction="horizontal"> </Text>
+</Subtitle>
+</Font>
+</DCSubtitle>
diff --git a/test/verify_test.cc b/test/verify_test.cc
index cde49830..396a1ef5 100644
--- a/test/verify_test.cc
+++ b/test/verify_test.cc
@@ -825,6 +825,24 @@ BOOST_AUTO_TEST_CASE(verify_interop_subtitle_asset_with_no_subtitles)
}
+BOOST_AUTO_TEST_CASE(verify_interop_subtitle_asset_with_single_space_subtitle)
+{
+ path const dir("build/test/verify_interop_subtitle_asset_with_single_space_subtitle");
+ prepare_directory(dir);
+ copy_file("test/data/subs5.xml", dir / "subs.xml");
+ auto asset = make_shared<dcp::InteropSubtitleAsset>(dir / "subs.xml");
+ auto reel_asset = make_shared<dcp::ReelInteropSubtitleAsset>(asset, dcp::Fraction(24, 1), 16 * 24, 0);
+ write_dcp_with_single_asset(dir, reel_asset, dcp::Standard::INTEROP);
+
+ check_verify_result (
+ { dir },
+ {
+ { dcp::VerificationNote::Type::BV21_ERROR, dcp::VerificationNote::Code::INVALID_STANDARD },
+ });
+
+}
+
+
BOOST_AUTO_TEST_CASE (verify_valid_smpte_subtitles)
{
path const dir("build/test/verify_valid_smpte_subtitles");