X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FVectorParser.test.cc;h=f720df05a938b07dfd5772b3754cd88756774c28;hb=78807b8db22aec579bc99f9aca673f81ecfff6b0;hp=c00b541a811ab77e88151f0a9106a97c8160a698;hpb=4891cce7dda76b60f270edfdba16b63d6756c4b0;p=senf.git diff --git a/Packets/VectorParser.test.cc b/Packets/VectorParser.test.cc index c00b541..f720df0 100644 --- a/Packets/VectorParser.test.cc +++ b/Packets/VectorParser.test.cc @@ -337,6 +337,38 @@ BOOST_AUTO_UNIT_TEST(vectorMacro_inherit) BOOST_CHECK_EQUAL( parser.vec2()[1], 0x0D0Eu ); } +namespace { + + struct TestPacketSizeVectorParser + : public senf::PacketParserBase + { +# include SENF_PARSER() + + SENF_PARSER_VECTOR ( vec , packetSize() , senf::UInt16Parser ); + + SENF_PARSER_FINALIZE( TestPacketSizeVectorParser ); + }; + +} + +BOOST_AUTO_UNIT_TEST(vectorMacro_packetSize) +{ + unsigned char data[] = { 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, + 0x21, 0x22, 0x23, 0x24, 0x25, 0x26 }; + + senf::DataPacket p (senf::DataPacket::create(data)); + TestPacketSizeVectorParser parser (p.data().begin(), &p.data()); + + { + BOOST_CHECK_EQUAL( parser.vec().size(), 6u ); + BOOST_CHECK_EQUAL( parser.vec()[0], 0x1112u ); + BOOST_CHECK_EQUAL( parser.vec()[1], 0x1314u ); + BOOST_CHECK_EQUAL( parser.vec()[5], 0x2526u ); + } + + // The real functionality is already tested in AuxPolixy.test.cc ... +} + ///////////////////////////////cc.e//////////////////////////////////////// #undef prefix_