Add failing test for vector of enum values
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
// caught in other cpp files if chaiscript causes them
|
// caught in other cpp files if chaiscript causes them
|
||||||
|
|
||||||
#include <chaiscript/utility/utility.hpp>
|
#include <chaiscript/utility/utility.hpp>
|
||||||
|
#include <chaiscript/dispatchkit/bootstrap_stl.hpp>
|
||||||
|
|
||||||
#ifdef CHAISCRIPT_MSVC
|
#ifdef CHAISCRIPT_MSVC
|
||||||
#pragma warning(push)
|
#pragma warning(push)
|
||||||
@@ -517,6 +518,7 @@ TEST_CASE("Utility_Test utility class wrapper")
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
enum Utility_Test_Numbers
|
enum Utility_Test_Numbers
|
||||||
{
|
{
|
||||||
ONE,
|
ONE,
|
||||||
@@ -524,7 +526,11 @@ enum Utility_Test_Numbers
|
|||||||
THREE
|
THREE
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_CASE("Utility_Test utility class wrapper")
|
void do_something_with_enum_vector(const std::vector<Utility_Test_Numbers> &)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE("Utility_Test utility class wrapper for enum")
|
||||||
{
|
{
|
||||||
|
|
||||||
chaiscript::ModulePtr m = chaiscript::ModulePtr(new chaiscript::Module());
|
chaiscript::ModulePtr m = chaiscript::ModulePtr(new chaiscript::Module());
|
||||||
@@ -550,6 +556,12 @@ TEST_CASE("Utility_Test utility class wrapper")
|
|||||||
CHECK(chai.eval<Utility_Test_Numbers>("TWO ") == 1);
|
CHECK(chai.eval<Utility_Test_Numbers>("TWO ") == 1);
|
||||||
CHECK(chai.eval<Utility_Test_Numbers>("THREE ") == 2);
|
CHECK(chai.eval<Utility_Test_Numbers>("THREE ") == 2);
|
||||||
|
|
||||||
|
chai.add(chaiscript::fun(&do_something_with_enum_vector), "do_something_with_enum_vector");
|
||||||
|
chai.add(chaiscript::vector_conversion<std::vector<Utility_Test_Numbers>>());
|
||||||
|
CHECK_NOTHROW(chai.eval("var a = [ONE, TWO, THREE]"));
|
||||||
|
CHECK_NOTHROW(chai.eval("do_something_with_enum_vector([ONE])"));
|
||||||
|
CHECK_NOTHROW(chai.eval("[ONE]"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user