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