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

Unified Diff: ui/gfx/image/image_skia_unittest.cc

Issue 372883002: Use 2x resources for 1.25 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updated test Created 6 years, 5 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
« no previous file with comments | « ui/gfx/image/image_skia.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/image/image_skia_unittest.cc
diff --git a/ui/gfx/image/image_skia_unittest.cc b/ui/gfx/image/image_skia_unittest.cc
index e3e93c73b78989d832203c2b075319e1581979a3..b178a04724ba9d9f9c6f6ba8f0913beca1130a29 100644
--- a/ui/gfx/image/image_skia_unittest.cc
+++ b/ui/gfx/image/image_skia_unittest.cc
@@ -423,6 +423,20 @@ TEST_F(ImageSkiaTest, Unscaled) {
EXPECT_FALSE(image_skia.GetRepresentation(2.0f).unscaled());
}
+namespace {
+
+std::vector<float> GetSortedScaleFactors(const gfx::ImageSkia& image) {
+ const std::vector<ImageSkiaRep>& image_reps = image.image_reps();
+ std::vector<float> scale_factors;
+ for (size_t i = 0; i < image_reps.size(); ++i) {
+ scale_factors.push_back(image_reps[i].scale());
+ }
+ std::sort(scale_factors.begin(), scale_factors.end());
+ return scale_factors;
+}
+
+} // namespace
+
TEST_F(ImageSkiaTest, ArbitraryScaleFactor) {
// Do not test if the ImageSkia doesn't support arbitrary scale factors.
if (!ImageSkia::IsDSFScalingInImageSkiaEnabled())
@@ -437,11 +451,7 @@ TEST_F(ImageSkiaTest, ArbitraryScaleFactor) {
std::vector<ImageSkiaRep> image_reps = image.image_reps();
EXPECT_EQ(2u, image_reps.size());
- std::vector<float> scale_factors;
- for (size_t i = 0; i < image_reps.size(); ++i) {
- scale_factors.push_back(image_reps[i].scale());
- }
- std::sort(scale_factors.begin(), scale_factors.end());
+ std::vector<float> scale_factors = GetSortedScaleFactors(image);
EXPECT_EQ(1.5f, scale_factors[0]);
EXPECT_EQ(2.0f, scale_factors[1]);
@@ -452,45 +462,57 @@ TEST_F(ImageSkiaTest, ArbitraryScaleFactor) {
image_reps = image.image_reps();
EXPECT_EQ(3u, image_reps.size());
- scale_factors.clear();
- for (size_t i = 0; i < image_reps.size(); ++i) {
- scale_factors.push_back(image_reps[i].scale());
- }
- std::sort(scale_factors.begin(), scale_factors.end());
+ scale_factors = GetSortedScaleFactors(image);
EXPECT_EQ(1.5f, scale_factors[0]);
EXPECT_EQ(1.75f, scale_factors[1]);
EXPECT_EQ(2.0f, scale_factors[2]);
- // 1.25 is falled back to 1.0.
+ // Requesting 1.25 scale factor also falls back to 2.0f and rescale.
+ // However, the image already has the 2.0f data, so it won't fetch again.
image.GetRepresentation(1.25f);
+ EXPECT_EQ(0.0f, source->GetLastRequestedScaleAndReset());
+ image_reps = image.image_reps();
+ EXPECT_EQ(4u, image_reps.size());
+ scale_factors = GetSortedScaleFactors(image);
+ EXPECT_EQ(1.25f, scale_factors[0]);
+ EXPECT_EQ(1.5f, scale_factors[1]);
+ EXPECT_EQ(1.75f, scale_factors[2]);
+ EXPECT_EQ(2.0f, scale_factors[3]);
+
+ // 1.20 is falled back to 1.0.
+ image.GetRepresentation(1.20f);
EXPECT_EQ(1.0f, source->GetLastRequestedScaleAndReset());
image_reps = image.image_reps();
- EXPECT_EQ(5u, image_reps.size());
+ EXPECT_EQ(6u, image_reps.size());
+ scale_factors = GetSortedScaleFactors(image);
+ EXPECT_EQ(1.0f, scale_factors[0]);
+ EXPECT_EQ(1.2f, scale_factors[1]);
+ EXPECT_EQ(1.25f, scale_factors[2]);
+ EXPECT_EQ(1.5f, scale_factors[3]);
+ EXPECT_EQ(1.75f, scale_factors[4]);
+ EXPECT_EQ(2.0f, scale_factors[5]);
// Scale factor less than 1.0f will be falled back to 1.0f
image.GetRepresentation(0.75f);
EXPECT_EQ(0.0f, source->GetLastRequestedScaleAndReset());
image_reps = image.image_reps();
- EXPECT_EQ(6u, image_reps.size());
+ EXPECT_EQ(7u, image_reps.size());
- scale_factors.clear();
- for (size_t i = 0; i < image_reps.size(); ++i) {
- scale_factors.push_back(image_reps[i].scale());
- }
- std::sort(scale_factors.begin(), scale_factors.end());
+ scale_factors = GetSortedScaleFactors(image);
EXPECT_EQ(0.75f, scale_factors[0]);
EXPECT_EQ(1.0f, scale_factors[1]);
- EXPECT_EQ(1.25f, scale_factors[2]);
- EXPECT_EQ(1.5f, scale_factors[3]);
- EXPECT_EQ(1.75f, scale_factors[4]);
- EXPECT_EQ(2.0f, scale_factors[5]);
+ EXPECT_EQ(1.2f, scale_factors[2]);
+ EXPECT_EQ(1.25f, scale_factors[3]);
+ EXPECT_EQ(1.5f, scale_factors[4]);
+ EXPECT_EQ(1.75f, scale_factors[5]);
+ EXPECT_EQ(2.0f, scale_factors[6]);
// Scale factor greater than 2.0f is falled back to 2.0f because it's not
// supported.
image.GetRepresentation(3.0f);
EXPECT_EQ(0.0f, source->GetLastRequestedScaleAndReset());
image_reps = image.image_reps();
- EXPECT_EQ(7u, image_reps.size());
+ EXPECT_EQ(8u, image_reps.size());
}
TEST_F(ImageSkiaTest, ArbitraryScaleFactorWithMissingResource) {
« no previous file with comments | « ui/gfx/image/image_skia.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698