This source file includes following definitions.
- TEST
#include <string>
#include <vector>
#include "content/browser/speech/chunked_byte_buffer.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
typedef std::vector<uint8> ByteVector;
TEST(ChunkedByteBufferTest, BasicTest) {
ChunkedByteBuffer buffer;
const uint8 kChunks[] = {
0x00, 0x00, 0x00, 0x04, 0x01, 0x02, 0x03, 0x04,
0x00, 0x00, 0x00, 0x02, 0x05, 0x06,
0x00, 0x00, 0x00, 0x01, 0x07
};
EXPECT_EQ(0U, buffer.GetTotalLength());
EXPECT_FALSE(buffer.HasChunks());
buffer.Append(kChunks, 2);
EXPECT_EQ(2U, buffer.GetTotalLength());
EXPECT_FALSE(buffer.HasChunks());
buffer.Append(kChunks + 2, 6);
EXPECT_EQ(8U, buffer.GetTotalLength());
EXPECT_TRUE(buffer.HasChunks());
buffer.Append(kChunks + 8, 6);
EXPECT_EQ(14U, buffer.GetTotalLength());
EXPECT_TRUE(buffer.HasChunks());
scoped_ptr<ByteVector> chunk;
chunk = buffer.PopChunk();
EXPECT_TRUE(chunk != NULL);
EXPECT_EQ(4U, chunk->size());
EXPECT_EQ(0, std::char_traits<uint8>::compare(kChunks + 4,
&(*chunk)[0],
chunk->size()));
EXPECT_EQ(6U, buffer.GetTotalLength());
EXPECT_TRUE(buffer.HasChunks());
chunk = buffer.PopChunk();
EXPECT_TRUE(chunk != NULL);
EXPECT_EQ(2U, chunk->size());
EXPECT_EQ(0, std::char_traits<uint8>::compare(kChunks + 12,
&(*chunk)[0],
chunk->size()));
EXPECT_EQ(0U, buffer.GetTotalLength());
EXPECT_FALSE(buffer.HasChunks());
buffer.Append(kChunks + 14, 5);
EXPECT_EQ(5U, buffer.GetTotalLength());
chunk = buffer.PopChunk();
EXPECT_TRUE(chunk != NULL);
EXPECT_EQ(1U, chunk->size());
EXPECT_EQ((*chunk)[0], kChunks[18]);
EXPECT_EQ(0U, buffer.GetTotalLength());
EXPECT_FALSE(buffer.HasChunks());
}
}