| // Copyright 2015 The Chromium OS 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 "shill/net/nl80211_attribute.h" |
| |
| #include <gmock/gmock.h> |
| #include <gtest/gtest.h> |
| |
| #include "shill/net/byte_string.h" |
| |
| using testing::Test; |
| |
| namespace shill { |
| |
| class Nl80211AttributeTest : public Test {}; |
| |
| TEST_F(Nl80211AttributeTest, RegInitiatorDecode) { |
| Nl80211AttributeRegInitiator empty_attribute; |
| EXPECT_FALSE(empty_attribute.InitFromValue(ByteString())); |
| |
| const uint8_t kU8Value = 123; |
| ByteString u8_value(&kU8Value, 1); |
| Nl80211AttributeRegInitiator u8_attribute; |
| EXPECT_TRUE(u8_attribute.InitFromValue(u8_value)); |
| uint32_t value_from_u8_attribute; |
| EXPECT_TRUE(u8_attribute.GetU32Value(&value_from_u8_attribute)); |
| EXPECT_EQ(kU8Value, value_from_u8_attribute); |
| |
| const uint32_t kU32Value = 123456790U; |
| ByteString u32_value = ByteString::CreateFromCPUUInt32(kU32Value); |
| Nl80211AttributeRegInitiator u32_attribute; |
| EXPECT_TRUE(u32_attribute.InitFromValue(u32_value)); |
| uint32_t value_from_u32_attribute; |
| EXPECT_TRUE(u32_attribute.GetU32Value(&value_from_u32_attribute)); |
| EXPECT_EQ(kU32Value, value_from_u32_attribute); |
| } |
| |
| } // namespace shill |