Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / rendering / RenderingTestHelper.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "core/frame/FrameView.h"
6 #include "core/html/HTMLElement.h"
7 #include "core/testing/DummyPageHolder.h"
8 #include "wtf/OwnPtr.h"
9 #include <gtest/gtest.h>
10
11 namespace blink {
12
13 class RenderingTest : public testing::Test {
14 protected:
15     virtual void SetUp()
16     {
17         m_pageHolder = DummyPageHolder::create(IntSize(800, 600));
18
19         // This ensures that the minimal DOM tree gets attached
20         // correctly for tests that don't call setBodyInnerHTML.
21         document().view()->updateLayoutAndStyleIfNeededRecursive();
22     }
23
24     Document& document() const { return m_pageHolder->document(); }
25
26     void setBodyInnerHTML(const char* htmlContent)
27     {
28         document().body()->setInnerHTML(String::fromUTF8(htmlContent), ASSERT_NO_EXCEPTION);
29         document().view()->updateLayoutAndStyleIfNeededRecursive();
30     }
31
32 private:
33     OwnPtr<DummyPageHolder> m_pageHolder;
34 };
35
36 } // namespace blink