diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-12-17 23:36:18 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-12-17 23:36:18 +0000 |
| commit | 8dd455ba867122056e2093e259a9a045aeeea451 (patch) | |
| tree | 1e4ca9f9a413fc34acace48b28297fd3e4d26982 /test | |
| parent | c421f6a5551f0755737f57fbeac6a0157599e0e8 (diff) | |
Various fixes to still-image mode.
Diffstat (limited to 'test')
| -rw-r--r-- | test/metadata.ref | 1 | ||||
| -rw-r--r-- | test/test.cc | 90 |
2 files changed, 91 insertions, 0 deletions
diff --git a/test/metadata.ref b/test/metadata.ref index 3f129c6e2..ab5e01eb0 100644 --- a/test/metadata.ref +++ b/test/metadata.ref @@ -2,6 +2,7 @@ version 1 name fred use_dci_name 1 content +trust_content_header 1 dcp_content_type Short format 185 left_crop 1 diff --git a/test/test.cc b/test/test.cc index 595492f7c..a3442b007 100644 --- a/test/test.cc +++ b/test/test.cc @@ -531,3 +531,93 @@ BOOST_AUTO_TEST_CASE (job_manager_test) BOOST_CHECK_EQUAL (b->running(), false); } +BOOST_AUTO_TEST_CASE (compact_image_test) +{ + SimpleImage* s = new SimpleImage (PIX_FMT_RGB24, Size (50, 50), false); + BOOST_CHECK_EQUAL (s->components(), 1); + BOOST_CHECK_EQUAL (s->stride()[0], 50 * 3); + BOOST_CHECK_EQUAL (s->line_size()[0], 50 * 3); + BOOST_CHECK (s->data()[0]); + BOOST_CHECK (!s->data()[1]); + BOOST_CHECK (!s->data()[2]); + BOOST_CHECK (!s->data()[3]); + + /* copy constructor */ + SimpleImage* t = new SimpleImage (*s); + BOOST_CHECK_EQUAL (t->components(), 1); + BOOST_CHECK_EQUAL (t->stride()[0], 50 * 3); + BOOST_CHECK_EQUAL (t->line_size()[0], 50 * 3); + BOOST_CHECK (t->data()[0]); + BOOST_CHECK (!t->data()[1]); + BOOST_CHECK (!t->data()[2]); + BOOST_CHECK (!t->data()[3]); + BOOST_CHECK (t->data() != t->data()); + BOOST_CHECK (t->data()[0] != t->data()[0]); + BOOST_CHECK (t->line_size() != t->line_size()); + BOOST_CHECK (t->line_size()[0] != t->line_size()[0]); + BOOST_CHECK (t->stride() != t->stride()); + BOOST_CHECK (t->stride()[0] != t->stride()[0]); + + /* assignment operator */ + SimpleImage* u = new SimpleImage (PIX_FMT_YUV422P, Size (150, 150), true); + *s = *u; + BOOST_CHECK_EQUAL (s->components(), 1); + BOOST_CHECK_EQUAL (s->stride()[0], 50 * 3); + BOOST_CHECK_EQUAL (s->line_size()[0], 50 * 3); + BOOST_CHECK (s->data()[0]); + BOOST_CHECK (!s->data()[1]); + BOOST_CHECK (!s->data()[2]); + BOOST_CHECK (!s->data()[3]); + BOOST_CHECK (s->data() != t->data()); + BOOST_CHECK (s->data()[0] != t->data()[0]); + BOOST_CHECK (s->line_size() != t->line_size()); + BOOST_CHECK (s->line_size()[0] != t->line_size()[0]); + BOOST_CHECK (s->stride() != t->stride()); + BOOST_CHECK (s->stride()[0] != t->stride()[0]); +} + +BOOST_AUTO_TEST_CASE (aligned_image_test) +{ + SimpleImage* s = new SimpleImage (PIX_FMT_RGB24, Size (50, 50), true); + BOOST_CHECK_EQUAL (s->components(), 1); + /* 160 is 150 aligned to the nearest 32 bytes */ + BOOST_CHECK_EQUAL (s->stride()[0], 160); + BOOST_CHECK_EQUAL (s->line_size()[0], 150); + BOOST_CHECK (s->data()[0]); + BOOST_CHECK (!s->data()[1]); + BOOST_CHECK (!s->data()[2]); + BOOST_CHECK (!s->data()[3]); + + /* copy constructor */ + SimpleImage* t = new SimpleImage (*s); + BOOST_CHECK_EQUAL (t->components(), 1); + BOOST_CHECK_EQUAL (t->stride()[0], 160); + BOOST_CHECK_EQUAL (t->line_size()[0], 150); + BOOST_CHECK (t->data()[0]); + BOOST_CHECK (!t->data()[1]); + BOOST_CHECK (!t->data()[2]); + BOOST_CHECK (!t->data()[3]); + BOOST_CHECK (t->data() != t->data()); + BOOST_CHECK (t->data()[0] != t->data()[0]); + BOOST_CHECK (t->line_size() != t->line_size()); + BOOST_CHECK (t->line_size()[0] != t->line_size()[0]); + BOOST_CHECK (t->stride() != t->stride()); + BOOST_CHECK (t->stride()[0] != t->stride()[0]); + + /* assignment operator */ + SimpleImage* u = new SimpleImage (PIX_FMT_YUV422P, Size (150, 150), false); + *s = *u; + BOOST_CHECK_EQUAL (s->components(), 1); + BOOST_CHECK_EQUAL (s->stride()[0], 160); + BOOST_CHECK_EQUAL (s->line_size()[0], 150); + BOOST_CHECK (s->data()[0]); + BOOST_CHECK (!s->data()[1]); + BOOST_CHECK (!s->data()[2]); + BOOST_CHECK (!s->data()[3]); + BOOST_CHECK (s->data() != t->data()); + BOOST_CHECK (s->data()[0] != t->data()[0]); + BOOST_CHECK (s->line_size() != t->line_size()); + BOOST_CHECK (s->line_size()[0] != t->line_size()[0]); + BOOST_CHECK (s->stride() != t->stride()); + BOOST_CHECK (s->stride()[0] != t->stride()[0]); +} |
