Add failing test for vector of enum values

This commit is contained in:
Jason Turner
2016-01-02 19:24:14 -07:00
parent 316ba45e3c
commit d7489358f3

View File

@@ -2,6 +2,7 @@
// caught in other cpp files if chaiscript causes them
#include <chaiscript/utility/utility.hpp>
#include <chaiscript/dispatchkit/bootstrap_stl.hpp>
#ifdef CHAISCRIPT_MSVC
#pragma warning(push)
@@ -517,6 +518,7 @@ TEST_CASE("Utility_Test utility class wrapper")
}
enum Utility_Test_Numbers
{
ONE,
@@ -524,7 +526,11 @@ enum Utility_Test_Numbers
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());
@@ -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>("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]"));
}