blob: 042a282bf00a9d16d33568d5a5004b5badc1b08b [file] [log] [blame]
/*
* Copyright (C) 2013 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "core/frame/FrameView.h"
#include "core/frame/LocalFrame.h"
#include "core/frame/PageScaleConstraints.h"
#include "core/frame/Settings.h"
#include "core/page/Page.h"
#include "platform/Length.h"
#include "platform/geometry/IntPoint.h"
#include "platform/geometry/IntRect.h"
#include "platform/geometry/IntSize.h"
#include "platform/scroll/ScrollbarTheme.h"
#include "platform/testing/URLTestHelpers.h"
#include "platform/testing/UnitTestHelpers.h"
#include "public/platform/Platform.h"
#include "public/platform/WebUnitTestSupport.h"
#include "public/web/WebConsoleMessage.h"
#include "public/web/WebFrame.h"
#include "public/web/WebScriptSource.h"
#include "public/web/WebSettings.h"
#include "public/web/WebViewClient.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "web/tests/FrameTestHelpers.h"
namespace blink {
using blink::testing::runPendingTasks;
class ViewportTest : public ::testing::Test {
protected:
ViewportTest()
: m_baseURL("http://www.test.com/")
, m_chromeURL("chrome://")
{
}
~ViewportTest() override
{
Platform::current()->unitTestSupport()->unregisterAllMockedURLs();
}
void registerMockedHttpURLLoad(const std::string& fileName)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8(fileName.c_str()));
}
void registerMockedChromeURLLoad(const std::string& fileName)
{
URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_chromeURL.c_str()), WebString::fromUTF8(fileName.c_str()));
}
void executeScript(WebFrame* frame, const WebString& code)
{
frame->executeScript(WebScriptSource(code));
runPendingTasks();
}
std::string m_baseURL;
std::string m_chromeURL;
};
static void setViewportSettings(WebSettings* settings)
{
settings->setViewportEnabled(true);
settings->setViewportMetaEnabled(true);
settings->setMainFrameResizesAreOrientationChanges(true);
}
static PageScaleConstraints runViewportTest(Page* page, int initialWidth, int initialHeight)
{
IntSize initialViewportSize(initialWidth, initialHeight);
toLocalFrame(page->mainFrame())->view()->setFrameRect(IntRect(IntPoint::zero(), initialViewportSize));
ViewportDescription description = page->viewportDescription();
PageScaleConstraints constraints = description.resolve(FloatSize(initialViewportSize), Length(980, blink::Fixed));
constraints.fitToContentsWidth(constraints.layoutSize.width(), initialWidth);
constraints.resolveAutoInitialScale();
return constraints;
}
TEST_F(ViewportTest, viewport1)
{
registerMockedHttpURLLoad("viewport/viewport-1.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-1.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport2)
{
registerMockedHttpURLLoad("viewport/viewport-2.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-2.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(0.32f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport3)
{
registerMockedHttpURLLoad("viewport/viewport-3.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-3.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport4)
{
registerMockedHttpURLLoad("viewport/viewport-4.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-4.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(160, constraints.layoutSize.width());
EXPECT_EQ(176, constraints.layoutSize.height());
EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport5)
{
registerMockedHttpURLLoad("viewport/viewport-5.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-5.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(640, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport6)
{
registerMockedHttpURLLoad("viewport/viewport-6.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-6.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(200, constraints.layoutSize.width());
EXPECT_EQ(220, constraints.layoutSize.height());
EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.6f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport7)
{
registerMockedHttpURLLoad("viewport/viewport-7.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-7.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1280, constraints.layoutSize.width());
EXPECT_EQ(1408, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport8)
{
registerMockedHttpURLLoad("viewport/viewport-8.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-8.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1280, constraints.layoutSize.width());
EXPECT_EQ(1408, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport9)
{
registerMockedHttpURLLoad("viewport/viewport-9.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-9.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1280, constraints.layoutSize.width());
EXPECT_EQ(1408, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport10)
{
registerMockedHttpURLLoad("viewport/viewport-10.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-10.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1280, constraints.layoutSize.width());
EXPECT_EQ(1408, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport11)
{
registerMockedHttpURLLoad("viewport/viewport-11.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-11.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.32f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport12)
{
registerMockedHttpURLLoad("viewport/viewport-12.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-12.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(640, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport13)
{
registerMockedHttpURLLoad("viewport/viewport-13.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-13.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1280, constraints.layoutSize.width());
EXPECT_EQ(1408, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport14)
{
registerMockedHttpURLLoad("viewport/viewport-14.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-14.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport15)
{
registerMockedHttpURLLoad("viewport/viewport-15.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-15.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport16)
{
registerMockedHttpURLLoad("viewport/viewport-16.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-16.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport17)
{
registerMockedHttpURLLoad("viewport/viewport-17.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-17.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport18)
{
registerMockedHttpURLLoad("viewport/viewport-18.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-18.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport19)
{
registerMockedHttpURLLoad("viewport/viewport-19.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-19.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(160, constraints.layoutSize.width());
EXPECT_EQ(176, constraints.layoutSize.height());
EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport20)
{
registerMockedHttpURLLoad("viewport/viewport-20.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-20.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport21)
{
registerMockedHttpURLLoad("viewport/viewport-21.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-21.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport22)
{
registerMockedHttpURLLoad("viewport/viewport-22.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-22.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport23)
{
registerMockedHttpURLLoad("viewport/viewport-23.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-23.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(3.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(3.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport24)
{
registerMockedHttpURLLoad("viewport/viewport-24.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-24.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(4.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(4.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(4.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport25)
{
registerMockedHttpURLLoad("viewport/viewport-25.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-25.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport26)
{
registerMockedHttpURLLoad("viewport/viewport-26.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-26.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(8.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(8.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(9.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport27)
{
registerMockedHttpURLLoad("viewport/viewport-27.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-27.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.32f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport28)
{
registerMockedHttpURLLoad("viewport/viewport-28.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-28.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(352, constraints.layoutSize.width());
EXPECT_NEAR(387.2, constraints.layoutSize.height(), 0.01);
EXPECT_NEAR(0.91f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.91f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport29)
{
registerMockedHttpURLLoad("viewport/viewport-29.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-29.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(700, constraints.layoutSize.width());
EXPECT_EQ(770, constraints.layoutSize.height());
EXPECT_NEAR(0.46f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.46f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport30)
{
registerMockedHttpURLLoad("viewport/viewport-30.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-30.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(200, constraints.layoutSize.width());
EXPECT_EQ(220, constraints.layoutSize.height());
EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.6f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport31)
{
registerMockedHttpURLLoad("viewport/viewport-31.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-31.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(700, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport32)
{
registerMockedHttpURLLoad("viewport/viewport-32.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-32.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(200, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport33)
{
registerMockedHttpURLLoad("viewport/viewport-33.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-33.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport34)
{
registerMockedHttpURLLoad("viewport/viewport-34.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-34.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(640, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport35)
{
registerMockedHttpURLLoad("viewport/viewport-35.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-35.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1280, constraints.layoutSize.width());
EXPECT_EQ(1408, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport36)
{
registerMockedHttpURLLoad("viewport/viewport-36.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-36.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_NEAR(636.36, constraints.layoutSize.width(), 0.01f);
EXPECT_EQ(700, constraints.layoutSize.height());
EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.50f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport37)
{
registerMockedHttpURLLoad("viewport/viewport-37.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-37.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport38)
{
registerMockedHttpURLLoad("viewport/viewport-38.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-38.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(640, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport39)
{
registerMockedHttpURLLoad("viewport/viewport-39.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-39.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(200, constraints.layoutSize.width());
EXPECT_EQ(700, constraints.layoutSize.height());
EXPECT_NEAR(1.6f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.6f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport40)
{
registerMockedHttpURLLoad("viewport/viewport-40.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-40.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(700, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(0.46f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.46f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport41)
{
registerMockedHttpURLLoad("viewport/viewport-41.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-41.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1000, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.32f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport42)
{
registerMockedHttpURLLoad("viewport/viewport-42.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-42.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(1000, constraints.layoutSize.height());
EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport43)
{
registerMockedHttpURLLoad("viewport/viewport-43.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-43.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport44)
{
registerMockedHttpURLLoad("viewport/viewport-44.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-44.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(10000, constraints.layoutSize.width());
EXPECT_EQ(10000, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport45)
{
registerMockedHttpURLLoad("viewport/viewport-45.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-45.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(3200, constraints.layoutSize.width());
EXPECT_EQ(3520, constraints.layoutSize.height());
EXPECT_NEAR(0.1f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.1f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(0.1f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport46)
{
registerMockedHttpURLLoad("viewport/viewport-46.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-46.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(32, constraints.layoutSize.width());
EXPECT_NEAR(35.2, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport47)
{
registerMockedHttpURLLoad("viewport/viewport-47.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-47.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(3000, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport48)
{
registerMockedHttpURLLoad("viewport/viewport-48.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-48.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(3000, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport49)
{
registerMockedHttpURLLoad("viewport/viewport-49.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-49.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport50)
{
registerMockedHttpURLLoad("viewport/viewport-50.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-50.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport51)
{
registerMockedHttpURLLoad("viewport/viewport-51.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-51.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport52)
{
registerMockedHttpURLLoad("viewport/viewport-52.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-52.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport53)
{
registerMockedHttpURLLoad("viewport/viewport-53.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-53.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport54)
{
registerMockedHttpURLLoad("viewport/viewport-54.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-54.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport55)
{
registerMockedHttpURLLoad("viewport/viewport-55.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-55.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport56)
{
registerMockedHttpURLLoad("viewport/viewport-56.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-56.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport57)
{
registerMockedHttpURLLoad("viewport/viewport-57.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-57.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport58)
{
registerMockedHttpURLLoad("viewport/viewport-58.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-58.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(3200, constraints.layoutSize.width());
EXPECT_EQ(3520, constraints.layoutSize.height());
EXPECT_NEAR(0.1f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.1f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport59)
{
registerMockedHttpURLLoad("viewport/viewport-59.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-59.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport60)
{
registerMockedHttpURLLoad("viewport/viewport-60.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-60.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(32, constraints.layoutSize.width());
EXPECT_NEAR(35.2, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport61)
{
registerMockedHttpURLLoad("viewport/viewport-61.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-61.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport62)
{
registerMockedHttpURLLoad("viewport/viewport-62.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-62.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport63)
{
registerMockedHttpURLLoad("viewport/viewport-63.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-63.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport64)
{
registerMockedHttpURLLoad("viewport/viewport-64.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-64.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport65)
{
registerMockedHttpURLLoad("viewport/viewport-65.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-65.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport66)
{
registerMockedHttpURLLoad("viewport/viewport-66.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-66.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport67)
{
registerMockedHttpURLLoad("viewport/viewport-67.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-67.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport68)
{
registerMockedHttpURLLoad("viewport/viewport-68.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-68.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport69)
{
registerMockedHttpURLLoad("viewport/viewport-69.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-69.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport70)
{
registerMockedHttpURLLoad("viewport/viewport-70.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-70.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport71)
{
registerMockedHttpURLLoad("viewport/viewport-71.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-71.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport72)
{
registerMockedHttpURLLoad("viewport/viewport-72.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-72.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport73)
{
registerMockedHttpURLLoad("viewport/viewport-73.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-73.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport74)
{
registerMockedHttpURLLoad("viewport/viewport-74.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-74.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport75)
{
registerMockedHttpURLLoad("viewport/viewport-75.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-75.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport76)
{
registerMockedHttpURLLoad("viewport/viewport-76.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-76.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(32, constraints.layoutSize.width());
EXPECT_NEAR(35.2, constraints.layoutSize.height(), 0.01);
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport77)
{
registerMockedHttpURLLoad("viewport/viewport-77.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-77.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1280, constraints.layoutSize.width());
EXPECT_EQ(1408, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport78)
{
registerMockedHttpURLLoad("viewport/viewport-78.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-78.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(100, constraints.layoutSize.width());
EXPECT_EQ(110, constraints.layoutSize.height());
EXPECT_NEAR(3.2f, constraints.initialScale, 0.01f);
EXPECT_NEAR(3.2f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport79)
{
registerMockedHttpURLLoad("viewport/viewport-79.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-79.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport80)
{
registerMockedHttpURLLoad("viewport/viewport-80.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-80.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport81)
{
registerMockedHttpURLLoad("viewport/viewport-81.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-81.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(3000, constraints.layoutSize.width());
EXPECT_EQ(3300, constraints.layoutSize.height());
EXPECT_NEAR(0.25f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.25f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport82)
{
registerMockedHttpURLLoad("viewport/viewport-82.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-82.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport83)
{
registerMockedHttpURLLoad("viewport/viewport-83.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-83.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport84)
{
registerMockedHttpURLLoad("viewport/viewport-84.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-84.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_EQ(480, constraints.layoutSize.height());
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport85)
{
registerMockedHttpURLLoad("viewport/viewport-85.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-85.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(540, constraints.layoutSize.width());
EXPECT_EQ(594, constraints.layoutSize.height());
EXPECT_NEAR(0.59f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.59f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport86)
{
registerMockedHttpURLLoad("viewport/viewport-86.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-86.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_NEAR(457.14, constraints.layoutSize.width(), 0.01f);
EXPECT_NEAR(502.86, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(0.7f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.7f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport87)
{
registerMockedHttpURLLoad("viewport/viewport-87.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-87.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport88)
{
registerMockedHttpURLLoad("viewport/viewport-88.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-88.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport90)
{
registerMockedHttpURLLoad("viewport/viewport-90.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-90.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(700, constraints.layoutSize.width());
EXPECT_EQ(770, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.46f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport100)
{
registerMockedHttpURLLoad("viewport/viewport-100.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-100.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport101)
{
registerMockedHttpURLLoad("viewport/viewport-101.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-101.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport102)
{
registerMockedHttpURLLoad("viewport/viewport-102.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-102.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport103)
{
registerMockedHttpURLLoad("viewport/viewport-103.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-103.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport104)
{
registerMockedHttpURLLoad("viewport/viewport-104.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-104.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport105)
{
registerMockedHttpURLLoad("viewport/viewport-105.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-105.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport106)
{
registerMockedHttpURLLoad("viewport/viewport-106.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-106.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport107)
{
registerMockedHttpURLLoad("viewport/viewport-107.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-107.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport108)
{
registerMockedHttpURLLoad("viewport/viewport-108.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-108.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport109)
{
registerMockedHttpURLLoad("viewport/viewport-109.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-109.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport110)
{
registerMockedHttpURLLoad("viewport/viewport-110.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-110.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport111)
{
registerMockedHttpURLLoad("viewport/viewport-111.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-111.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport112)
{
registerMockedHttpURLLoad("viewport/viewport-112.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-112.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport113)
{
registerMockedHttpURLLoad("viewport/viewport-113.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-113.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport114)
{
registerMockedHttpURLLoad("viewport/viewport-114.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-114.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport115)
{
registerMockedHttpURLLoad("viewport/viewport-115.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-115.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport116)
{
registerMockedHttpURLLoad("viewport/viewport-116.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-116.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(400, constraints.layoutSize.width());
EXPECT_EQ(440, constraints.layoutSize.height());
EXPECT_NEAR(0.8f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.8f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport117)
{
registerMockedHttpURLLoad("viewport/viewport-117.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-117.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(400, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport118)
{
registerMockedHttpURLLoad("viewport/viewport-118.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-118.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport119)
{
registerMockedHttpURLLoad("viewport/viewport-119.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-119.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport120)
{
registerMockedHttpURLLoad("viewport/viewport-120.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-120.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport121)
{
registerMockedHttpURLLoad("viewport/viewport-121.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-121.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport122)
{
registerMockedHttpURLLoad("viewport/viewport-122.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-122.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport123)
{
registerMockedHttpURLLoad("viewport/viewport-123.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-123.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport124)
{
registerMockedHttpURLLoad("viewport/viewport-124.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-124.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport125)
{
registerMockedHttpURLLoad("viewport/viewport-125.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-125.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport126)
{
registerMockedHttpURLLoad("viewport/viewport-126.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-126.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport127)
{
registerMockedHttpURLLoad("viewport/viewport-127.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-127.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(64, constraints.layoutSize.width());
EXPECT_NEAR(70.4, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport129)
{
registerMockedHttpURLLoad("viewport/viewport-129.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-129.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(123, constraints.layoutSize.width());
EXPECT_NEAR(135.3, constraints.layoutSize.height(), 0.01f);
EXPECT_NEAR(2.60f, constraints.initialScale, 0.01f);
EXPECT_NEAR(2.60f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport130)
{
registerMockedHttpURLLoad("viewport/viewport-130.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-130.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport131)
{
registerMockedHttpURLLoad("viewport/viewport-131.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-131.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f);
EXPECT_FALSE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport132)
{
registerMockedHttpURLLoad("viewport/viewport-132.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-132.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport133)
{
registerMockedHttpURLLoad("viewport/viewport-133.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-133.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(10.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(10.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport134)
{
registerMockedHttpURLLoad("viewport/viewport-134.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-134.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(160, constraints.layoutSize.width());
EXPECT_EQ(176, constraints.layoutSize.height());
EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport135)
{
registerMockedHttpURLLoad("viewport/viewport-135.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-135.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport136)
{
registerMockedHttpURLLoad("viewport/viewport-136.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-136.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport137)
{
registerMockedHttpURLLoad("viewport/viewport-137.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-137.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewport138)
{
registerMockedHttpURLLoad("viewport/viewport-138.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-138.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_NEAR(123.0f, constraints.layoutSize.width(), 0.01);
EXPECT_NEAR(135.3f, constraints.layoutSize.height(), 0.01);
EXPECT_NEAR(2.60f, constraints.initialScale, 0.01f);
EXPECT_NEAR(2.60f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyHandheldFriendly)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-handheldfriendly.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-handheldfriendly.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
static void setQuirkViewportSettings(WebSettings* settings)
{
setViewportSettings(settings);
// This quirk allows content attributes of meta viewport tags to be merged.
settings->setViewportMetaMergeContentQuirk(true);
}
TEST_F(ViewportTest, viewportLegacyMergeQuirk1)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-merge-quirk-1.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-merge-quirk-1.html", true, 0, 0, setQuirkViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(640, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f);
EXPECT_FALSE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyMergeQuirk2)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-merge-quirk-2.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-merge-quirk-2.html", true, 0, 0, setQuirkViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
// This quirk allows content attributes of meta viewport tags to be merged.
page->settings().setViewportMetaMergeContentQuirk(true);
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(500, constraints.layoutSize.width());
EXPECT_EQ(550, constraints.layoutSize.height());
EXPECT_NEAR(2.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(2.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(2.0f, constraints.maximumScale, 0.01f);
EXPECT_FALSE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyMobileOptimizedMetaWithoutContent)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-mobileoptimized.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-mobileoptimized.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyMobileOptimizedMetaWith0)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-mobileoptimized-2.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-mobileoptimized-2.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyMobileOptimizedMetaWith400)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-mobileoptimized-2.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-mobileoptimized-2.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyOrdering2)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-2.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-2.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(300, constraints.layoutSize.width());
EXPECT_EQ(330, constraints.layoutSize.height());
EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyOrdering3)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-3.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-3.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(300, constraints.layoutSize.width());
EXPECT_EQ(330, constraints.layoutSize.height());
EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyOrdering4)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-4.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-4.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(300, constraints.layoutSize.width());
EXPECT_EQ(330, constraints.layoutSize.height());
EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyOrdering5)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-5.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-5.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyOrdering6)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-6.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-6.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyOrdering7)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-7.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-7.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(300, constraints.layoutSize.width());
EXPECT_EQ(330, constraints.layoutSize.height());
EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyOrdering8)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-8.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-8.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(300, constraints.layoutSize.width());
EXPECT_EQ(330, constraints.layoutSize.height());
EXPECT_NEAR(1.07f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.07f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyEmptyAtViewportDoesntOverrideViewportMeta)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-ordering-10.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-ordering-10.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 800, 600);
EXPECT_EQ(5000, constraints.layoutSize.width());
}
TEST_F(ViewportTest, viewportLegacyDefaultValueChangedByXHTMLMP)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyDefaultValueChangedByXHTMLMPAndOverriddenByMeta)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(640, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyXHTMLMPOrdering)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp-ordering.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp-ordering.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(640, constraints.layoutSize.width());
EXPECT_EQ(704, constraints.layoutSize.height());
EXPECT_NEAR(0.5f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.5f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLegacyXHTMLMPRemoveAndAdd)
{
registerMockedHttpURLLoad("viewport/viewport-legacy-xhtmlmp.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-xhtmlmp.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
executeScript(webViewHelper.webViewImpl()->mainFrame(),
"originalDoctype = document.doctype;"
"document.removeChild(originalDoctype);");
constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
executeScript(webViewHelper.webViewImpl()->mainFrame(),
"document.insertBefore(originalDoctype, document.firstChild);");
constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLimitsAdjustedForNoUserScale)
{
registerMockedHttpURLLoad("viewport/viewport-limits-adjusted-for-no-user-scale.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-limits-adjusted-for-no-user-scale.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
EXPECT_FALSE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportLimitsAdjustedForNoUserScaleControl)
{
registerMockedHttpURLLoad("viewport/viewport-limits-adjusted-for-no-user-scale-control.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-limits-adjusted-for-no-user-scale-control.html", true, 0, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportTriggersGpuRasterization)
{
FrameTestHelpers::WebViewHelper webViewHelper;
registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization-disabled-without-viewport.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization-disabled-without-viewport.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_FALSE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
registerMockedHttpURLLoad("viewport/viewport-gpu-rasterization-expanded-heuristics.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-gpu-rasterization-expanded-heuristics.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
registerMockedHttpURLLoad("viewport/viewport-1.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-1.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
registerMockedHttpURLLoad("viewport/viewport-15.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-15.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
registerMockedHttpURLLoad("viewport/viewport-130.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-130.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
registerMockedHttpURLLoad("viewport/viewport-legacy-handheldfriendly.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-handheldfriendly.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
registerMockedHttpURLLoad("viewport/viewport-legacy-mobileoptimized.html");
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-legacy-handheldfriendly.html", true, 0, 0, setViewportSettings);
webViewHelper.webView()->resize(WebSize(640, 480));
EXPECT_TRUE(webViewHelper.webViewImpl()->matchesHeuristicsForGpuRasterizationForTesting());
}
class ConsoleMessageWebFrameClient : public FrameTestHelpers::TestWebFrameClient {
public:
virtual void didAddMessageToConsole(const WebConsoleMessage& msg, const WebString& sourceName, unsigned sourceLine, const WebString& stackTrace)
{
messages.append(msg);
}
Vector<WebConsoleMessage> messages;
};
TEST_F(ViewportTest, viewportWarnings1)
{
ConsoleMessageWebFrameClient webFrameClient;
registerMockedHttpURLLoad("viewport/viewport-warnings-1.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-1.html", true, &webFrameClient, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_TRUE(webFrameClient.messages.isEmpty());
EXPECT_EQ(320, constraints.layoutSize.width());
EXPECT_EQ(352, constraints.layoutSize.height());
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(2.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportWarnings2)
{
ConsoleMessageWebFrameClient webFrameClient;
registerMockedHttpURLLoad("viewport/viewport-warnings-2.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-2.html", true, &webFrameClient, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1U, webFrameClient.messages.size());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level);
EXPECT_STREQ("The key \"wwidth\" is not recognized and ignored.", webFrameClient.messages[0].text.utf8().c_str());
EXPECT_EQ(980, constraints.layoutSize.width());
EXPECT_EQ(1078, constraints.layoutSize.height());
EXPECT_NEAR(0.33f, constraints.initialScale, 0.01f);
EXPECT_NEAR(0.33f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportWarnings3)
{
ConsoleMessageWebFrameClient webFrameClient;
registerMockedHttpURLLoad("viewport/viewport-warnings-3.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-3.html", true, &webFrameClient, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1U, webFrameClient.messages.size());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level);
EXPECT_STREQ("The value \"unrecognized-width\" for key \"width\" is invalid, and has been ignored.",
webFrameClient.messages[0].text.utf8().c_str());
EXPECT_NEAR(64.0f, constraints.layoutSize.width(), 0.01);
EXPECT_NEAR(70.4f, constraints.layoutSize.height(), 0.01);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportWarnings4)
{
ConsoleMessageWebFrameClient webFrameClient;
registerMockedHttpURLLoad("viewport/viewport-warnings-4.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-4.html", true, &webFrameClient, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1U, webFrameClient.messages.size());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level);
EXPECT_STREQ("The value \"123x456\" for key \"width\" was truncated to its numeric prefix.",
webFrameClient.messages[0].text.utf8().c_str());
EXPECT_NEAR(123.0f, constraints.layoutSize.width(), 0.01);
EXPECT_NEAR(135.3f, constraints.layoutSize.height(), 0.01);
EXPECT_NEAR(2.60f, constraints.initialScale, 0.01f);
EXPECT_NEAR(2.60f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportWarnings5)
{
ConsoleMessageWebFrameClient webFrameClient;
registerMockedHttpURLLoad("viewport/viewport-warnings-5.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-5.html", true, &webFrameClient, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(5U, webFrameClient.messages.size());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level);
EXPECT_STREQ("The value \"device-width;\" for key \"width\" is invalid, and has been ignored.",
webFrameClient.messages[0].text.utf8().c_str());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[1].level);
EXPECT_STREQ("The value \"1.0;\" for key \"initial-scale\" was truncated to its numeric prefix.",
webFrameClient.messages[1].text.utf8().c_str());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[2].level);
EXPECT_STREQ("The value \"1.0;\" for key \"maximum-scale\" was truncated to its numeric prefix.",
webFrameClient.messages[2].text.utf8().c_str());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[3].level);
EXPECT_STREQ("The value \"0;\" for key \"user-scalable\" was truncated to its numeric prefix.",
webFrameClient.messages[3].text.utf8().c_str());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[4].level);
EXPECT_STREQ("Error parsing a meta element's content: ';' is not a valid key-value pair separator. Please use ',' instead.",
webFrameClient.messages[4].text.utf8().c_str());
EXPECT_NEAR(320.0f, constraints.layoutSize.width(), 0.01);
EXPECT_NEAR(352.0f, constraints.layoutSize.height(), 0.01);
EXPECT_NEAR(1.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(1.0f, constraints.maximumScale, 0.01f);
EXPECT_FALSE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportWarnings6)
{
ConsoleMessageWebFrameClient webFrameClient;
registerMockedHttpURLLoad("viewport/viewport-warnings-6.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-6.html", true, &webFrameClient, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
PageScaleConstraints constraints = runViewportTest(page, 320, 352);
EXPECT_EQ(1U, webFrameClient.messages.size());
EXPECT_EQ(WebConsoleMessage::LevelWarning, webFrameClient.messages[0].level);
EXPECT_STREQ("The value \"\" for key \"width\" is invalid, and has been ignored.",
webFrameClient.messages[0].text.utf8().c_str());
EXPECT_NEAR(64.0f, constraints.layoutSize.width(), 0.01);
EXPECT_NEAR(70.4f, constraints.layoutSize.height(), 0.01);
EXPECT_NEAR(5.0f, constraints.initialScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.minimumScale, 0.01f);
EXPECT_NEAR(5.0f, constraints.maximumScale, 0.01f);
EXPECT_TRUE(page->viewportDescription().userZoom);
}
TEST_F(ViewportTest, viewportWarnings7)
{
ConsoleMessageWebFrameClient webFrameClient;
registerMockedHttpURLLoad("viewport/viewport-warnings-7.html");
FrameTestHelpers::WebViewHelper webViewHelper;
webViewHelper.initializeAndLoad(m_baseURL + "viewport/viewport-warnings-7.html", true, &webFrameClient, 0, setViewportSettings);
Page* page = webViewHelper.webViewImpl()->page();
runViewportTest(page, 320, 352);
EXPECT_EQ(0U, webFrameClient.messages.size());
}
} // namespace blink