platform_sensor_provider_unittest_android.cc 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "services/device/generic_sensor/platform_sensor_provider_android.h"
  5. #include <memory>
  6. #include "base/bind.h"
  7. #include "base/test/task_environment.h"
  8. #include "testing/gtest/include/gtest/gtest.h"
  9. namespace device {
  10. class PlatformSensorProviderTestAndroid : public testing::Test {
  11. public:
  12. PlatformSensorProviderTestAndroid() = default;
  13. PlatformSensorProviderTestAndroid(PlatformSensorProviderTestAndroid&) =
  14. delete;
  15. PlatformSensorProviderTestAndroid& operator=(
  16. PlatformSensorProviderTestAndroid&) = delete;
  17. void SetUp() override {
  18. provider_ = std::make_unique<PlatformSensorProviderAndroid>();
  19. }
  20. void CreateSensorCallback(scoped_refptr<PlatformSensor> sensor) {
  21. EXPECT_FALSE(sensor);
  22. }
  23. protected:
  24. std::unique_ptr<PlatformSensorProviderAndroid> provider_;
  25. private:
  26. base::test::TaskEnvironment task_environment;
  27. };
  28. TEST_F(PlatformSensorProviderTestAndroid, SensorManagerIsNull) {
  29. provider_->SetSensorManagerToNullForTesting();
  30. provider_->CreateSensor(
  31. device::mojom::SensorType::AMBIENT_LIGHT,
  32. base::BindOnce(&PlatformSensorProviderTestAndroid::CreateSensorCallback,
  33. base::Unretained(this)));
  34. }
  35. } // namespace device