diff options
Diffstat (limited to 'content/browser/device_orientation/provider_unittest.cc')
-rw-r--r-- | content/browser/device_orientation/provider_unittest.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/content/browser/device_orientation/provider_unittest.cc b/content/browser/device_orientation/provider_unittest.cc index e95e7b8..17d3d43 100644 --- a/content/browser/device_orientation/provider_unittest.cc +++ b/content/browser/device_orientation/provider_unittest.cc @@ -68,7 +68,8 @@ class UpdateChecker : public Provider::Observer { // Class for injecting test orientation data into the Provider. class MockOrientationFactory : public base::RefCounted<MockOrientationFactory> { public: - MockOrientationFactory() { + MockOrientationFactory() + : is_failing_(false) { EXPECT_FALSE(instance_); instance_ = this; } @@ -83,6 +84,11 @@ class MockOrientationFactory : public base::RefCounted<MockOrientationFactory> { orientation_ = orientation; } + void SetFailing(bool is_failing) { + base::AutoLock auto_lock(lock_); + is_failing_ = is_failing; + } + private: friend class base::RefCounted<MockOrientationFactory>; @@ -99,6 +105,8 @@ class MockOrientationFactory : public base::RefCounted<MockOrientationFactory> { // From DataFetcher. Called by the Provider. virtual bool GetOrientation(Orientation* orientation) { base::AutoLock auto_lock(orientation_factory_->lock_); + if (orientation_factory_->is_failing_) + return false; *orientation = orientation_factory_->orientation_; return true; } @@ -109,6 +117,7 @@ class MockOrientationFactory : public base::RefCounted<MockOrientationFactory> { static MockOrientationFactory* instance_; Orientation orientation_; + bool is_failing_; base::Lock lock_; }; @@ -303,7 +312,7 @@ TEST_F(DeviceOrientationProviderTest, MAYBE_StartFailing) { MessageLoop::current()->Run(); checker_a->AddExpectation(Orientation::Empty()); - orientation_factory->SetOrientation(Orientation::Empty()); + orientation_factory->SetFailing(true); MessageLoop::current()->Run(); checker_b->AddExpectation(Orientation::Empty()); |