| // Copyright 2012 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/resources_util.h" |
| |
| #include <stddef.h> |
| |
| #include <array> |
| |
| #include "build/build_config.h" |
| #include "components/grit/components_scaled_resources.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "ui/resources/grit/ui_resources.h" |
| |
| #if BUILDFLAG(IS_CHROMEOS) |
| #include "ui/chromeos/resources/grit/ui_chromeos_resources.h" |
| #endif |
| |
| TEST(ResourcesUtil, SpotCheckIds) { |
| struct Cases { |
| const char* name; |
| int id; |
| }; |
| const auto kCases = std::to_array<Cases>({ |
| // IDRs from chrome/app/theme/theme_resources.grd should be valid. |
| {"IDR_ERROR_NETWORK_GENERIC", IDR_ERROR_NETWORK_GENERIC}, |
| // IDRs from ui/resources/ui_resources.grd should be valid. |
| {"IDR_DEFAULT_FAVICON", IDR_DEFAULT_FAVICON}, |
| #if BUILDFLAG(IS_CHROMEOS) |
| // Check IDRs from ui/chromeos/resources/ui_chromeos_resources.grd. |
| {"IDR_LOGIN_DEFAULT_USER", IDR_LOGIN_DEFAULT_USER}, |
| #endif |
| // Unknown names should be invalid and return -1. |
| {"foobar", -1}, |
| {"backstar", -1}, |
| }); |
| |
| for (size_t i = 0; i < std::size(kCases); ++i) |
| EXPECT_EQ(kCases[i].id, ResourcesUtil::GetThemeResourceId(kCases[i].name)); |
| } |