diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-01-21 17:10:19 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-01-21 19:19:49 +0100 |
| commit | e5f89bffcfb92756fe292d5d27ef2dcfd42e2af6 (patch) | |
| tree | 1d1a5291a8fb113924e2eac757de26ad33e6ee10 /test | |
| parent | 9691fc54fa6a3409520a1a42e6eeb8e6a235f5f6 (diff) | |
Move all ostream operator<< into some test-only stream_operators.{cc,h} files.
Diffstat (limited to 'test')
| -rw-r--r-- | test/cpl_metadata_test.cc | 1 | ||||
| -rw-r--r-- | test/decryption_test.cc | 1 | ||||
| -rw-r--r-- | test/effect_test.cc | 3 | ||||
| -rw-r--r-- | test/read_dcp_test.cc | 3 | ||||
| -rw-r--r-- | test/read_smpte_subtitle_test.cc | 3 | ||||
| -rw-r--r-- | test/reel_asset_test.cc | 1 | ||||
| -rw-r--r-- | test/rgb_xyz_test.cc | 3 | ||||
| -rw-r--r-- | test/stream_operators.cc | 227 | ||||
| -rw-r--r-- | test/stream_operators.h | 55 | ||||
| -rw-r--r-- | test/util_test.cc | 1 | ||||
| -rw-r--r-- | test/wscript | 3 |
11 files changed, 296 insertions, 5 deletions
diff --git a/test/cpl_metadata_test.cc b/test/cpl_metadata_test.cc index 45afecb3..c9ee3b9b 100644 --- a/test/cpl_metadata_test.cc +++ b/test/cpl_metadata_test.cc @@ -38,6 +38,7 @@ #include "language_tag.h" #include "reel.h" #include "reel_subtitle_asset.h" +#include "stream_operators.h" #include "test.h" #include <memory> #include <boost/test/unit_test.hpp> diff --git a/test/decryption_test.cc b/test/decryption_test.cc index 3c4c0d61..77f349bd 100644 --- a/test/decryption_test.cc +++ b/test/decryption_test.cc @@ -44,6 +44,7 @@ #include "openjpeg_image.h" #include "rgb_xyz.h" #include "colour_conversion.h" +#include "stream_operators.h" #include <boost/test/unit_test.hpp> #include <boost/scoped_array.hpp> diff --git a/test/effect_test.cc b/test/effect_test.cc index 3be4b8f9..c56b6451 100644 --- a/test/effect_test.cc +++ b/test/effect_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net> This file is part of libdcp. @@ -32,6 +32,7 @@ */ #include "types.h" +#include "stream_operators.h" #include "exceptions.h" #include <boost/test/unit_test.hpp> diff --git a/test/read_dcp_test.cc b/test/read_dcp_test.cc index 9c545091..f995353e 100644 --- a/test/read_dcp_test.cc +++ b/test/read_dcp_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net> This file is part of libdcp. @@ -35,6 +35,7 @@ #include <boost/optional/optional_io.hpp> #include "dcp.h" #include "cpl.h" +#include "stream_operators.h" using std::list; using std::shared_ptr; diff --git a/test/read_smpte_subtitle_test.cc b/test/read_smpte_subtitle_test.cc index 15fc5dd8..49fd1f62 100644 --- a/test/read_smpte_subtitle_test.cc +++ b/test/read_smpte_subtitle_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2015-2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2015-2021 Carl Hetherington <cth@carlh.net> This file is part of libdcp. @@ -36,6 +36,7 @@ #include "local_time.h" #include "smpte_load_font_node.h" #include "subtitle_image.h" +#include "stream_operators.h" #include <boost/test/unit_test.hpp> #include <boost/optional.hpp> #include <boost/optional/optional_io.hpp> diff --git a/test/reel_asset_test.cc b/test/reel_asset_test.cc index bf609c2c..e0c7f781 100644 --- a/test/reel_asset_test.cc +++ b/test/reel_asset_test.cc @@ -35,6 +35,7 @@ #include "reel_subtitle_asset.h" #include <libcxml/cxml.h> #include <boost/test/unit_test.hpp> +#include "stream_operators.h" #include "test.h" diff --git a/test/rgb_xyz_test.cc b/test/rgb_xyz_test.cc index 54f6174c..69a4d612 100644 --- a/test/rgb_xyz_test.cc +++ b/test/rgb_xyz_test.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2019 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2021 Carl Hetherington <cth@carlh.net> This file is part of libdcp. @@ -34,6 +34,7 @@ #include "rgb_xyz.h" #include "openjpeg_image.h" #include "colour_conversion.h" +#include "stream_operators.h" #include <boost/test/unit_test.hpp> #include <boost/bind.hpp> #include <boost/scoped_array.hpp> diff --git a/test/stream_operators.cc b/test/stream_operators.cc new file mode 100644 index 00000000..5e4f88e6 --- /dev/null +++ b/test/stream_operators.cc @@ -0,0 +1,227 @@ +/* + Copyright (C) 2021 Carl Hetherington <cth@carlh.net> + + This file is part of libdcp. + + libdcp is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + libdcp is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with libdcp. If not, see <http://www.gnu.org/licenses/>. + + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations + including the two. + + You must obey the GNU General Public License in all respects + for all of the code used other than OpenSSL. If you modify + file(s) with this exception, you may extend this exception to your + version of the file(s), but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your + version. If you delete this exception statement from all source + files in the program, then also delete it here. +*/ + + +/** @file test/stream_operators.cc + * @brief A collection of operator<< methods so that we can use boost test macros with libdcp's types. + */ + + +#include "stream_operators.h" +#include "types.h" +#include "verify.h" +#include <iostream> + + +using std::ostream; + + +ostream& +dcp::operator<< (ostream& s, Size const & a) +{ + s << a.width << "x" << a.height; + return s; +} + + +ostream& +dcp::operator<< (ostream& s, Fraction const & f) +{ + s << f.numerator << "/" << f.denominator; + return s; +} + + +ostream & +dcp::operator<< (ostream& s, Colour const & c) +{ + s << "(" << c.r << ", " << c.g << ", " << c.b << ")"; + return s; +} + + +ostream& +dcp::operator<< (std::ostream& s, Effect e) +{ + s << effect_to_string(e); + return s; +} + + +ostream& +dcp::operator<< (ostream& s, ContentKind c) +{ + s << content_kind_to_string(c); + return s; +} + + +ostream & +dcp::operator<< (ostream& s, Rating const & r) +{ + s << r.agency << " " << r.label; + return s; +} + + +ostream& +dcp::operator<<(ostream& s, Status t) +{ + s << status_to_string(t); + return s; +} + + +ostream& +dcp::operator<<(ostream& s, Channel c) +{ + switch (c) { + case Channel::LEFT: + s << "left(0)"; + break; + case Channel::RIGHT: + s << "right(1)"; + break; + case Channel::CENTRE: + s << "centre(2)"; + break; + case Channel::LFE: + s << "lfe(3)"; + break; + case Channel::LS: + s << "ls(4)"; + break; + case Channel::RS: + s << "rs(5)"; + break; + case Channel::HI: + s << "hi(6)"; + break; + case Channel::VI: + s << "vi(7)"; + break; + case Channel::BSL: + s << "bsl(10)"; + break; + case Channel::BSR: + s << "bsr(11)"; + break; + case Channel::MOTION_DATA: + s << "motion_data(12)"; + break; + case Channel::SYNC_SIGNAL: + s << "sync_signal(13)"; + break; + case Channel::SIGN_LANGUAGE: + s << "sign_language(14)"; + break; + case Channel::CHANNEL_COUNT: + s << "(16)"; + break; + } + return s; +} + + +ostream& +dcp::operator<< (ostream& s, NoteType t) +{ + switch (t) { + case NoteType::PROGRESS: + s << "progress"; + break; + case NoteType::ERROR: + s << "error"; + break; + case NoteType::NOTE: + s << "note"; + break; + } + return s; +} + + +ostream& +dcp::operator<< (ostream& s, MCASoundField f) +{ + switch (f) { + case MCASoundField::FIVE_POINT_ONE: + s << "5.1"; + break; + case MCASoundField::SEVEN_POINT_ONE: + s << "7.1"; + break; + } + return s; +} + + +ostream& +dcp::operator<< (ostream& s, Standard t) +{ + switch (t) { + case Standard::INTEROP: + s << "interop"; + break; + case Standard::SMPTE: + s << "smpte"; + break; + } + return s; +} + + +ostream& +dcp::operator<< (ostream& s, VerificationNote::Type t) +{ + switch (t) { + case VerificationNote::Type::ERROR: + s << "error"; + break; + case VerificationNote::Type::BV21_ERROR: + s << "bv21_error"; + break; + case VerificationNote::Type::WARNING: + s << "warning"; + break; + } + return s; +} + + +ostream& +dcp::operator<< (ostream& s, VerificationNote::Code c) +{ + s << static_cast<int>(c); + return s; +} diff --git a/test/stream_operators.h b/test/stream_operators.h new file mode 100644 index 00000000..862de698 --- /dev/null +++ b/test/stream_operators.h @@ -0,0 +1,55 @@ +/* + Copyright (C) 2021 Carl Hetherington <cth@carlh.net> + + This file is part of libdcp. + + libdcp is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + libdcp is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with libdcp. If not, see <http://www.gnu.org/licenses/>. + + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations + including the two. + + You must obey the GNU General Public License in all respects + for all of the code used other than OpenSSL. If you modify + file(s) with this exception, you may extend this exception to your + version of the file(s), but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your + version. If you delete this exception statement from all source + files in the program, then also delete it here. +*/ + + +#include "types.h" +#include "verify.h" + + +namespace dcp { + +std::ostream& operator<< (std::ostream& s, Size const& a); +std::ostream& operator<< (std::ostream& s, Channel c); +std::ostream& operator<< (std::ostream& s, MCASoundField f); +std::ostream& operator<< (std::ostream& s, ContentKind c); +std::ostream& operator<< (std::ostream& s, Effect e); +std::ostream& operator<< (std::ostream& s, Fraction const& f); +std::ostream& operator<< (std::ostream& s, NoteType t); +std::ostream& operator<< (std::ostream& s, Standard t); +std::ostream& operator<< (std::ostream& s, Colour const& c); +std::ostream& operator<< (std::ostream& s, Rating const& r); +std::ostream& operator<< (std::ostream& s, Status t); +std::ostream& operator<< (std::ostream& s, VerificationNote::Code c); +std::ostream& operator<< (std::ostream& s, VerificationNote::Type t); +} + diff --git a/test/util_test.cc b/test/util_test.cc index 51a5dab6..8ca7df44 100644 --- a/test/util_test.cc +++ b/test/util_test.cc @@ -33,6 +33,7 @@ #include "util.h" #include "local_time.h" +#include "stream_operators.h" #include <boost/test/unit_test.hpp> #include <fstream> diff --git a/test/wscript b/test/wscript index 9a8a7b53..a25b2cd5 100644 --- a/test/wscript +++ b/test/wscript @@ -1,5 +1,5 @@ # -# Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net> +# Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net> # # This file is part of libdcp. # @@ -99,6 +99,7 @@ def build(bld): smpte_load_font_test.cc smpte_subtitle_test.cc sound_frame_test.cc + stream_operators.cc sync_test.cc test.cc util_test.cc |
