MCPcopy Create free account
hub / github.com/anjo76/angelscript / Test2

Function Test2

sdk/tests/test_feature/source/test_bits.cpp:178–213  ·  view source on GitHub ↗

Reported by jkhax0r

Source from the content-addressed store, hash-verified

176
177// Reported by jkhax0r
178bool Test2()
179{
180 const char *script =
181 "uint16 Z1; \n"
182 "uint8 b1 = 2; \n"
183 "uint8 b2 = 2; \n"
184
185 //Using '+'
186 "Z1 = (b1 & 0x00FF) + ((b2 << 8) & 0xFF00); \n"
187 "b1 = Z1 & 0x00FF; \n"
188 "b2 = (Z1 >> 8) & 0x00FF; \n"
189 "assert( b1 == 2 && b2 == 2 ); \n"
190
191 //Using '|'
192 "Z1 = (b1 & 0x00FF) | ((b2 << 8) & 0xFF00); \n"
193 "b1 = Z1 & 0x00FF; \n"
194 "b2 = (Z1 >> 8) & 0x00FF; \n"
195 "assert( b1 == 2 && b2 == 2 ); \n";
196
197 bool fail = false;
198
199 asIScriptEngine *engine = asCreateScriptEngine(ANGELSCRIPT_VERSION);
200 COutStream out;
201 engine->SetMessageCallback(asMETHOD(COutStream,Callback), &out, asCALL_THISCALL);
202 engine->RegisterGlobalFunction("void assert(bool)", asFUNCTION(Assert), asCALL_GENERIC);
203
204 int r = ExecuteString(engine, script);
205 if( r != asEXECUTION_FINISHED )
206 {
207 TEST_FAILED;
208 }
209
210 engine->Release();
211
212 return fail;
213}
214
215} // namespace
216

Callers 1

TestFunction · 0.70

Calls 4

ExecuteStringFunction · 0.85
SetMessageCallbackMethod · 0.80
ReleaseMethod · 0.45

Tested by

no test coverage detected