| // Copyright 2016 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 "base/command_line.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "content/public/test/test_utils.h" |
| #import "testing/gtest_mac.h" |
| #include "ui/base/material_design/material_design_controller.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/base/resource/resource_handle.h" |
| #include "ui/base/resource/scale_factor.h" |
| #include "ui/base/ui_base_switches.h" |
| |
| namespace ui { |
| |
| class ChromeBrowserMainMacBrowserTest : public InProcessBrowserTest { |
| public: |
| ChromeBrowserMainMacBrowserTest() {} |
| |
| protected: |
| void SetUpCommandLine(base::CommandLine* command_line) override { |
| // Activate Material Design mode by placing the MD switch on the command |
| // line. |
| command_line->AppendSwitchASCII(switches::kTopChromeMD, |
| switches::kTopChromeMDMaterial); |
| } |
| }; |
| |
| // Confirm that the Material Design resource packs are loaded and are the |
| // first packs in the vector (so that they are searched before the regular non- |
| // MD packs). TODO(shrike) - remove this test once Material Design replaces |
| // the old design. |
| IN_PROC_BROWSER_TEST_F(ChromeBrowserMainMacBrowserTest, MDResourceAccess) { |
| // Make sure we're running in Material Design mode. |
| ASSERT_TRUE(MaterialDesignController::IsModeMaterial()); |
| |
| ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| int counter = 0; |
| for (const auto& pack : rb.data_packs_) { |
| switch (counter) { |
| case 0: |
| // The first pack should be Material Design at 1x. |
| EXPECT_TRUE(pack->HasOnlyMaterialDesignAssets()); |
| EXPECT_EQ(SCALE_FACTOR_100P, pack->GetScaleFactor()); |
| break; |
| |
| case 1: |
| // The Second pack should be Material Design at 2x. |
| EXPECT_TRUE(pack->HasOnlyMaterialDesignAssets()); |
| EXPECT_EQ(SCALE_FACTOR_200P, pack->GetScaleFactor()); |
| break; |
| |
| default: |
| // All other packs should not be Material Design. |
| EXPECT_FALSE(pack->HasOnlyMaterialDesignAssets()); |
| break; |
| } |
| counter++; |
| } |
| } |
| |
| } // namespace ui |