LuaBinder.cpp 732 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright (C) 2014, Panagiotis Christopoulos Charitos.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #include "tests/framework/Framework.h"
  6. #include "anki/script/ScriptManager.h"
  7. #include "anki/Math.h"
  8. static const char* script = R"(
  9. b = Vec2.new()
  10. b:setX(3.0)
  11. b:setY(4.0)
  12. v2:copy(v2 * b)
  13. v3:setZ(0.1)
  14. )";
  15. ANKI_TEST(Script, LuaBinder)
  16. {
  17. ScriptManager sm;
  18. ANKI_TEST_EXPECT_NO_ERR(sm.create(allocAligned, nullptr, nullptr));
  19. Vec2 v2(2.0, 3.0);
  20. Vec3 v3(1.1, 2.2, 3.3);
  21. sm.exposeVariable("v2", &v2);
  22. sm.exposeVariable("v3", &v3);
  23. ANKI_TEST_EXPECT_NO_ERR(sm.evalString(script));
  24. ANKI_TEST_EXPECT_EQ(v2, Vec2(6, 12));
  25. ANKI_TEST_EXPECT_EQ(v3, Vec3(1.1, 2.2, 0.1));
  26. }