void LLTemplateMessageBuilderTestObject::test<20>() // block build order !-> binary order { U8 buffer1[MAX_BUFFER_SIZE]; memset(buffer1, 0, MAX_BUFFER_SIZE); U8 buffer2[MAX_BUFFER_SIZE]; memset(buffer2, 0, MAX_BUFFER_SIZE); U32 bufferSize1, bufferSize2; // build template: Test0 before Test1 LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(createBlock(const_cast<char*>(_PREHASH_Test0), MVT_U32, 4, MBT_SINGLE)); messageTemplate.addBlock(createBlock(const_cast<char*>(_PREHASH_Test1), MVT_U32, 4, MBT_SINGLE)); // build message: 1st declared block var == 0xaaaa, 2nd declared block var == 0xbbbb LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate, const_cast<char*>(_PREHASH_Test0)); builder->addU32(_PREHASH_Test0, 0xaaaa); builder->nextBlock(_PREHASH_Test1); builder->addU32(_PREHASH_Test0, 0xbbbb); bufferSize1 = builder->buildMessage(buffer1, MAX_BUFFER_SIZE, 0); delete builder; // build message: 1st declared block var == 0xaaaa, 2nd declared block var == 0xbbbb builder = defaultBuilder(messageTemplate, const_cast<char*>(_PREHASH_Test1)); builder->addU32(_PREHASH_Test0, 0xbbbb); builder->nextBlock(_PREHASH_Test0); builder->addU32(_PREHASH_Test0, 0xaaaa); bufferSize2 = builder->buildMessage(buffer2, MAX_BUFFER_SIZE, 0); delete builder; ensure_equals("Ensure Buffer Sizes Equal", bufferSize1, bufferSize2); ensure_equals("Ensure Buffer Contents Equal", memcmp(buffer1, buffer2, bufferSize1), 0); }
void LLTemplateMessageBuilderTestObject::test<44>() // read variable block past end of message -> 0 repeats { // build message with single block LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_U32, 4, MBT_SINGLE)); U32 outValue, outValue2, inValue = 0xbbbbbbbb; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addU32(_PREHASH_Test0, inValue); const U32 bufferSize = 1024; U8 buffer[bufferSize]; memset(buffer, 0xaa, bufferSize); memset(buffer, 0, LL_PACKET_ID_SIZE); U32 builtSize = builder->buildMessage(buffer, bufferSize, 0); delete builder; // add variable block to reader template messageTemplate.addBlock(createBlock(const_cast<char*>(_PREHASH_Test1), MVT_U32, 4)); // read message value and check block repeat count numberMap[1] = &messageTemplate; LLTemplateMessageReader* reader = new LLTemplateMessageReader(numberMap); reader->validateMessage(buffer, builtSize, LLHost()); reader->readMessage(buffer, LLHost()); reader->getU32(_PREHASH_Test0, _PREHASH_Test0, outValue); outValue2 = reader->getNumberOfBlocks(_PREHASH_Test1); ensure_equals("Ensure present value ", outValue, inValue); ensure_equals("Ensure 0 repeats ", outValue2, 0); delete reader; }
void LLTemplateMessageBuilderTestObject::test<43>() // read past end of message -> default values (forward compatibility) { // build message with single block LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_U32, 4, MBT_SINGLE)); U32 outValue, outValue2, inValue = 0xbbbbbbbb; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addU32(_PREHASH_Test0, inValue); const U32 bufferSize = 1024; U8 buffer[bufferSize]; memset(buffer, 0xaa, bufferSize); memset(buffer, 0, LL_PACKET_ID_SIZE); U32 builtSize = builder->buildMessage(buffer, bufferSize, 0); delete builder; // add block to reader template messageTemplate.addBlock(createBlock(_PREHASH_Test1, MVT_U32, 4, MBT_SINGLE)); // read message value and default value numberMap[1] = &messageTemplate; LLTemplateMessageReader* reader = new LLTemplateMessageReader(numberMap); reader->validateMessage(buffer, builtSize, LLHost()); reader->readMessage(buffer, LLHost()); reader->getU32(_PREHASH_Test0, _PREHASH_Test0, outValue); reader->getU32(_PREHASH_Test1, _PREHASH_Test0, outValue2); ensure_equals("Ensure present value ", outValue, inValue); ensure_equals("Ensure default value ", outValue2, 0); delete reader; }
void LLTemplateMessageBuilderTestObject::test<1>() // construction and test of undefined { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock()); LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); delete reader; }
void LLSDMessageBuilderTestObject::test<5>() // U16 { U16 outValue, inValue = 3; LLSDMessageBuilder builder = defaultBuilder(); builder.addU16("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getU16("block", "var", outValue); ensure_equals("Ensure U16", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<3>() // U8 { U8 outValue, inValue = 2; LLSDMessageBuilder builder = defaultBuilder(); builder.addU8("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getU8("block", "var", outValue); ensure_equals("Ensure U8", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<6>() // S32 { S32 outValue, inValue = 44; LLSDMessageBuilder builder = defaultBuilder(); builder.addS32("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getS32("block", "var", outValue); ensure_equals("Ensure S32", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<16>() // IPAddr { U32 outValue, inValue = 12344556; LLSDMessageBuilder builder = defaultBuilder(); builder.addIPAddr("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getIPAddr("block", "var", outValue); ensure_equals("Ensure IPAddr", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<9>() // U64 { U64 outValue, inValue = 121; LLSDMessageBuilder builder = defaultBuilder(); builder.addU64("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getU64("block", "var", outValue); ensure_equals("Ensure U64", inValue, outValue); }
void LLTemplateMessageBuilderTestObject::test<25>() // non-zero offset with undefined { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock()); LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); LLTemplateMessageReader* reader = setReader( messageTemplate, builder, 10); delete reader; }
void LLSDMessageBuilderTestObject::test<17>() // IPPort { U16 outValue, inValue = 80; LLSDMessageBuilder builder = defaultBuilder(); builder.addIPPort("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getIPPort("block", "var", outValue); ensure_equals("Ensure IPPort", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<2>() // BOOL { BOOL outValue, inValue = TRUE; LLSDMessageBuilder builder = defaultBuilder(); builder.addBOOL("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getBOOL("block", "var", outValue); ensure_equals("Ensure BOOL", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<10>() // F64 { F64 outValue, inValue = 3232143.33; LLSDMessageBuilder builder = defaultBuilder(); builder.addF64("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getF64("block", "var", outValue); ensure_equals("Ensure F64", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<13>() // Vector3d { LLVector3d outValue, inValue = LLVector3d(1,2,3); LLSDMessageBuilder builder = defaultBuilder(); builder.addVector3d("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getVector3d("block", "var", outValue); ensure_equals("Ensure Vector3d", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<14>() // Quaternion { LLQuaternion outValue, inValue = LLQuaternion(1,2,3,4); LLSDMessageBuilder builder = defaultBuilder(); builder.addQuat("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getQuat("block", "var", outValue); ensure_equals("Ensure Quaternion", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<8>() // U32 { U32 outValue, inValue = 88; LLSDMessageBuilder builder = defaultBuilder(); builder.addU32("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getU32("block", "var", outValue); ensure_equals("Ensure U32", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<7>() // F32 { F32 outValue, inValue = 121.44f; LLSDMessageBuilder builder = defaultBuilder(); builder.addF32("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getF32("block", "var", outValue); ensure_equals("Ensure F32", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<18>() { std::string outValue, inValue = "testing"; LLSDMessageBuilder builder = defaultBuilder(); builder.addString("var", inValue.c_str()); LLSDMessageReader reader = setReader(builder); char buffer[MAX_STRING]; reader.getString("block", "var", MAX_STRING, buffer); outValue = buffer; ensure_equals("Ensure String", inValue, outValue); }
void LLSDMessageBuilderTestObject::test<15>() // UUID { LLUUID outValue, inValue; inValue.generate(); LLSDMessageBuilder builder = defaultBuilder(); builder.addUUID("var", inValue); LLSDMessageReader reader = setReader(builder); reader.getUUID("block", "var", outValue); ensure_equals("Ensure UUID", inValue, outValue); }
void LLTemplateMessageBuilderTestObject::test<10>() // F64 { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_F64, 8)); F64 outValue, inValue = 3232143.33; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addF64(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getF64(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure F64", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<16>() // IPAddr { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_IP_ADDR, 4)); U32 outValue, inValue = 12344556; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addIPAddr(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getIPAddr(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure IPAddr", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<17>() // IPPort { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_IP_PORT, 2)); U16 outValue, inValue = 80; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addIPPort(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getIPPort(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure IPPort", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<2>() // BOOL { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_BOOL, 1)); BOOL outValue, inValue = TRUE; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addBOOL(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getBOOL(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure BOOL", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<8>() // U32 { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_U32, 4)); U32 outValue, inValue = 88; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addU32(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getU32(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure U32", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<14>() // Quaternion { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_LLQuaternion, 12)); LLQuaternion outValue, inValue = LLQuaternion(1,2,3,0); LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addQuat(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getQuat(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure LLQuaternion", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<5>() // U16 { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_U16, 2)); U16 outValue, inValue = 3; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addU16(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getU16(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure U16", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<13>() // Vector3d { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_LLVector3d, 24)); LLVector3d outValue, inValue = LLVector3d(1,2,3); LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addVector3d(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader(messageTemplate, builder); reader->getVector3d(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure LLVector3d", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<33>() // non-zero offset with U64 { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_U64, 8)); U64 outValue, inValue = 121; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addU64(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader( messageTemplate, builder, 32); reader->getU64(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure U64", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<31>() // non-zero offset with F32 { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_F32, 4)); F32 outValue, inValue = 121.44f; LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addF32(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader( messageTemplate, builder, 16); reader->getF32(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure F32", inValue, outValue); delete reader; }
void LLTemplateMessageBuilderTestObject::test<36>() // non-zero offset with Vector4 { LLMessageTemplate messageTemplate = defaultTemplate(); messageTemplate.addBlock(defaultBlock(MVT_LLVector4, 16)); LLVector4 outValue, inValue = LLVector4(1,2,3,4); LLTemplateMessageBuilder* builder = defaultBuilder(messageTemplate); builder->addVector4(_PREHASH_Test0, inValue); LLTemplateMessageReader* reader = setReader( messageTemplate, builder, 64); reader->getVector4(_PREHASH_Test0, _PREHASH_Test0, outValue); ensure_equals("Ensure LLVector4", inValue, outValue); delete reader; }