This source file includes following definitions.
- SetUp
- TearDown
- TEST_F
#include "content/browser/frame_host/render_widget_host_view_child_frame.h"
#include "base/basictypes.h"
#include "base/message_loop/message_loop.h"
#include "content/browser/renderer_host/render_widget_host_delegate.h"
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/common/view_messages.h"
#include "content/public/browser/render_widget_host_view.h"
#include "content/public/test/mock_render_process_host.h"
#include "content/public/test/test_browser_context.h"
#include "content/test/test_render_view_host.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
namespace {
class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate {
public:
MockRenderWidgetHostDelegate() {}
virtual ~MockRenderWidgetHostDelegate() {}
};
class RenderWidgetHostViewChildFrameTest : public testing::Test {
public:
RenderWidgetHostViewChildFrameTest() {}
virtual void SetUp() {
browser_context_.reset(new TestBrowserContext);
MockRenderProcessHost* process_host =
new MockRenderProcessHost(browser_context_.get());
widget_host_ = new RenderWidgetHostImpl(
&delegate_, process_host, MSG_ROUTING_NONE, false);
view_ = new RenderWidgetHostViewChildFrame(widget_host_);
}
virtual void TearDown() {
if (view_)
view_->Destroy();
delete widget_host_;
browser_context_.reset();
message_loop_.DeleteSoon(FROM_HERE, browser_context_.release());
message_loop_.RunUntilIdle();
}
protected:
base::MessageLoopForUI message_loop_;
scoped_ptr<BrowserContext> browser_context_;
MockRenderWidgetHostDelegate delegate_;
RenderWidgetHostImpl* widget_host_;
RenderWidgetHostViewChildFrame* view_;
private:
DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewChildFrameTest);
};
}
TEST_F(RenderWidgetHostViewChildFrameTest, VisibilityTest) {
view_->Show();
ASSERT_TRUE(view_->IsShowing());
view_->Hide();
ASSERT_FALSE(view_->IsShowing());
view_->WasShown();
ASSERT_TRUE(view_->IsShowing());
view_->WasHidden();
ASSERT_FALSE(view_->IsShowing());
}
}