From 051f483d20522d71b96c5c54e9ce7fd34a6914f1 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Wed, 20 May 2015 09:48:46 -0600 Subject: [PATCH] Add failing non-polymorphic Derived->Base test --- unittests/compiled_tests.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/unittests/compiled_tests.cpp b/unittests/compiled_tests.cpp index dbed26fd..b49f90e7 100644 --- a/unittests/compiled_tests.cpp +++ b/unittests/compiled_tests.cpp @@ -723,3 +723,24 @@ TEST_CASE("Object lifetime test 2") CHECK(_script.eval("to_string(test2.x)") == "10"); } + + + + +///// Non-polymorphic base class conversions +class Non_Poly_Base {}; +class Non_Poly_Derived : public Non_Poly_Base {}; +int myfunction(Non_Poly_Base *) +{ + return 2; +} + +TEST_CASE("Test Derived->Base with non-polymorphic classes") +{ + chaiscript::ChaiScript chai; + chai.add(chaiscript::base_class()); + Non_Poly_Derived d; + chai.add(chaiscript::var(&d), "d"); + chai.add(chaiscript::fun(&myfunction), "myfunction"); + CHECK(chai.eval("myfunction(d)") == 2); +}