* Adsk Contrib - Add arguments to unit test binaries Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com> * Fix Clang build break Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com> * Fix merge breaks Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com> * Fix merge breaks Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
151 lines
5.3 KiB
C++
151 lines
5.3 KiB
C++
// SPDX-License-Identifier: BSD-3-Clause
|
|
// Copyright Contributors to the OpenColorIO Project.
|
|
|
|
|
|
#include "LookParse.cpp"
|
|
|
|
#include "testutils/UnitTest.h"
|
|
|
|
namespace OCIO = OCIO_NAMESPACE;
|
|
|
|
|
|
OCIO_ADD_TEST(LookParse, parse)
|
|
{
|
|
OCIO::LookParseResult r;
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse("");
|
|
OCIO_CHECK_EQUAL(options.size(), 0);
|
|
OCIO_CHECK_EQUAL(options.empty(), true);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse(" ");
|
|
OCIO_CHECK_EQUAL(options.size(), 0);
|
|
OCIO_CHECK_EQUAL(options.empty(), true);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse("cc");
|
|
OCIO_CHECK_EQUAL(options.size(), 1);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse("+cc");
|
|
OCIO_CHECK_EQUAL(options.size(), 1);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse(" +cc");
|
|
OCIO_CHECK_EQUAL(options.size(), 1);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse(" +cc ");
|
|
OCIO_CHECK_EQUAL(options.size(), 1);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse("+cc,-di");
|
|
OCIO_CHECK_EQUAL(options.size(), 1);
|
|
OCIO_CHECK_EQUAL(options[0].size(), 2);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options[0][1].name, "di");
|
|
OCIO_CHECK_EQUAL(options[0][1].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse(" +cc , -di");
|
|
OCIO_CHECK_EQUAL(options.size(), 1);
|
|
OCIO_CHECK_EQUAL(options[0].size(), 2);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options[0][1].name, "di");
|
|
OCIO_CHECK_EQUAL(options[0][1].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse(" +cc : -di");
|
|
OCIO_CHECK_EQUAL(options.size(), 1);
|
|
OCIO_CHECK_EQUAL(options[0].size(), 2);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options[0][1].name, "di");
|
|
OCIO_CHECK_EQUAL(options[0][1].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse("+cc, -di |-cc");
|
|
OCIO_CHECK_EQUAL(options.size(), 2);
|
|
OCIO_CHECK_EQUAL(options[0].size(), 2);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options[0][1].name, "di");
|
|
OCIO_CHECK_EQUAL(options[0][1].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
OCIO_CHECK_EQUAL(options[1].size(), 1);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
OCIO_CHECK_EQUAL(options[1][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[1][0].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
}
|
|
|
|
{
|
|
const OCIO::LookParseResult::Options & options = r.parse("+cc, -di |-cc| ");
|
|
OCIO_CHECK_EQUAL(options.size(), 3);
|
|
OCIO_CHECK_EQUAL(options[0].size(), 2);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options[0][1].name, "di");
|
|
OCIO_CHECK_EQUAL(options[0][1].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
OCIO_CHECK_EQUAL(options[1].size(), 1);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
OCIO_CHECK_EQUAL(options[1][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[1][0].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
OCIO_CHECK_EQUAL(options[2].size(), 1);
|
|
OCIO_CHECK_EQUAL(options[2][0].name, "");
|
|
OCIO_CHECK_EQUAL(options[2][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
}
|
|
}
|
|
|
|
OCIO_ADD_TEST(LookParse, reverse)
|
|
{
|
|
OCIO::LookParseResult r;
|
|
|
|
{
|
|
r.parse("+cc, -di |-cc| ");
|
|
r.reverse();
|
|
const OCIO::LookParseResult::Options & options = r.getOptions();
|
|
|
|
OCIO_CHECK_EQUAL(options.size(), 3);
|
|
OCIO_CHECK_EQUAL(options[0].size(), 2);
|
|
OCIO_CHECK_EQUAL(options[0][1].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[0][1].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
OCIO_CHECK_EQUAL(options[0][0].name, "di");
|
|
OCIO_CHECK_EQUAL(options[0][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options[1].size(), 1);
|
|
OCIO_CHECK_EQUAL(options.empty(), false);
|
|
OCIO_CHECK_EQUAL(options[1][0].name, "cc");
|
|
OCIO_CHECK_EQUAL(options[1][0].dir, OCIO::TRANSFORM_DIR_FORWARD);
|
|
OCIO_CHECK_EQUAL(options[2].size(), 1);
|
|
OCIO_CHECK_EQUAL(options[2][0].name, "");
|
|
OCIO_CHECK_EQUAL(options[2][0].dir, OCIO::TRANSFORM_DIR_INVERSE);
|
|
}
|
|
|
|
}
|
|
|