| Index: device/usb/usb_device_filter_unittest.cc
|
| diff --git a/device/usb/usb_device_filter_unittest.cc b/device/usb/usb_device_filter_unittest.cc
|
| index 1fdccd4f9d6812bc91ce960b1a138c7c64395278..90097f640e71aa126dd0f3d0b09d145b45a8f2d2 100644
|
| --- a/device/usb/usb_device_filter_unittest.cc
|
| +++ b/device/usb/usb_device_filter_unittest.cc
|
| @@ -5,156 +5,55 @@
|
| #include <vector>
|
|
|
| #include "base/memory/ref_counted.h"
|
| +#include "device/usb/usb_descriptors.h"
|
| #include "device/usb/usb_device.h"
|
| #include "device/usb/usb_device_filter.h"
|
| #include "device/usb/usb_device_handle.h"
|
| -#include "device/usb/usb_interface.h"
|
| +#include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace device {
|
|
|
| namespace {
|
|
|
| -class MockUsbInterfaceAltSettingDescriptor
|
| - : public UsbInterfaceAltSettingDescriptor {
|
| - public:
|
| - MockUsbInterfaceAltSettingDescriptor(int interface_number,
|
| - int alternate_setting,
|
| - int interface_class,
|
| - int interface_subclass,
|
| - int interface_protocol)
|
| - : interface_number_(interface_number),
|
| - alternate_setting_(alternate_setting),
|
| - interface_class_(interface_class),
|
| - interface_subclass_(interface_subclass),
|
| - interface_protocol_(interface_protocol) {}
|
| -
|
| - virtual size_t GetNumEndpoints() const OVERRIDE { return 0; }
|
| - virtual scoped_refptr<const UsbEndpointDescriptor> GetEndpoint(
|
| - size_t index) const OVERRIDE {
|
| - return NULL;
|
| - }
|
| - virtual int GetInterfaceNumber() const OVERRIDE { return interface_number_; }
|
| - virtual int GetAlternateSetting() const OVERRIDE {
|
| - return alternate_setting_;
|
| - }
|
| - virtual int GetInterfaceClass() const OVERRIDE { return interface_class_; }
|
| - virtual int GetInterfaceSubclass() const OVERRIDE {
|
| - return interface_subclass_;
|
| - }
|
| - virtual int GetInterfaceProtocol() const OVERRIDE {
|
| - return interface_protocol_;
|
| - }
|
| -
|
| - protected:
|
| - virtual ~MockUsbInterfaceAltSettingDescriptor() {}
|
| -
|
| - private:
|
| - int interface_number_;
|
| - int alternate_setting_;
|
| - int interface_class_;
|
| - int interface_subclass_;
|
| - int interface_protocol_;
|
| -};
|
| -
|
| -typedef std::vector<scoped_refptr<UsbInterfaceAltSettingDescriptor> >
|
| - UsbInterfaceAltSettingDescriptorList;
|
| -
|
| -class MockUsbInterfaceDescriptor : public UsbInterfaceDescriptor {
|
| - public:
|
| - MockUsbInterfaceDescriptor(
|
| - const UsbInterfaceAltSettingDescriptorList& alt_settings)
|
| - : alt_settings_(alt_settings) {}
|
| -
|
| - virtual size_t GetNumAltSettings() const OVERRIDE {
|
| - return alt_settings_.size();
|
| - }
|
| - virtual scoped_refptr<const UsbInterfaceAltSettingDescriptor> GetAltSetting(
|
| - size_t index) const OVERRIDE {
|
| - return alt_settings_[index];
|
| - }
|
| -
|
| - protected:
|
| - virtual ~MockUsbInterfaceDescriptor() {}
|
| -
|
| - private:
|
| - UsbInterfaceAltSettingDescriptorList alt_settings_;
|
| -};
|
| -
|
| -typedef std::vector<scoped_refptr<UsbInterfaceDescriptor> >
|
| - UsbInterfaceDescriptorList;
|
| -
|
| -class MockUsbConfigDescriptor : public UsbConfigDescriptor {
|
| - public:
|
| - MockUsbConfigDescriptor(const UsbInterfaceDescriptorList& interfaces)
|
| - : interfaces_(interfaces) {}
|
| -
|
| - virtual size_t GetNumInterfaces() const OVERRIDE {
|
| - return interfaces_.size();
|
| - }
|
| - virtual scoped_refptr<const UsbInterfaceDescriptor> GetInterface(
|
| - size_t index) const OVERRIDE {
|
| - return interfaces_[index];
|
| - }
|
| -
|
| - protected:
|
| - virtual ~MockUsbConfigDescriptor() {}
|
| -
|
| - private:
|
| - UsbInterfaceDescriptorList interfaces_;
|
| -};
|
| +using testing::NiceMock;
|
| +using testing::ReturnRef;
|
|
|
| class MockUsbDevice : public UsbDevice {
|
| public:
|
| - MockUsbDevice(uint16 vendor_id,
|
| - uint16 product_id,
|
| - uint32 unique_id,
|
| - scoped_refptr<UsbConfigDescriptor> config_desc)
|
| - : UsbDevice(vendor_id, product_id, unique_id),
|
| - config_desc_(config_desc) {}
|
| -
|
| - virtual scoped_refptr<UsbDeviceHandle> Open() OVERRIDE { return NULL; }
|
| - virtual bool Close(scoped_refptr<UsbDeviceHandle> handle) OVERRIDE {
|
| - NOTREACHED();
|
| - return true;
|
| - }
|
| -#if defined(OS_CHROMEOS)
|
| - virtual void RequestUsbAccess(
|
| - int interface_id,
|
| - const base::Callback<void(bool success)>& callback) OVERRIDE {
|
| - NOTREACHED();
|
| - }
|
| -#endif // OS_CHROMEOS
|
| - virtual scoped_refptr<UsbConfigDescriptor> ListInterfaces() OVERRIDE {
|
| - return config_desc_;
|
| - }
|
| + MockUsbDevice(uint16 vendor_id, uint16 product_id, uint32 unique_id)
|
| + : UsbDevice(vendor_id, product_id, unique_id) {}
|
|
|
| - protected:
|
| - virtual ~MockUsbDevice() {}
|
| + MOCK_METHOD0(Open, scoped_refptr<UsbDeviceHandle>());
|
| + MOCK_METHOD1(Close, bool(scoped_refptr<UsbDeviceHandle>));
|
| +#if defined(OS_CHROMEOS)
|
| + MOCK_METHOD2(RequestUsbAccess, void(int, const base::Callback<void(bool)>&));
|
| +#endif
|
| + MOCK_METHOD0(GetConfiguration, const UsbConfigDescriptor&());
|
|
|
| private:
|
| - scoped_refptr<UsbConfigDescriptor> config_desc_;
|
| + virtual ~MockUsbDevice() {}
|
| };
|
|
|
| class UsbFilterTest : public testing::Test {
|
| public:
|
| virtual void SetUp() OVERRIDE {
|
| - UsbInterfaceAltSettingDescriptorList alt_settings;
|
| - alt_settings.push_back(make_scoped_refptr(
|
| - new MockUsbInterfaceAltSettingDescriptor(1, 0, 0xFF, 0x42, 1)));
|
| -
|
| - UsbInterfaceDescriptorList interfaces;
|
| - interfaces.push_back(
|
| - make_scoped_refptr(new MockUsbInterfaceDescriptor(alt_settings)));
|
| -
|
| - scoped_refptr<UsbConfigDescriptor> config_desc(
|
| - new MockUsbConfigDescriptor(interfaces));
|
| -
|
| - android_phone_ = new MockUsbDevice(0x18d1, 0x4ee2, 0, config_desc);
|
| + UsbInterfaceDescriptor interface;
|
| + interface.interface_number = 1;
|
| + interface.alternate_setting = 0;
|
| + interface.interface_class = 0xFF;
|
| + interface.interface_subclass = 0x42;
|
| + interface.interface_protocol = 0x01;
|
| + config_.interfaces.push_back(interface);
|
| +
|
| + android_phone_ = new MockUsbDevice(0x18d1, 0x4ee2, 0);
|
| + ON_CALL(*android_phone_.get(), GetConfiguration())
|
| + .WillByDefault(ReturnRef(config_));
|
| }
|
|
|
| protected:
|
| - scoped_refptr<UsbDevice> android_phone_;
|
| + UsbConfigDescriptor config_;
|
| + scoped_refptr<MockUsbDevice> android_phone_;
|
| };
|
|
|
| TEST_F(UsbFilterTest, MatchAny) {
|
|
|