blob: 48e40594b1786bf3253ede5a39b42bdd4a024f30 [file] [log] [blame] [edit]
/*
* 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