| 31 | Object2 ScriptObject; |
| 32 | |
| 33 | bool TestTempVar() |
| 34 | { |
| 35 | RET_ON_MAX_PORT; |
| 36 | |
| 37 | bool fail = false; |
| 38 | |
| 39 | asIScriptEngine *engine = asCreateScriptEngine(ANGELSCRIPT_VERSION); |
| 40 | CBufferedOutStream bout; |
| 41 | |
| 42 | engine->SetMessageCallback(asMETHOD(CBufferedOutStream, Callback), &bout, asCALL_THISCALL); |
| 43 | bout.buffer = ""; |
| 44 | engine->RegisterObjectType("Object1", sizeof(Object1), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS | asOBJ_APP_CLASS_ALLINTS); |
| 45 | engine->RegisterObjectMethod("Object1", "int GetInt()", asMETHOD(Object1,GetInt), asCALL_THISCALL); |
| 46 | engine->RegisterObjectType("Object2", sizeof(Object2), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_CLASS | asOBJ_APP_CLASS_ALLINTS); |
| 47 | engine->RegisterObjectMethod("Object2", "Object1 GetObject1()", asMETHOD(Object2,GetObject1), asCALL_THISCALL); |
| 48 | engine->RegisterGlobalProperty("Object2 GlobalObject", &ScriptObject); |
| 49 | |
| 50 | int r = ExecuteString(engine, "GlobalObject.GetObject1().GetInt();"); |
| 51 | if (r != asEXECUTION_FINISHED) |
| 52 | TEST_FAILED; |
| 53 | |
| 54 | engine->Release(); |
| 55 | |
| 56 | if (bout.buffer != "") |
| 57 | { |
| 58 | PRINTF("%s", bout.buffer.c_str()); |
| 59 | TEST_FAILED; |
| 60 | } |
| 61 | |
| 62 | // Success |
| 63 | return fail; |
| 64 | } |
no test coverage detected