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

Unified Diff: content/renderer/manifest/manifest_parser_unittest.cc

Issue 1246953002: content: make theme_color more resilient to casting issues (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address avi@'s comment Created 5 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 | « content/renderer/manifest/manifest_parser.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/manifest/manifest_parser_unittest.cc
diff --git a/content/renderer/manifest/manifest_parser_unittest.cc b/content/renderer/manifest/manifest_parser_unittest.cc
index 1d6793ca3312eeca9b2fda3dbe11c86991429bea..f8ebf3ef391a078ac5b8aea047e0fb376828739a 100644
--- a/content/renderer/manifest/manifest_parser_unittest.cc
+++ b/content/renderer/manifest/manifest_parser_unittest.cc
@@ -10,6 +10,14 @@
namespace content {
+namespace {
+
+uint32_t ExtractColor(int64_t color) {
+ return reinterpret_cast<uint32_t&>(color);
+}
+
+} // anonymous namespace
+
class ManifestParserTest : public testing::Test {
protected:
ManifestParserTest() {}
@@ -988,7 +996,7 @@ TEST_F(ManifestParserTest, ThemeColorParserRules) {
// Smoke test.
{
Manifest manifest = ParseManifest("{ \"theme_color\": \"#FF0000\" }");
- EXPECT_EQ(manifest.theme_color, 0xFFFF0000);
+ EXPECT_EQ(ExtractColor(manifest.theme_color), 0xFFFF0000);
EXPECT_FALSE(manifest.IsEmpty());
EXPECT_EQ(0u, GetErrorCount());
}
@@ -996,7 +1004,7 @@ TEST_F(ManifestParserTest, ThemeColorParserRules) {
// Trim whitespaces.
{
Manifest manifest = ParseManifest("{ \"theme_color\": \" blue \" }");
- EXPECT_EQ(manifest.theme_color, 0xFF0000FF);
+ EXPECT_EQ(ExtractColor(manifest.theme_color), 0xFF0000FF);
EXPECT_EQ(0u, GetErrorCount());
}
@@ -1104,35 +1112,35 @@ TEST_F(ManifestParserTest, ThemeColorParserRules) {
// Accept CSS color keyword format.
{
Manifest manifest = ParseManifest("{ \"theme_color\": \"blue\" }");
- EXPECT_EQ(manifest.theme_color, 0xFF0000FF);
+ EXPECT_EQ(ExtractColor(manifest.theme_color), 0xFF0000FF);
EXPECT_EQ(0u, GetErrorCount());
}
// Accept CSS color keyword format.
{
Manifest manifest = ParseManifest("{ \"theme_color\": \"chartreuse\" }");
- EXPECT_EQ(manifest.theme_color, 0xFF7FFF00);
+ EXPECT_EQ(ExtractColor(manifest.theme_color), 0xFF7FFF00);
EXPECT_EQ(0u, GetErrorCount());
}
// Accept CSS RGB format.
{
Manifest manifest = ParseManifest("{ \"theme_color\": \"#FFF\" }");
- EXPECT_EQ(manifest.theme_color, 0xFFFFFFFF);
+ EXPECT_EQ(ExtractColor(manifest.theme_color), 0xFFFFFFFF);
EXPECT_EQ(0u, GetErrorCount());
}
// Accept CSS RGB format.
{
Manifest manifest = ParseManifest("{ \"theme_color\": \"#ABC\" }");
- EXPECT_EQ(manifest.theme_color, 0xFFAABBCC);
+ EXPECT_EQ(ExtractColor(manifest.theme_color), 0xFFAABBCC);
EXPECT_EQ(0u, GetErrorCount());
}
// Accept CSS RRGGBB format.
{
Manifest manifest = ParseManifest("{ \"theme_color\": \"#FF0000\" }");
- EXPECT_EQ(manifest.theme_color, 0xFFFF0000);
+ EXPECT_EQ(ExtractColor(manifest.theme_color), 0xFFFF0000);
EXPECT_EQ(0u, GetErrorCount());
}
}
« no previous file with comments | « content/renderer/manifest/manifest_parser.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698