OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ui/base/resource/resource_bundle.h" | 5 #include "ui/base/resource/resource_bundle.h" |
6 | 6 |
7 #include "base/base_paths.h" | 7 #include "base/base_paths.h" |
8 #include "base/file_path.h" | 8 #include "base/file_path.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 // for both scale factor requests. | 416 // for both scale factor requests. |
417 EXPECT_EQ("this is id 6", resource_bundle->GetRawDataResourceForScale(6, | 417 EXPECT_EQ("this is id 6", resource_bundle->GetRawDataResourceForScale(6, |
418 SCALE_FACTOR_100P)); | 418 SCALE_FACTOR_100P)); |
419 EXPECT_EQ("this is id 6", resource_bundle->GetRawDataResourceForScale(6, | 419 EXPECT_EQ("this is id 6", resource_bundle->GetRawDataResourceForScale(6, |
420 SCALE_FACTOR_200P)); | 420 SCALE_FACTOR_200P)); |
421 } | 421 } |
422 | 422 |
423 // Test requesting image reps at various scale factors from the image returned | 423 // Test requesting image reps at various scale factors from the image returned |
424 // via ResourceBundle::GetImageNamed(). | 424 // via ResourceBundle::GetImageNamed(). |
425 TEST_F(ResourceBundleImageTest, GetImageNamed) { | 425 TEST_F(ResourceBundleImageTest, GetImageNamed) { |
426 FilePath data_path = dir_path().Append(FILE_PATH_LITERAL("sample.pak")); | 426 FilePath data_1x_path = dir_path().AppendASCII("sample_1x.pak"); |
427 FilePath data_2x_path = dir_path().Append(FILE_PATH_LITERAL("sample_2x.pak")); | 427 FilePath data_2x_path = dir_path().AppendASCII("sample_2x.pak"); |
428 | 428 |
429 // Create the pak files. | 429 // Create the pak files. |
430 CreateDataPackWithSingleBitmap(data_path, 10, base::StringPiece()); | 430 CreateDataPackWithSingleBitmap(data_1x_path, 10, base::StringPiece()); |
431 CreateDataPackWithSingleBitmap(data_2x_path, 20, base::StringPiece()); | 431 CreateDataPackWithSingleBitmap(data_2x_path, 20, base::StringPiece()); |
432 | 432 |
433 // Load the regular and 2x pak files. | 433 // Load the regular and 2x pak files. |
434 ResourceBundle* resource_bundle = CreateResourceBundleWithEmptyLocalePak(); | 434 ResourceBundle* resource_bundle = CreateResourceBundleWithEmptyLocalePak(); |
435 resource_bundle->AddDataPackFromPath(data_path, SCALE_FACTOR_100P); | 435 resource_bundle->AddDataPackFromPath(data_1x_path, SCALE_FACTOR_100P); |
436 resource_bundle->AddDataPackFromPath(data_2x_path, SCALE_FACTOR_200P); | 436 resource_bundle->AddDataPackFromPath(data_2x_path, SCALE_FACTOR_200P); |
437 | 437 |
| 438 EXPECT_EQ(SCALE_FACTOR_200P, resource_bundle->max_scale_factor()); |
| 439 |
438 gfx::ImageSkia* image_skia = resource_bundle->GetImageSkiaNamed(3); | 440 gfx::ImageSkia* image_skia = resource_bundle->GetImageSkiaNamed(3); |
439 | 441 |
| 442 #if defined(OS_CHROMEOS) |
| 443 // ChromeOS loads highest scale factor first. |
| 444 EXPECT_EQ(ui::SCALE_FACTOR_200P, image_skia->image_reps()[0].scale_factor()); |
| 445 #else |
| 446 EXPECT_EQ(ui::SCALE_FACTOR_100P, image_skia->image_reps()[0].scale_factor()); |
| 447 #endif |
| 448 |
440 // Resource ID 3 exists in both 1x and 2x paks. Image reps should be | 449 // Resource ID 3 exists in both 1x and 2x paks. Image reps should be |
441 // available for both scale factors in |image_skia|. | 450 // available for both scale factors in |image_skia|. |
442 gfx::ImageSkiaRep image_rep = | 451 gfx::ImageSkiaRep image_rep = |
443 image_skia->GetRepresentation(ui::SCALE_FACTOR_100P); | 452 image_skia->GetRepresentation(ui::SCALE_FACTOR_100P); |
444 EXPECT_EQ(ui::SCALE_FACTOR_100P, image_rep.scale_factor()); | 453 EXPECT_EQ(ui::SCALE_FACTOR_100P, image_rep.scale_factor()); |
445 image_rep = image_skia->GetRepresentation(ui::SCALE_FACTOR_200P); | 454 image_rep = image_skia->GetRepresentation(ui::SCALE_FACTOR_200P); |
446 EXPECT_EQ(ui::SCALE_FACTOR_200P, image_rep.scale_factor()); | 455 EXPECT_EQ(ui::SCALE_FACTOR_200P, image_rep.scale_factor()); |
447 | 456 |
448 // The 1.4x pack was not loaded. Requesting the 1.4x resource should return | 457 // The 1.4x pack was not loaded. Requesting the 1.4x resource should return |
449 // either the 1x or the 2x resource. | 458 // either the 1x or the 2x resource. |
(...skipping 25 matching lines...) Expand all Loading... |
475 | 484 |
476 // The image rep for 2x should be available. It should be resized to the | 485 // The image rep for 2x should be available. It should be resized to the |
477 // proper 2x size. | 486 // proper 2x size. |
478 gfx::ImageSkiaRep image_rep = | 487 gfx::ImageSkiaRep image_rep = |
479 image_skia->GetRepresentation(ui::SCALE_FACTOR_200P); | 488 image_skia->GetRepresentation(ui::SCALE_FACTOR_200P); |
480 EXPECT_EQ(ui::SCALE_FACTOR_200P, image_rep.scale_factor()); | 489 EXPECT_EQ(ui::SCALE_FACTOR_200P, image_rep.scale_factor()); |
481 EXPECT_EQ(20, image_rep.pixel_width()); | 490 EXPECT_EQ(20, image_rep.pixel_width()); |
482 EXPECT_EQ(20, image_rep.pixel_height()); | 491 EXPECT_EQ(20, image_rep.pixel_height()); |
483 } | 492 } |
484 | 493 |
| 494 TEST_F(ResourceBundleImageTest, FallbackToNone) { |
| 495 FilePath data_default_path = dir_path().AppendASCII("sample.pak"); |
| 496 |
| 497 // Create the pak files. |
| 498 CreateDataPackWithSingleBitmap(data_default_path, 10, base::StringPiece()); |
| 499 |
| 500 // Load the regular pak files only. |
| 501 ResourceBundle* resource_bundle = CreateResourceBundleWithEmptyLocalePak(); |
| 502 resource_bundle->AddDataPackFromPath(data_default_path, SCALE_FACTOR_NONE); |
| 503 |
| 504 gfx::ImageSkia* image_skia = resource_bundle->GetImageSkiaNamed(3); |
| 505 EXPECT_EQ(1u, image_skia->image_reps().size()); |
| 506 EXPECT_EQ(ui::SCALE_FACTOR_100P, |
| 507 image_skia->image_reps()[0].scale_factor()); |
| 508 } |
| 509 |
485 } // namespace ui | 510 } // namespace ui |
OLD | NEW |