Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / content / renderer / device_orientation / device_orientation_event_pump_unittest.cc
index e1f568b..b5c86bf 100644 (file)
 namespace content {
 
 class MockDeviceOrientationListener
-    : public WebKit::WebDeviceOrientationListener {
+    : public blink::WebDeviceOrientationListener {
  public:
   MockDeviceOrientationListener();
   virtual ~MockDeviceOrientationListener() { }
   virtual void didChangeDeviceOrientation(
-      const WebKit::WebDeviceOrientationData&) OVERRIDE;
+      const blink::WebDeviceOrientationData&) OVERRIDE;
   void ResetDidChangeOrientation();
   bool did_change_device_orientation_;
-  WebKit::WebDeviceOrientationData data_;
+  blink::WebDeviceOrientationData data_;
 };
 
 MockDeviceOrientationListener::MockDeviceOrientationListener()
@@ -31,7 +31,7 @@ MockDeviceOrientationListener::MockDeviceOrientationListener()
 }
 
 void MockDeviceOrientationListener::didChangeDeviceOrientation(
-    const WebKit::WebDeviceOrientationData& data) {
+    const blink::WebDeviceOrientationData& data) {
   memcpy(&data_, &data, sizeof(data));
   did_change_device_orientation_ = true;
 }
@@ -75,7 +75,7 @@ class DeviceOrientationEventPumpTest : public testing::Test {
   }
 
   void InitBuffer() {
-    WebKit::WebDeviceOrientationData& data = buffer_->data;
+    blink::WebDeviceOrientationData& data = buffer_->data;
     data.alpha = 1;
     data.hasAlpha = true;
     data.beta = 2;
@@ -85,6 +85,11 @@ class DeviceOrientationEventPumpTest : public testing::Test {
     data.allAvailableSensorsAreActive = true;
   }
 
+  void InitBufferNoData() {
+    blink::WebDeviceOrientationData& data = buffer_->data;
+    data.allAvailableSensorsAreActive = true;
+  }
+
   scoped_ptr<MockDeviceOrientationListener> listener_;
   scoped_ptr<DeviceOrientationEventPumpForTesting> orientation_pump_;
   base::SharedMemoryHandle handle_;
@@ -107,7 +112,7 @@ TEST_F(DeviceOrientationEventPumpTest, MAYBE_DidStartPolling) {
 
   base::MessageLoop::current()->Run();
 
-  WebKit::WebDeviceOrientationData& received_data = listener_->data_;
+  blink::WebDeviceOrientationData& received_data = listener_->data_;
   EXPECT_TRUE(listener_->did_change_device_orientation_);
   EXPECT_TRUE(received_data.allAvailableSensorsAreActive);
   EXPECT_EQ(1, (double)received_data.alpha);
@@ -120,6 +125,29 @@ TEST_F(DeviceOrientationEventPumpTest, MAYBE_DidStartPolling) {
 
 // Always failing in the win try bot. See http://crbug.com/256782.
 #if defined(OS_WIN)
+#define MAYBE_FireAllNullEvent DISABLED_FireAllNullEvent
+#else
+#define MAYBE_FireAllNullEvent FireAllNullEvent
+#endif
+TEST_F(DeviceOrientationEventPumpTest, MAYBE_FireAllNullEvent) {
+  base::MessageLoop loop;
+
+  InitBufferNoData();
+  orientation_pump_->SetListener(listener_.get());
+  orientation_pump_->OnDidStart(handle_);
+
+  base::MessageLoop::current()->Run();
+
+  blink::WebDeviceOrientationData& received_data = listener_->data_;
+  EXPECT_TRUE(listener_->did_change_device_orientation_);
+  EXPECT_TRUE(received_data.allAvailableSensorsAreActive);
+  EXPECT_FALSE(received_data.hasAlpha);
+  EXPECT_FALSE(received_data.hasBeta);
+  EXPECT_FALSE(received_data.hasGamma);
+}
+
+// Always failing in the win try bot. See http://crbug.com/256782.
+#if defined(OS_WIN)
 #define MAYBE_UpdateRespectsOrientationThreshold \
     DISABLED_UpdateRespectsOrientationThreshold
 #else
@@ -136,7 +164,7 @@ TEST_F(DeviceOrientationEventPumpTest,
 
   base::MessageLoop::current()->Run();
 
-  WebKit::WebDeviceOrientationData& received_data = listener_->data_;
+  blink::WebDeviceOrientationData& received_data = listener_->data_;
   EXPECT_TRUE(listener_->did_change_device_orientation_);
   EXPECT_TRUE(received_data.allAvailableSensorsAreActive);
   EXPECT_EQ(1, (double)received_data.alpha);