@@ -56,6 +56,7 @@ public void testParsingTCPFrameInsideNetworkFrame() throws Exception {
5656 +"ushort HeaderChecksum;"
5757 +"int SourceAddress;"
5858 +"int DestinationAddress;"
59+ +"byte [(InternetHeaderLength-5)*4] Options;"
5960 );
6061
6162 final JBBPParser tcpHeader = JBBPParser .prepare (
@@ -92,7 +93,9 @@ public void testParsingTCPFrameInsideNetworkFrame() throws Exception {
9293 final JBBPFieldStruct parsedIPHeader = ipParserHeaderWithoutOptions .parse (netPacketStream );
9394
9495 assertEquals (4 , parsedIPHeader .findFieldForNameAndType ("Version" ,JBBPFieldBit .class ).getAsInt ());
95- assertEquals (5 , parsedIPHeader .findFieldForNameAndType ("InternetHeaderLength" ,JBBPFieldBit .class ).getAsInt ());
96+
97+ final int internetHeaderLength = parsedIPHeader .findFieldForNameAndType ("InternetHeaderLength" , JBBPFieldBit .class ).getAsInt ();
98+ assertEquals (5 , internetHeaderLength );
9699 assertEquals (0 , parsedIPHeader .findFieldForNameAndType ("DSCP" ,JBBPFieldBit .class ).getAsInt ());
97100 assertEquals (0 , parsedIPHeader .findFieldForNameAndType ("ECN" ,JBBPFieldBit .class ).getAsInt ());
98101
@@ -112,6 +115,8 @@ public void testParsingTCPFrameInsideNetworkFrame() throws Exception {
112115 assertEquals (0xD5C7B393 , parsedIPHeader .findFieldForNameAndType ("SourceAddress" ,JBBPFieldInt .class ).getAsInt ());
113116 assertEquals (0xC0A80145 , parsedIPHeader .findFieldForNameAndType ("DestinationAddress" ,JBBPFieldInt .class ).getAsInt ());
114117
118+ assertEquals (0 , parsedIPHeader .findFieldForNameAndType ("Options" , JBBPFieldArrayByte .class ).getArray ().length );
119+
115120 // Check TCP header
116121 netPacketStream .resetCounter ();
117122 final JBBPFieldStruct parsedTcpHeader = tcpHeader .parse (netPacketStream );
0 commit comments