summaryrefslogtreecommitdiffstats
path: root/content/browser/device_orientation/provider_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/device_orientation/provider_unittest.cc')
-rw-r--r--content/browser/device_orientation/provider_unittest.cc13
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());