Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3939)

Unified Diff: cc/tiling_data_unittest.cc

Issue 11887027: cc: Add iterator and big border support to TilingData (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« cc/tiling_data.cc ('K') | « cc/tiling_data.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/tiling_data_unittest.cc
diff --git a/cc/tiling_data_unittest.cc b/cc/tiling_data_unittest.cc
index 774b70ef2aa917bbd1b1a7c9fd25f4377a18ada4..5c472b8030cd9196df55b946507cf5f36c284491 100644
--- a/cc/tiling_data_unittest.cc
+++ b/cc/tiling_data_unittest.cc
@@ -4,6 +4,7 @@
#include "cc/tiling_data.h"
+#include "cc/test/geometry_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace cc {
@@ -42,6 +43,24 @@ int YIndex(
return tiling.TileYIndexFromSrcCoord(y_coord);
}
+int BorderXIndex(
+ gfx::Size max_texture_size,
+ gfx::Size total_size,
+ bool has_border_texels,
+ int x_coord) {
+ TilingData tiling(max_texture_size, total_size, has_border_texels);
+ return tiling.BorderTileXIndexFromSrcCoord(x_coord);
+}
+
+int BorderYIndex(
+ gfx::Size max_texture_size,
+ gfx::Size total_size,
+ bool has_border_texels,
+ int y_coord) {
+ TilingData tiling(max_texture_size, total_size, has_border_texels);
+ return tiling.BorderTileYIndexFromSrcCoord(y_coord);
+}
+
int PosX(
gfx::Size max_texture_size,
gfx::Size total_size,
@@ -245,6 +264,59 @@ TEST(TilingDataTest, tileXIndexFromSrcCoord)
EXPECT_EQ(1, XIndex(gfx::Size(3, 3), gfx::Size(4, 3), true, 3));
}
+TEST(TilingDataTest, borderTileXIndexFromSrcCoord)
+{
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 2));
+ EXPECT_EQ(1, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 3));
+ EXPECT_EQ(1, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 4));
+ EXPECT_EQ(1, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 5));
+ EXPECT_EQ(2, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 6));
+ EXPECT_EQ(2, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 7));
+ EXPECT_EQ(2, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 8));
+ EXPECT_EQ(3, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 9));
+ EXPECT_EQ(3, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 10));
+ EXPECT_EQ(3, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 11));
+
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 2));
+ EXPECT_EQ(1, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 3));
+ EXPECT_EQ(2, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 4));
+ EXPECT_EQ(3, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 5));
+ EXPECT_EQ(4, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 6));
+ EXPECT_EQ(5, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 7));
+ EXPECT_EQ(6, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 8));
+ EXPECT_EQ(7, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 9));
+ EXPECT_EQ(7, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 10));
+ EXPECT_EQ(7, BorderXIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 11));
+
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(1, 1), gfx::Size(1, 1), false, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(2, 2), gfx::Size(2, 2), false, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(2, 2), gfx::Size(2, 2), false, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(3, 3), false, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(3, 3), false, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(3, 3), false, 2));
+
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), false, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), false, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), false, 2));
+ EXPECT_EQ(1, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), false, 3));
+
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(1, 1), gfx::Size(1, 1), true, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(2, 2), gfx::Size(2, 2), true, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(2, 2), gfx::Size(2, 2), true, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(3, 3), true, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(3, 3), true, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(3, 3), true, 2));
+
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), true, 0));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), true, 1));
+ EXPECT_EQ(0, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), true, 2));
+ EXPECT_EQ(1, BorderXIndex(gfx::Size(3, 3), gfx::Size(4, 3), true, 3));
+}
+
TEST(TilingDataTest, tileYIndexFromSrcCoord)
{
EXPECT_EQ(0, YIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 0));
@@ -298,6 +370,59 @@ TEST(TilingDataTest, tileYIndexFromSrcCoord)
EXPECT_EQ(1, YIndex(gfx::Size(3, 3), gfx::Size(3, 4), true, 3));
}
+TEST(TilingDataTest, borderTileYIndexFromSrcCoord)
+{
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 2));
+ EXPECT_EQ(1, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 3));
+ EXPECT_EQ(1, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 4));
+ EXPECT_EQ(1, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 5));
+ EXPECT_EQ(2, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 6));
+ EXPECT_EQ(2, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 7));
+ EXPECT_EQ(2, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 8));
+ EXPECT_EQ(3, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 9));
+ EXPECT_EQ(3, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 10));
+ EXPECT_EQ(3, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), false, 11));
+
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 2));
+ EXPECT_EQ(1, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 3));
+ EXPECT_EQ(2, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 4));
+ EXPECT_EQ(3, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 5));
+ EXPECT_EQ(4, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 6));
+ EXPECT_EQ(5, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 7));
+ EXPECT_EQ(6, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 8));
+ EXPECT_EQ(7, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 9));
+ EXPECT_EQ(7, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 10));
+ EXPECT_EQ(7, BorderYIndex(gfx::Size(3, 3), gfx::Size(10, 10), true, 11));
+
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(1, 1), gfx::Size(1, 1), false, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(2, 2), gfx::Size(2, 2), false, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(2, 2), gfx::Size(2, 2), false, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 3), false, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 3), false, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 3), false, 2));
+
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), false, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), false, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), false, 2));
+ EXPECT_EQ(1, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), false, 3));
+
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(1, 1), gfx::Size(1, 1), true, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(2, 2), gfx::Size(2, 2), true, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(2, 2), gfx::Size(2, 2), true, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 3), true, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 3), true, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 3), true, 2));
+
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), true, 0));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), true, 1));
+ EXPECT_EQ(0, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), true, 2));
+ EXPECT_EQ(1, BorderYIndex(gfx::Size(3, 3), gfx::Size(3, 4), true, 3));
+}
+
TEST(TilingDataTest, tileSizeX)
{
EXPECT_EQ(5, SizeX(gfx::Size(5, 5), gfx::Size(5, 5), false, 0));
@@ -589,5 +714,195 @@ TEST(TilingDataTest, setBorderTexels)
EXPECT_EQ(4, data.num_tiles_y());
}
+TEST(TilingDataTest, largeBorders)
+{
+ TilingData data(gfx::Size(100, 80), gfx::Size(200, 145), 30);
+ EXPECT_EQ(30, data.border_texels());
+
+ EXPECT_EQ(70, data.TileSizeX(0));
+ EXPECT_EQ(40, data.TileSizeX(1));
+ EXPECT_EQ(40, data.TileSizeX(2));
+ EXPECT_EQ(50, data.TileSizeX(3));
+ EXPECT_EQ(4, data.num_tiles_x());
+
+ EXPECT_EQ(50, data.TileSizeY(0));
+ EXPECT_EQ(20, data.TileSizeY(1));
+ EXPECT_EQ(20, data.TileSizeY(2));
+ EXPECT_EQ(20, data.TileSizeY(3));
+ EXPECT_EQ(35, data.TileSizeY(4));
+ EXPECT_EQ(5, data.num_tiles_y());
+
+ EXPECT_RECT_EQ(gfx::Rect(0, 0, 70, 50), data.TileBounds(0, 0));
+ EXPECT_RECT_EQ(gfx::Rect(70, 50, 40, 20), data.TileBounds(1, 1));
+ EXPECT_RECT_EQ(gfx::Rect(110, 110, 40, 35), data.TileBounds(2, 4));
+ EXPECT_RECT_EQ(gfx::Rect(150, 70, 50, 20), data.TileBounds(3, 2));
+ EXPECT_RECT_EQ(gfx::Rect(150, 110, 50, 35), data.TileBounds(3, 4));
+
+ EXPECT_RECT_EQ(gfx::Rect(0, 0, 100, 80), data.TileBoundsWithBorder(0, 0));
+ EXPECT_RECT_EQ(gfx::Rect(40, 20, 100, 80), data.TileBoundsWithBorder(1, 1));
+ EXPECT_RECT_EQ(gfx::Rect(80, 80, 100, 65), data.TileBoundsWithBorder(2, 4));
+ EXPECT_RECT_EQ(gfx::Rect(120, 40, 80, 80), data.TileBoundsWithBorder(3, 2));
+ EXPECT_RECT_EQ(gfx::Rect(120, 80, 80, 65), data.TileBoundsWithBorder(3, 4));
+
+ EXPECT_EQ(0, data.TileXIndexFromSrcCoord(0));
+ EXPECT_EQ(0, data.TileXIndexFromSrcCoord(69));
+ EXPECT_EQ(1, data.TileXIndexFromSrcCoord(70));
+ EXPECT_EQ(1, data.TileXIndexFromSrcCoord(109));
+ EXPECT_EQ(2, data.TileXIndexFromSrcCoord(110));
+ EXPECT_EQ(2, data.TileXIndexFromSrcCoord(149));
+ EXPECT_EQ(3, data.TileXIndexFromSrcCoord(150));
+ EXPECT_EQ(3, data.TileXIndexFromSrcCoord(199));
+
+ EXPECT_EQ(0, data.TileYIndexFromSrcCoord(0));
+ EXPECT_EQ(0, data.TileYIndexFromSrcCoord(49));
+ EXPECT_EQ(1, data.TileYIndexFromSrcCoord(50));
+ EXPECT_EQ(1, data.TileYIndexFromSrcCoord(69));
+ EXPECT_EQ(2, data.TileYIndexFromSrcCoord(70));
+ EXPECT_EQ(2, data.TileYIndexFromSrcCoord(89));
+ EXPECT_EQ(3, data.TileYIndexFromSrcCoord(90));
+ EXPECT_EQ(3, data.TileYIndexFromSrcCoord(109));
+ EXPECT_EQ(4, data.TileYIndexFromSrcCoord(110));
+ EXPECT_EQ(4, data.TileYIndexFromSrcCoord(144));
+
+ EXPECT_EQ(0, data.BorderTileXIndexFromSrcCoord(0));
+ EXPECT_EQ(0, data.BorderTileXIndexFromSrcCoord(99));
+ EXPECT_EQ(1, data.BorderTileXIndexFromSrcCoord(100));
+ EXPECT_EQ(1, data.BorderTileXIndexFromSrcCoord(139));
+ EXPECT_EQ(2, data.BorderTileXIndexFromSrcCoord(140));
+ EXPECT_EQ(2, data.BorderTileXIndexFromSrcCoord(179));
+ EXPECT_EQ(3, data.BorderTileXIndexFromSrcCoord(180));
+ EXPECT_EQ(3, data.BorderTileXIndexFromSrcCoord(199));
+
+ EXPECT_EQ(0, data.BorderTileYIndexFromSrcCoord(0));
+ EXPECT_EQ(0, data.BorderTileYIndexFromSrcCoord(79));
+ EXPECT_EQ(1, data.BorderTileYIndexFromSrcCoord(80));
+ EXPECT_EQ(1, data.BorderTileYIndexFromSrcCoord(99));
+ EXPECT_EQ(2, data.BorderTileYIndexFromSrcCoord(100));
+ EXPECT_EQ(2, data.BorderTileYIndexFromSrcCoord(119));
+ EXPECT_EQ(3, data.BorderTileYIndexFromSrcCoord(120));
+ EXPECT_EQ(3, data.BorderTileYIndexFromSrcCoord(139));
+ EXPECT_EQ(4, data.BorderTileYIndexFromSrcCoord(140));
+ EXPECT_EQ(4, data.BorderTileYIndexFromSrcCoord(144));
+}
+
+void TestIterate(
+ const TilingData& data,
+ gfx::Rect rect,
+ int expect_left,
+ int expect_top,
+ int expect_right,
+ int expect_bottom) {
+
+ EXPECT_GE(expect_left, 0);
+ EXPECT_GE(expect_top, 0);
+ EXPECT_LT(expect_right, data.num_tiles_x());
+ EXPECT_LT(expect_bottom, data.num_tiles_y());
+
+ std::vector<std::pair<int, int> > expected;
+ for (int x = 0; x < data.num_tiles_x(); ++x) {
+ for (int y = 0; y < data.num_tiles_y(); ++y) {
+ gfx::Rect bounds = data.TileBoundsWithBorder(x, y);
+ if (x >= expect_left && x <= expect_right &&
+ y >= expect_top && y <= expect_bottom) {
+ EXPECT_TRUE(bounds.Intersects(rect));
+ expected.push_back(std::make_pair(x, y));
+ } else {
+ EXPECT_FALSE(bounds.Intersects(rect));
+ }
+ }
+ }
+
+ for (TilingData::Iterator iter(&data, rect); iter; ++iter) {
+ std::pair<int, int> find = std::make_pair(iter.index_x(), iter.index_y());
+ bool found = false;
+ for (size_t i = 0; i < expected.size(); ++i) {
+ if (expected[i] == find) {
+ expected[i] = expected.back();
+ expected.pop_back();
+ found = true;
+ break;
+ }
+ }
+ EXPECT_TRUE(found);
+ }
+
+ EXPECT_EQ(0, expected.size());
+}
+
+TEST(TilingDataTest, iteratorNoBorderTexels)
+{
+ TilingData data(gfx::Size(10, 10), gfx::Size(40, 25), false);
+ // X border index by src coord: [0-10), [10-20), [20, 30), [30, 40)
+ // Y border index by src coord: [0-10), [10-20), [20, 25)
+ TestIterate(data, gfx::Rect(0, 0, 40, 25), 0, 0, 3, 2);
+ TestIterate(data, gfx::Rect(15, 15, 8, 8), 1, 1, 2, 2);
+
+ // Oversized.
+ TestIterate(data, gfx::Rect(-100, -100, 1000, 1000), 0, 0, 3, 2);
+ TestIterate(data, gfx::Rect(-100, 20, 1000, 1), 0, 2, 3, 2);
+ TestIterate(data, gfx::Rect(29, -100, 31, 1000), 2, 0, 3, 2);
+ // Nonintersecting.
+ TestIterate(data, gfx::Rect(60, 80, 100, 100), 0, 0, -1, -1);
+}
+
+TEST(TilingDataTest, iteratorOneBorderTexel)
+{
+ TilingData data(gfx::Size(10, 20), gfx::Size(25, 45), true);
+ // X border index by src coord: [0-10), [8-18), [16-25)
+ // Y border index by src coord: [0-20), [18-38), [36-45)
+ TestIterate(data, gfx::Rect(0, 0, 25, 45), 0, 0, 2, 2);
+ TestIterate(data, gfx::Rect(18, 19, 3, 17), 2, 0, 2, 1);
+ TestIterate(data, gfx::Rect(10, 20, 6, 16), 1, 1, 1, 1);
+ TestIterate(data, gfx::Rect(9, 19, 8, 18), 0, 0, 2, 2);
+
+ // Oversized.
+ TestIterate(data, gfx::Rect(-100, -100, 1000, 1000), 0, 0, 2, 2);
+ TestIterate(data, gfx::Rect(-100, 20, 1000, 1), 0, 1, 2, 1);
+ TestIterate(data, gfx::Rect(18, -100, 6, 1000), 2, 0, 2, 2);
+ // Nonintersecting.
+ TestIterate(data, gfx::Rect(60, 80, 100, 100), 0, 0, -1, -1);
+}
+
+TEST(TilingDataTest, iteratorManyBorderTexels)
+{
+ TilingData data(gfx::Size(50, 60), gfx::Size(65, 110), 20);
+ // X border index by src coord: [0-50), [10-60), [20-65)
+ // Y border index by src coord: [0-60), [20-80), [40-100), [60-110)
+ TestIterate(data, gfx::Rect(0, 0, 65, 110), 0, 0, 2, 3);
+ TestIterate(data, gfx::Rect(50, 60, 15, 65), 1, 1, 2, 3);
+ TestIterate(data, gfx::Rect(60, 30, 2, 10), 2, 0, 2, 1);
+
+ // Oversized.
+ TestIterate(data, gfx::Rect(-100, -100, 1000, 1000), 0, 0, 2, 3);
+ TestIterate(data, gfx::Rect(-100, 10, 1000, 10), 0, 0, 2, 0);
+ TestIterate(data, gfx::Rect(10, -100, 10, 1000), 0, 0, 1, 3);
+ // Nonintersecting.
+ TestIterate(data, gfx::Rect(65, 110, 100, 100), 0, 0, -1, -1);
+}
+
+TEST(TilingDataTest, iteratorOneTile)
+{
+ TilingData no_border(gfx::Size(1000, 1000), gfx::Size(30, 40), false);
+ TestIterate(no_border, gfx::Rect(0, 0, 30, 40), 0, 0, 0, 0);
+ TestIterate(no_border, gfx::Rect(10, 10, 20, 20), 0, 0, 0, 0);
+ TestIterate(no_border, gfx::Rect(30, 40, 100, 100), 0, 0, -1, -1);
+
+ TilingData one_border(gfx::Size(1000, 1000), gfx::Size(30, 40), true);
+ TestIterate(one_border, gfx::Rect(0, 0, 30, 40), 0, 0, 0, 0);
+ TestIterate(one_border, gfx::Rect(10, 10, 20, 20), 0, 0, 0, 0);
+ TestIterate(one_border, gfx::Rect(30, 40, 100, 100), 0, 0, -1, -1);
+
+ TilingData big_border(gfx::Size(1000, 1000), gfx::Size(30, 40), 50);
+ TestIterate(big_border, gfx::Rect(0, 0, 30, 40), 0, 0, 0, 0);
+ TestIterate(big_border, gfx::Rect(10, 10, 20, 20), 0, 0, 0, 0);
+ TestIterate(big_border, gfx::Rect(30, 40, 100, 100), 0, 0, -1, -1);
+}
+
+TEST(TilingDataTest, iteratorNoTiles)
+{
+ TilingData data(gfx::Size(100, 100), gfx::Size(), false);
+ TestIterate(data, gfx::Rect(0, 0, 100, 100), 0, 0, -1, -1);
+}
+
} // namespace
} // namespace cc
« cc/tiling_data.cc ('K') | « cc/tiling_data.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698