Large overhaul of pointers to shared_ptrs, implemented function evaluation
This commit is contained in:
@@ -12,4 +12,17 @@ TEST_CASE( "Define script function", "[integration]" ) {
|
||||
delete script;
|
||||
}
|
||||
|
||||
TEST_CASE( "Define script function and call", "[integration]" ) {
|
||||
Script* script = Script::Create("function add(number a, number b) result = a + b end add(1, 2)");
|
||||
REQUIRE(!script->Diagnostics -> HasErrors());
|
||||
script->Evaluate();
|
||||
auto variable = script->GetVariable("add");
|
||||
REQUIRE(variable != nullptr);
|
||||
REQUIRE(variable->GetType()->GetClass() == TypeClass::Function);
|
||||
auto result = script->GetVariable("result");
|
||||
REQUIRE(result->GetType()->GetClass() == TypeClass::Number);
|
||||
REQUIRE(result->EvaluateInteger() == 3);
|
||||
delete script;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user