| /* |
| * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| #include "modules/desktop_capture/rgba_color.h" |
| |
| #include <cstdint> |
| #include <vector> |
| |
| #include "test/gtest.h" |
| |
| namespace webrtc { |
| |
| TEST(RgbaColorTest, ConvertFromAndToUInt32) { |
| static const std::vector<uint32_t> cases{ |
| 0, 1000, 2693, 3725, 4097, 12532, |
| 19902, 27002, 27723, 30944, 65535, 65536, |
| 231194, 255985, 322871, 883798, 9585200, 12410056, |
| 12641940, 30496970, 105735668, 110117847, 482769275, 542368468, |
| 798173396, 2678656711, 3231043200, UINT32_MAX, |
| }; |
| |
| for (uint32_t value : cases) { |
| RgbaColor left(value); |
| ASSERT_EQ(left.ToUInt32(), value); |
| RgbaColor right(left); |
| ASSERT_EQ(left.ToUInt32(), right.ToUInt32()); |
| } |
| } |
| |
| TEST(RgbaColorTest, AlphaChannelEquality) { |
| RgbaColor left(10, 10, 10, 0); |
| RgbaColor right(10, 10, 10, 255); |
| ASSERT_EQ(left, right); |
| right.alpha = 128; |
| ASSERT_NE(left, right); |
| } |
| |
| } // namespace webrtc |