class MockDeviceMotionListener : public blink::WebDeviceMotionListener {
public:
- MockDeviceMotionListener();
+ MockDeviceMotionListener() : did_change_device_motion_(false) {
+ memset(&data_, 0, sizeof(data_));
+ }
virtual ~MockDeviceMotionListener() { }
+
virtual void didChangeDeviceMotion(
- const blink::WebDeviceMotionData&) OVERRIDE;
+ const blink::WebDeviceMotionData& data) override {
+ memcpy(&data_, &data, sizeof(data));
+ did_change_device_motion_ = true;
+ }
+
+ bool did_change_device_motion() const {
+ return did_change_device_motion_;
+ }
+ const blink::WebDeviceMotionData& data() const {
+ return data_;
+ }
+
+ private:
bool did_change_device_motion_;
blink::WebDeviceMotionData data_;
-};
-MockDeviceMotionListener::MockDeviceMotionListener()
- : did_change_device_motion_(false) {
- memset(&data_, 0, sizeof(data_));
-}
-
-void MockDeviceMotionListener::didChangeDeviceMotion(
- const blink::WebDeviceMotionData& data) {
- memcpy(&data_, &data, sizeof(data));
- did_change_device_motion_ = true;
-}
+ DISALLOW_COPY_AND_ASSIGN(MockDeviceMotionListener);
+};
class DeviceMotionEventPumpForTesting : public DeviceMotionEventPump {
public:
- DeviceMotionEventPumpForTesting() { }
- virtual ~DeviceMotionEventPumpForTesting() { }
+ DeviceMotionEventPumpForTesting()
+ : DeviceMotionEventPump(0) { }
+ ~DeviceMotionEventPumpForTesting() override {}
void OnDidStart(base::SharedMemoryHandle renderer_handle) {
DeviceMotionEventPump::OnDidStart(renderer_handle);
}
- virtual bool SendStartMessage() OVERRIDE { return true; }
- virtual bool SendStopMessage() OVERRIDE { return true; }
- virtual void FireEvent() OVERRIDE {
+ void SendStartMessage() override {}
+ void SendStopMessage() override {}
+ void FireEvent() override {
DeviceMotionEventPump::FireEvent();
Stop();
base::MessageLoop::current()->QuitWhenIdle();
}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(DeviceMotionEventPumpForTesting);
};
class DeviceMotionEventPumpTest : public testing::Test {
}
protected:
- virtual void SetUp() OVERRIDE {
+ void SetUp() override {
const DeviceMotionHardwareBuffer* null_buffer = NULL;
listener_.reset(new MockDeviceMotionListener);
motion_pump_.reset(new DeviceMotionEventPumpForTesting);
data.allAvailableSensorsAreActive = allAvailableSensorsActive;
}
+ MockDeviceMotionListener* listener() { return listener_.get(); }
+ DeviceMotionEventPumpForTesting* motion_pump() { return motion_pump_.get(); }
+ base::SharedMemoryHandle handle() { return handle_; }
+
+ private:
scoped_ptr<MockDeviceMotionListener> listener_;
scoped_ptr<DeviceMotionEventPumpForTesting> motion_pump_;
base::SharedMemoryHandle handle_;
base::SharedMemory shared_memory_;
DeviceMotionHardwareBuffer* buffer_;
+
+ DISALLOW_COPY_AND_ASSIGN(DeviceMotionEventPumpTest);
};
TEST_F(DeviceMotionEventPumpTest, DidStartPolling) {
InitBuffer(true);
- motion_pump_->SetListener(listener_.get());
- motion_pump_->OnDidStart(handle_);
+ motion_pump()->Start(listener());
+ motion_pump()->OnDidStart(handle());
base::MessageLoop::current()->Run();
- blink::WebDeviceMotionData& received_data = listener_->data_;
- EXPECT_TRUE(listener_->did_change_device_motion_);
+ const blink::WebDeviceMotionData& received_data = listener()->data();
+ EXPECT_TRUE(listener()->did_change_device_motion());
EXPECT_TRUE(received_data.hasAccelerationX);
EXPECT_EQ(1, static_cast<double>(received_data.accelerationX));
EXPECT_TRUE(received_data.hasAccelerationX);
InitBuffer(false);
- motion_pump_->SetListener(listener_.get());
- motion_pump_->OnDidStart(handle_);
+ motion_pump()->Start(listener());
+ motion_pump()->OnDidStart(handle());
base::MessageLoop::current()->Run();
- blink::WebDeviceMotionData& received_data = listener_->data_;
+ const blink::WebDeviceMotionData& received_data = listener()->data();
// No change in device motion because allAvailableSensorsAreActive is false.
- EXPECT_FALSE(listener_->did_change_device_motion_);
+ EXPECT_FALSE(listener()->did_change_device_motion());
EXPECT_FALSE(received_data.hasAccelerationX);
EXPECT_FALSE(received_data.hasAccelerationX);
EXPECT_FALSE(received_data.hasAccelerationY);