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

Unified Diff: ui/base/resource/resource_bundle_mac_unittest.mm

Issue 2209363002: Remove material design resource pak infrastructure (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove another mac test file Created 4 years, 4 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/base/resource/resource_bundle_mac.mm ('k') | ui/base/resource/resource_bundle_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/resource/resource_bundle_mac_unittest.mm
diff --git a/ui/base/resource/resource_bundle_mac_unittest.mm b/ui/base/resource/resource_bundle_mac_unittest.mm
deleted file mode 100644
index bbae9928e5f525f047eab4614ad14774e71679bf..0000000000000000000000000000000000000000
--- a/ui/base/resource/resource_bundle_mac_unittest.mm
+++ /dev/null
@@ -1,205 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ui/base/resource/resource_bundle.h"
-
-#import <AppKit/AppKit.h>
-#include <stddef.h>
-#include <stdint.h>
-
-#include "base/base_paths.h"
-#include "base/big_endian.h"
-#include "base/files/file_path.h"
-#include "base/files/file_util.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/logging.h"
-#include "base/macros.h"
-#include "base/memory/ref_counted_memory.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/base/resource/data_pack.h"
-#include "ui/gfx/codec/png_codec.h"
-#include "ui/gfx/image/image_skia.h"
-#include "ui/resources/grit/ui_resources.h"
-#include "ui/strings/grit/app_locale_settings.h"
-
-namespace ui {
-
-extern const char kEmptyPakContents[];
-extern const size_t kEmptyPakSize;
-
-namespace {
-
-const unsigned char kPngMagic[8] = { 0x89, 'P', 'N', 'G', 13, 10, 26, 10 };
-const size_t kPngChunkMetadataSize = 12;
-const unsigned char kPngIHDRChunkType[4] = { 'I', 'H', 'D', 'R' };
-
-// Returns |bitmap_data| with |custom_chunk| inserted after the IHDR chunk.
-void AddCustomChunk(const base::StringPiece& custom_chunk,
- std::vector<unsigned char>* bitmap_data) {
- EXPECT_LT(arraysize(kPngMagic) + kPngChunkMetadataSize, bitmap_data->size());
- EXPECT_TRUE(std::equal(
- bitmap_data->begin(),
- bitmap_data->begin() + arraysize(kPngMagic),
- kPngMagic));
- std::vector<unsigned char>::iterator ihdr_start =
- bitmap_data->begin() + arraysize(kPngMagic);
- char ihdr_length_data[sizeof(uint32_t)];
- for (size_t i = 0; i < sizeof(uint32_t); ++i)
- ihdr_length_data[i] = *(ihdr_start + i);
- uint32_t ihdr_chunk_length = 0;
- base::ReadBigEndian(reinterpret_cast<char*>(ihdr_length_data),
- &ihdr_chunk_length);
- EXPECT_TRUE(
- std::equal(ihdr_start + sizeof(uint32_t),
- ihdr_start + sizeof(uint32_t) + sizeof(kPngIHDRChunkType),
- kPngIHDRChunkType));
-
- bitmap_data->insert(ihdr_start + kPngChunkMetadataSize + ihdr_chunk_length,
- custom_chunk.begin(), custom_chunk.end());
-}
-
-// Creates datapack at |path| with a single bitmap at resource ID 3
-// which is |edge_size|x|edge_size| pixels.
-// If |custom_chunk| is non empty, adds it after the IHDR chunk
-// in the encoded bitmap data.
-void CreateDataPackWithSingleBitmap(const base::FilePath& path,
- int edge_size,
- const base::StringPiece& custom_chunk) {
- SkBitmap bitmap;
- bitmap.allocN32Pixels(edge_size, edge_size);
- bitmap.eraseColor(SK_ColorWHITE);
- std::vector<unsigned char> bitmap_data;
- EXPECT_TRUE(gfx::PNGCodec::EncodeBGRASkBitmap(bitmap, false, &bitmap_data));
-
- if (custom_chunk.size() > 0)
- AddCustomChunk(custom_chunk, &bitmap_data);
-
- std::map<uint16_t, base::StringPiece> resources;
- resources[3u] = base::StringPiece(
- reinterpret_cast<const char*>(&bitmap_data[0]), bitmap_data.size());
- DataPack::WritePack(path, resources, ui::DataPack::BINARY);
-}
-
-} // namespace
-
-class ResourceBundleMacImageTest : public testing::Test {
- public:
- ResourceBundleMacImageTest() : resource_bundle_(NULL) {}
-
- ~ResourceBundleMacImageTest() override {}
-
- void SetUp() override {
- // Create a temporary directory to write test resource bundles to.
- ASSERT_TRUE(dir_.CreateUniqueTempDir());
- }
-
- // Overridden from testing::Test:
- void TearDown() override { delete resource_bundle_; }
-
- // Returns new ResoureBundle with the specified |delegate|. The
- // ResourceBundleTest class manages the lifetime of the returned
- // ResourceBundle.
- ResourceBundle* CreateResourceBundle(ResourceBundle::Delegate* delegate) {
- DCHECK(!resource_bundle_);
-
- resource_bundle_ = new ResourceBundle(delegate);
- return resource_bundle_;
- }
-
- // Returns resource bundle which uses an empty data pak for locale data.
- ui::ResourceBundle* CreateResourceBundleWithEmptyLocalePak() {
- // Write an empty data pak for locale data.
- const base::FilePath& locale_path = dir_path().Append(
- FILE_PATH_LITERAL("locale.pak"));
- EXPECT_EQ(base::WriteFile(locale_path, kEmptyPakContents, kEmptyPakSize),
- static_cast<int>(kEmptyPakSize));
-
- ui::ResourceBundle* resource_bundle = CreateResourceBundle(NULL);
-
- // Load the empty locale data pak.
- resource_bundle->LoadTestResources(base::FilePath(), locale_path);
- return resource_bundle;
- }
-
- // Returns the path of temporary directory to write test data packs into.
- const base::FilePath& dir_path() { return dir_.path(); }
-
- // Returns the number of DataPacks managed by |resource_bundle| which are
- // flagged as containing only material design resources.
- size_t NumberOfMaterialDesignDataPacksInResourceBundle(
- ResourceBundle* resource_bundle) {
- DCHECK(resource_bundle);
- size_t num_material_packs = 0;
- for (size_t i = 0; i < resource_bundle->data_packs_.size(); i++) {
- if (resource_bundle->data_packs_[i]->HasOnlyMaterialDesignAssets())
- num_material_packs++;
- }
-
- return num_material_packs;
- }
-
-protected:
- ResourceBundle* resource_bundle_;
-
- private:
- std::unique_ptr<DataPack> locale_pack_;
- base::ScopedTempDir dir_;
-
- DISALLOW_COPY_AND_ASSIGN(ResourceBundleMacImageTest);
-};
-
-// Verifies that ResourceBundle searches the Material Design data pack before
-// the default data pack, and that the returned image contains only the
-// representation from the Material Design pack.
-TEST_F(ResourceBundleMacImageTest, CheckImageFromMaterialDesign) {
- // Create two .pak files, each containing a single image with the
- // same asset ID but different sizes (note that the images must be
- // different sizes in this test in order to correctly determine
- // from which data pack the asset was pulled). Note also that the value
- // of |material_size| was chosen to be divisible by 3, since iOS may
- // use this scale factor.
- const int default_size = 10;
- const int material_size = 48;
- ASSERT_NE(default_size, material_size);
- base::FilePath default_path = dir_path().AppendASCII("default.pak");
- base::FilePath material_path = dir_path().AppendASCII("material.pak");
- CreateDataPackWithSingleBitmap(default_path,
- default_size,
- base::StringPiece());
- CreateDataPackWithSingleBitmap(material_path,
- material_size,
- base::StringPiece());
-
- ScaleFactor scale_factor = SCALE_FACTOR_100P;
- ResourceBundle* resource_bundle = CreateResourceBundleWithEmptyLocalePak();
-
- // Load the 'material' data pack into ResourceBundle first.
- resource_bundle->AddMaterialDesignDataPackFromPath(material_path,
- scale_factor);
- resource_bundle->AddDataPackFromPath(default_path, scale_factor);
-
- // Confirm that there are two data packs available.
- const unsigned int data_packs_size = resource_bundle->data_packs_.size();
- const unsigned int expected_size = 2;
- EXPECT_EQ(expected_size, data_packs_size);
-
- const size_t md_data_pack_count =
- NumberOfMaterialDesignDataPacksInResourceBundle(resource_bundle);
- const size_t expected_pack_count = 1;
- EXPECT_EQ(expected_pack_count, md_data_pack_count);
-
- // Normally with two packs containing the same image, GetNativeImageNamed()
- // returns an NSImage that contains both representations. With the Material
- // Design pack, any images it contains should override the ones in the default
- // pack, so if both packs contain the same image, the returned NSImage should
- // contain just a single representation.
- NSImage* icon = resource_bundle->GetNativeImageNamed(3).ToNSImage();
- const unsigned long representations_count = [[icon representations] count];
- const unsigned long expected_count = 1;
- EXPECT_EQ(expected_count, representations_count);
-}
-
-} // namespace ui
« no previous file with comments | « ui/base/resource/resource_bundle_mac.mm ('k') | ui/base/resource/resource_bundle_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698