Commit d1a3bd04 authored by Robert Liao's avatar Robert Liao Committed by Commit Bot

Introduce PrintableSkColor

PrintableSkColor transforms the test error output from...
  original
    Which is: 4293454573
to
  original
    Which is: SkColorARGB(0xff, 0xe8, 0xea, 0xed)

Because SkColor is type aliased to uint32_t, a simple overload of
operator<< will not pick it up, requiring a type container to
trigger the overload.

BUG=

Change-Id: I56217ca8e166441f7fca0a257b7f5591469729d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2116894
Commit-Queue: Robert Liao <robliao@chromium.org>
Auto-Submit: Robert Liao <robliao@chromium.org>
Reviewed-by: default avatarPeter Kasting <pkasting@chromium.org>
Cr-Commit-Position: refs/heads/master@{#752632}
parent d357032d
...@@ -4,6 +4,9 @@ ...@@ -4,6 +4,9 @@
#include "ui/native_theme/native_theme.h" #include "ui/native_theme/native_theme.h"
#include <ostream>
#include "base/strings/stringprintf.h"
#include "base/test/scoped_feature_list.h" #include "base/test/scoped_feature_list.h"
#include "testing/gtest/include/gtest/gtest.h" #include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/ui_base_features.h" #include "ui/base/ui_base_features.h"
...@@ -19,6 +22,25 @@ constexpr const char* kColorIdStringName[] = { ...@@ -19,6 +22,25 @@ constexpr const char* kColorIdStringName[] = {
#undef OP #undef OP
}; };
struct PrintableSkColor {
bool operator==(const PrintableSkColor& other) const {
return color == other.color;
}
bool operator!=(const PrintableSkColor& other) const {
return !operator==(other);
}
const SkColor color;
};
std::ostream& operator<<(std::ostream& os, PrintableSkColor printable_color) {
SkColor color = printable_color.color;
return os << base::StringPrintf("SkColorARGB(0x%02x, 0x%02x, 0x%02x, 0x%02x)",
SkColorGetA(color), SkColorGetR(color),
SkColorGetG(color), SkColorGetB(color));
}
class NativeThemeRedirectedEquivalenceTest class NativeThemeRedirectedEquivalenceTest
: public testing::TestWithParam<NativeTheme::ColorId> { : public testing::TestWithParam<NativeTheme::ColorId> {
public: public:
...@@ -42,11 +64,11 @@ TEST_P(NativeThemeRedirectedEquivalenceTest, NativeUiGetSystemColor) { ...@@ -42,11 +64,11 @@ TEST_P(NativeThemeRedirectedEquivalenceTest, NativeUiGetSystemColor) {
NativeTheme* native_theme = NativeTheme::GetInstanceForNativeUi(); NativeTheme* native_theme = NativeTheme::GetInstanceForNativeUi();
NativeTheme::ColorId color_id = GetParam(); NativeTheme::ColorId color_id = GetParam();
SkColor original = native_theme->GetSystemColor(color_id); PrintableSkColor original{native_theme->GetSystemColor(color_id)};
base::test::ScopedFeatureList scoped_feature_list; base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitAndEnableFeature(features::kColorProviderRedirection); scoped_feature_list.InitAndEnableFeature(features::kColorProviderRedirection);
SkColor redirected = native_theme->GetSystemColor(color_id); PrintableSkColor redirected{native_theme->GetSystemColor(color_id)};
EXPECT_EQ(original, redirected); EXPECT_EQ(original, redirected);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment