#include "services/device/public/cpp/hid/hid_blocklist.h"
#include <string_view>
#include "base/command_line.h"
#include "base/memory/raw_ref.h"
#include "base/test/scoped_feature_list.h"
#include "base/uuid.h"
#include "services/device/public/cpp/hid/hid_switches.h"
#include "services/device/public/cpp/test/hid_test_util.h"
#include "services/device/public/cpp/test/test_report_descriptors.h"
#include "services/device/public/mojom/hid.mojom.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace device {
namespace {
ElementsAre;
constexpr uint16_t kTestVendorId = …;
constexpr uint16_t kTestProductId = …;
constexpr uint16_t kTestUsagePage = …;
constexpr uint16_t kTestUsage = …;
constexpr uint8_t kNoReportId = …;
constexpr uint8_t kTestReportId = …;
class HidBlocklistTest : public testing::Test { … };
}
TEST_F(HidBlocklistTest, StringsWithNoValidEntries) { … }
TEST_F(HidBlocklistTest, UnexcludedDevice) { … }
TEST_F(HidBlocklistTest, UnexcludedDeviceWithNoCollections) { … }
TEST_F(HidBlocklistTest, VendorRule) { … }
TEST_F(HidBlocklistTest, VendorProductRule) { … }
TEST_F(HidBlocklistTest, ExcludedDeviceAllowedWithFlag) { … }
TEST_F(HidBlocklistTest, ProductRuleWithoutVendorDoesNothing) { … }
TEST_F(HidBlocklistTest, UsagePageRule) { … }
TEST_F(HidBlocklistTest, UsagePageAndUsageRule) { … }
TEST_F(HidBlocklistTest, UsageRuleWithoutUsagePageDoesNothing) { … }
TEST_F(HidBlocklistTest, NonZeroReportIdRule) { … }
TEST_F(HidBlocklistTest, ZeroReportIdRule) { … }
TEST_F(HidBlocklistTest, ReportTypeRule) { … }
TEST_F(HidBlocklistTest, DeviceWithAnyUnprotectedReportsNotExcluded) { … }
TEST_F(HidBlocklistTest, DeviceWithAllProtectedReportsIsNotExcluded) { … }
TEST_F(HidBlocklistTest, SpecificOutputReportIsProtected) { … }
}