diff -r 000000000000 -r 6474c204b198 gfx/tests/gtest/TestTiledLayerBuffer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/tests/gtest/TestTiledLayerBuffer.cpp Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,78 @@ +/* vim:set ts=2 sw=2 sts=2 et: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +#include "TiledLayerBuffer.h" + +#include "gtest/gtest.h" + +namespace mozilla { +namespace layers { + +struct TestTiledLayerTile { + int value; + TestTiledLayerTile(int v = 0) { + value = v; + } + bool operator== (const TestTiledLayerTile& o) const { + return value == o.value; + } + bool operator!= (const TestTiledLayerTile& o) const { + return value != o.value; + } +}; + +class TestTiledLayerBuffer : public TiledLayerBuffer +{ + friend class TiledLayerBuffer; + +public: + TestTiledLayerTile GetPlaceholderTile() const { + return TestTiledLayerTile(-1); + } + + TestTiledLayerTile ValidateTile(TestTiledLayerTile aTile, const nsIntPoint& aTileOrigin, const nsIntRegion& aDirtyRect) { + return TestTiledLayerTile(); + } + + void ReleaseTile(TestTiledLayerTile aTile) + { + + } + + void SwapTiles(TestTiledLayerTile& aTileA, TestTiledLayerTile& aTileB) + { + TestTiledLayerTile oldTileA = aTileA; + aTileA = aTileB; + aTileB = oldTileA; + } + + void TestUpdate(const nsIntRegion& aNewValidRegion, const nsIntRegion& aPaintRegion) + { + Update(aNewValidRegion, aPaintRegion); + } +}; + +TEST(TiledLayerBuffer, TileConstructor) { + TestTiledLayerBuffer buffer; +} + +TEST(TiledLayerBuffer, TileStart) { + TestTiledLayerBuffer buffer; + + ASSERT_EQ(buffer.RoundDownToTileEdge(10, 256), 0); + ASSERT_EQ(buffer.RoundDownToTileEdge(-10, 256), -256); +} + +TEST(TiledLayerBuffer, EmptyUpdate) { + TestTiledLayerBuffer buffer; + + nsIntRegion validRegion(nsIntRect(0, 0, 10, 10)); + buffer.TestUpdate(validRegion, validRegion); + + ASSERT_EQ(buffer.GetValidRegion(), validRegion); +} + +} +}