summaryrefslogtreecommitdiff
path: root/test/create_cli_test.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-09-30 11:58:29 +0200
committerCarl Hetherington <cth@carlh.net>2023-09-30 11:58:29 +0200
commitdec7ad14997421accfe0ff9f382f9ffcb4e61ec2 (patch)
treed7e79759946335823c6e2034fa5f9bff18b55ebb /test/create_cli_test.cc
parent4fd32ca36487a1130a58769daee9fae22057ffcb (diff)
Add --twod option to create CLI and stop 2D from being forced over
a template if --threed is not specified (#2620/GH#22).
Diffstat (limited to 'test/create_cli_test.cc')
-rw-r--r--test/create_cli_test.cc39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/create_cli_test.cc b/test/create_cli_test.cc
index 253f3cadd..8da07d5d5 100644
--- a/test/create_cli_test.cc
+++ b/test/create_cli_test.cc
@@ -18,7 +18,10 @@
*/
+
+#include "lib/config.h"
#include "lib/create_cli.h"
+#include "lib/film.h"
#include "lib/ratio.h"
#include "lib/dcp_content_type.h"
#include "test.h"
@@ -27,8 +30,10 @@
#include <boost/algorithm/string/predicate.hpp>
#include <iostream>
+
using std::string;
+
static CreateCLI
run (string cmd)
{
@@ -106,6 +111,15 @@ BOOST_AUTO_TEST_CASE (create_cli_test)
cc = run ("dcpomatic2_create x --standard SMPTEX");
BOOST_CHECK (cc.error);
+ cc = run("dcpomatic2_create x --twod");
+ BOOST_CHECK(cc._twod);
+
+ cc = run("dcpomatic2_create x --threed");
+ BOOST_CHECK(cc._threed);
+
+ cc = run("dcpomatic2_create x --twod --threed");
+ BOOST_CHECK(cc.error);
+
cc = run ("dcpomatic2_create x --config foo/bar");
BOOST_CHECK (!cc.error);
BOOST_REQUIRE (cc.config_dir);
@@ -195,3 +209,28 @@ BOOST_AUTO_TEST_CASE (create_cli_test)
BOOST_CHECK(!cc.still_length);
BOOST_CHECK(cc.error);
}
+
+
+BOOST_AUTO_TEST_CASE(create_cli_template_test)
+{
+ ConfigRestorer cr;
+
+ Config::override_path = "test/data";
+
+ auto cc = run("dcpomatic2_create test/data/flat_red.png --template 2d");
+ auto film = cc.make_film();
+ BOOST_CHECK(!film->three_d());
+
+ cc = run("dcpomatic2_create test/data/flat_red.png --template 2d --threed");
+ film = cc.make_film();
+ BOOST_CHECK(film->three_d());
+
+ cc = run("dcpomatic2_create test/data/flat_red.png --template 3d");
+ film = cc.make_film();
+ BOOST_CHECK(film->three_d());
+
+ cc = run("dcpomatic2_create test/data/flat_red.png --template 3d --twod");
+ film = cc.make_film();
+ BOOST_CHECK(!film->three_d());
+}
+