michael@0: /* vim:set ts=2 sw=2 sts=2 et: */ michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ michael@0: */ michael@0: michael@0: #include "TiledLayerBuffer.h" michael@0: michael@0: #include "gtest/gtest.h" michael@0: michael@0: namespace mozilla { michael@0: namespace layers { michael@0: michael@0: struct TestTiledLayerTile { michael@0: int value; michael@0: TestTiledLayerTile(int v = 0) { michael@0: value = v; michael@0: } michael@0: bool operator== (const TestTiledLayerTile& o) const { michael@0: return value == o.value; michael@0: } michael@0: bool operator!= (const TestTiledLayerTile& o) const { michael@0: return value != o.value; michael@0: } michael@0: }; michael@0: michael@0: class TestTiledLayerBuffer : public TiledLayerBuffer michael@0: { michael@0: friend class TiledLayerBuffer; michael@0: michael@0: public: michael@0: TestTiledLayerTile GetPlaceholderTile() const { michael@0: return TestTiledLayerTile(-1); michael@0: } michael@0: michael@0: TestTiledLayerTile ValidateTile(TestTiledLayerTile aTile, const nsIntPoint& aTileOrigin, const nsIntRegion& aDirtyRect) { michael@0: return TestTiledLayerTile(); michael@0: } michael@0: michael@0: void ReleaseTile(TestTiledLayerTile aTile) michael@0: { michael@0: michael@0: } michael@0: michael@0: void SwapTiles(TestTiledLayerTile& aTileA, TestTiledLayerTile& aTileB) michael@0: { michael@0: TestTiledLayerTile oldTileA = aTileA; michael@0: aTileA = aTileB; michael@0: aTileB = oldTileA; michael@0: } michael@0: michael@0: void TestUpdate(const nsIntRegion& aNewValidRegion, const nsIntRegion& aPaintRegion) michael@0: { michael@0: Update(aNewValidRegion, aPaintRegion); michael@0: } michael@0: }; michael@0: michael@0: TEST(TiledLayerBuffer, TileConstructor) { michael@0: TestTiledLayerBuffer buffer; michael@0: } michael@0: michael@0: TEST(TiledLayerBuffer, TileStart) { michael@0: TestTiledLayerBuffer buffer; michael@0: michael@0: ASSERT_EQ(buffer.RoundDownToTileEdge(10, 256), 0); michael@0: ASSERT_EQ(buffer.RoundDownToTileEdge(-10, 256), -256); michael@0: } michael@0: michael@0: TEST(TiledLayerBuffer, EmptyUpdate) { michael@0: TestTiledLayerBuffer buffer; michael@0: michael@0: nsIntRegion validRegion(nsIntRect(0, 0, 10, 10)); michael@0: buffer.TestUpdate(validRegion, validRegion); michael@0: michael@0: ASSERT_EQ(buffer.GetValidRegion(), validRegion); michael@0: } michael@0: michael@0: } michael@0: }