summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp')
-rw-r--r--Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp62
1 files changed, 60 insertions, 2 deletions
diff --git a/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp
index 533d4e5..c7600fc 100644
--- a/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp
+++ b/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp
@@ -42,6 +42,7 @@ public slots:
void cleanup();
private slots:
+ void renderingAfterMaxAndBack();
void renderHints();
void getWebKitVersion();
@@ -207,9 +208,9 @@ void tst_QWebView::microFocusCoordinates()
page->mainFrame()->setHtml("<html><body>" \
"<input type='text' id='input1' style='font--family: serif' value='' maxlength='20'/><br>" \
- "<canvas id='canvas1' width='500' height='500'/>" \
+ "<canvas id='canvas1' width='500' height='500'></canvas>" \
"<input type='password'/><br>" \
- "<canvas id='canvas2' width='500' height='500'/>" \
+ "<canvas id='canvas2' width='500' height='500'></canvas>" \
"</body></html>");
page->mainFrame()->setFocus();
@@ -438,6 +439,63 @@ void tst_QWebView::setPalette()
QVERIFY(img1 != img2);
}
+void tst_QWebView::renderingAfterMaxAndBack()
+{
+ QUrl url = QUrl("data:text/html,<html><head></head>"
+ "<body width=1024 height=768 bgcolor=red>"
+ "</body>"
+ "</html>");
+
+ QWebView view;
+ view.page()->mainFrame()->load(url);
+ QVERIFY(waitForSignal(&view, SIGNAL(loadFinished(bool))));
+ view.show();
+
+ view.page()->settings()->setMaximumPagesInCache(3);
+
+ QTest::qWaitForWindowShown(&view);
+
+ QPixmap reference(view.page()->viewportSize());
+ reference.fill(Qt::red);
+
+ QPixmap image(view.page()->viewportSize());
+ QPainter painter(&image);
+ view.page()->currentFrame()->render(&painter);
+
+ QCOMPARE(image, reference);
+
+ QUrl url2 = QUrl("data:text/html,<html><head></head>"
+ "<body width=1024 height=768 bgcolor=blue>"
+ "</body>"
+ "</html>");
+ view.page()->mainFrame()->load(url2);
+
+ QVERIFY(waitForSignal(&view, SIGNAL(loadFinished(bool))));
+
+ view.showMaximized();
+
+ QTest::qWaitForWindowShown(&view);
+
+ QPixmap reference2(view.page()->viewportSize());
+ reference2.fill(Qt::blue);
+
+ QPixmap image2(view.page()->viewportSize());
+ QPainter painter2(&image2);
+ view.page()->currentFrame()->render(&painter2);
+
+ QCOMPARE(image2, reference2);
+
+ view.back();
+
+ QPixmap reference3(view.page()->viewportSize());
+ reference3.fill(Qt::red);
+ QPixmap image3(view.page()->viewportSize());
+ QPainter painter3(&image3);
+ view.page()->currentFrame()->render(&painter3);
+
+ QCOMPARE(image3, reference3);
+}
+
QTEST_MAIN(tst_QWebView)
#include "tst_qwebview.moc"