| Index: net/spdy/spdy_framer_test.cc
|
| diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc
|
| index d33a7793bd4cc2995da1ea582e4b80687b38fa85..eee3cbcbdcb9ebad57341565ba9b32318bfeb26a 100644
|
| --- a/net/spdy/spdy_framer_test.cc
|
| +++ b/net/spdy/spdy_framer_test.cc
|
| @@ -1647,6 +1647,47 @@ TEST_P(SpdyFramerTest, CreateDataFrame) {
|
| }
|
|
|
| {
|
| + const char kDescription[] =
|
| + "'hello' data frame with 1 byte padding, no FIN";
|
| + const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| + 0x00, 0x00, 0x00, 0x01,
|
| + 0x00, 0x00, 0x00, 0x05,
|
| + 'h', 'e', 'l', 'l',
|
| + 'o'
|
| + };
|
| +
|
| + const unsigned char kV4FrameData[] = {
|
| + 0x00, 0x06, 0x00, 0x10, // Length = 6. PAD_LOW set.
|
| + 0x00, 0x00, 0x00, 0x01,
|
| + 0x00, // Pad Low field.
|
| + 'h', 'e', 'l', 'l', // Data
|
| + 'o',
|
| + };
|
| + const char bytes[] = "hello";
|
| +
|
| + SpdyDataIR data_ir(1, StringPiece(bytes, strlen(bytes)));
|
| + // The pad low field itself is used for the 1-byte padding and no padding
|
| + // payload is needed.
|
| + data_ir.set_padding_len(1);
|
| + scoped_ptr<SpdyFrame> frame(framer.SerializeData(data_ir));
|
| + if (IsSpdy4()) {
|
| + CompareFrame(
|
| + kDescription, *frame, kV4FrameData, arraysize(kV4FrameData));
|
| + } else {
|
| + CompareFrame(
|
| + kDescription, *frame, kV3FrameData, arraysize(kV3FrameData));
|
| + }
|
| +
|
| + frame.reset(framer.SerializeDataFrameHeaderWithPaddingLengthField(data_ir));
|
| + CompareCharArraysWithHexError(
|
| + kDescription,
|
| + reinterpret_cast<const unsigned char*>(frame->data()),
|
| + framer.GetDataFrameMinimumSize(),
|
| + IsSpdy4() ? kV4FrameData : kV3FrameData,
|
| + framer.GetDataFrameMinimumSize());
|
| + }
|
| +
|
| + {
|
| const char kDescription[] = "Data frame with negative data byte, no FIN";
|
| const unsigned char kV3FrameData[] = { // Also applies for V2.
|
| 0x00, 0x00, 0x00, 0x01,
|
|
|