From 2ce155237df607b6efbd41e6f05216093cc88378 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Fri, 3 Feb 2017 18:55:58 -0800 Subject: [PATCH] Add test for unique_ptr returned from function --- unittests/compiled_tests.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/unittests/compiled_tests.cpp b/unittests/compiled_tests.cpp index 062cd13e..dc256ea5 100644 --- a/unittests/compiled_tests.cpp +++ b/unittests/compiled_tests.cpp @@ -1139,15 +1139,23 @@ class Unique_Ptr_Test_Class int getI() const {return 5;} }; + +std::unique_ptr make_Unique_Ptr_Test_Class() +{ + return std::make_unique(); +} + TEST_CASE("Call methods through unique_ptr") { chaiscript::ChaiScript_Basic chai(create_chaiscript_stdlib(),create_chaiscript_parser()); chai.add(chaiscript::var(std::make_unique()), "uptr"); + chai.add(chaiscript::fun(make_Unique_Ptr_Test_Class), "make_Unique_Ptr_Test_Class"); chai.add(chaiscript::fun(&Unique_Ptr_Test_Class::getI), "getI"); CHECK(chai.eval("uptr.getI()") == 5); -} + CHECK(chai.eval("var uptr2 = make_Unique_Ptr_Test_Class(); uptr2.getI()") == 5); +} class A