Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / content / renderer / battery_status / battery_status_dispatcher_unittest.cc
index ecbcf39..dd0bed6 100644 (file)
@@ -7,6 +7,7 @@
 #include "base/logging.h"
 #include "base/memory/scoped_ptr.h"
 #include "content/common/battery_status_messages.h"
+#include "content/public/test/mock_render_thread.h"
 #include "content/public/test/test_utils.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/WebKit/public/platform/WebBatteryStatusListener.h"
@@ -35,53 +36,16 @@ class MockBatteryStatusListener : public blink::WebBatteryStatusListener {
   DISALLOW_COPY_AND_ASSIGN(MockBatteryStatusListener);
 };
 
-class BatteryStatusDispatcherForTesting : public BatteryStatusDispatcher {
- public:
-  BatteryStatusDispatcherForTesting()
-      : BatteryStatusDispatcher(0),
-        start_invoked_(false),
-        stop_invoked_(false) { }
-
-  virtual ~BatteryStatusDispatcherForTesting() { }
-
-  bool start_invoked() const { return start_invoked_; }
-  bool stop_invoked() const { return stop_invoked_; }
-
- protected:
-  virtual bool Start() OVERRIDE {
-    start_invoked_ = true;
-    return true;
-  }
-
-  virtual bool Stop() OVERRIDE {
-    stop_invoked_ = true;
-    return true;
-  }
-
+class BatteryStatusDispatcherTest : public testing::Test {
  private:
-  bool start_invoked_;
-  bool stop_invoked_;
-
-  DISALLOW_COPY_AND_ASSIGN(BatteryStatusDispatcherForTesting);
+  // We need to create a MockRenderThread so RenderThread::Get() doesn't return
+  // null.
+  MockRenderThread render_thread_;
 };
 
-TEST(BatteryStatusDispatcherTest, Start) {
-  MockBatteryStatusListener listener;
-  BatteryStatusDispatcherForTesting dispatcher;
-
-  EXPECT_FALSE(dispatcher.start_invoked());
-  EXPECT_FALSE(dispatcher.stop_invoked());
-
-  dispatcher.SetListener(&listener);
-  EXPECT_TRUE(dispatcher.start_invoked());
-
-  dispatcher.SetListener(0);
-  EXPECT_TRUE(dispatcher.stop_invoked());
-}
-
-TEST(BatteryStatusDispatcherTest, UpdateListener) {
+TEST_F(BatteryStatusDispatcherTest, UpdateListener) {
   MockBatteryStatusListener listener;
-  BatteryStatusDispatcherForTesting dispatcher;
+  BatteryStatusDispatcher dispatcher(0);
 
   blink::WebBatteryStatus status;
   status.charging = true;
@@ -89,8 +53,7 @@ TEST(BatteryStatusDispatcherTest, UpdateListener) {
   status.dischargingTime = 200;
   status.level = 0.5;
 
-  dispatcher.SetListener(&listener);
-  EXPECT_TRUE(dispatcher.start_invoked());
+  dispatcher.Start(&listener);
 
   BatteryStatusMsg_DidChange message(status);
   dispatcher.OnControlMessageReceived(message);
@@ -102,17 +65,15 @@ TEST(BatteryStatusDispatcherTest, UpdateListener) {
   EXPECT_EQ(status.dischargingTime, received_status.dischargingTime);
   EXPECT_EQ(status.level, received_status.level);
 
-  dispatcher.SetListener(0);
-  EXPECT_TRUE(dispatcher.stop_invoked());
+  dispatcher.Stop();
 }
 
-TEST(BatteryStatusDispatcherTest, NoUpdateWhenNullListener) {
+TEST_F(BatteryStatusDispatcherTest, NoUpdateWhenNullListener) {
   MockBatteryStatusListener listener;
-  BatteryStatusDispatcherForTesting dispatcher;
+  BatteryStatusDispatcher dispatcher(0);
 
-  dispatcher.SetListener(0);
-  EXPECT_FALSE(dispatcher.start_invoked());
-  EXPECT_TRUE(dispatcher.stop_invoked());
+  dispatcher.Start(0);
+  dispatcher.Stop();
 
   blink::WebBatteryStatus status;
   BatteryStatusMsg_DidChange message(status);