This source file includes following definitions.
- TEST
- TEST
#include "config.h"
#include "platform/graphics/ThreadSafeDataTransport.h"
#include "platform/SharedBuffer.h"
#include <gtest/gtest.h>
using namespace WebCore;
namespace {
TEST(ThreadSafeDataTransportTest, hasNewData)
{
ThreadSafeDataTransport transport;
const char testString[] = "123456789";
RefPtr<SharedBuffer> buffer = SharedBuffer::create(testString, sizeof(testString));
transport.setData(buffer.get(), false);
EXPECT_TRUE(transport.hasNewData());
SharedBuffer* tempBuffer = 0;
bool allDataReceived = false;
transport.data(&tempBuffer, &allDataReceived);
EXPECT_FALSE(transport.hasNewData());
transport.setData(buffer.get(), false);
EXPECT_FALSE(transport.hasNewData());
}
TEST(ThreadSafeDataTransportTest, setData)
{
ThreadSafeDataTransport transport;
const char testString1[] = "123";
RefPtr<SharedBuffer> buffer1 = SharedBuffer::create(testString1, sizeof(testString1) - 1);
const char testString2[] = "12345";
RefPtr<SharedBuffer> buffer2 = SharedBuffer::create(testString2, sizeof(testString2) - 1);
const char testString3[] = "1234567890";
RefPtr<SharedBuffer> buffer3 = SharedBuffer::create(testString3, sizeof(testString3) - 1);
transport.setData(buffer1.get(), false);
transport.setData(buffer2.get(), false);
transport.setData(buffer3.get(), true);
EXPECT_TRUE(transport.hasNewData());
SharedBuffer* tempBuffer = 0;
bool allDataReceived = false;
transport.data(&tempBuffer, &allDataReceived);
EXPECT_TRUE(allDataReceived);
EXPECT_FALSE(memcmp(testString3, tempBuffer->data(), tempBuffer->size()));
}
}