1 // Copyright 2016 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 "third_party/blink/renderer/core/css/media_values_initial_viewport.h"
6 
7 #include "testing/gtest/include/gtest/gtest.h"
8 #include "third_party/blink/renderer/core/dom/document.h"
9 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
10 #include "third_party/blink/renderer/core/testing/page_test_base.h"
11 
12 namespace blink {
13 
14 class MediaValuesInitialViewportTest : public PageTestBase {
15  private:
SetUp()16   void SetUp() override {
17     PageTestBase::SetUp(IntSize(320, 480));
18     GetDocument().View()->SetInitialViewportSize(IntSize(320, 480));
19   }
20 };
21 
TEST_F(MediaValuesInitialViewportTest,InitialViewportSize)22 TEST_F(MediaValuesInitialViewportTest, InitialViewportSize) {
23   LocalFrameView* view = GetDocument().View();
24   ASSERT_TRUE(view);
25   EXPECT_TRUE(view->LayoutSizeFixedToFrameSize());
26 
27   auto* media_values = MakeGarbageCollected<MediaValuesInitialViewport>(
28       *GetDocument().GetFrame());
29   EXPECT_EQ(320, media_values->ViewportWidth());
30   EXPECT_EQ(480, media_values->ViewportHeight());
31 
32   view->SetLayoutSizeFixedToFrameSize(false);
33   view->SetLayoutSize(IntSize(800, 600));
34   EXPECT_EQ(320, media_values->ViewportWidth());
35   EXPECT_EQ(480, media_values->ViewportHeight());
36 }
37 
38 }  // namespace blink
39