| 688 | |
| 689 | |
| 690 | static int CreateAndPushInstance(lua_State* L) |
| 691 | { |
| 692 | DM_LUA_STACK_CHECK(L, 0); |
| 693 | |
| 694 | const char* type_name = "TestType"; |
| 695 | dmScript::RegisterUserType(L, type_name, Test_methods, Test_meta); |
| 696 | |
| 697 | // Create an instance |
| 698 | TestDummy* dummy = (TestDummy*)lua_newuserdata(L, sizeof(TestDummy)); |
| 699 | dummy->m_Dummy = 1; |
| 700 | luaL_getmetatable(L, type_name); |
| 701 | lua_setmetatable(L, -2); |
| 702 | int instanceref = dmScript::Ref(L, LUA_REGISTRYINDEX); |
| 703 | lua_newtable(L); |
| 704 | dummy->m_ContextTableReference = dmScript::Ref(L, LUA_REGISTRYINDEX); |
| 705 | dummy->m_UniqueScriptId = dmScript::GenerateUniqueScriptId(); |
| 706 | |
| 707 | lua_rawgeti(L, LUA_REGISTRYINDEX, instanceref); |
| 708 | dmScript::SetInstance(L); |
| 709 | return instanceref; |
| 710 | } |
| 711 | |
| 712 | TEST_F(ScriptTestLua, LuaCallbackHelpers) |
| 713 | { |
no test coverage detected