#include <memory>
#include <string>
#include <utility>
#include "base/memory/ref_counted.h"
#include "base/run_loop.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/usb/usb_chooser_context.h"
#include "chrome/browser/usb/usb_chooser_context_factory.h"
#include "chrome/browser/usb/usb_chooser_controller.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "chrome/test/base/testing_profile.h"
#include "components/permissions/mock_chooser_controller_view.h"
#include "content/public/test/web_contents_tester.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/device/public/cpp/test/fake_usb_device_manager.h"
#include "services/device/public/mojom/usb_device.mojom.h"
#include "services/device/public/mojom/usb_enumeration_options.mojom.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/usb/web_usb_service.mojom-blink.h"
#include "url/gurl.h"
NiceMock;
namespace {
const char kDefaultTestUrl[] = …;
}
class UsbChooserControllerTest : public ChromeRenderViewHostTestHarness { … };
TEST_F(UsbChooserControllerTest, AddDevice) { … }
TEST_F(UsbChooserControllerTest, RemoveDevice) { … }
TEST_F(UsbChooserControllerTest, AddAndRemoveDeviceWithSameName) { … }
TEST_F(UsbChooserControllerTest, UnknownDeviceName) { … }
TEST_F(UsbChooserControllerTest, FilterMatchingDeviceVendorId) { … }
TEST_F(UsbChooserControllerTest, FilterMatchingDeviceProductId) { … }
TEST_F(UsbChooserControllerTest, FilterExcludeMatchingDeviceVendorId) { … }
TEST_F(UsbChooserControllerTest, FilterExcludeMatchingDeviceProductId) { … }