mirror of
https://github.com/ChaiScript/ChaiScript.git
synced 2025-12-06 16:57:04 +08:00
Add test for unique_ptr returned from function
This commit is contained in:
parent
dca3ce4ea6
commit
2ce155237d
@ -1139,15 +1139,23 @@ class Unique_Ptr_Test_Class
|
|||||||
int getI() const {return 5;}
|
int getI() const {return 5;}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
std::unique_ptr<Unique_Ptr_Test_Class> make_Unique_Ptr_Test_Class()
|
||||||
|
{
|
||||||
|
return std::make_unique<Unique_Ptr_Test_Class>();
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE("Call methods through unique_ptr")
|
TEST_CASE("Call methods through unique_ptr")
|
||||||
{
|
{
|
||||||
chaiscript::ChaiScript_Basic chai(create_chaiscript_stdlib(),create_chaiscript_parser());
|
chaiscript::ChaiScript_Basic chai(create_chaiscript_stdlib(),create_chaiscript_parser());
|
||||||
|
|
||||||
chai.add(chaiscript::var(std::make_unique<Unique_Ptr_Test_Class>()), "uptr");
|
chai.add(chaiscript::var(std::make_unique<Unique_Ptr_Test_Class>()), "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");
|
chai.add(chaiscript::fun(&Unique_Ptr_Test_Class::getI), "getI");
|
||||||
CHECK(chai.eval<int>("uptr.getI()") == 5);
|
CHECK(chai.eval<int>("uptr.getI()") == 5);
|
||||||
}
|
CHECK(chai.eval<int>("var uptr2 = make_Unique_Ptr_Test_Class(); uptr2.getI()") == 5);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class A
|
class A
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user