diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-05-29 11:57:08 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-05-29 11:57:08 +0100 |
| commit | aebf2cb7812c8f593b85182611b587e6014aefc6 (patch) | |
| tree | c954ebc0cf39263b6c051e159f48e177cafae310 /test/dcp_reader_test.cc | |
| parent | 8b1958988ca234f51ec99385d81b95c1f0f092af (diff) | |
Re-work Subtitle class; remove STL text writer.
Diffstat (limited to 'test/dcp_reader_test.cc')
| -rw-r--r-- | test/dcp_reader_test.cc | 540 |
1 files changed, 297 insertions, 243 deletions
diff --git a/test/dcp_reader_test.cc b/test/dcp_reader_test.cc index 0029d16..0163108 100644 --- a/test/dcp_reader_test.cc +++ b/test/dcp_reader_test.cc @@ -36,81 +36,91 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1) list<sub::Subtitle>::iterator i = subs.begin (); BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (39) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 5, 198 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 7, 115 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + sub::Block b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 0, 5, 198 * 4)); + BOOST_CHECK_EQUAL (i->to.metric(), sub::MetricTime (0, 0, 7, 115 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.15, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::BOTTOM); - BOOST_CHECK_EQUAL (i->text, "My jacket was Idi Amin's"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "My jacket was Idi Amin's"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 4)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 4)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (39) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 7, 177 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 11, 31 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 0, 7, 177 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 11, 31 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.21, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::BOTTOM); - BOOST_CHECK_EQUAL (i->text, "My corset was H.M. The Queen's"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "My corset was H.M. The Queen's"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 4)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 4)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (39) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 7, 177 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 11, 31 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 0, 7, 177 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 11, 31 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.15, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::BOTTOM); - BOOST_CHECK_EQUAL (i->text, "My large wonderbra"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "My large wonderbra"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 4)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 4)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (39) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 11, 94 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 13, 63 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 0, 11, 94 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 13, 63 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.15, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::BOTTOM); - BOOST_CHECK_EQUAL (i->text, "Once belonged to the Shah"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "Once belonged to the Shah"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 4)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 4)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (39) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 13, 104 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 15, 177 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric(), sub::MetricTime (0, 0, 13, 104 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 15, 177 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.15, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::BOTTOM); - BOOST_CHECK_EQUAL (i->text, "And these are Roy Hattersley's jeans"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "And these are Roy Hattersley's jeans"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 4)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 4)); } @@ -125,353 +135,397 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2) list<sub::Subtitle>::iterator i = subs.begin (); BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 41, 62 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 43, 52 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + sub::Block b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric(), sub::MetricTime (0, 0, 41, 62 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 43, 52 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "At afternoon tea with John Peel"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "At afternoon tea with John Peel"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 41, 62 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 43, 52 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric(), sub::MetricTime (0, 0, 41, 62 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 43, 52 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "I enquired if his accent was real"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "I enquired if his accent was real"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 50, 42 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 52, 21 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric(), sub::MetricTime (0, 0, 50, 42 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 52, 21 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "He said \"out of the house"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "He said \"out of the house"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric, sub::MetricTime (0, 0, 50, 42 * 4)); - BOOST_CHECK_EQUAL (i->to.metric, sub::MetricTime (0, 0, 52, 21 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric(), sub::MetricTime (0, 0, 50, 42 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 0, 52, 21 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "I'm incredibly scouse"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "I'm incredibly scouse"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 2, 208 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 04, 10 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 2, 208 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 04, 10 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "At home it depends how I feel.\""); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "At home it depends how I feel.\""); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 2, 208 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 4, 10 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 2, 208 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 4, 10 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "I spent a long weekend in Brighton"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "I spent a long weekend in Brighton"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 15, 42 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 16, 42 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 15, 42 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 16, 42 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "With the legendary Miss Enid Blyton"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "With the legendary Miss Enid Blyton"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 15, 42 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 16, 42 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 15, 42 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 16, 42 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "She said \"you be Noddy"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "She said \"you be Noddy"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 20, 219 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 22, 73 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 20, 219 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 22, 73 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "and I'll show you my body\""); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "and I'll show you my body\""); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 20, 219 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 22, 73 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 20, 219 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 22, 73 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "But Big Ears kept turning the light on."); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "But Big Ears kept turning the light on."); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 27, 115 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 28, 208 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 27, 115 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 28, 208 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "That curious creature the Sphinx"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "That curious creature the Sphinx"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 27, 115 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 28, 208 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 27, 115 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 28, 208 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "Is smarter than anyone thinks"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "Is smarter than anyone thinks"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 42, 229 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 45, 62 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 42, 229 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 45, 62 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "It sits there and smirks"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "It sits there and smirks"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 42, 229 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 45, 62 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 42, 229 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 45, 62 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "And you don't think it works"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "And you don't think it works"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 45, 146 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 47, 94 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 45, 146 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 47, 94 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "Then when you're not looking, it winks."); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "Then when you're not looking, it winks."); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 45, 146 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 47, 94 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 45, 146 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 47, 94 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "When it snows you will find Sister Sledge"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "When it snows you will find Sister Sledge"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 47, 146 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 48, 167 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 47, 146 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 48, 167 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "Out mooning, at night, on the ledge"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "Out mooning, at night, on the ledge"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 47, 146 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 48, 167 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 47, 146 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 48, 167 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "One storey down"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "One storey down"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 53, 21 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 56, 10 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 53, 21 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 56, 10 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "Is the maestro, James Brown"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "Is the maestro, James Brown"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, false); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 1, 53, 21 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 1, 56, 10 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, false); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 1, 53, 21 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 1, 56, 10 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "Displaying his meat and two veg."); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "Displaying his meat and two veg."); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 2, 5, 208 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 2, 7, 31 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 2, 5, 208 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 2, 7, 31 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.89, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "HELLO"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "HELLO"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); ++i; BOOST_CHECK (i != subs.end ()); - BOOST_CHECK_EQUAL (i->font, "Arial"); - BOOST_CHECK_EQUAL (i->italic, true); - BOOST_CHECK (i->colour == sub::Colour (1, 1, 1)); - BOOST_CHECK_EQUAL (i->font_size.proportional.get(), float (42) / (72 * 11)); - BOOST_CHECK_EQUAL (i->from.metric.get(), sub::MetricTime (0, 2, 5, 208 * 4)); - BOOST_CHECK_EQUAL (i->to.metric.get(), sub::MetricTime (0, 2, 7, 31 * 4)); + BOOST_CHECK_EQUAL (i->blocks.size(), 1); + b = i->blocks.front (); + BOOST_CHECK_EQUAL (b.font, "Arial"); + BOOST_CHECK_EQUAL (b.italic, true); + BOOST_CHECK (b.colour == sub::Colour (1, 1, 1)); + BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11)); + BOOST_CHECK_EQUAL (i->from.metric().get(), sub::MetricTime (0, 2, 5, 208 * 4)); + BOOST_CHECK_EQUAL (i->to.metric().get(), sub::MetricTime (0, 2, 7, 31 * 4)); BOOST_CHECK_CLOSE (i->vertical_position.proportional.get(), 0.95, 1); BOOST_CHECK_EQUAL (i->vertical_position.reference.get(), sub::TOP); - BOOST_CHECK_EQUAL (i->text, "WORLD"); - BOOST_CHECK_EQUAL (i->effect, sub::BORDER); - BOOST_CHECK (i->effect_colour.get() == sub::Colour (0, 0, 0)); + BOOST_CHECK_EQUAL (b.text, "WORLD"); + BOOST_CHECK_EQUAL (b.effect, sub::BORDER); + BOOST_CHECK (b.effect_colour.get() == sub::Colour (0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_up.get(), sub::MetricTime (0, 0, 0, 0)); BOOST_CHECK_EQUAL (i->fade_down.get(), sub::MetricTime (0, 0, 0, 0)); } |
