gfx/tests/gtest/TestTiledLayerBuffer.cpp

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/tests/gtest/TestTiledLayerBuffer.cpp	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,78 @@
     1.4 +/* vim:set ts=2 sw=2 sts=2 et: */
     1.5 +/* Any copyright is dedicated to the Public Domain.
     1.6 + * http://creativecommons.org/publicdomain/zero/1.0/
     1.7 + */
     1.8 +
     1.9 +#include "TiledLayerBuffer.h"
    1.10 +
    1.11 +#include "gtest/gtest.h"
    1.12 +
    1.13 +namespace mozilla {
    1.14 +namespace layers {
    1.15 +
    1.16 +struct TestTiledLayerTile {
    1.17 +  int value;
    1.18 +  TestTiledLayerTile(int v = 0) {
    1.19 +    value = v;
    1.20 +  }
    1.21 +  bool operator== (const TestTiledLayerTile& o) const {
    1.22 +    return value == o.value;
    1.23 +  }
    1.24 +  bool operator!= (const TestTiledLayerTile& o) const {
    1.25 +    return value != o.value;
    1.26 +  }
    1.27 +};
    1.28 +
    1.29 +class TestTiledLayerBuffer : public TiledLayerBuffer<TestTiledLayerBuffer, TestTiledLayerTile>
    1.30 +{
    1.31 +  friend class TiledLayerBuffer<TestTiledLayerBuffer, TestTiledLayerTile>;
    1.32 +
    1.33 +public:
    1.34 +  TestTiledLayerTile GetPlaceholderTile() const {
    1.35 +    return TestTiledLayerTile(-1);
    1.36 +  }
    1.37 +
    1.38 +  TestTiledLayerTile ValidateTile(TestTiledLayerTile aTile, const nsIntPoint& aTileOrigin, const nsIntRegion& aDirtyRect) {
    1.39 +    return TestTiledLayerTile();
    1.40 +  }
    1.41 +
    1.42 +  void ReleaseTile(TestTiledLayerTile aTile)
    1.43 +  {
    1.44 +
    1.45 +  }
    1.46 +
    1.47 +  void SwapTiles(TestTiledLayerTile& aTileA, TestTiledLayerTile& aTileB)
    1.48 +  {
    1.49 +    TestTiledLayerTile oldTileA = aTileA;
    1.50 +    aTileA = aTileB;
    1.51 +    aTileB = oldTileA;
    1.52 +  }
    1.53 +
    1.54 +  void TestUpdate(const nsIntRegion& aNewValidRegion, const nsIntRegion& aPaintRegion)
    1.55 +  {
    1.56 +    Update(aNewValidRegion, aPaintRegion);
    1.57 +  }
    1.58 +};
    1.59 +
    1.60 +TEST(TiledLayerBuffer, TileConstructor) {
    1.61 +  TestTiledLayerBuffer buffer;
    1.62 +}
    1.63 +
    1.64 +TEST(TiledLayerBuffer, TileStart) {
    1.65 +  TestTiledLayerBuffer buffer;
    1.66 +
    1.67 +  ASSERT_EQ(buffer.RoundDownToTileEdge(10, 256), 0);
    1.68 +  ASSERT_EQ(buffer.RoundDownToTileEdge(-10, 256), -256);
    1.69 +}
    1.70 +
    1.71 +TEST(TiledLayerBuffer, EmptyUpdate) {
    1.72 +  TestTiledLayerBuffer buffer;
    1.73 +
    1.74 +  nsIntRegion validRegion(nsIntRect(0, 0, 10, 10));
    1.75 +  buffer.TestUpdate(validRegion, validRegion);
    1.76 +
    1.77 +  ASSERT_EQ(buffer.GetValidRegion(), validRegion);
    1.78 +}
    1.79 +
    1.80 +}
    1.81 +}

mercurial