DrawingBufferChromiumTest.cpp [plain text]
#include "config.h"
#include "DrawingBuffer.h"
#include "CompositorFakeGraphicsContext3D.h"
#include "LayerChromium.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
using namespace WebCore;
using namespace WebKit;
namespace {
TEST(DrawingBufferChromiumTest, opaqueFormats)
{
RefPtr<DrawingBuffer> buffer;
GraphicsContext3D::Attributes alphaAttrs;
alphaAttrs.alpha = true;
GraphicsContext3D::Attributes opaqueAttrs;
opaqueAttrs.alpha = false;
RefPtr<GraphicsContext3D> alphaContext = createCompositorMockGraphicsContext3D(alphaAttrs);
EXPECT_TRUE(alphaContext);
RefPtr<GraphicsContext3D> opaqueContext = createCompositorMockGraphicsContext3D(opaqueAttrs);
EXPECT_TRUE(opaqueContext);
buffer = DrawingBuffer::create(alphaContext.get(), IntSize(), DrawingBuffer::Preserve, DrawingBuffer::Alpha);
EXPECT_FALSE(buffer->platformLayer()->opaque());
buffer = DrawingBuffer::create(alphaContext.get(), IntSize(), DrawingBuffer::Discard, DrawingBuffer::Alpha);
EXPECT_FALSE(buffer->platformLayer()->opaque());
buffer = DrawingBuffer::create(opaqueContext.get(), IntSize(), DrawingBuffer::Preserve, DrawingBuffer::Opaque);
EXPECT_TRUE(buffer->platformLayer()->opaque());
buffer = DrawingBuffer::create(opaqueContext.get(), IntSize(), DrawingBuffer::Discard, DrawingBuffer::Opaque);
EXPECT_TRUE(buffer->platformLayer()->opaque());
}
}