summaryrefslogtreecommitdiffstats
path: root/cc/resources/platform_color_unittest.cc
blob: 83f65b6dda65bc1b05f89181f5aa3e5c224641c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Copyright 2015 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 "cc/resources/platform_color.h"

#include <stddef.h>

#include "testing/gtest/include/gtest/gtest.h"

namespace cc {
namespace {

// Verify SameComponentOrder on this platform.
TEST(PlatformColorTest, SameComponentOrder) {
  bool rgba = !!SK_B32_SHIFT;

  for (size_t i = 0; i <= RESOURCE_FORMAT_MAX; ++i) {
    ResourceFormat format = static_cast<ResourceFormat>(i);
    switch (format) {
      case RGBA_8888:
        EXPECT_EQ(rgba, PlatformColor::SameComponentOrder(format));
        break;
      case BGRA_8888:
        EXPECT_NE(rgba, PlatformColor::SameComponentOrder(format));
        break;
      // The following formats are not platform colors.
      case ALPHA_8:
      case LUMINANCE_8:
      case RGB_565:
      case RGBA_4444:
      case ETC1:
      case RED_8:
      case LUMINANCE_F16:
        break;
    }
  }
}

}  // namespace
}  // namespace cc