Index: device/bluetooth/bluetooth_uuid_unittest.cc |
diff --git a/device/bluetooth/bluetooth_uuid_unittest.cc b/device/bluetooth/bluetooth_uuid_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5424a2d1e6e5da5fe8f69c2af2a101dfcfd898a6 |
--- /dev/null |
+++ b/device/bluetooth/bluetooth_uuid_unittest.cc |
@@ -0,0 +1,76 @@ |
+// Copyright (c) 2014 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 "device/bluetooth/bluetooth_uuid.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace device { |
+ |
+TEST(BluetoothUUIDTest, MainTest) { |
+ const char kValid128Bit0[] = "12345678-1234-5678-9abc-def123456789"; |
+ const char kValid128Bit1[] = "00001101-0000-1000-8000-00805f9b34fb"; |
+ const char kInvalid36Char0[] = "1234567-1234-5678-9abc-def123456789"; |
+ const char kInvalid36Char1[] = "0x00001101-0000-1000-8000-00805f9b34fb"; |
+ const char kInvalid4Char[] = "Z101"; |
+ const char kValid16Bit[] = "0x1101"; |
+ const char kValid32Bit[] = "00001101"; |
+ |
+ // Valid 128-bit custom UUID. |
+ BluetoothUUID uuid0(kValid128Bit0); |
+ EXPECT_TRUE(uuid0.IsValid()); |
+ EXPECT_EQ(BluetoothUUID::kFormat128Bit, uuid0.format()); |
+ EXPECT_EQ(uuid0.value(), uuid0.canonical_value()); |
+ |
+ // Valid 128-bit UUID. |
+ BluetoothUUID uuid1(kValid128Bit1); |
+ EXPECT_TRUE(uuid1.IsValid()); |
+ EXPECT_EQ(BluetoothUUID::kFormat128Bit, uuid1.format()); |
+ EXPECT_EQ(uuid1.value(), uuid1.canonical_value()); |
+ |
+ EXPECT_NE(uuid0, uuid1); |
+ |
+ // Invalid 128-bit UUID. |
+ BluetoothUUID uuid2(kInvalid36Char0); |
+ EXPECT_FALSE(uuid2.IsValid()); |
+ EXPECT_EQ(BluetoothUUID::kFormatInvalid, uuid2.format()); |
+ EXPECT_TRUE(uuid2.value().empty()); |
+ EXPECT_TRUE(uuid2.canonical_value().empty()); |
+ |
+ // Invalid 128-bit UUID. |
+ BluetoothUUID uuid3(kInvalid36Char1); |
+ EXPECT_FALSE(uuid3.IsValid()); |
+ EXPECT_EQ(BluetoothUUID::kFormatInvalid, uuid3.format()); |
+ EXPECT_TRUE(uuid3.value().empty()); |
+ EXPECT_TRUE(uuid3.canonical_value().empty()); |
+ |
+ // Invalid 16-bit UUID. |
+ BluetoothUUID uuid4(kInvalid4Char); |
+ EXPECT_FALSE(uuid4.IsValid()); |
+ EXPECT_EQ(BluetoothUUID::kFormatInvalid, uuid4.format()); |
+ EXPECT_TRUE(uuid4.value().empty()); |
+ EXPECT_TRUE(uuid4.canonical_value().empty()); |
+ |
+ // Valid 16-bit UUID. |
+ BluetoothUUID uuid5(kValid16Bit); |
+ EXPECT_TRUE(uuid5.IsValid()); |
+ EXPECT_EQ(BluetoothUUID::kFormat16Bit, uuid5.format()); |
+ EXPECT_NE(uuid5.value(), uuid5.canonical_value()); |
+ EXPECT_EQ("1101", uuid5.value()); |
+ EXPECT_EQ(kValid128Bit1, uuid5.canonical_value()); |
+ |
+ // Valid 32-bit UUID. |
+ BluetoothUUID uuid6(kValid32Bit); |
+ EXPECT_TRUE(uuid6.IsValid()); |
+ EXPECT_EQ(BluetoothUUID::kFormat32Bit, uuid6.format()); |
+ EXPECT_NE(uuid6.value(), uuid6.canonical_value()); |
+ EXPECT_EQ("00001101", uuid6.value()); |
+ EXPECT_EQ(kValid128Bit1, uuid6.canonical_value()); |
+ |
+ // uuid5, uuid6, and uuid1 are equivalent. |
+ EXPECT_EQ(uuid5, uuid6); |
+ EXPECT_EQ(uuid1, uuid5); |
+ EXPECT_EQ(uuid1, uuid6); |
+} |
+ |
+} // namespace device |