blob: 1abc5c2f29b55806cf7dcf3a2bc969c6405ebe68 [file] [log] [blame]
// 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));
}