diff options
Diffstat (limited to 'chromium/device/bluetooth/bluetooth_device_unittest.cc')
-rw-r--r-- | chromium/device/bluetooth/bluetooth_device_unittest.cc | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/chromium/device/bluetooth/bluetooth_device_unittest.cc b/chromium/device/bluetooth/bluetooth_device_unittest.cc new file mode 100644 index 00000000000..7fb50592536 --- /dev/null +++ b/chromium/device/bluetooth/bluetooth_device_unittest.cc @@ -0,0 +1,59 @@ +// Copyright 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_device.h" + +#include "base/macros.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace device { + +TEST(BluetoothDeviceTest, CanonicalizeAddressFormat_AcceptsAllValidFormats) { + // There are three valid separators (':', '-', and none). + // Case shouldn't matter. + const char* const kValidFormats[] = { + "1A:2B:3C:4D:5E:6F", + "1a:2B:3c:4D:5e:6F", + "1a:2b:3c:4d:5e:6f", + "1A-2B-3C-4D-5E-6F", + "1a-2B-3c-4D-5e-6F", + "1a-2b-3c-4d-5e-6f", + "1A2B3C4D5E6F", + "1a2B3c4D5e6F", + "1a2b3c4d5e6f", + }; + + for (size_t i = 0; i < arraysize(kValidFormats); ++i) { + SCOPED_TRACE(std::string("Input format: '") + kValidFormats[i] + "'"); + EXPECT_EQ("1A:2B:3C:4D:5E:6F", + BluetoothDevice::CanonicalizeAddress(kValidFormats[i])); + } +} + +TEST(BluetoothDeviceTest, CanonicalizeAddressFormat_RejectsInvalidFormats) { + const char* const kValidFormats[] = { + // Empty string. + "", + // Too short. + "1A:2B:3C:4D:5E", + // Too long. + "1A:2B:3C:4D:5E:6F:70", + // Missing a separator. + "1A:2B:3C:4D:5E6F", + // Mixed separators. + "1A:2B-3C:4D-5E:6F", + // Invalid characters. + "1A:2B-3C:4D-5E:6X", + // Separators in the wrong place. + "1:A2:B3:C4:D5:E6F", + }; + + for (size_t i = 0; i < arraysize(kValidFormats); ++i) { + SCOPED_TRACE(std::string("Input format: '") + kValidFormats[i] + "'"); + EXPECT_EQ(std::string(), + BluetoothDevice::CanonicalizeAddress(kValidFormats[i])); + } +} + +} // namespace device |